github graphile/crystal v4.4.2
v4.4.2 - various fixes

latest releases: v4.14.0, v4.13.0, v4.12.12...
4 years ago

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.

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)

Fixes:

  • 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

Don't miss a new crystal release

NewReleases is sending notifications on new releases.