- π§ Ignore
src/routeTree.gen.ts
in biome. PR #1175 by @patrick91.
- β¨ Add support for deploying multiple environments (staging, production) to the same server. PR #1128 by @tiangolo.
- π· Update CI GitHub Actions to allow running in private repos. PR #1125 by @tiangolo.
- π Fix local Traefik proxy network config to fix Gateway Timeouts. PR #1184 by @JoelGotsch.
- β»οΈ Fix tests when first superuser password is changed in .env. PR #1165 by @billzhong.
- π Fix bug when resetting password. PR #1171 by @alejsdev.
- π Fix 403 when the frontend has a directory without an index.html. PR #1094 by @tiangolo.
- π₯ Remove duplicated code. PR #1185 by @alejsdev.
- β»οΈ Add delete_user_me endpoint and corresponding test cases. PR #1179 by @alejsdev.
- β Update test to add verification database records. PR #1178 by @estebanx64.
- πΈ Use
useSuspenseQuery
to fetch members and show skeleton. PR #1174 by @patrick91. - π¨ Format Utils. PR #1173 by @alejsdev.
- β¨ Use suspense for items page. PR #1167 by @patrick91.
- πΈ Mark login field as required. PR #1166 by @patrick91.
- πΈ Improve login. PR #1163 by @patrick91.
- π₯ Handle AxiosErrors in Login page. PR #1162 by @patrick91.
- π¨ Format frontend. PR #1161 by @alejsdev.
- β»οΈ Regenerate frontend client. PR #1156 by @alejsdev.
- β»οΈ Refactor rename ModelsOut to ModelsPublic. PR #1154 by @estebanx64.
- β»οΈ Migrate frontend client generation from
openapi-typescript-codegen
to@hey-api/openapi-ts
. PR #1151 by @alejsdev. - π₯ Remove unused exports and update dependencies. PR #1146 by @alejsdev.
- π§ Update sentry dns initialization following the environment settings. PR #1145 by @estebanx64.
- β»οΈ Refactor and tweaks, rename
UserCreateOpen
toUserRegister
and others. PR #1143 by @alejsdev. - π¨ Format imports. PR #1140 by @alejsdev.
- β»οΈ Refactor and remove
React.FC
. PR #1139 by @alejsdev. - β»οΈ Add email pattern and refactor in frontend. PR #1138 by @alejsdev.
- π₯ Set up Sentry for FastAPI applications. PR #1136 by @estebanx64.
- π₯ Remove deprecated Docker Compose version key. PR #1129 by @tiangolo.
- π¨ Format with Biome . PR #1097 by @alejsdev.
- π¨ Update quote style in biome formatter. PR #1095 by @alejsdev.
- β»οΈ Replace ESLint and Prettier with Biome to format and lint frontend. PR #719 by @santigandolfo.
- π¨ Replace buttons styling for variants for consistency. PR #722 by @alejsdev.
- π οΈ Improve
modify-openapi-operationids.js
. PR #720 by @alejsdev. - β»οΈ Replace pytest-mock with unittest.mock and remove pytest-cov. PR #717 by @estebanx64.
- π οΈ Minor changes in frontend. PR #715 by @alejsdev.
- β» Update Docker image to prevent errors in M1 Macs. PR #710 by @dudil.
- β Fix typo in variable names in
backend/app/api/routes/items.py
andbackend/app/api/routes/users.py
. PR #711 by @disrupted.
- π Update React Query to TanStack Query. PR #1153 by @patrick91.
- Bump vite from 5.0.12 to 5.0.13 in /frontend. PR #1149 by @dependabot[bot].
- Bump follow-redirects from 1.15.5 to 1.15.6 in /frontend. PR #734 by @dependabot[bot].
- π Update release-notes.md. PR #1164 by @alejsdev.
- π Update
README.md
. PR #716 by @alejsdev. - π Update instructions to clone for a private repo, including updates. PR #1127 by @tiangolo.
- π Add docs about CI keys, LATEST_CHANGES and SMOKESHOW_AUTH_KEY. PR #1126 by @tiangolo.
- βοΈ Fix file path in
backend/README.md
when not wanting to use migrations. PR #1116 by @leonlowitzki. - π Add documentation for pre-commit and code linting. PR #718 by @estebanx64.
- π Fix localhost URLs in
development.md
. PR #1099 by @efonte. - β Update header titles for consistency. PR #708 by @codesmith-emmy.
- π Update
README.md
, dark mode screenshot position. PR #706 by @alejsdev.
- π₯ Remove ESLint and Prettier from pre-commit config. PR #1096 by @alejsdev.
- π§ Update mypy config to ignore .venv directories. PR #1155 by @tiangolo.
- π¨ Enable
ARG001
to prevent unused arguments. PR #1152 by @patrick91. - π₯ Remove isort configuration, since we use Ruff now. PR #1144 by @patrick91.
- π§ Update pre-commit config to exclude generated client folder. PR #1150 by @alejsdev.
- π§ Change
.nvmrc
format. PR #1148 by @patrick91. - π¨ Ignore alembic from ruff lint and format. PR #1131 by @estebanx64.
- π§ Add GitHub templates for discussions and issues, and security policy. PR #1105 by @alejsdev.
- β¬ Bump dawidd6/action-download-artifact from 3.1.2 to 3.1.4. PR #1103 by @dependabot[bot].
- π§ Add Biome to pre-commit config. PR #1098 by @alejsdev.
- π₯ Delete leftover celery file. PR #727 by @dr-neptune.
- βοΈ Update pre-commit config with Prettier and ESLint. PR #714 by @alejsdev.
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% β
- β¨ 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.
- π 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.
- π§ Add missing dotenv variables. PR #554 by @tiangolo.
- βͺ Revert "βοΈ Add Prettier and ESLint config with pre-commit". PR #644 by @alejsdev.
- π Add .prettierignore and include client folder. PR #648 by @alejsdev.
- π·οΈ Add mypy to the GitHub Action for tests and fixed types in the whole project. PR #655 by @estebanx64.
- ποΈ Ensure the default values of "changethis" are not deployed. PR #698 by @tiangolo.
- β Revert "πΈ Rename Dashboard to Home and update screenshots". PR #697 by @alejsdev.
- πΈ Rename Dashboard to Home and update screenshots. PR #693 by @alejsdev.
- π Fixed items count when retrieving data for all items by user. PR #695 by @estebanx64.
- π₯ Remove Celery and Flower, they are currently not used nor recommended. PR #694 by @tiangolo.
- β Add test for deleting user without privileges. PR #690 by @alejsdev.
- β»οΈ Refactor user update. PR #689 by @alejsdev.
- π Add Poetry lock to git. PR #685 by @tiangolo.
- π¨ Adjust color and spacing. PR #684 by @alejsdev.
- π· Avoid creating unnecessary *.pyc files with PYTHONDONTWRITEBYTECODE=1. PR #677 by @estebanx64.
- π§ Add
SMTP_SSL
option for older SMTP servers. PR #365 by @Metrea. - β»οΈ Refactor logic to allow running pytest tests locally. PR #683 by @tiangolo.
- β» Update error messages. PR #417 by @qu3vipon.
- π§ Add a default Flower password. PR #682 by @tiangolo.
- π§ Update VS Code debug config. PR #676 by @tiangolo.
- β»οΈ Refactor code structure for tests. PR #674 by @tiangolo.
- π§ Set TanStack Router devtools only in dev mode. PR #668 by @alejsdev.
- β»οΈ Refactor email logic to allow re-using util functions for testing and development. PR #663 by @tiangolo.
- π¬ Improve Delete Account description and confirmation. PR #661 by @alejsdev.
- β»οΈ Refactor email templates. PR #659 by @alejsdev.
- π Update deployment files and docs. PR #660 by @tiangolo.
- π₯ Remove unused schemas. PR #656 by @alejsdev.
- π₯ Remove old frontend. PR #649 by @tiangolo.
- β» Move project source files to top level from src, update Sentry dependency. PR #630 by @estebanx64.
- β» Refactor Python folder tree. PR #629 by @estebanx64.
- β»οΈ Refactor old CRUD utils and tests. PR #622 by @alejsdev.
- π§ Update .env to allow local debug for the backend. PR #618 by @tiangolo.
- β»οΈ Refactor and update CORS, remove trailing slash from new Pydantic v2. PR #617 by @tiangolo.
- π¨ Format files with pre-commit and Ruff. PR #611 by @tiangolo.
- π Refactor and simplify backend file structure. PR #609 by @tiangolo.
- π₯ Clean up old files no longer relevant. PR #608 by @tiangolo.
- β» Re-structure Docker Compose files, discard Docker Swarm specific logic. PR #607 by @tiangolo.
- β»οΈ Refactor update endpoints and regenerate client for new-frontend. PR #602 by @alejsdev.
- β¨ Add Layout to App. PR #588 by @alejsdev.
- β»οΈ Re-enable user update path operations for frontend client generation. PR #574 by @alejsdev.
- β»οΈ Remove type ignores and add
response_model
. PR #572 by @alejsdev. - β»οΈ Refactor Users API and dependencies. PR #561 by @alejsdev.
- β»οΈ Refactor frontend Docker build setup, use plain NodeJS, use custom Nginx config, fix build for old Vue. PR #555 by @tiangolo.
- β»οΈ Refactor project generation, discard cookiecutter, use plain git/clone/fork. PR #553 by @tiangolo.
- Refactor backend:
- Simplify configs for tools and format to better support editor integration.
- Add mypy configurations and plugins.
- Add types to all the codebase.
- Update types for SQLAlchemy models with plugin.
- Update and refactor CRUD utils.
- Refactor DB sessions to use dependencies with
yield
. - Refactor dependencies, security, CRUD, models, schemas, etc. To simplify code and improve autocompletion.
- Change from PyJWT to Python-JOSE as it supports additional use cases.
- Fix JWT tokens using user email/ID as the subject in
sub
. - PR #158.
- Simplify
docker-compose.*.yml
files, refactor deployment to reduce config files. PR #153. - Simplify env var files, merge to a single
.env
file. PR #151.
- π Upgrade Poetry lock dependencies. PR #702 by @tiangolo.
- β¬οΈ Upgrade Python version and dependencies. PR #558 by @tiangolo.
- β¬ Bump tiangolo/issue-manager from 0.2.0 to 0.5.0. PR #591 by @dependabot[bot].
- Bump follow-redirects from 1.15.3 to 1.15.5 in /frontend. PR #654 by @dependabot[bot].
- Bump vite from 5.0.4 to 5.0.12 in /frontend. PR #653 by @dependabot[bot].
- Bump fastapi from 0.104.1 to 0.109.1 in /backend. PR #687 by @dependabot[bot].
- Bump python-multipart from 0.0.6 to 0.0.7 in /backend. PR #686 by @dependabot[bot].
- β¬ Add
uvicorn[standard]
to includewatchgod
anduvloop
. PR #438 by @alonme. - β¬ Upgrade code to support pydantic V2. PR #615 by @estebanx64.
- π¦ Add dark mode to
README.md
. PR #703 by @alejsdev. - π± Update GitHub image. PR #701 by @tiangolo.
- π± Add GitHub image. PR #700 by @tiangolo.
- π Rename project to Full Stack FastAPI Template. PR #699 by @tiangolo.
- π Update
README.md
. PR #691 by @alejsdev. - β Fix typo in
development.md
. PR #309 by @graue70. - π Add docs for wildcard domains. PR #681 by @tiangolo.
- π Add the required GitHub Actions secrets to docs. PR #679 by @tiangolo.
- π Update
README.md
anddeployment.md
. PR #678 by @alejsdev. - π Update frontend
README.md
. PR #675 by @alejsdev. - π Update deployment docs to use a different directory for traefik-public. PR #670 by @tiangolo.
- πΈ Add new screenshots . PR #657 by @alejsdev.
- π Refactor README into separate README.md files for backend, frontend, deployment, development. PR #639 by @tiangolo.
- π Update README. PR #628 by @tiangolo.
- π· Update GitHub Action latest-changes and move release notes to independent file. PR #619 by @tiangolo.
- π Update internal README and referred files. PR #613 by @tiangolo.
- π Update README with in construction notice. PR #552 by @tiangolo.
- Add docs about reporting test coverage in HTML. PR #161.
- Add docs about removing the frontend, for an API-only app. PR #156.
- π· Add Lint to GitHub Actions outside of tests. PR #688 by @tiangolo.
- β¬ Bump dawidd6/action-download-artifact from 2.28.0 to 3.1.2. PR #643 by @dependabot[bot].
- β¬ Bump actions/upload-artifact from 3 to 4. PR #642 by @dependabot[bot].
- β¬ Bump actions/setup-python from 4 to 5. PR #641 by @dependabot[bot].
- π· Tweak test GitHub Action names. PR #672 by @tiangolo.
- π§ Add
.gitattributes
file to ensure LF endings for.sh
files. PR #658 by @estebanx64. - π Move new-frontend to frontend. PR #652 by @alejsdev.
- π§ Add script for ESLint. PR #650 by @alejsdev.
- βοΈ Add Prettier config. PR #647 by @alejsdev.
- π§ Update pre-commit config. PR #645 by @alejsdev.
- π· Add dependabot. PR #547 by @tiangolo.
- π· Fix latest-changes GitHub Action token, strike 2. PR #546 by @tiangolo.
- π· Fix latest-changes GitHub Action token config. PR #545 by @tiangolo.
- π· Add latest-changes GitHub Action. PR #544 by @tiangolo.
- Update issue-manager. PR #211.
- Add GitHub Sponsors button. PR #201.
- Simplify scripts and development, update docs and configs. PR #155.
- 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.
-
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.
-
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.
- Fix frontend hijacking /docs in development. Using latest https://github.com/tiangolo/node-frontend with custom Nginx configs in frontend. PR #6.
-
Fix documentation for path operation to get user by ID. PR #4 by @mpclarkson in FastAPI.
-
Set
/start-reload.sh
as a command override for development by default. -
Update generated README.
- 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).
- Fix path operation to update self-user, set parameters as body payload.
Several bug fixes since initial publication, including:
- Order of path operations for users.
- Frontend sending login data in the correct format.
- Add https://localhost variants to CORS.