Skip to content

Commit 7ad945d

Browse files
committed
Initial RC article
1 parent e9380e3 commit 7ad945d

File tree

2 files changed

+345
-0
lines changed

2 files changed

+345
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
layout: post
3+
title: "PostGraphile and Grafast release candidate!"
4+
date: 2025-10-28T12:00:00Z
5+
path: /news/20251028-release-candidate/
6+
thumbnail: /images/news/thank-you.svg
7+
thumbnailAlt: "The Grafast logo"
8+
tags: announcements, releases, grafast, postgraphile
9+
noToc: false
10+
11+
summary:
12+
"After over 100 releases, PostGraphile V5 and Grafast V1 have finally reached
13+
release candidate status!🎉 Assuming no issues are found, this software, these
14+
APIs, are what will make up the final release. The runtime is ready and many
15+
of you are already using it in production. Try it out and tell us where the
16+
gaps in documentation and types are, and maybe help fill them!"
17+
---
18+
19+
_Announced 2025-10-28 by the Graphile Team_
20+
21+
<p class='intro'>
22+
After over 100 releases, PostGraphile V5 and Grafast V1 have finally reached
23+
release candidate status!🎉 Assuming no issues are found, this software, these
24+
APIs, are what will make up the final release. The runtime is ready and many
25+
of you are already using it in production, but the types and docs are a little behind.
26+
Try it out and tell us where the gaps are, and maybe help fill them!
27+
</p>
28+
29+
### Five years in the making, PostGraphile V5 raises the bar again
30+
31+
After a couple false starts, in February 2020 we kicked off the journey that
32+
would ultimately become PostGraphile V5 and the Gra*fast* planning and execution
33+
engine. Since January 2023 we have shipped 38 pre-alpha, 20 alpha, and 49 beta
34+
releases. Every stage refined the ergonomics, uncovered tricky edge cases, and
35+
ultimately solved the four Gra*fast* epics that blocked a stable release:
36+
37+
- ✅ “Everything is batched” but “unary” values (variables, context, etc) are
38+
treated as a special case.
39+
- ✅ Early termination of field execution with a `null` now has first-class
40+
support.
41+
- ✅ Plan-time “peeking” at runtime values is now forbidden, improving plan
42+
re-use.
43+
- ✅ The exponential polymorphic branching hazard is now eradicated by
44+
converging before branching again.
45+
46+
The result is a platform that is faster, more expressive, more configurable, and
47+
easier to extend than anything we have shipped before.
48+
49+
### Why this is still a release candidate
50+
51+
We do not anticipate breaking changes to the runtime behaviour. Numerous teams
52+
have already trusted beta builds in production for over a year and the feedback
53+
has been excellent. The remaining work is polish: verifying the docs, catching
54+
stray rough edges, and ensuring that migration guidance reflects the software as
55+
it exists today.
56+
57+
You can expect the occasional breaking change in TypeScript typings as we close
58+
gaps and fix inaccuracies. The runtime APIs will remain compatible, but you may
59+
need to adjust type annotations while we tighten things up. Likewise, some TSDoc
60+
comments are behind reality; we will update them alongside the docs.
61+
62+
If you bump into rough edges while trying V5, please raise an issue in the
63+
[Crystal repo](https://github.com/graphile/crystal) so we can address it before
64+
the final release.
65+
66+
### Thinking in plans
67+
68+
For those using Gra*fast* outside of PostGraphile, now is the perfect moment to
69+
validate that the “[plans as dataflow](https://grafast.com/grafast/flow)
70+
approach clicks for you: do you understand the separation of “plan-time” and
71+
“execution-time”? Can you see how principled communication between the steps
72+
allows for optimization without needing to revisit plan resolvers?
73+
74+
If you don’t understand it, that’s likely a failing of our documentation! Help
75+
us improve our explanations by sharing your feedback (whether confusion and
76+
frustration or success and praise!) in our
77+
[Discord](https://discord.gg/graphile) or with GitHub issues and pull requests!
78+
79+
### Read more
80+
81+
Visit the announcement on
82+
[PostGraphile.org](https://postgraphile.org/news/2025-10-28-v5-release-candidate)
83+
for specific news about PostGraphile V5 and how to get the release candidate up
84+
and running.
85+
86+
Visit the announcement on
87+
[Grafast.org](https://grafast.org/news/2025-10-28-grafast-v1-release-candidate)
88+
for news about Gra*fast* V1 - the new GraphQL planning and execution engine
89+
which powers PostGraphile under-the-hood.
90+
91+
### Thank you Sponsors
92+
93+
Gra*fast* and PostGraphile are crowd-funded open-source software, they rely on
94+
crowd-sourced funding from individuals and companies to keep advancing.
95+
96+
If your company benefits from Gra*fast*, PostGraphile or the wider Graphile
97+
suite, you should consider asking them to fund our work. By significantly
98+
reducing the amount of work needed to achieve business goals and reducing
99+
running costs, Graphile’s software results in huge time and money savings for
100+
users. We encourage companies to contribute a portion of these savings back,
101+
enabling the projects to advance more rapidly, and result in even greater
102+
savings for your company.
103+
[Find out more about sponsorship here on our website](/sponsor/).
104+
105+
<div class="flex flex-wrap justify-around">
106+
<img alt="Thanks!" src="/images/news/thank-you.svg" style="max-height: 300px" />
107+
</div>

0 commit comments

Comments
 (0)