Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

postgraphile

graphile115.6kMIT4.14.1TypeScript support: included

A GraphQL schema created by reflection over a PostgreSQL schema 🐘 (previously known as PostGraphQL)

graphql, engine, pg, postgres, postgresql, postgraphql, schema, reflection, introspection, server, relay, connection, graphile, graphile engine, graphql engine, graphile-build

readme

This is V4; try V5!

You're looking at the README for PostGraphile V4 — stable but feature-frozen.

PostGraphile V5 beta is nearing completion and has frequent releases!

Production-ready and already powering many apps, V5 is a complete ground-up rewrite powered by Grafast, our cutting-edge planning and execution engine for GraphQL. It dramatically reduces Postgres load, supports true polymorphism, and introduces incremental delivery, executable schema exports, greater control over your schema, and much more. Its efficient and ergonomic extensibility guides you into the pit of success. It even introduces an "eject button" for when you feel the need to move beyond an autogenerated schema!

V5 remains in "beta" while we finalize the APIs, so minor adjustments may be needed between updates. Postgres-centric users who leverage trusted documents (highly recommended!) should experience particularly smooth sailing!


PostGraphile V4

GitHub Sponsors Discord chat room Package on npm MIT license Follow

Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customisable and extensible thanks to incredibly powerful plugin system. Formerly "PostGraphQL".

V4 Documentation: graphile.org/postgraphile

Crowd-funded open-source software

To help us develop this software sustainably, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship.

Click here to find out more about sponsors and sponsorship.

And please give some love to our featured sponsors 🤩:

The Guild
The Guild
*
Steelhead
Steelhead
*

* Sponsors the entire Graphile suite

About

GraphQL is a new way of communicating with your server. It eliminates the problems of over- and under-fetching, incorporates strong data types, has built-in introspection, documentation and deprecation capabilities, and is implemented in many programming languages. This all leads to gloriously low-latency user experiences, better developer experiences, and much increased productivity. Because of all this, GraphQL is typically used as a replacement for (or companion to) RESTful API services.

PostgreSQL is the self-proclaimed “world’s most advanced open source database,” with each new release bringing more amazing features and performance gains. Thinking of your database as a plain CRUD store is now an archaic viewpoint as modern PostgreSQL can do so much for you — from authorization with Row-Level Security (RLS, introduced in PG9.5), through Foreign Data Wrappers (FDW), to real time notifications with LISTEN/NOTIFY.

PostGraphile pairs these two incredible technologies together, helping you not only build applications more rapidly, but to build lightning-fast applications. PostGraphile allows you to access the power of PostgreSQL through a well designed, extensible, customisable and incredibly performant GraphQL server. It automatically detects tables, columns, indexes, relationships, views, types, functions, comments, and more - providing a GraphQL server that is highly intelligent about your data, and that automatically updates itself without restarting when you change your database schema.

With PostGraphile, a well designed database schema should serve the basis for a well thought out API. PostgreSQL already has amazing authorization and relationship infrastructure, why duplicate that logic in a custom API? A PostGraphile API is likely to provide a more performant and standards compliant GraphQL API than any created in-house, and can be built in a fraction of the time. Focus on your product and let PostGraphile worry about the API layer. Once you need to expand beyond this, we have a powerful plugin system including many community contributed plugins. For a critical evaluation of PostGraphile to determine if it fits in your tech stack, read evaluating PostGraphile for your project.

Introduction

Watch a talk by the original author Caleb at GraphQL Summit for a walk-through of building an application with PostGraphile in under 7 minutes. This was using v2 (then called PostGraphQL); we're now up to v4 which has many more bells and whistles!

PostGraphile at GraphQL Summit

Hear from the current maintainer Benjie at GraphQL Finland about the benefits of Database-Driven GraphQL Development:

Database Driven GraphQL Development at GraphQL Finland

Usage

Documentation: graphile.org/postgraphile

You can use PostGraphile via the CLI, as a Node.js middleware, or use the GraphQL schema directly. Make sure to check out the full usage instructions on the documentation website. We also have a PostgreSQL schema design guide you can follow to build a fully functional PostGraphile API.

CLI

To get started you can install PostGraphile globally:

npm install -g postgraphile

…and then just run it! By default, PostGraphile will connect to your local database at postgres://localhost:5432 and introspect the public schema. See the available CLI flags with:

postgraphile --help

When you're ready to use PostGraphile for your own project, you're advised to install it locally with yarn, and run it with npx:

yarn add postgraphile
npx postgraphile --help

macOS users: PostGraphile has used port 5000 by default for 5+ years; recently Apple decided to bind the AirPlay service to port 5000 causing a conflict. Please use the --port option to bind to a different port.

Middleware

You can also use PostGraphile as native HTTP, Connect, Express, or Koa (experimental) middleware, e.g.:

yarn add postgraphile
import { createServer } from 'http';
import postgraphile from 'postgraphile';

createServer(postgraphile());

Check out hapi-postgraphile if you're interested in using PostGraphile as a hapi server plugin.

Docker

To run via Docker, simply pass the CLI options to the Docker container:

docker pull graphile/postgraphile
docker run --init graphile/postgraphile --help

E.g. you might run this command (substituting the relevant variables):

docker run --init -p 5000:5000 graphile/postgraphile --connection postgres://POSTGRES_USER:POSTGRES_PASSWORD@POSTGRES_HOST:POSTGRES_PORT/POSTGRES_DATABASE --schema app_public --watch

macOS users: Please use a different port to avoid conflict with AirPlay.

Read More

Full documentation for PostGraphile is located at graphile.org/postgraphile.

PostGraphile features include:

Requirements

Full requirements are on the website, but a basic summary is:

  • Node v8.6+
  • PostgreSQL 9.6+ (officially; but currently works with 9.4+)
  • Linux, macOS or Windows

Caveats:

  • PostGraphile does not have automated tests on Windows, if you notice any issues please file them (or send a PR!)

Supporting PostGraphile

The fastest and easiest way you can help PostGraphile thrive is by sponsoring ongoing development and maintenance.

Want to help testing and developing PostGraphile? Check out the contributing document to get started quickly!

Commercial support, consultancy and development services are available direct from the maintainer; see Professional Services for more information, or get in touch!

The maintainer of this project is @Benjie - follow him on Twitter!

Thanks

Huge thanks to the individuals and companies who sponsor PostGraphile's development - their financial contributions enable more time to be spent on the project: from bug fixes, to code review, to new features! If you want to help the project advance more rapidly, please join them in supporting this project 🙏

A humongous, heart-felt, thank you to the original author of PostGraphile - Caleb Meredith - for everything he put into PostGraphile! He's now graduated from the project and we all wish him the best for his future ventures!

Thanks also to the people working on PostgREST which was a huge inspiration for this project!

Thanks and enjoy 👍

changelog

SEE RELEASES INSTEAD

We use GitHub's releases tab to log our changes in detail, but this auto-generated changelog helps us to produce that list, and it may be helpful to you also.

IMPORTANT NOTE: most of the changes in PostGraphile actually come from Graphile Engine, so you should also reference those changes.

4.14.1 (2025-04-27)

4.14.0 (2023-10-05)

Features

4.13.0 (2023-01-12)

Bug Fixes

4.12.12 (2022-12-01)

Features

4.12.11 (2022-05-25)

Bug Fixes

4.12.10 (2022-04-13)

Bug Fixes

  • ws: getting context should be the very last thing (#1615) (1b10ce6)
  • ws: release all socket's contexts on close (#1612) (8ef3e81)

4.12.9 (2022-02-28)

Bug Fixes

  • ws: update graphql-ws and correct context generic (#1589) (0a27d22)

4.12.8 (2021-12-20)

Bug Fixes

  • cli: handling of SSL options from the connection string (#1564) (d8401c6)

4.12.7 (2021-12-20)

4.12.6 (2021-11-30)

Bug Fixes

  • ws: only use singleStatement for subscriptions (#1559) (bf11b75)

4.12.5 (2021-10-21)

Bug Fixes

  • jwt: JWT now extracted when jwtPublicKey || jwtSecret set (#1537) (04ef23e)
  • release: call shutdown actions in reverse order (#1543) (c4eb076)
  • types: handleErrors option type (#1542) (3a19293)
  • windows: CLI recognition of absolute paths on Windows (#1518) (666bf77)

4.12.4 (2021-09-23)

4.12.3 (2021-06-04)

Bug Fixes

4.12.2 (2021-06-01)

Bug Fixes

  • types: WithPostGraphileContextOptions doesn't need shutdownActions (#1492) (336f54f)

4.12.1 (2021-05-27)

4.12.0 (2021-05-27)

Bug Fixes

  • explain: fix 'unhandled' promise rejection (#1442) (716efb0)

Features

4.12.0-alpha.0 (2021-02-15)

4.11.0 (2021-01-29)

Bug Fixes

4.11.0-rc.0 (2021-01-22)

Bug Fixes

  • turbo: warn users that Node v14 is required (#1411) (36481db)

4.11.0-alpha.1 (2020-12-11)

Bug Fixes

4.11.0-alpha.0 (2020-11-28)

Features

  • subscriptions: support graphql-ws and all operations over websockets (#1338) (c04d670)

4.10.0 (2020-11-27)

Bug Fixes

  • types: use interface to enable declaration merging (#1404) (06d4196)

Features

  • add Node version info and clarify enhance-graphiql (#1401) (aa7f4f9)

4.10.0-alpha.0 (2020-11-18)

Bug Fixes

Features

4.9.2 (2020-10-23)

Bug Fixes

4.9.1 (2020-10-16)

Features

4.9.0 (2020-09-15)

Bug Fixes

Features

  • allow overriding init fail handling (#1342) (b06142a)
  • upgrade graphile-engine and other dependencies (#1345) (cd23d26)

4.8.0 (2020-08-11)

Bug Fixes

  • deps: upgrade dependencies to upgrade dot-prop (#1325) (fe12ece)
  • ts: add jwtSignOptions to PostGraphileOptions type (#1324) (52f5731)

Features

  • deps: upgrade postgraphile-engine (enum constraints) (#1323) (3999b58)

4.8.0-rc.0 (2020-08-05)

Bug Fixes

  • http: don't use LRU when queryCacheMaxSize too small (#1312) (82c0a4c)

Features

4.7.0 (2020-04-27)

Features

  • cli: look for JWT_SECRET in environment variables (#1236) (dd2b6b2)

4.6.0 (2020-01-27)

Features

4.5.5 (2019-12-13)

4.5.4 (2019-12-11)

Bug Fixes

  • deps: upgrade graphile-utils (3d3c41e)

4.5.3 (2019-12-11)

Bug Fixes

  • deps: upgrade graphile-utils (e19184f)

4.5.2 (2019-12-11)

Bug Fixes

  • deps: solve serialize-javascript issue (02af643)

Reverts

  • Revert "chore(deps): upgrade PostGraphiQL deps" (7147e50)

4.5.1 (2019-12-11)

Bug Fixes

  • deps: upgrade postgraphile-core (ff5784a)
  • deps: upgrade serialize-javascript dep (c735ea1)
  • docker: add missing files to Dockerfile (04310e2)

4.5.0 (2019-11-22)

4.5.0-rc.4 (2019-11-20)

Bug Fixes

  • package: move conventional-changelog-cli to devDependencies (7d2df1b)

4.5.0-rc.3 (2019-11-20)

Bug Fixes

  • graphiql: fix operation detection on multi-op documents (#1191) (49b2176)

4.5.0-rc.2 (2019-11-20)

Bug Fixes

  • graphiql: solve vertical scrolling issue (#1188) (b811b9f)

Features

  • tags: file watching plugin for library users (#1190) (8d36997)

4.5.0-rc.1 (2019-11-13)

4.5.0-rc.0 (2019-11-12)

Bug Fixes

Features

  • graphiql: add 'explain' button (#1179) (1a065ab)
  • jwt: support lazy public key loading for verification (#1167) (d27aaf9)

4.4.5-alpha.0 (2019-11-08)

Features

4.4.4 (2019-09-24)

Bug Fixes

4.4.3 (2019-08-09)

Bug Fixes

4.4.2 (2019-08-07)

Bug Fixes

  • docs: clarify jwtRole is JSON path components (#1129) (d6c5a78)

Features

4.4.1 (2019-06-23)

Features

4.4.1-rc.0 (2019-05-24)

Bug Fixes

  • postgraphile: use externalUrlBase for websockets (#1070) (e3d7d19)

Features

  • docker: update Dockerfile to build fresh rather than install from npm (#1078) (9aa3799)
  • perf: performance enhancements (#1077) (d237417)

4.4.0 (2019-05-03)

4.4.0-rc.1 (2019-04-29)

Bug Fixes

  • type: fix type of handleErrors' req parameter (#1061) (a3c3df8)

Features

  • deps: upgrade postgraphile-core (899c1e5)
  • server: option to not exit when initial schema build fails (#1062) (3bcc7e2)

4.4.0-rc.0 (2019-04-23)

Features

  • deps: upgrade postgraphile-core (097d301)

4.4.0-beta.13 (2019-04-18)

Features

4.4.0-beta.12 (2019-04-17)

Features

4.4.0-beta.11 (2019-04-15)

Features

  • deps: upgrade postgraphile-core (2c9ce3e)

4.4.0-beta.10 (2019-04-14)

Bug Fixes

  • resilience: don't exit on initial schema build fail (#1044) (cfdfc1e), closes #1041 #1042
  • ts: make 'export *' explicit; type PostGraphileOptions (#1043) (f477f5e)
  • ts: PostGraphileOptions extends PostGraphileCoreOptions (#1047) (89999b0)

Features

4.4.0-beta.9 (2019-04-04)

Bug Fixes

4.4.0-beta.8 (2019-03-25)

Bug Fixes

4.4.0-beta.7 (2019-03-22)

Features

4.4.0-beta.6 (2019-03-18)

Bug Fixes

  • deps: fix makeExtendSchemaPlugin @pgQuery directive (dc6819a)

4.4.0-beta.5 (2019-03-15)

Features

  • deps: upgrade postgraphile-core (277d1ca)

4.4.0-beta.4 (2019-03-12)

Features

  • deps: upgrade postgraphile-core (600ebcf)
  • ws: add default 15s keepalive (a066ffd)

4.4.0-beta.3 (2019-03-08)

Features

  • deps: upgrade postgraphile-core (4c9c883)

4.4.0-beta.2 (2019-03-07)

Bug Fixes

  • errors: send error through correct branch (acf6dfb)

Features

  • deps: upgrade postgraphile-core (b65ab2f)
  • jwt: add support for buffer as JWT secret (#1015) (eacc294)

4.4.0-beta.1 (2019-02-28)

Features

  • deps: upgrade postgraphile-core (120ae45)

4.4.0-beta.0 (2019-02-28)

Bug Fixes

Features

  • deps: upgrade postgraphile-core (8e6ab02)
  • http: Access-Control-Expose-Headers: X-GraphQL-Event-Stream (#1002) (eee8985)
  • http2: basic HTTP2 support for event-stream (#1009) (3ebea16)

4.4.0-alpha.0 (2019-02-21)

Bug Fixes

  • postgraphile: check pgConfig constructor's function in case of uglify (#992) (419280d)

Features

  • graphql: subscriptions and live queries enhancements (#998) (1719cbf)

4.3.4-rc.0 (2019-02-07)

Features

4.3.3 (2019-02-05)

Bug Fixes

  • debug: be more careful when monkey-patching (#987) (c47f4be)
  • dev: change shebang from /bin/bash to /usr/bin/env bash (#983) (577c1e6)

4.3.2 (2019-01-30)

Bug Fixes

  • release pg-pool connection regardless of whether commit throws (#978) (ef4e017)

Features

  • graphiql: add GraphiQL Explorer to enhanced GraphiQL (#981) (e63fd76)

4.3.1 (2019-01-24)

Features

4.3.0 (2019-01-17)

Bug Fixes

  • README: Fix link to Postgres Schema Design (#955) (774e91b)
  • server: throw when encountering undefined positional arguments (#958) (21d47c9), closes #951

Features

4.2.0 (2018-12-19)

Features

4.1.0 (2018-12-06)

Features

  • deps: upgrade postgraphile-core (817302d)

4.1.0-rc.5 (2018-12-03)

Bug Fixes

4.1.0-rc.4 (2018-12-02)

Bug Fixes

Features

4.1.0-rc.3 (2018-11-24)

Bug Fixes

  • cli: add sponsors.json to bundled files (d66537f)

4.1.0-rc.2 (2018-11-23)

Bug Fixes

Features

  • deps: upgrade postgraphile-core (#926) (41802d5)
  • graphiql: add basic protection against clickjacking (#920) (4f28fa1)
  • http: add externalUrlBase setting (#919) (9545c8b)
  • http: add tests for fastify server (#924) (9e28161)
  • sponsors: feature a random sponsor ❤️ (#904) (ec02c78)

4.1.0-rc.1 (2018-11-02)

Bug Fixes

4.1.0-rc.0 (2018-10-31)

Bug Fixes

Features

4.1.0-alpha.1 (2018-10-25)

Bug Fixes

Features

  • --no-ignore-indexes; IN/OUT/INOUT/RETURNS TABLE functions; performance (#884) (c70667f)

4.1.0-alpha.0 (2018-10-15)

Features

  • upgrade postgraphile-core (3e12708)
  • errors: improve server-side message when JWT expired (#879) (400af56)

4.0.1 (2018-10-08)

Features

  • deps: Upgrade postgraphile-core (#871) (52d90c7)
  • errors: notice logging, error enhancements (#866) (9f78cd0)

4.0.0 (2018-10-02)

4.0.0-rc.5.1 (2018-09-22)

Bug Fixes

  • hooks: ensure hooked options passed to createPostGraphileHttpRequestHandler (#856) (5fc6da1)

Features

4.0.0-rc.5 (2018-09-13)

Bug Fixes

  • cache: estimate memory usage more accurately (#852) (cc3c7d9)
  • CLI: disabling JWT audience verification now possible (#848) (eb2b529)

Features

  • upgrade postgraphile-core (#855) (db017b5)
  • cli: add --skip-plugins option (#853) (e75cbd7)
  • deps: upgrade postgraphile-core for better errors (464ecd0)

4.0.0-rc.4 (2018-08-24)

4.0.0-rc.3.4 (2018-08-24)

Features

  • types: export more things from postgraphile-core directly (#843) (d79589f)

4.0.0-rc.3.3 (2018-08-24)

Bug Fixes

4.0.0-rc.3.2 (2018-08-23)

Bug Fixes

4.0.0-rc.3.1 (2018-08-22)

Bug Fixes

  • bodySizeLimit: Extend body size limit to other parsers (#832) (90335c9)
  • cors: fix allowed methods header, allow X-Apollo-Tracing (#838) (7d605a5)
  • dev: remove '--ignore' flag from ts-node (6e5d9ac)

Features

  • deps: upgrade pg-sql2 and postgraphile-core (#839) (4507b3d)
  • jwt: include JWT claims in withPostGraphileContext callback (#829) (1b330f3)

4.0.0-rc.3 (2018-07-25)

Bug Fixes

  • rc: don't swallow errors in postgraphilerc (#811) (dc9445c)

Features

  • cli: add server timeout configuration #623 (#741) (5f48a08)
  • cli: improve greeting message (#816) (17f741f)
  • hooks: enable enhancing PostGraphile middleware via hook (#814) (fc82472)
  • types: ship automatic TypeScript typings (#794) (89b0900)

4.0.0-rc.2 (2018-07-14)

Bug Fixes

  • ignore RBAC by default, tweak CLI & library documentation (#798) (61faf73)

4.0.0-rc.1.4 (2018-06-30)

Bug Fixes

  • deps: upgrade postgraphile-core to handle rbac edge-cases (49bb6dd)
  • koa: disable koa-compress when using send (#789) (bb851da)

4.0.0-rc.1.3 (2018-06-25)

Bug Fixes

  • koa: don't compress server-sent events stream (e2fcfe2)

4.0.0-rc.1.2 (2018-06-25)

Bug Fixes

  • dev: don't open browser from dev script (9e4effa)
  • jwt: solve audience verification issues (#785) (d12a8be)

Features

  • deps: upgrade postgraphile-core (#786) (aea0add)
  • graphiql: auto-reinspect on reconnect (and better hot-load support) (#787) (bd27e57)

4.0.0-rc.1.1 (2018-06-22)

Bug Fixes

4.0.0-rc.1 (2018-06-09)

4.0.0-beta.10 (2018-05-31)

Features

  • hooks: add a hook to the request handler (#770) (ade11be)
  • simple collections and massive perf gains on small queries (#766) (d8d131e)

4.0.0-beta.9 (2018-05-15)

4.0.0-beta.8 (2018-05-09)

Bug Fixes

  • docs: add middlewareOnly flag to watchPg (#755) (89bd596)

4.0.0-beta.7 (2018-05-05)

Bug Fixes

4.0.0-beta.6 (2018-05-04)

Features

  • dev: improve dev script so it can test --help etc (64988d1)
  • middleware: batched queries support (#749) (5cc82fd)
  • plugins: plugins for non-GraphQL parts (#733) (988c936)

4.0.0-beta.5 (2018-03-29)

Bug Fixes

  • graphiql: standardise on 'change' event (#729) (95d36e0)

4.0.0-beta.4 (2018-03-29)

Features

  • errors: added handleErrors option (#723) (051dcf7)
  • graphiql: Set 'X-GraphQL-Event-Stream' header when --watch enabled (#728) (5fd2cf2)

4.0.0-beta.3 (2018-03-14)

Bug Fixes

  • sql: remove unnecessary row expansion (#711) (fd43934)

4.0.0-beta.2 (2018-03-10)

Bug Fixes

  • still introspect when standard_conforming_strings is off (1406518)

4.0.0-beta.1 (2018-03-08)

4.0.0-beta.0 (2018-03-07)

Bug Fixes

  • sed compatibility OSX/Linux (8f41002)
  • cli: better --legacy-relation validation (b6a59d9)

Features

  • errors: more helpful error if extendedErrors argument is wrong type (5ab4c94)
  • SQL perf++; CLI overhall; CLI opts to use Json/Uuid & reduce nullables (#697) (7a1abfc)
  • cluster: introduce cluster feature (#694) (bc64196)
  • jwt: expand jwt verification options (#655) (bf635cb)

4.0.0-alpha2.33 (2018-02-19)

4.0.0-alpha2.32 (2018-02-19)

Bug Fixes

  • docs: Fix pg.Pool import in library.md (#690) (20565b5)

Features

  • postgraphql: support PGUSER and PGPASSWORD environment variables (#658) (acb594e)

4.0.0-alpha2.31 (2018-02-17)

Bug Fixes

  • docker: Fix GraphiQL dependency in dockerfile (#679) (959395e), closes #677
  • docker: Remove middle layers from docker image (#680) (bf670be)

4.0.0-alpha2.30 (2018-01-30)

4.0.0-alpha2.29 (2018-01-30)

4.0.0-alpha2.28 (2018-01-14)

Features

  • additionalGraphQLContextFromRequest: add res to callback (#652) (1fa4310)

4.0.0-alpha2.27 (2017-12-16)

4.0.0-alpha2.26 (2017-12-03)

4.0.0-alpha2.25 (2017-11-30)

4.0.0-alpha2.24 (2017-11-29)

4.0.0-alpha2.23 (2017-11-28)

4.0.0-alpha2.22 (2017-11-02)

Features

  • pgSettings: Only use settings of type string or number (#589) (7a69eb2)

4.0.0-alpha2.21 (2017-10-29)

Features

  • postgraphql: Provide mechanism to add data to resolver context (#601) (5526c2c)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.5.5 (2018-01-30)

Bug Fixes

4.0.0-alpha2.28 (2018-01-14)

Features

  • additionalGraphQLContextFromRequest: add res to callback (#652) (1fa4310)

4.0.0-alpha2.27 (2017-12-16)

4.0.0-alpha2.26 (2017-12-03)

4.0.0-alpha2.25 (2017-11-30)

4.0.0-alpha2.24 (2017-11-29)

4.0.0-alpha2.23 (2017-11-28)

4.0.0-alpha2.22 (2017-11-02)

Features

  • pgSettings: Only use settings of type string or number (#589) (7a69eb2)

4.0.0-alpha2.21 (2017-10-29)

Features

  • postgraphql: Provide mechanism to add data to resolver context (#601) (5526c2c)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.5.4 (2017-11-30)

Bug Fixes

Features

4.0.0-alpha2.24 (2017-11-29)

4.0.0-alpha2.23 (2017-11-28)

4.0.0-alpha2.22 (2017-11-02)

Features

  • pgSettings: Only use settings of type string or number (#589) (7a69eb2)

4.0.0-alpha2.21 (2017-10-29)

Features

  • postgraphql: Provide mechanism to add data to resolver context (#601) (5526c2c)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.5.3 (2017-11-29)

4.0.0-alpha2.23 (2017-11-28)

4.0.0-alpha2.22 (2017-11-02)

Features

  • pgSettings: Only use settings of type string or number (#589) (7a69eb2)

4.0.0-alpha2.21 (2017-10-29)

Features

  • postgraphql: Provide mechanism to add data to resolver context (#601) (5526c2c)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.5.2 (2017-11-28)

Bug Fixes

  • docs: Update TUTORIAL.md (outdated phrase) (#638) (f3fe26a)
  • docs: Update TUTORIAL.md (spelling mistake) (#637) (e2eabd0)

4.0.0-alpha2.22 (2017-11-02)

Features

  • pgSettings: Only use settings of type string or number (#589) (7a69eb2)

4.0.0-alpha2.21 (2017-10-29)

Features

  • postgraphql: Provide mechanism to add data to resolver context (#601) (5526c2c)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.5.1 (2017-10-29)

3.5.0 (2017-08-25)

Features

  • HTTP: pgSettings now accepts a function to generate settings from req (85e630a)

4.0.0-alpha2.9 (2017-08-10)

4.0.0-alpha2.6 (2017-08-08)

3.4.0 (2017-08-08)

Bug Fixes

  • typo: fix spelling error in procedures.md (#541) (ff029b8)

Features

  • postgraphql: add extendedErrors option (#513) (a41e5f2)

3.3.0 (2017-07-18)

Bug Fixes

  • pervasive typo (e62d7af)
  • auth: send a 401 status on expired token (#472) (fa241f4)
  • build: Support spaces in folder name (#441) (df347e7)
  • cli: invalid program destructuring (#434) (998ba25)
  • graphqli: pass along credentials in fetcher (#436) (bf10085)
  • postgraphql: don't throw on auth header if auth not enabled (#437) (b2155c9)
  • postgraphql: Throw if jwtSecret set but jwtPgTypeIndentifer isn't (#466) (f68056c)
  • regression: change jwtPgTypeIdentifier error to warning (1c88d61)

Features

  • docker: Docker Image (#496) (886f875)
  • jwt: allow all numbers in jwt token type names (#511) (b3e22d6)
  • postgraphql: extract pgRole from arbitrary JWT path (#480) (607f662)

Performance Improvements

3.2.0 (2017-04-01)

Features

  • postgraphql: expose jwt.verify options parameter to the api and cli (#403) (d4fd6a4)

3.1.0 (2017-03-26)

Bug Fixes

  • ci: peerdeps for graphql/graphiql must match (#377) (5b73f2d)
  • graphiql: fix GraphiQL version 0.9.3 integration (#410) (ef03591)
  • graphiql: fixes graphiql so it works with koa (#370) (53c6a31), closes pillarjs/send#118 pillarjs/send#119
  • http: Add option to set limit in bodyParser (6cf9ac7), closes #372
  • postgraphql: add missing type coercion in computed procedure field (#409) (24cb295)
  • postgraphql: emit correct listen port during startup (#366) (a88a983)
  • postgres: only include columns in insert statements if needed (#367) (61fe455)
  • postgres: use literal syntax for empty arrays (#407) (45e5971)
  • watch: fix startup crash when a non-superuser tries to watch (#371) (6b3374b)

Features

  • postgraphql: inject custom settings into the database (#399) (9d10389)

3.0.0 (2017-02-11)

Bug Fixes

  • cli: example postgres connection string and default port (1cdd7c2)
  • interface: add missing import (4da7b61)
  • postgraphql: add missing import (2f73f1e)
  • postgraphql: fix errors generated by running ts-node (c513b67)
  • postgres: duplicate foreign key bug (#326) (73bb8f8)
  • postgres: fix processing money type (#339) (2f25ce8)

Features

  • graphql: added support for auto-exporting the schema (#347) (f71bb7a)
  • postgraphql: add live reloading to GraphiQL (#252) (939a91e)
  • postgraphql: enable running PostGraphQL queries outside HTTP (#269) (1145689)

2.5.1 (2017-01-28)

Bug Fixes

  • deps: restrict graphql version range (#322) (8d7cee9)
  • postgraphql: don't throw a 500 error if JWT is expired (#315) (a9b810a)

2.5.0 (2017-01-09)

Features

  • postgraphql: build schema from prebuild PgCatalog (#306) (99d4bbe)

2.4.1 (2016-12-22)

Bug Fixes

  • postgres: make pg range objects nullable (#286) (ddfac85)

2.4.0 (2016-12-15)

Bug Fixes

Features

  • docs: add to readme a link to contributing (#239) (ea3c94d)
  • graphql: add reverse relation conditions (fixes v2 regression) (#198) (0cb2438)

2.2.1 (2016-10-29)

Bug Fixes

  • graphql: fix ambiguous values from node field (#192) (be88a93)
  • graphql: fix mutation query field returning null (#193) (ce5451f)
  • postgraphql: fix argument ordering (#194) (82950c6)

Features

  • ci: run against multiple postgres versions (#196) (7a753b1)

2.2.0 (2016-10-24)

Features

2.1.1 (2016-10-22)

Bug Fixes

  • postgraphql: fix create schema to end client after introspection (#173) (9b36ff8)
  • postgraphql: fix opaque error messages (#174) (8213195)

2.1.0 (2016-10-18)

Bug Fixes

  • ci: increase the timeout for more test suites (4093237)
  • ci: increase the timeout interval for another test (852cf75)
  • ci: increase timeout interval for flaky tests (d488050)
  • ci: multiple postgres versions (73173db)
  • ci: remove old Node.js, add second Postgres version (8e4c3f5)
  • cli: package.json import (3a58adf)
  • examples: add missing namespace (f97c723)
  • examples: update schema (678e67d)
  • graphql: add transform input value function (0588871)
  • graphql: don’t allow the use of cursors with offset (3159859)
  • graphql: empty set cursors (6c97ed3)
  • graphql: fix compile errors (dd75e37)
  • graphql: fix create mutation return type (a89d89f)
  • graphql: fix file name casing (b230763)
  • graphql: fix id serialization and deserialization (fada7f1)
  • graphql: fix not null has default case (df3f4b0)
  • graphql: use typeof undefined check instead of equality (961f011)
  • interface: fix interface json type name (a330f3c)
  • interface: fix relation inventory key name (7e41f18)
  • package: add some more npm ignores (e1cd793)
  • package: fix ignored build script (6ce633e)
  • package: fix Travis format (7c6436f)
  • package: refactor package exports (a485700)
  • package: remove prepublish script again (bf7eedb)
  • package: remove prepublish script for ci (2dd2016)
  • postgraphql: add extra snapshot changes after last commit (1615982)
  • postgraphql: fix broken cli import (3f69058)
  • postgraphql: fix HTTP server (62c4212)
  • postgraphql: fix procedure defaults call (fe19307)
  • postgraphql: fix support for information_schema and pg_catalog (24b7840)
  • postgraphql: hide unused demo option (0acf0bc)
  • postgres: add cast information for composite types (be2e8a7)
  • postgres: fix alias naming collision (a45a869)
  • postgres: fix condition classic ids handling (e24f884)
  • postgres: fix domain types nullability (dbe0468)
  • postgres: fix drop column introspection error (ea16735)
  • postgres: fix Postgres value handling logic (145cf6e)
  • postgres: fix some broken things (31b7e1e)
  • postgres: fix the handling for smallint and money types (9e180ed)
  • postgres: use attisdropped in introspection (5b8b043)
  • test: data ordering error opportunity (9ee7f1e)
  • test: fix failures caused by linting (238d7a2)
  • test: fix kitchen sink schema mutation procedure (91e4ab7)
  • test: fix test failures (0de9ad3)
  • test: fix test flakiness (d8bd1bc)
  • test: fix timezone disparities in tests (5819c02)
  • tests: fix flakiness, again… (ed6065d)
  • tests: fix incorrect environment variable casing (1b375b9)
  • tests: fix missing property in enum type test (be4e0d6)

Features

  • catalog: add paginators (1e25d46)
  • catalog: add type tracking to the catalog (0b04ce9)
  • ci: add caching for nvm (398517f)
  • ci: build demo database on ci success (3888eea)
  • collection: add reverse relation fields (05f5614)
  • graphql: add a root recursive field for Relay 1 (4d6518e)
  • graphql: add collection key update mutations (8f05e93)
  • graphql: add collection update mutation (1d3eb5d)
  • graphql: add connection conditions (4fbb94e)
  • graphql: add create mutation (7a37c80)
  • graphql: add delete by collection key mutation (8d10806)
  • graphql: add delete by collection mutation (74922ee)
  • graphql: add deleted id to delete mutations (69f16ad)
  • graphql: add descriptions (60b63d0)
  • graphql: add dynamic json option (a6dce4a)
  • graphql: add GraphiQL to HTTP request handler (61b38e9)
  • graphql: add GraphQL HTTP request handler (da3acef)
  • graphql: add paginator mutation procedure support (dbb6e3f)
  • graphql: add procedure single output (9c4953d)
  • graphql: add related collections to create mutation payload (4a6b103)
  • graphql: add related tail collection fields to all collection mutations (9af31b4)
  • graphql: allow users to rename the node id field name (de3d3ed)
  • graphql: debugs http requests (108116b)
  • graphql: implement Node for top level query field (594b554)
  • graphql: serve a favicon from GraphQL HTTP (44692bb)
  • interface: add procedures (d9f307e)
  • package: add extra meta information (847c70e)
  • paginator: add optional optimizations (fc25072)
  • postgraphql: add an offset argument to pagination (2ab3aa6)
  • postgraphql: add authentication support (0565429)
  • postgraphql: add authorization (c3ae332)
  • postgraphql: add computed procedure fields (a39fab2)
  • postgraphql: add connection procedure execution (156fc46)
  • postgraphql: add custom handling of the JSON type (eb88285)
  • postgraphql: add first rough stab at cli (c3cdaec)
  • postgraphql: add head to tail relation selection (464ba71)
  • postgraphql: add library interface (5fd1e0e)
  • postgraphql: add missing descriptions (012f76c)
  • postgraphql: add mutation procedure execution (b1ba4c8)
  • postgraphql: add related fields to mutation top level for Relay 1 (5977e8c)
  • postgraphql: add resolution for single return procedures (85f2e4e)
  • postgraphql: add schema for mutation procedures (9d51ea6)
  • postgraphql: add schema watch functionality to CLI and middleware (#166) (396bca4)
  • postgraphql: allow single schema (878779f)
  • postgraphql: finish up cli (79b6846)
  • postgraphql: improve type identifier parsing (f8b2d42)
  • postgraphql: log Postgres role in HTTP handler (56d9a23)
  • postgres: add collection paginator (1a14669)
  • postgres: add constraint introspection (6906200)
  • postgres: add delete to collection key (76c6a84)
  • postgres: add get object by name methods (2110b34)
  • postgres: add id to rowId rename support (f3a73e3)
  • postgres: add procedures to introspection (d844ae9)
  • postgres: add relations (807c93a)
  • postgres: add support for Postgres range types (c830f79)
  • postgres: add support for symbol identifiers to sql util (2ccdb63)
  • postgres: better handling of time types (ee57864)
  • postgres: implement initial pg collection key (b5fafa6)
  • postgres: improve collection key performance (1e0e5b4)
  • postgres: integrate keys with collections (0e50110)
  • postgres: make pg catalog types immutable (a1db5d4)
  • postgres: pluralize collection names (b43a461)
  • postgres: singularize the collection type name (1564223)
  • postgres: start implementing update (7318a5e)
  • postgres: start Postgres procedure support (eecda05)
  • query: add basic procedure mutation and query fields (655a7b1)

1.9.3 (2016-09-21)

Bug Fixes

1.9.2 (2016-09-04)

1.9.1 (2016-09-04)

1.9.0 (2016-08-19)

Features

1.8.3 (2016-08-17)

Bug Fixes

  • add finalhandler dependency (ba868f7)

1.8.2 (2016-08-11)

Bug Fixes

1.8.1 (2016-07-30)

Bug Fixes

  • graphql: fix interval and other types handling (#89) (33f826b), closes #88

1.8.0 (2016-07-27)

Bug Fixes

  • examples: remove emoji which causes "invalid byte sequence for encoding" (#81) (149ce26)

Features

1.7.0 (2016-06-19)

Features

  • graphql: add fields based on unique constraints (#70) (dc4a970), closes #67
  • postgres: only show mutations for types that are updatable. (#73) (091b111)

1.6.0 (2016-06-15)

Bug Fixes

  • resolve: check for empty string (#65) (7b4c73a)
  • server: throw error for bad auth header (#71) (2faa2a1), closes #62

Features

  • graphql: add relay mutation types support (#68) (f44ab99)

1.5.1 (2016-06-07)

Bug Fixes

  • postgresql: support for user defined domains (#64) (8283d26)
  • procedure: convert js arrays to postgres array type (#58) (5e802a3)

1.5.0 (2016-06-01)

Bug Fixes

  • graphql: explicitly check input values for undefined (#60) (ac15f8e)

Features

1.4.0 (2016-05-23)

Features

1.3.0 (2016-05-11)

Features

1.2.3 (2016-05-05)

Bug Fixes

  • graphql: remove ID type conflict (58e05ec)

1.2.2 (2016-05-05)

Bug Fixes

  • graphql: enum types get cached (#35) (6eb854f)
  • postgres: prevent error: operator is not unique: smallint[] @> smallint[] (15ba071)

Reverts

  • Revert "doc(readme): add note on breaking changes" (19bb494)

1.2.0 (2016-05-01)

Features

1.1.6 (2016-05-01)

Bug Fixes

  • graphql: column name edge case (7b4115c)

1.1.5 (2016-05-01)

Bug Fixes

  • package: add pg connection string as a dependency (78a8b10)

Features

  • package: add a clean script (9fc3773)

1.1.4 (2016-05-01)

1.1.3 (2016-04-30)

Bug Fixes

  • graphql: timestamp and other string type serialization (#25) (85864b1)
  • tests: failing catalog test (0156b55)

1.1.2 (2016-04-29)

Bug Fixes

  • catalog: broken import (4bdc2b1)
  • package: test before publish (649eff0)

1.1.1 (2016-04-29)

Bug Fixes

  • catalog: fix underscore field name bug (e76f0df)

Features

  • query: node is no longer a required interface (#10) (b0f89c4)

1.0.5 (2016-04-27)

Bug Fixes

  • main: parse json manifest (4d7adac)

1.0.4 (2016-04-27)

1.0.3 (2016-04-23)

Bug Fixes

  • main: fix option documentation (5d4875b)

1.0.2 (2016-04-23)

Bug Fixes

  • main: add shebang to main (44cb70a)

1.0.1 (2016-04-23)

Bug Fixes

Features

  • graphql: add delete mutation (4346654)
  • graphql: add relay object identification interface (e0fe4a9)
  • package: add json and graphql extensions to tests watch (25d9945)
  • package: add release step and binary (84830e4)
  • package: only publish certain files (7d26e8e)
  • postgres: catalog now knows about the pg config (e0c42c9)
  • server: rename create server file (6379744)
  • add conditions to list field resolution (cf343ad)
  • add default orderBy (562c390)
  • add editor config (e8faede)
  • add enum type to forum example (28e6126)
  • add favicon to express http server (c2caeb0)
  • add foreign key field (07f420d)
  • add foreign key support to catalog (b4eff96)
  • add oid to all objects (8e71fcb)
  • add personal TODO file to .gitignore (8d85c8b)
  • add post example data (fe0deab)
  • add reverse foreign key (33bc5a7)
  • add table insertion (10ca562)
  • add update mutation (3c2916e)
  • have insert mutation follow relay specification (9957fe9)
  • log the stack for errors in development (680a057)
  • optimize parallel single resolve calls (4965954)
  • restart sequences after manual insertions (7ed2f27)