Releases: tiangolo/full-stack-fastapi-template
0.6.0
Latest FastAPI, Pydantic, SQLModel 🚀
Brand new frontend with React, TS, Vite, Chakra UI, TanStack Query/Router, generated client/SDK 🎨
CI/CD - GitHub Actions 🤖
Test cov > 90% ✅
Features
- ✨ Adopt SQLModel, create models, start using it. PR #559 by @tiangolo.
- ✨ Upgrade items router with new SQLModel models, simplified logic, and new FastAPI Annotated dependencies. PR #560 by @tiangolo.
- ✨ Migrate from pgAdmin to Adminer. PR #692 by @tiangolo.
- ✨ Add support for setting
POSTGRES_PORT
. PR #333 by @uepoch. - ⬆ Upgrade Flower version and command. PR #447 by @maurob.
- 🎨 Improve styles. PR #673 by @alejsdev.
- 🎨 Update theme. PR #666 by @alejsdev.
- 👷 Add continuous deployment and refactors needed for it. PR #667 by @tiangolo.
- ✨ Create endpoint to show password recovery email content and update email template. PR #664 by @alejsdev.
- 🎨 Format with Prettier. PR #646 by @alejsdev.
- ✅ Add tests to raise coverage to at least 90% and fix recover password logic. PR #632 by @estebanx64.
- ⚙️ Add Prettier and ESLint config with pre-commit. PR #640 by @alejsdev.
- 👷 Add coverage with Smokeshow to CI and badge. PR #638 by @estebanx64.
- ✨ Migrate to TanStack Query (React Query) and TanStack Router. PR #637 by @alejsdev.
- ✅ Add setup and teardown database for tests. PR #626 by @estebanx64.
- ✨ Update new-frontend client. PR #625 by @alejsdev.
- ✨ Add password reset functionality. PR #624 by @alejsdev.
- ✨ Add private/public routing. PR #621 by @alejsdev.
- 🔧 Add VS Code debug configs. PR #620 by @tiangolo.
- ✨ Add
Not Found
page. PR #595 by @alejsdev. - ✨ Add new pages, components, panels, modals, and theme; refactor and improvements in existing components. PR #593 by @alejsdev.
- ✨ Support delete own account and other tweaks. PR #614 by @alejsdev.
- ✨ Restructure folders, allow editing of users/items, and implement other refactors and improvements. PR #603 by @alejsdev.
- ✨ Add Copier, migrate from Cookiecutter, in a way that supports using the project as is, forking or cloning it. PR #612 by @tiangolo.
- ➕ Replace black, isort, flake8, autoflake with ruff and upgrade mypy. PR #610 by @tiangolo.
- ♻ Refactor items and services endpoints to return count and data, and add CI tests. PR #599 by @estebanx64.
- ✨ Add support for updating items and upgrade SQLModel to 0.0.16 (which supports model object updates). PR #601 by @tiangolo.
- ✨ Add dark mode to new-frontend and conditional sidebar items. PR #600 by @alejsdev.
- ✨ Migrate to RouterProvider and other refactors . PR #598 by @alejsdev.
- ✨ Add delete_user; refactor delete_item. PR #594 by @alejsdev.
- ✨ Add state store to new frontend. PR #592 by @alejsdev.
- ✨ Add form validation to Admin, Items and Login. PR #616 by @alejsdev.
- ✨ Add Sidebar to new frontend. PR #587 by @alejsdev.
- ✨ Add Login to new frontend. PR #585 by @alejsdev.
- ✨ Include schemas in generated frontend client. PR #584 by @alejsdev.
- ✨ Regenerate frontend client with recent changes. PR #575 by @alejsdev.
- ♻️ Refactor API in
utils.py
. PR #573 by @alejsdev. - ✨ Update code for login API. PR #571 by @tiangolo.
- ✨ Add client in frontend and client generation. PR #569 by @alejsdev.
- 🐳 Set up Docker config for new-frontend. PR #564 by @alejsdev.
- ✨ Set up new frontend with Vite, TypeScript and React. PR #563 by @alejsdev.
- 📌 Add NodeJS version management and instructions. PR #551 by @alejsdev.
- Add consistent errors for env vars not set. PR #200.
- Upgrade Traefik to version 2, keeping in sync with DockerSwarm.rocks. PR #199.
- Run tests with
TestClient
. PR #160.
Fixes
- 🐛 Fix copier to handle string vars with spaces in quotes. PR #631 by @estebanx64.
- 🐛 Fix allowing a user to update the email to the same email they already have. PR #696 by @alejsdev.
- 🐛 Set up Sentry only when used. PR #671 by @tiangolo.
- 🔥 Remove unnecessary validation. PR #662 by @alejsdev.
- 🐛 Fix bug when editing own user. PR #651 by @alejsdev.
- 🐛 Add
onClose
toSidebarItems
. PR #589 by @alejsdev. - 🐛 Fix positional argument bug in
init_db.py
. PR #562 by @alejsdev. - 📌 Fix flower Docker image, pin version. PR #396 by @sanggusti.
- 🐛 Fix Celery worker command. PR #443 by @bechtold.
- 🐛 Fix Poetry installation in Dockerfile and upgrade Python version and packages to fix Docker build. PR #480 by @little7Li.
Refactors
- 🔧 Add missing dotenv variables. PR #554 by @tiangolo.
- ⏪ Revert "⚙️ Add Prettier and ESLint config with pre-commit". PR [#644](https://github....
0.5.0
- Make the Traefik public network a fixed default of
traefik-public
as done in DockerSwarm.rocks, to simplify development and iteration of the project generator. PR #150. - Update to PostgreSQL 12. PR #148. by @RCheese.
- Use Poetry for package management. Initial PR #144 by @RCheese.
- Fix Windows line endings for shell scripts after project generation with Cookiecutter hooks. PR #149.
- Upgrade Vue CLI to version 4. PR #120 by @br3ndonland.
- Remove duplicate
login
tag. PR #135 by @Nonameentered. - Fix showing email in dashboard when there's no user's full name. PR #129 by @rlonka.
- Format code with Black and Flake8. PR #121 by @br3ndonland.
- Simplify SQLAlchemy Base class. PR #117 by @airibarne.
- Update CRUD utils for users, handling password hashing. PR #106 by @mocsar.
- Use
.
instead ofsource
for interoperability. PR #98 by @gucharbon. - Use Pydantic's
BaseSettings
for settings/configs and env vars. PR #87 by @StephenBrown2. - Remove
package-lock.json
to let everyone lock their own versions (depending on OS, etc). - Simplify Traefik service labels PR #139.
- Add email validation. PR #40 by @kedod.
- Fix typo in README. PR #83 by @ashears.
- Fix typo in README. PR #80 by @abjoker.
- Fix function name
read_item
and response code. PR #74 by @jcaguirre89. - Fix typo in comment. PR #70 by @daniel-butler.
- Fix Flower Docker configuration. PR #37 by @dmontagu.
- Add new CRUD utils based on DB and Pydantic models. Initial PR #23 by @ebreton.
- Add normal user testing Pytest fixture. PR #20 by @ebreton.
0.4.0
-
Fix security on resetting a password. Receive token as body, not query. PR #34.
-
Fix security on resetting a password. Receive it as body, not query. PR #33 by @dmontagu.
-
Fix SQLAlchemy class lookup on initialization. PR #29 by @ebreton.
-
Fix SQLAlchemy operation errors on database restart. PR #32 by @ebreton.
-
Fix locations of scripts in generated README. PR #19 by @ebreton.
-
Forward arguments from script to
pytest
inside container. PR #17 by @ebreton. -
Update development scripts.
-
Create DB Item objects from all Pydantic model's fields.
-
Update Jupyter Lab installation and util script/environment variable for local development.
0.3.0
-
PR #14:
- Update CRUD utils to use types better.
- Simplify Pydantic model names, from
UserInCreate
toUserCreate
, etc. - Upgrade packages.
- Add new generic "Items" models, crud utils, endpoints, and tests. To facilitate re-using them to create new functionality. As they are simple and generic (not like Users), it's easier to copy-paste and adapt them to each use case.
- Update endpoints/path operations to simplify code and use new utilities, prefix and tags in
include_router
. - Update testing utils.
- Update linting rules, relax vulture to reduce false positives.
- Update migrations to include new Items.
- Update project README.md with tips about how to start with backend.
-
Upgrade Python to 3.7 as Celery is now compatible too. PR #10 by @ebreton.
0.2.2
0.2.1
0.2.0
- Simplify and update backend
Dockerfile
s. - Refactor and simplify backend code, improve naming, imports, modules and "namespaces".
- Improve and simplify Vuex integration with TypeScript accessors.
- Standardize frontend components layout, buttons order, etc.
- Add local development scripts (to develop this project generator itself).
- Add logs to startup modules to detect errors early.
- Improve FastAPI dependency utilities, to simplify and reduce code (to require a superuser).