- ✨ Add private, local only, API for usage in E2E tests. PR #1429 by @patrick91.
- ✨ Migrate to latest openapi-ts. PR #1430 by @patrick91.
- 🎨 Move
prefix
andtags
to routers. PR #1439 by @patrick91. - ♻️ Remove modify id script in favor of openapi-ts config. PR #1434 by @patrick91.
- 👷 Improve Playwright CI speed: sharding (paralel runs), run in Docker to use cache, use env vars. PR #1405 by @tiangolo.
- ♻️ Add PaginationFooter component. PR #1381 by @saltie2193.
- ♻️ Refactored code to use encryption algorithm name from settings for consistency. PR #1160 by @sameeramin.
- 🔊 Enable logging for email utils by default. PR #1374 by @ihmily.
- 🔧 Add
ENV PYTHONUNBUFFERED=1
to log output directly to Docker. PR #1378 by @tiangolo. - 💡 Remove unnecessary comment. PR #1260 by @sebhani.
- 📝 Update
frontend/README.md
to also remove Playwright when removing Frontend. PR #1452 by @youben11. - 📝 Update
deployment.md
, instructions to install GitHub Runner in non-root VMs. PR #1412 by @tiangolo. - 📝 Add MailCatcher to
development.md
. PR #1387 by @tobiase.
- ⬆ Bump astral-sh/setup-uv from 4 to 5. PR #1453 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 3 to 4. PR #1433 by @dependabot[bot].
- ⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2. PR #1418 by @dependabot[bot].
- 👷 Update issue manager workflow. PR #1398 by @alejsdev.
- 👷 Fix smokeshow, checkout files on CI. PR #1395 by @tiangolo.
- 👷 Update
labeler.yml
. PR #1388 by @tiangolo. - 🔧 Add .auth playwright folder to
.gitignore
. PR #1383 by @justin-p. - ⬆️ Bump rollup from 4.6.1 to 4.22.5 in /frontend. PR #1379 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 2 to 3. PR #1364 by @dependabot[bot].
- 👷 Update pre-commit end-of-file-fixer hook to exclude email-templates. PR #1296 by @goabonga.
- ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. PR #1332 by @dependabot[bot].
- 🔧 Run task by the same Python environment used to run Copier. PR #1157 by @waketzheng.
- 👷 Tweak generate client to error out if there are errors. PR #1377 by @tiangolo.
- 👷 Generate and commit client only on same repo PRs, on forks, show the error. PR #1376 by @tiangolo.
- Migrate from Poetry to
uv
. - Simplifications and improvements for Docker Compose files, Traefik Dockerfiles.
- Make the API use its own domain
api.example.com
and the frontend usedashboard.example.com
. This would make it easier to deploy them separately if you needed that. - The backend and frontend on Docker Compose now listen on the same port as the local development servers, this way you can stop the Docker Compose services and run the local development servers without changing the frontend configuration.
- ♻️ Update settings to use top level
.env
file. PR #1359 by @tiangolo. - ⬆️ Migrate from Poetry to uv. PR #1356 by @tiangolo.
- 🔥 Remove logic for development dependencies and Jupyter, it was never documented, and I no longer use that trick. PR #1355 by @tiangolo.
- ♻️ Use Docker Compose
watch
. PR #1354 by @tiangolo. - 🔧 Use plain base official Python Docker image. PR #1351 by @tiangolo.
- 🚚 Move location of scripts to simplify file structure. PR #1352 by @tiangolo.
- ♻️ Refactor prestart (migrations), move that to its own container. PR #1350 by @tiangolo.
- ♻️ Include
FRONTEND_HOST
in CORS origins by default. PR #1348 by @tiangolo. - ♻️ Simplify domains with
api.example.com
for API anddashboard.example.com
for frontend, improve local development withlocalhost
. PR #1344 by @tiangolo. - 🔥 Simplify Traefik, remove www-redirects that add complexity. PR #1343 by @tiangolo.
- 🔥 Enable support for Arm Docker images in Mac, remove old patch. PR #1341 by @tiangolo.
- ♻️ Remove duplicate information in the ItemCreate model. PR #1287 by @jjaakko.
- 💡 Add comments to Dockerfile with uv references. PR #1357 by @tiangolo.
- 📝 Add Email Templates to
backend/README.md
. PR #1311 by @alejsdev.
- 👷 Do not sync labels as it overrides manually added labels. PR #1307 by @tiangolo.
- 👷 Use uv cache on GitHub Actions. PR #1366 by @tiangolo.
- 👷 Update GitHub Actions format. PR #1363 by @tiangolo.
- 👷 Use
uv
for Python env to generate client. PR #1362 by @tiangolo. - 👷 Run tests from Python environment (with
uv
), not from Docker container. PR #1361 by @tiangolo. - 🔨 Update
generate-client.sh
script, make it fail on errors, fix generation. PR #1360 by @tiangolo. - 👷 Add GitHub Actions workflow to lint backend apart from tests. PR #1358 by @tiangolo.
- 👷 Improve playwright CI job. PR #1335 by @patrick91.
- 👷 Update
issue-manager.yml
. PR #1329 by @tiangolo. - 💚 Set
include-hidden-files
toTrue
when using theupload-artifact
GH action. PR #1327 by @svlandeg. - 👷🏻 Auto-generate frontend client . PR #1320 by @alejsdev.
- 🐛 Fix in
.github/labeler.yml
. PR #1322 by @alejsdev. - 👷 Update
.github/labeler.yml
. PR #1321 by @alejsdev. - 👷 Update
latest-changes
GitHub Action. PR #1315 by @tiangolo. - 👷 Update configs for labeler. PR #1308 by @tiangolo.
- 👷 Update GitHub Action labeler to add only one label. PR #1304 by @tiangolo.
- ⬆️ Bump axios from 1.6.2 to 1.7.4 in /frontend. PR #1301 by @dependabot[bot].
- 👷 Update GitHub Action labeler dependencies. PR #1302 by @tiangolo.
- 👷 Update GitHub Action labeler permissions. PR #1300 by @tiangolo.
- 👷 Add GitHub Action label-checker. PR #1299 by @tiangolo.
- 👷 Add GitHub Action labeler. PR #1298 by @tiangolo.
- 👷 Add GitHub Action add-to-project. PR #1297 by @tiangolo.
- 👷 Update issue-manager. PR #1288 by @tiangolo.
Lots of new things! 🎁
- E2E tests with Playwright.
- Mailcatcher configuration, to develop and test email handling.
- Pagination.
- UUIDs for database keys.
- New user sign up.
- Support for deploying to multiple environments (staging, prod).
- Many refactors and improvements.
- Several dependency upgrades.
- ✨ Add User Settings e2e tests. PR #1271 by @alejsdev.
- ✨ Add Reset Password e2e tests. PR #1270 by @alejsdev.
- ✨ Add Sign Up e2e tests. PR #1268 by @alejsdev.
- ✨ Add Sign Up and make
OPEN_USER_REGISTRATION=True
by default. PR #1265 by @alejsdev. - ✨ Add Login e2e tests. PR #1264 by @alejsdev.
- ✨ Add initial setup for frontend / end-to-end tests with Playwright. PR #1261 by @alejsdev.
- ✨ Add mailcatcher configuration. PR #1244 by @patrick91.
- ✨ Introduce pagination in items. PR #1239 by @patrick91.
- 🗃️ Add max_length validation for database models and input data. PR #1233 by @estebanx64.
- ✨ Add TanStack React Query devtools in dev build. PR #1217 by @tomerb.
- ✨ 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 welcome page to show logged-in user. PR #1218 by @tomerb.
- 🐛 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.
- 🚨 Fix Docker build warning. PR #1283 by @erip.
- ♻️ Regenerate client to use UUID instead of id integers and update frontend. PR #1281 by @rehanabdul.
- ♻️ Tweaks in frontend. PR #1273 by @alejsdev.
- ♻️ Add random password util and refactor tests. PR #1277 by @alejsdev.
- ♻️ Refactor models to use cascade delete relationships . PR #1276 by @alejsdev.
- 🔥 Remove
USERS_OPEN_REGISTRATION
config, make registration enabled by default. PR #1274 by @alejsdev. - 🔧 Reuse database url from config in alembic setup. PR #1229 by @patrick91.
- 🔧 Update Playwright config and tests to use env variables. PR #1266 by @alejsdev.
- ♻️ Edit refactor db models to use UUID's instead of integer ID's. PR #1259 by @estebanx64.
- ♻️ Update form inputs width. PR #1263 by @alejsdev.
- ♻️ Replace deprecated utcnow() with now(timezone.utc) in utils module. PR #1247 by @jalvarezz13.
- 🎨 Format frontend. PR #1262 by @alejsdev.
- ♻️ Abstraction of specific AddModal component out of the Navbar. PR #1246 by @ajbloureiro.
- ♻️ Update
login.tsx
to prevent error if username or password are empty. PR #1257 by @jmondaud. - ♻️ Refactor recover password. PR #1242 by @alejsdev.
- 🎨 Format and lint . PR #1243 by @alejsdev.
- 🎨 Run biome after OpenAPI client generation. PR #1226 by @tomerb.
- ♻️ Update DeleteConfirmation component to use new service. PR #1224 by @alejsdev.
- ♻️ Update client services. PR #1223 by @alejsdev.
- ⚒️ Add minor frontend tweaks. PR #1210 by @alejsdev.
- 🚚 Move assets to public folder. PR #1206 by @alejsdev.
- ♻️ Refactor redirect labels to simplify removing the frontend. PR #1208 by @tiangolo.
- 🔒️ Refactor migrate from python-jose to PyJWT. PR #1203 by @estebanx64.
- 🔥 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 SQLModel to version
>=0.0.21
. PR #1275 by @alejsdev. - ⬆️ Upgrade Traefik. PR #1241 by @tiangolo.
- ⬆️ Bump requests from 2.31.0 to 2.32.0 in /backend. PR #1211 by @dependabot[bot].
- ⬆️ Bump jinja2 from 3.1.3 to 3.1.4 in /backend. PR #1196 by @dependabot[bot].
- Bump gunicorn from 21.2.0 to 22.0.0 in /backend. PR #1176 by @dependabot[bot].
- Bump idna from 3.6 to 3.7 in /backend. PR #1168 by @dependabot[bot].
- 🆙 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 links from tiangolo repo to fastapi org repo. PR #1285 by @tiangolo.
- 📝 Add End-to-End Testing with Playwright to frontend
README.md
. PR #1279 by @alejsdev. - 📝 Update release-notes.md. PR #1220 by @alejsdev.
- ✏️ Update
README.md
. PR #1205 by @Craz1k0ek. - ✏️ Fix Adminer URL in
deployment.md
. PR #1194 by @PhilippWu. - 📝 Add
Enabling Open User Registration
to backend docs. PR #1191 by @alejsdev. - 📝 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.
- 🔧 Update deploy workflows to exclude the main repository. PR #1284 by @alejsdev.
- 👷 Update issue-manager.yml GitHub Action permissions. PR #1278 by @tiangolo.
- ⬆️ Bump setuptools from 69.1.1 to 70.0.0 in /backend. PR #1255 by @dependabot[bot].
- ⬆️ Bump certifi from 2024.2.2 to 2024.7.4 in /backend. PR #1250 by @dependabot[bot].
- ⬆️ Bump urllib3 from 2.2.1 to 2.2.2 in /backend. PR #1235 by @dependabot[bot].
- 🔧 Ignore
src/routeTree.gen.ts
in biome. PR #1175 by @patrick91. - 👷 Update Smokeshow download artifact GitHub Action. PR #1198 by @tiangolo.
- 🔧 Update Node.js version in
.nvmrc
. PR #1192 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.