Skip to content

Releases: bnbong/FastAPI-fastkit

v1.4.1 🌈

Choose a tag to compare

@github-actions github-actions released this 10 Sep 03:01

Changes

🐛 Bug Fixes

  • [FIX] Repair the weekly template inspection for Docker-backed templates @bnbong
    • Compile check no longer writes bytecode and runs before the Docker test step (fixes the fastapi-psql-orm PermissionError)
    • Parse every docker-compose ps --format json shape and fall back to the docker compose plugin
    • Smoke-test Docker templates through the container's published port instead of requiring a host virtualenv
    • Reclaim bind-mount ownership after container runs
  • [FIX] Normalize generated text files to LF and pin template line endings with .gitattributes @bnbong
    • Shell scripts generated on Windows or with core.autocrlf=true no longer fail with bash\r: No such file or directory
    • fastapi-psql-orm .env now sets ENVIRONMENT=development

🔄 New & Modified FastAPI Templates

  • [SECURITY] Replace python-jose with PyJWT[crypto] and passlib[bcrypt] with pwdlib[argon2] @bnbong
    • Applies to the JWT / FastAPI-Users interactive catalog entries and the fastapi-mcp template
    • Drops the unpatched ecdsa CVE-2024-23342 and the unmaintained passlib / bcrypt 4.0.1 pin
    • Generated projects now hash passwords with argon2id, matching fastapi-auth-jwt

🧰 Maintenance & Documentation

  • [SECURITY] Resolve open Dependabot alerts @bnbong
    • mkdocs-material ≥ 9.7.7, pymdown-extensions ≥ 11.0.1, idna ≥ 3.15
    • urllib3, virtualenv, filelock refreshed in uv.lock and pdm.lock
  • [DEVOPS] Pin PDM's interpreter to Python 3.12 in the inspection workflows; security-scan workflow now builds a valid JSON report and counts vulnerabilities correctly @bnbong
  • [DOCS] Update the MCP tutorial and CLI reference for PyJWT and pwdlib @bnbong

Full Changelog: v1.4.0...v1.4.1

v1.4.0 🌈

Choose a tag to compare

@github-actions github-actions released this 04 Sep 08:57
5c4367a

Changes

🚀 Features

  • [FEAT] Reproducible generation: init --config / --save-config, --dry-run, --no-venv, --no-install, --yes
  • [FEAT] [tool.fastapi-fastkit] project metadata; layout-aware runserver and addroute
  • [FEAT] Interactive builder generates working code for every choice; new migrations, tooling, logging axes; /health and /ready always included
  • [FEAT] Subprocess timeouts (FASTKIT_SUBPROCESS_TIMEOUT); uv preferred on auto-detection

🐛 Bug Fixes

  • [FIX] Failed runs never delete a pre-existing project directory; startdemo refuses an existing target
  • [FIX] In-place deployment touches only copied files and confirms overwrites
  • [FIX] Quotes/backslashes in metadata no longer break generated pyproject.toml or Python

🔄 New & Modified FastAPI Templates

  • [TEMPLATE] New fastapi-auth-jwt, fastapi-sqlmodel, fastapi-llm-agent
  • [TEMPLATE] Python 3.12 alignment, setup.py-tpl removed, pins refreshed; fastapi-dockerized and fastapi-async-crud deprecated

🧰 Maintenance & Documentation

  • [REFACTOR] Jinja2 fragment code generation, ProjectScaffolder, backend/inspection with real smoke tests
  • [DOCS] Tutorials for the three new templates; CLI reference and starter guide updated (EN/KO)

Breaking: no setup.py-tpl, no runtime FastAPI-fastkit dependency, no automatic pip upgrade, uv-first detection, InspectionOptions in the inspector API.

v1.3.0 🌈

Choose a tag to compare

@github-actions github-actions released this 06 May 06:15

Changes

🚀 Features

  • [FEAT] Support architecture presets in dynamic project generation @bnbong (#55)
    • Select different base templates depending on the chosen preset
    • Preserve template-shipped entrypoints for richer layouts
    • Resolve config paths, compatibility handling, and app module targets per preset
  • [FEATURE, DOCS] add architecture preset selection to interactive init @bnbong (#54)
    • Support minimal, single-module, classic-layered, and domain-starter
    • Show the selected preset in the interactive summary
    • Align CLI help and docs with the updated interactive flow
  • [FEAT] enhance FastAPI-fastkit project templates and detection @bnbong (#52)
    • Support pyproject.toml-tpl as a primary template metadata source
    • Add pyproject-aware FastAPI-fastkit project identity detection
    • Improve compatibility for fastapi-domain-starter across package managers, including pip

🐛 Bug Fixes

  • [RELEASE, DOCS, FIX] Fix fastkit init flow, address security advisories & review findings @bnbong (#40)

🔄 New & Modified FastAPI Templates

  • [TEST] Add E2E coverage for architecture presets & domain starter @bnbong (#56)
    • Add end-to-end coverage for architecture presets and fastapi-domain-starter
    • Add regression tests for preset layout behavior, app module derivation, and interactive summary rendering
  • [TEMPLATE] add fastapi-domain-starter template @bnbong (#53)
    • New pyproject-first, domain-oriented FastAPI template for medium-sized APIs
    • Includes a built-in health endpoint and example items domain
    • Improves template metadata handling and template listing descriptions

🧰 Maintenance & Documentation

  • [DOCS] update docs @bnbong (#57)
    • Add Choosing a Starter guide
    • Add Preset Feature Matrix
    • Add fastapi-domain-starter tutorial
    • Add translation status and source-of-truth policy docs
    • Refresh CLI examples and related Korean docs
  • [FEATURE, DOCS] add architecture preset selection to interactive init @bnbong (#54)

Full release details are documented in CHANGELOG.md.

v1.2.1 🌈

Choose a tag to compare

@github-actions github-actions released this 17 Apr 08:38

🐛 Bug Fixes

  • [RELEASE, DOCS, FIX] Fix fastkit init flow, address security advisories & review findings @bnbong (#40)
    • fastkit init cleanup no longer removes the user workspace on failure; only freshly created project folders are deleted.
    • fastapi-single-module template now has <project_name> substituted in main.py.
    • Interactive init writes test configuration to pytest.ini (not tests/conftest.py, which was INI content placed into a Python module).
    • PoetryManager.generate_dependency_file parses pip-style requirements via a new _parse_pip_requirement helper.
    • Generated Dockerfile uses exec-form CMD (JSON double-quoted array), restoring proper SIGTERM handling.
  • [DOCS, FIX] edit pre-commit hooks, update FastAPI-fastkit guides @bnbong (#39)

🔄 New & Modified FastAPI Templates

  • [RELEASE, DOCS, FIX] Fix fastkit init flow, address security advisories & review findings @bnbong (#40)
    • SQLite stack now installs aiosqlite alongside sqlalchemy and alembic.
    • Minimum-version bumps for open Dependabot advisories:
      • pytest >= 9.0.3
      • black >= 26.3.1
      • pygments >= 2.20.0
      • requests >= 2.33.0
      • pymdown-extensions >= 10.17.2
  • [CICD, DOCS] add templates' dependency vulnerable checking workflow, add commands at Makefile @bnbong (#36)

🧰 Maintenance & Documentation

  • [RELEASE, DOCS, FIX] Fix fastkit init flow, address security advisories & review findings @bnbong (#40)
    • Regression tests for every fix above; additional patch-coverage tests for the init cleanup helper and single-module placeholder processing.
    • Ruff cleanup in cli.py (E402/F541).
    • Lockfiles (requirements.txt, requirements-docs.txt, pdm.lock, uv.lock) refreshed to the new floors.
  • [DOCS, FIX] edit pre-commit hooks, update FastAPI-fastkit guides @bnbong (#39)
    • FAQ now describes the interactive mode outputs conditionally (database/auth/Docker/coverage files only when the relevant option is selected).
    • Contributing & development-setup guides refreshed; fastkit --version example updated to 1.2.1.
  • [CICD, DOCS] add templates' dependency vulnerable checking workflow, add commands at Makefile @bnbong (#36)
  • Potential fix for code scanning alert no. 5: Workflow does not contain permissions @bnbong (#30)

v1.2.0 🌈

Choose a tag to compare

@github-actions github-actions released this 28 Nov 07:22

Changes

🚀 Features

  • [RELEASE] version 1.2.0 @bnbong (#29)

    • (Breaking Change) Add fastkit init --interactive feature: Revolutionary feature-by-feature project builder
    • fastkit init --interactive now provides guided project setup with intelligent feature selection
    • Always uses Empty project (fastapi-empty template) as base template to prevent conflicts with DynamicConfigGenerator
    • Interactive project configuration with validation and compatibility warnings
    • Real-time dependency collection based on selected features
    • Confirmation summary before project creation
  • Dynamic Code Generation: Intelligent code generation based on feature selections

    • Integrated DynamicConfigGenerator for automatic code scaffolding
    • Generates main.py with selected features (auth, database, monitoring, etc.)
    • Creates database configuration files for PostgreSQL, MySQL, MongoDB, SQLite
    • Generates authentication setup for JWT, OAuth2, FastAPI-Users
    • Auto-generates test configuration (pytest with optional coverage)
    • Docker deployment files (Dockerfile, docker-compose.yml) generation
  • Enhanced Dependency Management: Multi-format dependency file generation

    • Automatically generates both package-manager-specific files AND requirements.txt
    • Ensures pip compatibility regardless of selected package manager
    • Dependencies correctly reflect all selected stack features
    • Smart dependency deduplication and version management
  • [DOCS] Add docs translation with AI @bnbong (#28)

    • Right now, not all documents have been translated. This is because AI API has not been purchased and applied yet, and the translation will be carried out sequentially after 1.2.0 release.
  • [HOTFIX, RELEASE] fix console object searching error, add console size adjustment feature @bnbong (#18)

🐛 Bug Fixes

  • [DOCS, FIX] add fastkit startdemo template use-cases tutorial, add more specific clean up step at inspector @bnbong (#21)
  • [HOTFIX, RELEASE] fix console object searching error, add console size adjustment feature @bnbong (#18)

🔄 New & Modified FastAPI Templates

  • [TEMPLATE] add FastAPI-fastkit dependency at all templates @bnbong (#24)

🧰 Maintenance & Documentation

  • [DOCS] Add docs translation script @bnbong (#28)
  • Fix typos and improve wording in README.md @parthj732005 (#23)
  • [DOCS, FIX] add fastkit startdemo template use-cases tutorial, add more specific clean up step at inspector @bnbong (#21)

v1.1.5 🌈

Choose a tag to compare

@github-actions github-actions released this 14 Sep 08:27

Changes

🚀 Features

  • Adaptive Console Sizing: Enhanced terminal output display @bnbong (#18)
    • Console width is 80% of terminal width, capped at 120 characters
    • Console height is terminal height minus buffer (5 lines)
    • Automatic terminal size detection with fallback to default sizes (80x24)
    • Dynamic sizing based on actual terminal dimensions

🐛 Bug Fixes

  • Text Truncation Prevention: Completely eliminated text truncation in CLI output @bnbong (#18)
    • Template names and descriptions are now fully displayed without "..." truncation
    • Table columns automatically adjust to content length to prevent text cutting
    • Added overflow="fold" and no_wrap=False settings to Rich tables
    • Template listing now shows complete template names (e.g., fastapi-custom-response instead of fastapi-custom-respo...)
  • Fixing the object console not found error @bnbong (#16, #18)
    • this critical error was occurred every version before this version.
    • this error was occurred because of the mismatched logic between distribute github actions workflow and the top __init__.py file of fastkit project package.

The console object not found issue was discovered during the development of version 1.1.2, and I spent a lot of time troubleshooting it. I believe this was due to my lack of development experience. I sincerely apologize.

v1.1.4 🌈 (deprecated)

Choose a tag to compare

@github-actions github-actions released this 14 Sep 06:30

Changes

🐛 Bug Fixes

  • [HOTFIX] fixing console object import error @bnbong (#16)

Notes

The issues that were being addressed during the development of this version remained unresolved and were fixed in version v1.1.5.

For more details, please refer to the CHANGELOG.md file for v1.1.5.

v1.1.3 🌈

Choose a tag to compare

@github-actions github-actions released this 13 Sep 09:27

Changes

🔄 New & Modified FastAPI Templates

  • add fastapi-single-module template @bnbong (#15)
  • update fastapi-psql-orm template @bnbong (#15)
    • fix dockerfile & docker-compose.yml scripts errors

v1.1.2 🌈

Choose a tag to compare

@github-actions github-actions released this 05 Sep 07:09
f3d4e9f

Changes

🚀 Features

  • add a feature of fastkit init, fastkit startdemo command to define to make a new project folder at current working directory. @bnbong (#14)
  • add a feature of fastkit addroutecommand to recognize current working project (with cmd option .). @bnbong (#14)

🔄 New & Modified FastAPI Templates

  • add setuptools package at fastapi-empty template's dependency list. @bnbong (#14)

🧰 Maintenance & Documentation

  • add logic diagram of fastkit & applied at CONTRIBUTING.md @bnbong (#14)

v1.1.1 🌈

Choose a tag to compare

@github-actions github-actions released this 15 Aug 10:30
e1c171d

Changes

🐛 Bug Fixes

  • fix template inspection workflow & script
    • fixing uv supportation compatibility
    • for now, template inspection is running with uv package manager

🔄 New & Modified FastAPI Templates

  • add pyproject.toml at all templates @bnbong (#12)