Skip to content

@benjie benjie released this Sep 24, 2019 · 4 commits to master since this release

General maintenance release.




Assets 2

@benjie benjie released this Aug 9, 2019 · 11 commits to master since this release

makeExtendSchemaPlugin in the last release disabled the built-in directives @include and @skip; this hotfix restores them.

Assets 2

@benjie benjie released this Aug 7, 2019 · 13 commits to master since this release

Benjie has been approved for GitHub Sponsors and for a limited time GitHub are match-funding, so there has never been a better time to support development of this software!

Talking of sponsorship, please check out our new featured sponsor, Timescale!

This is mostly a maintenance release, no major new features.


  • updated to the latest version of GraphiQL explorer (see their release post)
  • you can now pass jwtSignOptions to PostGraphile, thanks to @speller
  • makeExtendSchemaPlugin now supports defining unions, directives and scalars (required to support Apollo Federation, which you can try out with @graphile/federation); unions only work in certain places and are currently undocumented (and thus unsupported)
  • new hideIndexWarnings option for when you have ignoreIndexes: false thanks to @tinymarsracing
  • various code has been tidied/fixed/modernised thanks to @singingwolfboy
  • auto-coerce numeric field names to begin with an underscore (shouldn't affect existing users)


  • node identifiers have been made safer:
    • If you have identically named tables in different schemas and you use relay global object identifiers (on by default) you'll be warned, and encouraged to disable the PgNodeAliasPostGraphile plugin to solve it
    • If you use bigint or bigserial in your primary key, values greater than 9 quadrillion (technically > 9,007,199,254,740,991) are now treated as strings in the node identifier, so nodeId is now valid for these
    • 🚨 BREAKING: if you use money, or decimal/numeric or some other weird numeric type in your primary keys these will now also be represented as a string within the base64-encoded node IDs, so your node IDs will change. If this affects you (unlikely?) please get in touch with Benjie (to be clear: int, int2, int4, float, float4 and float8 are unaffected; and int8/bigint only changes node IDs for values over 9 quadrillion)
  • fix issue with default values for orderBy argument on edge fields on mutation payloads when printing the schema
  • mark fake constraints (e.g. @foreignKey smart comment) as indexed so it works nicer with ignoreIndexes: false
  • @graphile/pg-pubsub now uses exponential back-off when server shuts down, rather than giving up after 9 attempts
  • more validation is applied to cursors in connections
  • fix misleading description of queryCacheMaxSize
  • fix docs for jwtRole, thanks to @bidoubiwa
Assets 2
Jun 29, 2019

@benjie benjie released this Jun 24, 2019 · 26 commits to master since this release

The main feature of this release is significant performance improvements — enjoy!

We also overhauled how Docker builds work, so they're now tagged in a more sensible manner. Almost all previous tags have been deleted. From now onwards we have versioned Docker images:

  • graphile/postgraphile:4 will give you the latest stable in the "v4.x.x" line (no alphas, betas, rcs); this is the recommended version to use
  • Every new vX.Y.Z git tag (i.e. no alpha/beta/rc) will automatically release graphile/postgraphile:X-Y and graphile/postgraphile:X-Y-Z
  • graphile/postgraphile:latest will give you the latest stable (but beware of major version bumps!)
  • graphile/postgraphile:next will give you the equivalent of what's on master right now (i.e. pre-release/bleeding edge/nightly)

We're currently in a teething period for this, so there may be some bumpiness - if you face any issues, please let me know via GitHub issues or discord.

NOTE: this only applies to future releases; we are not back-filling previous releases, so there's not many tags to choose from right now.

Other changes:

  • update various dependencies
  • significant performance improvements
  • fix a bug with standalone LDS server announcements for insert/update (thanks @pepijnverburg)
  • export more TypeScript interfaces from graphile-utils
  • add missing dependencies (thanks @michaelbeaumont)
  • respect externalUrlBase for websockets (thanks @DvdGiessen)
  • typo fixes (thanks @angelosarto, @ludwigbacklund)
  • add support for PGHOSTADDR envvar if PGHOST is not present (thanks @encima)
  • 🚨 Remove invalid fields from payloads for SETOF function mutations (these fields were never valid, so any client using them would already be broken, thus I am not classing this as a breaking change).
Assets 2
You can’t perform that action at this time.