- JWT can now operate with only
jwtPublicKeyset - no need for
jwtSecretin this case (thanks @phryneas)
- Shutdown actions now called in reverse order to make shutdown more reliable
- Fix TypeScript type on handleErrors function (thanks @pinn3)
--append-pluginsand similar options now support Windows file paths (in theory... can someone who has access to Windows test this and get back to me?)
- introduces new smart tag
@hasDefaultso you can indicate that a column has a default - be that implemented via a trigger, or maybe as an
instead of insertrule - so the field will be nullable in
- inflection: now uses
DESCenum values (thanks @Eldow)
Work on V5 of PostGraphile is heavily…
We've finally taken our proof of concept aggregation plugin and fleshed it out with some very significant features: calculating aggregates across connections, grouped aggregates, applying conditions to grouped aggregates, ordering by relational aggregates, filtering by the results of aggregates on related connections, etc.
For more details check out the plugin: https://github.com/graphile/pg-aggregates
This release also includes a few small fixes and some other minor features that enable greater community expansion of PostGraphile. We love seeing your plugins - do share them in our #i-made-this channel on Discord and/or add them to the list on the website!
Thanks to help from the author @enisdenjo, this release adds support for the new
graphql-ws websocket transport module to replace Apollo's unmaintained
subscriptions-transport-ws. It's advised that anyone using websockets with GraphQL move to this new module and protocol. You can also now perform queries and mutations over the websocket transport if you opt into this; when doing so you should be very very careful of security implications (particularly CORS/cross-site request forgery issues, since websockets behave differently in this way).
We've also extended support for "enum tables" to views and given
makeExtendSchemaPlugin support for defining and extending interfaces.
There was a bug in watch mode (which is not intend…
Pretty big release, so let's get straight to it:
Improved Framework Support
The major feature in this release is much more solid support for various Node.js webserver frameworks: Node itself, Connect, Express, Koa, Fastify (v2 and v3
To accomplish this we've split the middleware into separate route handlers for each of our routes, and you can either use the middleware to delegate to these (where the framework allows), or you can add the route handlers directly. You can find documentation in our library usage page and can see examples in our new server examples folder: https://github.com/graphile/postgraphile/tree/v4/examples/servers
Fixes an issue where
@unique (introduced in 4.9.1) is applied more than once to the same table (previously it would incorrectly set the fields non-nullable); also fixes an issue with enum tables where columns referencing enum tables were not usable in custom mutations.
- perf: overhaul postgres interval code (graphile/graphile-engine#679) (graphile/graphile-engine#683) (upstreamed in bendrucker/postgres-interval#34)
- tags: fix non-null for multiple @unique tags (graphile/graphile-engine#681) (0747562)
- types: fix enum tables when used in custom mutations (graphile/graphile-engine#680) (graphile/graphile-engine#682) (ed75ce2)
- types: fix parsing interval to support fractional seconds (#678) (79017c5) (hat tip @keithlayne)
- types: domains over array types now correctly apply "tweaks" (#672) (99259f4)
- types: add more numeric casting exceptions (#661) (ea8480e) (thanks @wesselvdv)
- proc: fix output of record/table returning functions (#667) (7182d92)
- utils: selectGraphQLResultFromTable now debugs SQL (#668) (04a996a)
- utils: load makeAddPgTableConditionPlugins before PgConnectionArgOrderBy (#658) (16d7b30)
We seriously appreciate your support through these troubling times; thank you, sponsors, for helping us to keep producing OSS!
Graphile's pgRITA has found a number o…