html_url,id,author,node_id,tag_name,target_commitish,name,draft,prerelease,created_at,published_at,body,repo,reactions,mentions_count
https://github.com/simonw/datasette-graphql/releases/tag/0.1a,29198835,9599,MDc6UmVsZWFzZTI5MTk4ODM1,0.1a,main,0.1a,0,1,2020-08-02T03:30:46Z,2020-08-02T03:33:16Z,- Initial proof of concept,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.1a1,29199143,9599,MDc6UmVsZWFzZTI5MTk5MTQz,0.1a1,main,0.1a1,0,1,2020-08-02T04:26:12Z,2020-08-02T04:26:49Z,"- Now includes GraphiQL interface, and correctly returns introspection metadata. #1",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.1a2,29204802,9599,MDc6UmVsZWFzZTI5MjA0ODAy,0.1a2,main,0.1a2,0,1,2020-08-02T15:33:43Z,2020-08-02T15:34:57Z,"- Now supports different column types - integer, float, string #7
- New live demo at https://datasette-graphql-demo.datasette.io/ #8",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.1a3,29208043,9599,MDc6UmVsZWFzZTI5MjA4MDQz,0.1a3,main,0.1a3,0,1,2020-08-02T20:57:07Z,2020-08-02T20:58:17Z,"* Foreign key relationships can now be expanded using nested GraphQL syntax. #3
* Tables can now be filtered using the new `table_name(filters: [...])` argument. #12",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.1a4,29251383,9599,MDc6UmVsZWFzZTI5MjUxMzgz,0.1a4,main,0.1a4,0,1,2020-08-04T00:24:15Z,2020-08-04T00:24:53Z,"- GraphQL variable support. #14
- `auto_camelcase` plugin setting. #15 ",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.2,29389067,9599,MDc6UmVsZWFzZTI5Mzg5MDY3,0.2,main,0.2,0,0,2020-08-06T01:07:49Z,2020-08-06T01:08:52Z,"- First non-alpha release
- Supports GraphQL pagination using nodes, edges, pageInfo and totalCount. #2
- No longer throws an error if you try to expand a null foreign key. #20",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.3,29391908,9599,MDc6UmVsZWFzZTI5MzkxOTA4,0.3,main,0.3,0,0,2020-08-06T03:44:58Z,2020-08-06T03:48:00Z,"- Implemented `search:` argument for running searches against tables configured to use SQLite FTS. #22
- Implemented `sort:` and `sort_desc:` arguments. #21",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.4,29392368,9599,MDc6UmVsZWFzZTI5MzkyMzY4,0.4,main,0.4,0,0,2020-08-06T04:21:12Z,2020-08-06T04:21:40Z,"- Support views as well as tables. #23
- Support multiple databases. #9 ",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.5,29393390,9599,MDc6UmVsZWFzZTI5MzkzMzkw,0.5,main,0.5,0,0,2020-08-06T05:08:48Z,2020-08-06T05:09:19Z,"- Enable CORS access, unless `disable_cors` plugin configuration setting is set. #24",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.6,29413934,9599,MDc6UmVsZWFzZTI5NDEzOTM0,0.6,main,0.6,0,0,2020-08-06T15:23:20Z,2020-08-06T15:24:28Z,"- Removed `disable_cors` setting in favour of re-using the existing `datasette --cors` flag, which means you have to opt-in rather than opt-out of CORS. #28
- BLOB columns are now output encoded using base64. #13 ",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.7,29429870,9599,MDc6UmVsZWFzZTI5NDI5ODcw,0.7,main,0.7,0,0,2020-08-06T23:10:14Z,2020-08-06T23:14:54Z,"- You can now access related rows for an item based on incoming foreign keys, and paginate through them. [Demo](https://datasette-graphql-demo.datasette.io/graphql?query=%7B%0A%20%20repos(first%3A%205%2C%20search%3A%22datasette%22)%20%7B%0A%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20full_name%0A%20%20%20%20%20%20issues_list(first%3A%205)%20%7B%0A%20%20%20%20%20%20%20%20pageInfo%20%7B%0A%20%20%20%20%20%20%20%20%20%20endCursor%0A%20%20%20%20%20%20%20%20%20%20hasNextPage%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20totalCount%0A%20%20%20%20%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20%20%20%20%20id%0A%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D). #27
- Tests are now partly driven by examples in the [examples/ folder](https://github.com/simonw/datasette-graphql/tree/main/examples). #30
- Disable `suggest_facets` during internal calls, for a performance improvement. #29",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.8,29464559,9599,MDc6UmVsZWFzZTI5NDY0NTU5,0.8,main,0.8,0,0,2020-08-07T20:30:09Z,2020-08-07T20:34:18Z,"New `tablename_get` field for retrieving single rows, including by their primary key. #11
Example query ([try it out](https://datasette-graphql-demo.datasette.io/graphql?query=%7B%0A%20%20users_get(id%3A%209599)%20%7B%0A%20%20%20%20id%0A%20%20%20%20name%0A%20%20%20%20contributors_list(first%3A%205)%20%7B%0A%20%20%20%20%20%20totalCount%0A%20%20%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20%20%20repo_id%20%7B%0A%20%20%20%20%20%20%20%20%20%20full_name%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20contributions%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%20%0A%7D%0A)):
```graphql
{
users_get(id: 9599) {
id
name
contributors_list(first: 5) {
totalCount
nodes {
repo_id {
full_name
}
contributions
}
}
}
}
```",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.9,29469117,9599,MDc6UmVsZWFzZTI5NDY5MTE3,0.9,main,0.9,0,0,2020-08-08T00:35:29Z,2020-08-08T00:35:35Z,"Table filtering has a new, better design. #25
Retrieving all records with `license` of `""apache-2.0""` and a `stargazers_count` greater than 10 now looks like this:
```graphql
{
repos(filter: {license: {eq: ""apache-2.0""}, stargazers_count: {gt: 10}}) {
nodes {
full_name
stargazers_count
license {
key
}
}
}
}
```
See [table filters examples](https://github.com/simonw/datasette-graphql/blob/main/examples/filters.md) for more operations, and [column filter arguments](https://datasette.readthedocs.io/en/stable/json_api.html#column-filter-arguments) in the Datasette documentation for details of how those operations work.",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.10,29479146,9599,MDc6UmVsZWFzZTI5NDc5MTQ2,0.10,main,0.10,0,0,2020-08-08T19:44:10Z,2020-08-08T19:50:17Z,"- New `where:` argument that accepts a fragment of SQL to add to the WHERE clause, as an alternative for if the query is too complex to express using `filter:`. #26
- Nested relationships now support the `filter:`, `sort:`, `sort_desc:`, `search:` and `where:` arguments. #38
Example query using these new features ([try this query](https://datasette-graphql-demo.datasette.io/graphql?query=%7B%0A%20%20repos(filter%3A%20%5B%7Bstargazers_count%3A%20%7Bgt%3A%2010%7D%7D%5D)%20%7B%0A%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20full_name%0A%20%20%20%20%20%20stargazers_count%0A%20%20%20%20%20%20issues_list(first%3A%205%2C%20where%3A%20%22body%20like%20%27%25test%25%27%20or%20title%20like%20%27%25test%25%27%22%2C%20sort_desc%3A%20created_at)%20%7B%0A%20%20%20%20%20%20%20%20totalCount%0A%20%20%20%20%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D)):
```graphql
{
repos(filter: [{stargazers_count: {gt: 10}}]) {
nodes {
full_name
stargazers_count
issues_list(first: 5, where: ""body like '%test%' or title like '%test%'"", sort_desc: created_at) {
totalCount
nodes {
title
}
}
}
}
}
```",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.11,29481190,9599,MDc6UmVsZWFzZTI5NDgxMTkw,0.11,main,0.11,0,0,2020-08-09T00:18:02Z,2020-08-09T00:26:36Z,"- No longer exposes hidden tables, e.g. SQLite's `_fts` tables. #39
- Test fixtures database is now deployed as part of the live demo - see [/graphql/fixtures](https://datasette-graphql-demo.datasette.io/graphql/fixtures). #40
- The generated GraphQL schema is now exposed at `/graphql/dbname.graphql` - e.g. [/graphql/github.graphql](https://datasette-graphql-demo.datasette.io/graphql/github.graphql) on the demo. #41
- The example queries in the [examples directory](https://github.com/simonw/datasette-graphql/tree/main/examples) now link to live demos for each query. #42",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.12,29667065,9599,MDc6UmVsZWFzZTI5NjY3MDY1,0.12,main,0.12,0,0,2020-08-13T18:19:42Z,2020-08-13T18:21:48Z,"- Renamed `tablename_get` to `tablename_row`. #36
- Support `operationName`. #37
- Support GET as well as POST for executing GraphQL queries. #6
- Handle tables and columns with names that are not valid GraphQL identifiers. #10
- Foreign key `_list` relationships now work with non-integer keys. #45",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.12.1,29677017,9599,MDc6UmVsZWFzZTI5Njc3MDE3,0.12.1,main,0.12.1,0,0,2020-08-13T23:02:12Z,2020-08-13T23:10:24Z,- Fixed bug affecting tables with a primary key column called 'type'. #46 ,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.12.2,29747794,9599,MDc6UmVsZWFzZTI5NzQ3Nzk0,0.12.2,main,0.12.2,0,0,2020-08-16T16:00:21Z,2020-08-16T16:00:56Z,- Fixed bug triggered by columns with a name `_likethis_`. #48,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.12.3,29841275,9599,MDc6UmVsZWFzZTI5ODQxMjc1,0.12.3,main,0.12.3,0,0,2020-08-19T00:16:33Z,2020-08-19T00:16:57Z,- Fix for 400 error with CORS headers. #49,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.13,29847261,9599,MDc6UmVsZWFzZTI5ODQ3MjYx,0.13,main,0.13,0,0,2020-08-19T05:28:40Z,2020-08-19T05:30:07Z,"- Cache introspected GraphQL schema unless the DB schema changes, providing much improved performance against databases with large numbers of tables. #51
- New `graphql()` Jinja template function for executing GraphQL queries in custom Datasette templates. #50",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.14,29951003,9599,MDc6UmVsZWFzZTI5OTUxMDAz,0.14,main,0.14,0,0,2020-08-20T21:51:03Z,2020-08-20T21:52:01Z,- `json_column` configuration setting for specifying columns that contain raw JSON which should be returned in the GraphQL response without being turned into strings containing JSON. #53,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/0.15,30030473,9599,MDc6UmVsZWFzZTMwMDMwNDcz,0.15,main,0.15,0,0,2020-08-23T20:30:49Z,2020-08-23T20:34:42Z,"- Support for multiple reverse foreign key relationships on a single table. [Example](https://github.com/simonw/datasette-graphql/blob/main/examples/related_multiple.md). #32
- The `graphql()` template function now accepts an optional `variables=` parameter. #54
- The `search:` argument is now available for tables that are configured using Datasette's [fts_table mechanism](https://docs.datasette.io/en/stable/full_text_search.html#configuring-full-text-search-for-a-table-or-view). #56
- New example [demonstrating GraphQL fragments](https://github.com/simonw/datasette-graphql/blob/main/examples/fragments.md). #57",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.0,30032237,9599,MDc6UmVsZWFzZTMwMDMyMjM3,1.0,main,1.0,0,0,2020-08-23T23:27:43Z,2020-08-23T23:27:49Z,"- Added GraphQL execution limits, controlled by the `time_limit_ms` and `num_queries_limit` plugin configuration settings. These default to 1000ms total execution time and 100 total SQL queries per GraphQL execution. [Limits documentation](https://github.com/simonw/datasette-graphql/blob/main/README.md#execution-limits). #33",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.0.1,30069268,9599,MDc6UmVsZWFzZTMwMDY5MjY4,1.0.1,main,1.0.1,0,0,2020-08-24T19:32:13Z,2020-08-24T19:33:22Z,- Documentation improvements: [README](https://github.com/simonw/datasette-graphql/blob/main/README.md) now links to example queries in the live demo. #60,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.1,33313643,9599,MDc6UmVsZWFzZTMzMzEzNjQz,1.1,main,1.1,0,0,2020-11-01T02:09:26Z,2020-11-01T02:10:32Z,"- Adds ""GraphQL API"" link to Datasette's new navigation menu, added in Datasette 0.51. #62
",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.2,34271065,9599,MDc6UmVsZWFzZTM0MjcxMDY1,1.2,main,1.2,0,0,2020-11-21T22:05:01Z,2020-11-21T22:05:14Z,"- Plugin now respects the `view-instance` and `view-database` permissions. Previously the plugin could expose schema details of databases that should not be visible, though not their actual row content. See security advisory: [datasette-graphql leaks details of the schema of private database files ](https://github.com/simonw/datasette-graphql/security/advisories/GHSA-74hv-qjjq-h7g5). #65
- Adds links to the GraphQL API in the database and table action menus, including example table queries. #63
- Running the plugin against Datasette with no attached databases no longer returns a 500 error. #64",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.2.1,34386370,9599,MDc6UmVsZWFzZTM0Mzg2Mzcw,1.2.1,main,1.2.1,0,0,2020-11-24T21:55:35Z,2020-11-24T21:56:43Z,"- Fix for forthcoming change to Datasette undocumented internal method. #66
- Now tested against Python 3.9",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.3,34591207,9599,MDc6UmVsZWFzZTM0NTkxMjA3,1.3,main,1.3,0,0,2020-11-30T18:10:51Z,2020-11-30T18:11:47Z,- Suggested queries for tables (available from the table actions cog menu) now include foreign key expansions. #67 ,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.3.1,34593370,9599,MDc6UmVsZWFzZTM0NTkzMzcw,1.3.1,main,1.3.1,0,0,2020-11-30T19:01:53Z,2020-11-30T19:02:51Z,- Fixed bug where `in:` and `notin:` filters raised an error when run against lists of integers rather than lists of strings. #68,284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.4,38261056,9599,MDc6UmVsZWFzZTM4MjYxMDU2,1.4,main,1.4,0,0,2021-02-18T23:35:09Z,2021-02-18T23:37:44Z,"- Fix broken tests against Datasette 0.54. [#71](https://github.com/simonw/datasette-graphql/issues/71)
- Bundle JavaScript and CSS assets for GraphiQL, instead of loading them from a CDN. [#73](https://github.com/simonw/datasette-graphql/issues/73)
- Pin to graphene dependency < 3.0. [#72](https://github.com/simonw/datasette-graphql/issues/72)
",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/1.5,46342426,9599,MDc6UmVsZWFzZTQ2MzQyNDI2,1.5,main,1.5,0,0,2021-07-16T19:56:15Z,2021-07-16T20:03:28Z,"- Now uses the `datasette.client` mechanism for internal calls. [#61](https://github.com/simonw/datasette-graphql/issues/61)
- Depends on datasette>=0.58.1
",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/2.0,53589478,9599,RE_kwDOEPNYIc4DMbXm,2.0,main,2.0,0,0,2021-11-17T20:32:38Z,2021-11-17T20:33:36Z,"- Upgraded to [Graphene 3.0](https://github.com/graphql-python/graphene/wiki/v3-release-notes). ([#80](https://github.com/simonw/datasette-graphql/issues/80)). This introduces some small backwards-compatibility breaks, hence the 2.0 version number on this release. Most notably, tables or columns that are named after Python keywords (such as `if`) will now be represented in GraphQL with a trailing underscore, `if_`. `description` is also renamed to `description_`.
- Upgraded bundled version of GraphiQL to 1.5.1, running on React 17.0.2. ([#75](https://github.com/simonw/datasette-graphql/issues/75))
- Fixed an error caused by tables that include foreign key references to other tables that do not exist. ([#79](https://github.com/simonw/datasette-graphql/issues/79))
- Now tested against Python 3.10. ([#82](https://github.com/simonw/datasette-graphql/issues/82))",284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/2.0.1,56879285,9599,RE_kwDOEPNYIc4DY-i1,2.0.1,main,2.0.1,0,0,2022-01-12T01:53:19Z,2022-01-12T01:54:07Z,- Fixes broken demo links in the README. [#86](https://github.com/simonw/datasette-graphql/issues/86),284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/2.0.2,68180500,9599,RE_kwDOEPNYIc4EEFoU,2.0.2,main,2.0.2,0,0,2022-05-30T18:21:50Z,2022-05-30T18:23:05Z,- Upgrade dependencies to `graphene>=3.1.0` and `graphql-core>=3.2.1`. [#88](https://github.com/simonw/datasette-graphql/pull/88),284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/2.1,71135857,9599,RE_kwDOEPNYIc4EPXJx,2.1,main,2.1,0,0,2022-07-03T01:17:11Z,2022-07-03T01:19:01Z,- New [graphql_extra_fields() plugin hook](https://datasette.io/plugins/datasette-graphql#user-content-adding-custom-fields-with-plugins) allowing other plugins to add extra fields to the GraphQL schema. [#69](https://github.com/simonw/datasette-graphql/issues/69),284383265,,
https://github.com/simonw/datasette-graphql/releases/tag/2.1.1,72269879,9599,RE_kwDOEPNYIc4ETsA3,2.1.1,main,2.1.1,0,0,2022-07-18T21:11:20Z,2022-07-18T21:13:34Z,"- Simplified example code in the documentation for the `graphql_extra_fields()` hook.
- Workaround for a bug where some tables could cause a 500 error on the regular table view page. [#90](https://github.com/simonw/datasette-graphql/issues/90)",284383265,,