The CI templates were refactored to simplify configuration, remove redundant services, and enable better cache reuse while maintaining compatibility across Python versions.
- New Features
- Consolidated caching logic with `cache-suffix` per Python version.
- Integrated security check directly into the main pipeline.
- Enhancements
- Reduced matrix size to only Python 3.13.
- Replaced manual PostgreSQL setup with Django checks using `DJANGO_SETTINGS_MODULE` and `SECRET_KEY`.
- Merged duplicate test and security steps across CI platforms.
- Bug Fixes
- Fixed missing `python-version` entries that caused undefined matrix behavior.
- Resolved duplicate environment variable definitions in GitLab CI.
Introduce Dockerfile and dockerignore templates to scaffold Docker‑ready Django projects, providing conditional system‑level dependencies for databases and optional Tailwind support, and a comprehensive ignore list for generated projects.
- New Features
- Dockerfile template with conditional apt packages for MySQL or PostgreSQL, and optional Tailwind installation.
- dockerignore template covering Python bytecode, virtual environments, OS artifacts, Django static/media files, and common VCS files.
- Enhancements
- Expand project scaffolding to include ready‑to‑use container configuration files.
Introduce automatic creation of Dockerfile and .dockerignore during project scaffolding, enabling container‑ready setups out of the box.
* New Features
- `create_dockerfile` method renders Dockerfile with configurable context (module name, database type, Tailwind usage).
- `create_dockerignore` method generates a .dockerignore file to exclude unnecessary files from containers.
* Enhancements
- Added both methods to the setup pipeline in `SetupCreator` so they are executed automatically.
- Context values are derived from project metadata, allowing customization per project.
* Bug Fixes - None
Introduce Tailwind and HTMX support with conditional placeholders and correct static/media URL prefixes.
- New Features
- Add django_tailwind_cli and django_htmx when enabled
- Add HtmxMiddleware to middleware stack
- Pin Tailwind CLI version and set distribution CSS path in production
- Configure Tailwind theme and daisyui settings
- Enhancements
- Prefix STATIC_URL and MEDIA_URL with '/' for proper URL handling
- Update requirements templates with new optional dependencies
- Expand pyproject.toml metadata and dependency groups
- Bug Fixes
- Fix missing leading slash in STATIC_URL and MEDIA_URL
- Pin Tailwind CLI version to avoid unexpected upgrades
**New Features**
- Add `use_tailwind` and `use_htmx` boolean fields to `ProjectMetadata` with defaults set to `False`.
- Update `ProjectMetadata.__init__` mapping to include these new attributes, ensuring they are persisted in project metadata.
Add configurable `use_tailwind` and `use_htmx` flags to the Django starter project context, allowing users to optionally include Tailwind CSS and HTMX JavaScript libraries.
- New Features:
- Introduce `use_tailwind` and `use_htmx` metadata flags in `base_settings_context`.
- Propagate these flags to `requirements.txt`, generated `settings.py`, and CI configuration templates.
- Enhancements:
- Ensure the flags are consistently available across all templated files.
- Bug Fixes: None.
New Features:
- Add `use_tailwind` metadata option (default False) for Tailwind CSS support.
- Add `use_htmx` metadata option (default False) for HTMX support.
Enhancements:
- Extend DjangoHelper context to include the new flags in generated settings.
- New Features:
- Add `use_tailwind` and `use_htmx` fields to `StructureOptions` and expose confirmation prompts via `get_tailwind_choice` and `get_htmx_choice`.
- Persist these selections in the generated metadata and pass them through the initialization flow.
- Enhancements:
- Include `use_tailwind` and `use_htmx` values when constructing the metadata dictionary.
- Display Tailwind CSS and HTMX choices in the final confirmation output.
- Bug Fixes: none
* New Features
* Replace the singular `STATICFILES_STORAGE` assignment with a `STORAGES` dictionary defining `default` and `staticfiles` backends.
* Enhancements
* Add `DEFAULT_AUTO_FIELD` setting for consistency with recent Django recommendations.
* Make storage backend definitions clearer and more extensible.
* Bug Fixes
* None.
Why: enable support for Python 3.13.
New Features
- Updated pyproject.toml template to target Python 3.13, allowing builds with newer interpreters.
Enhancements
- Improves compatibility with upcoming Python releases.
- New Features: Automatically include app URLs in project urls.py and api/v1/urls.py; Generate full AppConfig paths using a unified utility
- Enhancements: Improved nested-app detection and path resolution across predefined, standard, single, and unified structures; Refined context transformation for base settings; Updated URL template rendering
- Bug Fixes: Fixed duplicate include‑statement handling; Corrected URL update error paths and exception safety
- Add conditional logic to `_add_to_api_v1_urls` when `structure_type` is `"predefined"`
- Include `module_name` in contexts for `justfile` and `Procfile` templates
- Clarify `module_name` usage in `.env.sample` generation comment
New Features
- Replace double‑curly placeholder syntax with direct variable usage in justfile and procfile templates.
Enhancements
- Change psycopg2-binary to psycopg[binary] in pyproject.toml template.
- Update ruff.isort known‑first‑party from project_name to module_name.
- Adjust server commands to reference module_name placeholder and use variable syntax directly.
Bug Fixes- Fix placeholder expansion in dev‑server, makemigrations, install, and remove commands.
- Correct requirements generation script to handle missing pyproject.toml gracefully.
- Resolve incorrect variable substitution in gunicorn bind commands and worker count references.
Why: expose ability to toggle usage of DATABASE_URL in generated configuration.
New Features
- Add configurable `use_database_url` parameter to control inclusion of DATABASE_URL in generated pyproject.toml.
Enhancements
- Increase flexibility of database configuration for generated Django projects.
Bug Fixes
- (none)
Add conditional import of `dj_database_url` and a directive comment for `use_database_url` to enable automatic database configuration when the `use_database_url` flag is set, improving flexibility of the production settings template.
- New Features: Introduce support for reading `DATABASE_URL` to configure Django databases automatically.
- Enhancements: Conditional import improves template modularity and reduces unnecessary dependencies.
- Bug Fixes: None.
New Features
- Add optional `dj-database-url` dependency for database URL support.
Enhancements
- Replace `{{ project_name }}` with `[[ project_name ]]` in the env template for clearer interpolation.
Bug Fixes
- None