Skip to content

0.6.0

Latest
Compare
Choose a tag to compare
@tiangolo tiangolo released this 12 Mar 20:56
· 122 commits to master since this release

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 to SidebarItems. 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 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.

Upgrades

Docs

  • πŸ¦‡ 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 and deployment.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.

Internal