PostGraphile V5 Beta Status
The V5 pre-alpha phase completed after 38 releases.
The V5 alpha phase completed after 20 releases.
➡️ The PostGraphile V5 beta phase is roughly 80% complete. ⬅️
About PostGraphile V5
Production-ready and already powering many apps, V5 is a complete ground-up rewrite powered by Grafast, our cutting-edge planning and execution engine for GraphQL. It dramatically reduces Postgres load, supports true polymorphism, and introduces incremental delivery, executable schema exports, greater control over your schema, and much more. Its efficient and ergonomic extensibility guides you into the pit of success. It even introduces an "eject button" for when you feel the need to move beyond an autogenerated schema!
V5 remains in "beta" while we finalize the APIs, so minor adjustments may be needed between updates. Postgres-centric users who leverage trusted documents (highly recommended!) should experience particularly smooth sailing!
How to help
To aid us in reaching the release candidate stage faster, you can:
- Try V5 out on your real use cases and report back
- Try in production, or just on a test branch
- Send us feedback — good & bad — through GitHub or Discord
- Use benjie/ouch-my-finger to generate minimal reproductions
- Contribute to documentation and examples
- Help address issues in the V5 Project Board
- Sponsor us — you rely on our software, we rely on your financial support
Epics
With the help of the community, we identified four major issues in our new planning engine, Grafast. These issues relate to ergonomics, edge cases, or efficiency; they all require changes to user code ("plan resolvers"), so addressing them before release is vital.
Since fixing these issues require fundamental changes to the way the system works, re-architectures that often take many months to complete, we call them "epics". The first three are now complete, hurrah!
- ✅ Global dependencies (solved via “unary” steps that represent exactly one value)
- ✅ Early exit (solved via value “flags” tracking when a value should inhibit dependents)
- ✅ Stop branching due to planning of nested input values (aka remove
$step.eval*()
) - 🔜 Avoid excessive polymorphic branching (work is currently underway)
Crowd-funded open-source software
Sponsoring the Graphile project directly increases the time and resources we can spend on getting PostGraphile V5 to release candidate stage. THANK YOU to all our sponsors!
Learn more about sponsorshipMilestone releases
Some of the more notable recent releases are listed below. Graphile sponsors have access to release notes through our community support channels. Everyone else can see some detail in the PostGraphile changelog.
Date | Release | Details |
---|---|---|
2025-03-25 | beta.40 | Removing $step.eval*() epic achieved (read more) |
2024-12-11 | beta.36 | Introduce safe step caching methods |
2024-10-07 | beta.30 | Behavior system overhaul |
2024-07-17 | beta.27 | Error handling overhaul |
2024-05-09 | beta.22 | Early exit and global dependencies epics achieved |
2023-08-03 | beta.1 | Version 5 beta public release (read more) |
2023-04-26 | alpha.1 | First alpha release (sponsors only) |
2023-01-11 | 0.3 | First pre-alpha release (sponsors only) |
Development Support
Priority text support straight from the maintainer
Give your company access to the knowledge and experience of the Graphile team through your chat server and GitHub/GitLab organization. Reference your code verbatim and arrange calls for any trickier topics.
Learn more