github evroon/bracket v3.0.0-rc1

pre-release16 hours ago

What's Changed

This is a release candidate for the 3.0 release.

Breaking change: Next.js to Vite

The 3.0 release contains breaking changes because the frontend is now implemented using Vite.js instead of Next.js.

The main benefits of using Vite instead of Next is that the build times are much better and there is actual support for static exports, which Next.js doesn't provide well. This means that deploying Bracket as static website to e.g. Cloudflare results in much better load times (and therefore user experience) than a Next.js application hosted on Vercel can offer.

Important

This migration from Next.js to Vite unfortunately means environment variables need to be renamed, e.g.:

  • NEXT_PUBLIC_API_BASE_URL should now be called: VITE_API_BASE_URL etc.

See the configuration docs for more information.

Single Docker container

Furthermore, bracket can now be run in a single Docker container that serves both the frontend and backend. It is basically the existing backend container, except that FastAPI also serves the frontend. Requests to the backend have to be prefixed with /api, see SERVE_FRONTEND and API_PREFIX in the configuration docs for more information. The docker-compose.yaml example file has been updated to use the new "combined" docker image. This is mostly meant to quickly check out Bracket and see how it looks like, or running it locally. A huge benefit is that this prevents CORS issues because the backend and frontend are on the same domain. For production, it won't offer the same performance as hosting the frontend on e.g. a CDN but it will work fine on production as well.

Other improvements

Some other (devex) improvements have been implemented:

  • Using pipenv instead of uv
  • Using hey-api to use FastAPI's openapi.json to generate typescript types for responses, bodies, query parameters
  • Use pnpm instead of yarn for frontend package management
  • Using pyrefly, along with mypy, for type checking
  • Bumping Mantine to Mantine 8

New Contributors

Full Changelog: v2.2.5...v3.0.0-rc1

Don't miss a new bracket release

NewReleases is sending notifications on new releases.