filelock 4.2.1+ fixes GHSA-v4x8-3wr5-3wq8 and related advisories, but requires Python >=3.11. Raise the minimum supported Python so the lockfile no longer resolves vulnerable filelock 4.1.0 for Python 3.10.
Empty __builtins__ is not a sandbox, so a template expression could
reach os.system. Walk the AST with an allow-list instead. Also fixes
app names missing from api/v1/urls.py and a wrong settings path in the
generated pyproject.toml.
- Resolve current directory to folder name when using '.'
- Remove obsolete setup.py
- Update Django classifier and template dependencies to 6.0
- Remove deprecated USE_TZ, coreapi schema, and drf-yasg
Require django>=6.1 in pyproject, bump ruff/pytest/pytest-django,
point docs at 6.1, drop removed SECURE_BROWSER_XSS_FILTER and
STATICFILES_STORAGE settings. Replace deprecated EMAIL_* settings
with the Django 6.1 MAILERS dict.
Package name, ruff known-first-party, and settings per-file-ignores
now use project_name. package_name/module_name resolved to backend or
config/core, producing wrong import resolution and settings paths.
Minor formatting tweaks and clarified wording.
New Features
-
Enhancements
- Updated badge links and wording for Django and Python versions.
- Adjusted bullet punctuation and wording for consistency.
- Clarified installation comment formatting.
Bug Fixes
-
Add support for optional database URL configuration and silence import-related flake8 warnings.
- New Features: Introduce conditional import of `dj_database_url` in production settings.
- Enhancements: Suppress flake8 warnings for base imports using `# noqa: F401, F403`.
- Bug Fixes: None.
Add a concise overview of the new content and purpose.
- New Features
- Interactive project scaffolding wizard (`djinit setup` / `dj setup`) offering multiple layouts, database options, and frontend tooling.
- Command‑line secret generation (`djinit secret`) with customizable count and length.
- Detailed usage examples, command shortcuts, and supported CI/CD configurations.
- Updated installation instructions using pipx, uv, and pip.
- Enhancements
- Switched CI configuration to GitHub Actions.
- Added comprehensive API endpoint table, settings summary, and package reference.
- Included installation badges and code snippets for quick start.
- Bug Fixes
- (none reported)
- New Features
- Custom .gitignore generation using use_tailwind and use_vite flags from project metadata
- Justfile now includes Vite configuration flag context
- Enhancements
- Dynamic template rendering with project‑specific context for better project setup reflectivity
- Bug Fixes
- (none)
Add `use_vite` flag to metadata processing and include it in the development context dictionary.
- New Feature: expose Vite integration flag
- Enhancement: extend dev_context with use_vite value
- No bug fixes
Introduce Vite‑based frontend workflow and adjust related templates and CI configurations. Switch drf‑spectacular to drf‑yasg, add conditional Node.js setup, and update ignored files accordingly.
- New Features
- Conditional Vite integration via `use_vite` flag
- npm install and build steps added to Dockerfile and CI pipelines
- Vite dev server command added to `justfile` with `dev-full` target
- Updated CI scripts (GitHub Actions, GitLab CI) to run Vite build when enabled
- Dependency change from `drf-spectacular` to `drf-yasg` in `pyproject.toml`
- Enhancements
- Modify `.gitignore` to exclude `node_modules` only when using frontend tools
- Update Dockerfile to conditionally install Node.js packages for Vite
- Adjust GitHub Actions and GitLab CI templates to include Node setup steps
- Bug Fixes
- Replace `drf-spectacular` with `drf-yasg` to align with current API documentation practices
New Features
- Introduce selectable frontend tooling (Tailwind CSS, HTMX, Vite) via optional scaffolding
- Add `just vite` and `just dev-full` commands for Vite integration
- Replace `drf-spectacular` with `drf-yasg` for Swagger documentation
- Update API endpoint table to list ReDoc instead of Swagger UI
Enhancements
- Reorder Django Apps selection to reflect standard structure only
- Bump project version to 0.3.4 and update roadmap in TODO.md
Bug Fixes
- Remove placeholder “Fix bugs” entry from TODO.md
- New Features
- Switched to drf_yasg and updated schema configuration.
- Enhancements
- Updated DEFAULT_SCHEMA_CLASS to rest_framework.schemas.coreapi.AutoSchema.
- Refactored URL patterns to use drf_yasg schema views.
- Bug Fixes
- No bug fixes included.
- New Features
- Insert manifest_path and static_url_prefix into base settings for Vite output
- Enable/disable dev mode via DJANGO_VITE["default"]["dev_mode"] in development and production templates
- Add django‑vite dependency conditionally when use_vite is set in pyproject.toml and requirements
- Create new vite.config.ts template with React, Tailwind, dev server proxy, and asset resolution
- Enhancements
- Align Tailwind and Django settings to respect Vite mode
- Update dependency templates to reflect Vite usage
- Bug Fixes
- (none)
Add Vite scaffolding support to allow users to initialize projects with Vite.
- New Features
- Added `use_vite` flag to `StructureOptions`.
- Added `get_vite_choice()` method to `InputCollector` with confirmation dialog.
- Extended metadata dictionary to include `use_vite`.
- Updated project generation to propagate Vite configuration.
- Enhancements
- Integrated Vite confirmation into the CLI prompt flow.
- Updated project metadata creation to include Vite settings.
Add a boolean `use_vite` to `ProjectMetadata` to control Vite integration and include it in the serialized project metadata.
- New Features: Introduce `use_vite` configuration option.
- Enhancements: Expose `use_vite` in metadata output.
Introduce Vite configuration generation and propagate the use_vite flag across templates to enable modern frontend tooling.
New Features- Add `create_vite_config` method to generate `vite.config.ts`.
- Propagate `use_vite` metadata to all relevant context dictionaries.
- Include Vite usage in Dockerfile, requirements.txt, pyproject.toml, and CI pipelines.
Enhancements
- Update context preparation to embed Vite flag alongside Tailwind and HTMX.
- Refine template documentation to mention Tailwind, HTMX, and Vite integration.
Bug Fixes
- None.
The new metadata enables optional Tailwind CSS and HTMX support in generated Django projects, expanding customization capabilities.
New Features:
- Expose `use_tailwind` and `use_htmx` flags in the pyproject.toml template.
- Inject these flags into GitHub Actions and GitLab CI configuration templates.
Enhancements:
- Centralized handling of Tailwind and HTMX configuration flags across all generated files.
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
- Switch trigger to `pull_request_target` with `opened`, `synchronize`, and `reopened` events for safer automation
- Add explicit check that the actor is `dependabot[bot]` to prevent unintended executions
- Use `GITHUB_TOKEN` instead of a dedicated secret and enable `use-github-auto-merge` for automatic merging of minor updates
Remove leading space in SECRET_KEY assignment and replace uv pip compile with uv run python ... to produce requirements.txt.
New Features
- Introduce uv-driven dependency compilation in justfile.j2
- Ensure generated requirements.txt reflects project dependencies from pyproject.toml
Enhancements
- Align secret key configuration to match production standards (no extra whitespace)
Bug Fixes
- Eliminate accidental whitespace that could cause secret key validation issues