🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!
Find out more:
Also check out Benjie's GraphQLConf talk on Grafast, the new technology that forms the heart of PostGraphile V5:
We're not anticipating adding any more features to PostGraphile V4, so this is likely the last minor release (patch releases may still occur if there are bugs). Should you need things that V4 cannot give you, such as support for newer GraphQL.js versions, please consider moving to PostGraphile V5.
Changes in this release:
extendedFormatError
is now exported, so you can use it in your own handleErrors
callback should you so desire (thanks @arcanis)--use-partitioned-parent
/ usePartitionedParent: true
option now exists so that if you're using PostgreSQL partitions you can expose the "parent" of the partition rather than the individual partitions. This is recommended for everyone using partitions, but cannot be enabled by default as it would be a breaking change. (thanks to @msjonker)Subscription.listen(initialEvent: Boolean! = false)
argument (thanks @ol-teuto)makeExtendSchemaPlugin
thanks to using useAsterisk
in more placesUpgrades to jsonwebtoken v9, fixing a number of vulnerabilities. Please see the jsonwebtoken v8-v9 notes: https://github.com/auth0/node-jsonwebtoken/wiki/Migration-Notes:-v8-to-v9
🚨 Note jsonwebtoken has dropped support for Node < 12 (Node v10 went end of life 2021-04-30, Node v11 EOL was 2019-06-01); in order to get these security fixes we had no choice but to also drop support for Node versions prior to v12.
Upgraded graphql-ws and fixed a TypeScript generic (thanks @enisdenjo)
Give the CLI the ability to leverage the rejectUnauthorized: false
option to pg
's ssl
option when using ?ssl=no-verify
on your PostgreSQL connection string. Thanks to @maximsmol for tracking this down and fixing it :raised_hands:
(Just to trigger a new Docker release; Docker tags are now updated: https://hub.docker.com/r/graphile/postgraphile/tags )
Fixes a couple of bugs related to websocketOperations: 'all'
--websocket-operations
CLI flag was previously ignoredsingleStatement: true
was set incorrectly (this should be set only for subscriptions), resulting in performance costs and errors when issuing mutations that use savepoints (which should be all mutations).Also upgrades GraphiQL
jwtPublicKey
set - no need for jwtSecret
in this case (thanks @phryneas)--append-plugins
and similar options now support Windows file paths (in theory... can someone who has access to Windows test this and get back to me?)@hasDefault
so you can indicate that a column has a default - be that implemented via a trigger, or maybe as an instead of insert
rule - so the field will be nullable in create*
mutationsbuiltin
inflector for NATURAL
and PRIMARY_KEY_ASC
/DESC
enum values (thanks @Eldow)Work on V5 of PostGraphile is heavily under way, currently closed source due to immense churn but will be open sourced when it's ready. To help speed up this process, please become a sponsor: https://www.graphile.org/sponsor/
Fixed a bug in parsing the PostgreSQL port number from the CLI.