Skip to content

Releases: graphile/crystal


05 Oct 16:27
Choose a tag to compare

PostGraphile V5 beta is here!

Find out more:

Also check out Benjie's GraphQLConf talk on Grafast, the new technology that forms the heart of PostGraphile V5:

Watch the video


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)
  • It's now possible to use enum tables as arguments to functions via PostgreSQL domains (thanks to @tsnobip and @ben-pr-p)
  • Fixes a bug where purely polymorphic types are not added to the schema if not referenced directly (thanks @mgagliardo91)
  • Adds option to immediately get a result from simple subscriptions via Subscription.listen(initialEvent: Boolean! = false) argument (thanks @ol-teuto)
  • Hopeful performance boost for people using makeExtendSchemaPlugin thanks to using useAsterisk in more places


13 Jan 17:03
Choose a tag to compare

Upgrades to jsonwebtoken v9, fixing a number of vulnerabilities. Please see the jsonwebtoken v8-v9 notes:

馃毃 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.


25 May 12:40
Choose a tag to compare
  • Improve error message when enum creation fails (thanks @tsnobip)
  • Fix "max stack size exceeded" in pg-sql2 (thanks @roytan883)
  • Add error listener to subscription listener PG client to avoid crashes (thanks @enisdenjo)
  • Add error listener to other PG clients


25 May 11:08
Choose a tag to compare
  • Fixes potential memory leak in subscriptions (thanks @enisdenjo)
  • Fixes order of logic in subscriptions code (determine context last)
  • Ensure operation is available before validating subscriptions (thanks @enisdenjo)


25 May 10:59
Choose a tag to compare

Upgraded graphql-ws and fixed a TypeScript generic (thanks @enisdenjo)

v4.12.8 - CLI handling of SSL

20 Dec 11:18
Choose a tag to compare

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 馃檶

No changes

20 Dec 10:50
Choose a tag to compare

(Just to trigger a new Docker release; Docker tags are now updated: )

v4.12.6 - fix websocketOperations: all

30 Nov 10:10
Choose a tag to compare

Fixes a couple of bugs related to websocketOperations: 'all'

  • --websocket-operations CLI flag was previously ignored
  • When issuing queries/mutations over websockets, singleStatement: 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


21 Oct 13:52
Choose a tag to compare
  • JWT can now operate with only jwtPublicKey set - no need for jwtSecret in 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-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?)
  • introduces new smart tag @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* mutations
  • inflection: now uses builtin 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:


23 Sep 11:43
Choose a tag to compare

Bumped some dependencies including graphql-ws adding support for ping/pong.