{"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.6", "id": 25554617, "node_id": "MDc6UmVsZWFzZTI1NTU0NjE3", "tag_name": "2.6", "target_commitish": "master", "name": "2.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-04-16T03:13:13Z", "published_at": "2020-04-16T03:14:48Z", "body": "* New `table.rows_where(..., order_by=\"age desc\")` argument, see [Listing rows](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#listing-rows). (#76)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.5", "id": 25436265, "node_id": "MDc6UmVsZWFzZTI1NDM2MjY1", "tag_name": "2.5", "target_commitish": "master", "name": "2.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-04-13T03:52:19Z", "published_at": "2020-04-13T03:54:08Z", "body": "* Panda\u2019s Timestamp is now stored as a SQLite TEXT column. Thanks, b0b5h4rp13! (#96)\r\n* `table.last_pk` is now only available for inserts or upserts of a single record. (#98)\r\n* New `Database(filepath, recreate=True)` parameter for deleting and recreating the database. (#97)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.20.1", "id": 25070964, "node_id": "MDc6UmVsZWFzZTI1MDcwOTY0", "tag_name": "0.20.1", "target_commitish": "master", "name": "0.20.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-04-01T04:31:23Z", "published_at": "2020-04-01T04:33:35Z", "body": "* Buf fix: `since_id` table no longer records a record for `None`, `None`. #41", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.20", "id": 25070766, "node_id": "MDc6UmVsZWFzZTI1MDcwNzY2", "tag_name": "0.20", "target_commitish": "master", "name": "0.20", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-04-01T04:18:17Z", "published_at": "2020-04-01T04:18:53Z", "body": "* Reworked how `--since` works to fix a bug spotted in #39. The most recently seen tweet ID for various commands is now stored in a new `since_ids` table.\r\n* New feature: the friends, followers and listed counts for each user are now stored in a `count_history` table and updated any time we spot that the counts in that user's profile have changed. #40", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.3.1", "id": 24954053, "node_id": "MDc6UmVsZWFzZTI0OTU0MDUz", "tag_name": "0.3.1", "target_commitish": "master", "name": "0.3.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-28T02:29:41Z", "published_at": "2020-03-28T02:30:10Z", "body": "* Fixed bug with very old checkins that were missing their source - thanks, @mfa! #6", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.3", "id": 24954042, "node_id": "MDc6UmVsZWFzZTI0OTU0MDQy", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-28T02:25:29Z", "published_at": "2020-03-28T02:28:35Z", "body": "* Upgraded to sqlite-utils 2.x", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.5", "id": 24953710, "node_id": "MDc6UmVsZWFzZTI0OTUzNzEw", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-28T01:50:51Z", "published_at": "2020-03-28T01:55:19Z", "body": "* Upgraded to latest sqlite-utils", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.2", "id": 24950669, "node_id": "MDc6UmVsZWFzZTI0OTUwNjY5", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-27T22:23:16Z", "published_at": "2020-03-27T22:26:30Z", "body": "* Defaults to only retrieving updated items, unless you use `--all`. #2 \r\n* Now displays a progress bar for initial data import and `--all`.\r\n* Data is now fetched 500 items at a time using API pagination. #1\r\n* Now depends on `sqlite-utils 2.x`.\r\n* `auth.json` now uses `pocket_` prefix on each stored key. #4", "repo": {"value": 213286752, "label": "pocket-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.39", "id": 24836140, "node_id": "MDc6UmVsZWFzZTI0ODM2MTQw", "tag_name": "0.39", "target_commitish": "master", "name": "0.39", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-25T04:02:37Z", "published_at": "2020-03-25T04:11:35Z", "body": "* New [base_url](https://datasette.readthedocs.io/en/latest/config.html#config-base-url) configuration setting for serving up the correct links while running Datasette under a different URL prefix. (#394)\r\n* New metadata settings `\"sort\"` and `\"sort_desc\"` for setting the default sort order for a table. See [Setting a default sort order](https://datasette.readthedocs.io/en/latest/metadata.html#metadata-default-sort). (#702)\r\n* Sort direction arrow now displays by default on the primary key. This means you only have to click once (not twice) to sort in reverse order. (#677)\r\n* New `await Request(scope, receive).post_vars()` method for accessing POST form variables. (#700)\r\n* Plugin hooks documentation now links to example uses of each plugin. (#709)\r\n", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/inaturalist-to-sqlite/releases/tag/0.2", "id": 24793032, "node_id": "MDc6UmVsZWFzZTI0NzkzMDMy", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-24T00:35:44Z", "published_at": "2020-03-24T00:36:40Z", "body": "* Upgraded to `sqlite-utils` 2.x\r\n* First non-alpha release", "repo": {"value": 206202864, "label": "inaturalist-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/1.0", "id": 24792596, "node_id": "MDc6UmVsZWFzZTI0NzkyNTk2", "tag_name": "1.0", "target_commitish": "master", "name": "1.0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-24T00:07:47Z", "published_at": "2020-03-24T00:11:51Z", "body": "* Full-text search is configured for more tables. #19\r\n* Release assets are now pulled out into a separate `assets` table. #15\r\n* Now depends on sqlite-utils 2.x. #20\r\n* Commit raw authors are now used to populate a new `raw_authors` able. #18\r\n* New live demo at https://github-to-sqlite.dogsheep.net/ #13\r\n* GitHub API errors are now raised as Pyton exceptions. #21\r\n* Fixed bug running `commits` against repos with no commits. #22", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.4.4", "id": 24787721, "node_id": "MDc6UmVsZWFzZTI0Nzg3NzIx", "tag_name": "2.4.4", "target_commitish": "master", "name": "2.4.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-23T20:32:09Z", "published_at": "2020-03-23T20:34:18Z", "body": "* Fixed bug where columns with only null values were not correctly created. (#95)", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.4.3", "id": 24786773, "node_id": "MDc6UmVsZWFzZTI0Nzg2Nzcz", "tag_name": "2.4.3", "target_commitish": "master", "name": "2.4.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-23T19:58:55Z", "published_at": "2020-03-23T20:00:25Z", "body": "* Column type suggestion code is no longer confused by null values. (#94)", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.3.1", "id": 24740687, "node_id": "MDc6UmVsZWFzZTI0NzQwNjg3", "tag_name": "0.3.1", "target_commitish": "master", "name": "0.3.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-21T22:39:34Z", "published_at": "2020-03-21T22:41:16Z", "body": "Added documentation on [Browsing your data with Datasette](https://github.com/dogsheep/hacker-news-to-sqlite/blob/0.3.1/README.md#browsing-your-data-with-datasette).", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.3", "id": 24738963, "node_id": "MDc6UmVsZWFzZTI0NzM4OTYz", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-21T19:46:08Z", "published_at": "2020-03-21T19:47:36Z", "body": "First non-alpha release. Now configures full-text search for the `users` and `items` tables. #1", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.2a", "id": 24738954, "node_id": "MDc6UmVsZWFzZTI0NzM4OTU0", "tag_name": "0.2a", "target_commitish": "master", "name": "0.2a", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-21T15:27:15Z", "published_at": "2020-03-21T19:46:58Z", "body": "Compatibility with sqlite-utils 1.x", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.1a", "id": 24731201, "node_id": "MDc6UmVsZWFzZTI0NzMxMjAx", "tag_name": "0.1a", "target_commitish": "master", "name": "0.1a", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-21T04:19:07Z", "published_at": "2020-03-21T04:26:28Z", "body": "* `user` and `trees` commands.", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.19", "id": 24728163, "node_id": "MDc6UmVsZWFzZTI0NzI4MTYz", "tag_name": "0.19", "target_commitish": "master", "name": "0.19", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-20T23:14:02Z", "published_at": "2020-03-20T23:16:53Z", "body": "* The `twitter-to-sqlite friends` and `twitter-to-sqlite followers` commands now accept the `--sql` and `--attach` options. #36\r\n* Improved the display of the progress bar for the `user-timeline` command. #38", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.18", "id": 24724394, "node_id": "MDc6UmVsZWFzZTI0NzI0Mzk0", "tag_name": "0.18", "target_commitish": "master", "name": "0.18", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-20T20:16:46Z", "published_at": "2020-03-20T20:19:42Z", "body": "* `twitter-to-sqlite user-timeline` command now accepts `--sql` and `--attach` and `--ids` options, and can also accept multiple screen names or user IDs as command arguments. #35", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.17", "id": 24722801, "node_id": "MDc6UmVsZWFzZTI0NzIyODAx", "tag_name": "0.17", "target_commitish": "master", "name": "0.17", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-20T19:22:37Z", "published_at": "2020-03-20T19:23:40Z", "body": "* Upgraded to latest `sqlite-utils` (currently 2.4.2)\r\n* This fixed a bug with `user-timeline` - #34", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.4.2", "id": 24530387, "node_id": "MDc6UmVsZWFzZTI0NTMwMzg3", "tag_name": "2.4.2", "target_commitish": "master", "name": "2.4.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-14T20:09:56Z", "published_at": "2020-03-14T20:13:18Z", "body": "* `table.column_dicts` now works with all column types - previously it would throw errors on types other than `TEXT`, `BLOB`, `INTEGER` or `FLOAT`. (#92)\r\n* Documentation for `NotFoundError` thrown by `table.get(pk)` - see [Retrieving a specific record](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-get).\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.7", "id": 24410477, "node_id": "MDc6UmVsZWFzZTI0NDEwNDc3", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-11T02:47:32Z", "published_at": "2020-03-11T02:48:32Z", "body": "* New `github-to-sqlite commits my.db dogsheep/github-to-sqlite` command. #17", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.38", "id": 24330942, "node_id": "MDc6UmVsZWFzZTI0MzMwOTQy", "tag_name": "0.38", "target_commitish": "master", "name": "0.38", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-08T23:26:50Z", "published_at": "2020-03-08T23:42:36Z", "body": "* The [Docker build](https://hub.docker.com/r/datasetteproject/datasette) of Datasette now uses SQLite 3.31.1, upgraded from 3.26. (#695)\r\n* `datasette publish cloudrun` now accepts an optional `--memory=2Gi` flag for setting the Cloud Run allocated memory to a value other than the default (256Mi). (#694)\r\n* Fixed bug where templates that shipped with plugins were sometimes not being correctly loaded. (#697)\r\n", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.37.1", "id": 24154697, "node_id": "MDc6UmVsZWFzZTI0MTU0Njk3", "tag_name": "0.37.1", "target_commitish": "master", "name": "Datasette 0.37.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-03T03:43:08Z", "published_at": "2020-03-03T03:46:17Z", "body": "* Don\u2019t attempt to count table rows to display on the index page for databases > 100MB. (#688)\r\n* Print exceptions if they occur in the write thread rather than silently swallowing them.\r\n* Handle the possibility of `scope[\"path\"]` being a string rather than bytes\r\n* Better documentation for the [extra_template_vars(template, database, table, view_name, request, datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-hook-extra-template-vars) plugin hook.\r\n", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.4.1", "id": 24530295, "node_id": "MDc6UmVsZWFzZTI0NTMwMjk1", "tag_name": "2.4.1", "target_commitish": "master", "name": "2.4.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-03-02T06:12:21Z", "published_at": "2020-03-14T20:06:08Z", "body": "* `table.enable_fts()` now works with columns that contain spaces. (#90)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.4", "id": 24026132, "node_id": "MDc6UmVsZWFzZTI0MDI2MTMy", "tag_name": "2.4", "target_commitish": "master", "name": "2.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-27T04:55:58Z", "published_at": "2020-02-27T04:58:25Z", "body": "* `table.disable_fts()` can now be used to remove FTS tables and triggers that were created using `table.enable_fts(...)`. (#88)\r\n* The `sqlite-utils disable-fts` command can be used to remove FTS tables and triggers from the command-line. (#88)\r\n* Trying to create table columns with square braces ([ or ]) in the name now raises an error. (#86)\r\n* Subclasses of `dict`, `list` and `tuple` are now detected as needing a JSON column. (#87)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.37", "id": 23986460, "node_id": "MDc6UmVsZWFzZTIzOTg2NDYw", "tag_name": "0.37", "target_commitish": "master", "name": "Datasette 0.37", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-26T01:22:02Z", "published_at": "2020-02-26T03:44:07Z", "body": "* Plugins now have a supported mechanism for writing to a database, using the new `.execute_write()` and `.execute_write_fn()` methods. [Documentation](https://datasette.readthedocs.io/en/stable/internals.html#database-execute-write). (#682)\r\n* Immutable databases that have had their rows counted using the `inspect` command now use the calculated count more effectively - thanks, Kevin Keogh. (#666)\r\n* `--reload` no longer restarts the server if a database file is modified, unless that database was opened immutable mode with `-i`. (#494)\r\n* New `?_searchmode=raw` option turns off escaping for FTS queries in `?_search=` allowing full use of SQLite\u2019s [FTS5 query syntax](https://www.sqlite.org/fts5.html#full_text_query_syntax). (#676)\r\n", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.36", "id": 23896184, "node_id": "MDc6UmVsZWFzZTIzODk2MTg0", "tag_name": "0.36", "target_commitish": "master", "name": "Datasette 0.36", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-22T03:04:46Z", "published_at": "2020-02-22T03:24:50Z", "body": "* The `datasette` object passed to plugins now has API documentation: [Datasette class](https://datasette.readthedocs.io/en/latest/datasette.html#datasette). (#576)\r\n* New methods on `datasette`: `.add_database()` and `.remove_database()` - [documentation](https://datasette.readthedocs.io/en/latest/datasette.html#datasette-add-database). (#671)\r\n* `prepare_connection()` plugin hook now takes optional `datasette` and `database` arguments - [prepare_connection(conn, database, datasette)](https://datasette.readthedocs.io/en/latest/plugins.html#plugin-hook-prepare-connection). (#678)\r\n* Added three new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem).\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-36", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.3.1", "id": 23556494, "node_id": "MDc6UmVsZWFzZTIzNTU2NDk0", "tag_name": "2.3.1", "target_commitish": "master", "name": "2.3.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-11T05:52:23Z", "published_at": "2020-02-11T05:59:43Z", "body": "`table.create_index()` now works for columns that contain spaces. (#85)", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.3", "id": 23508352, "node_id": "MDc6UmVsZWFzZTIzNTA4MzUy", "tag_name": "2.3", "target_commitish": "master", "name": "2.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-08T23:56:16Z", "published_at": "2020-02-08T23:59:20Z", "body": "`table.exists()` is now a method, not a property. This was not a documented part of the API before so I\u2019m considering this a non-breaking change. (#83)", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.16", "id": 23471420, "node_id": "MDc6UmVsZWFzZTIzNDcxNDIw", "tag_name": "0.16", "target_commitish": "master", "name": "0.16", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-07T07:42:45Z", "published_at": "2020-02-07T07:44:53Z", "body": "New `friends` command for importing accounts that a specific user follows.", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.2.1", "id": 23471112, "node_id": "MDc6UmVsZWFzZTIzNDcxMTEy", "tag_name": "2.2.1", "target_commitish": "master", "name": "2.2.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-07T07:20:03Z", "published_at": "2020-02-07T07:24:54Z", "body": "Fixed a bug where `.upsert(..., hash_id=\"pk\")` threw an error (#84).", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.35", "id": 23395622, "node_id": "MDc6UmVsZWFzZTIzMzk1NjIy", "tag_name": "0.35", "target_commitish": "master", "name": "Datasette 0.35", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-05T02:17:47Z", "published_at": "2020-02-05T02:32:34Z", "body": "* Added five new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem).\r\n* The `Datasette` class has a new `render_template()` method which can be used by plugins to render templates using Datasette\u2019s pre-configured [Jinja](https://jinja.palletsprojects.com/) templating library.\r\n* You can now execute SQL queries that start with a `-- comment` - thanks, Jay Graves (#653)\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-35", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.2", "id": 23471014, "node_id": "MDc6UmVsZWFzZTIzNDcxMDE0", "tag_name": "2.2", "target_commitish": "master", "name": "2.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-02-01T21:59:08Z", "published_at": "2020-02-07T07:18:12Z", "body": "New feature: `sqlite_utils.suggest_column_types([records])` returns the suggested column types for a list of records. See [Suggesting column types](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-suggest-column-types). (#81).\r\n\r\nThis replaces the undocumented `table.detect_column_types()` method.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.1", "id": 23274412, "node_id": "MDc6UmVsZWFzZTIzMjc0NDEy", "tag_name": "2.1", "target_commitish": "master", "name": "2.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-01-31T00:25:20Z", "published_at": "2020-01-31T00:30:40Z", "body": "New feature: `conversions={...}` can be passed to the `.insert()` family of functions to specify SQL conversions that should be applied to values that are being inserted or updated. See [Converting column values using SQL functions](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-conversions). (#77).", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.34", "id": 23239304, "node_id": "MDc6UmVsZWFzZTIzMjM5MzA0", "tag_name": "0.34", "target_commitish": "master", "name": "Datasette 0.34", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-01-30T00:09:01Z", "published_at": "2020-01-30T00:29:21Z", "body": "- `_search=` queries are now correctly escaped using a new `escape_fts()` custom SQL function. This means you can now run searches for strings like `park.` without seeing errors. (#651)\r\n- Google Cloud Run is no longer in beta, so `datasette publish cloudrun` has been updated to work even if the user has not installed the `gcloud` beta components package. Thanks, Katie McLaughlin (#660)\r\n- `datasette package` now accepts a `--port` option for specifying which port the resulting Docker container should listen on. (#661)\r\n\r\nhttps://datasette.readthedocs.io/en/stable/changelog.html#v0-34\r\n", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.0.1", "id": 22603380, "node_id": "MDc6UmVsZWFzZTIyNjAzMzgw", "tag_name": "2.0.1", "target_commitish": "master", "name": "2.0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-01-05T17:23:02Z", "published_at": "2020-01-05T17:33:15Z", "body": "The `.upsert()` and `.upsert_all()` methods now raise a `sqlite_utils.db.PrimaryKeyRequired` exception if you call them without specifying the primary key column using `pk=` (#73).", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/2.0", "id": 22509033, "node_id": "MDc6UmVsZWFzZTIyNTA5MDMz", "tag_name": "2.0", "target_commitish": "master", "name": "2.0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-12-30T06:18:58Z", "published_at": "2019-12-30T06:26:09Z", "body": "This release changes the behaviour of `upsert`. It\u2019s a breaking change, hence 2.0.\r\n\r\nThe `upsert` command-line utility and the `.upsert()` and `.upsert_all()` Python API methods have had their behaviour altered. They used to completely replace the affected records: now, they update the specified values on existing records but leave other columns unaffected.\r\n\r\nSee [Upserting data using the Python API](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-upsert) and [Upserting data using the CLI](https://sqlite-utils.readthedocs.io/en/stable/cli.html#upserting-data) for full details.\r\n\r\nIf you want the old behaviour - where records were completely replaced - you can use `$ sqlite-utils insert ... --replace` on the command-line and `.insert(..., replace=True)` and `.insert_all(..., replace=True)` in the Python API. See [Insert-replacing data using the Python API](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-insert-replace) and [Insert-replacing data using the CLI](https://sqlite-utils.readthedocs.io/en/stable/cli.html#cli-insert-replace) for more.\r\n\r\nFor full background on this change, see issue #66.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.33", "id": 22415542, "node_id": "MDc6UmVsZWFzZTIyNDE1NTQy", "tag_name": "0.33", "target_commitish": "master", "name": "Datasette 0.33", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-12-22T16:27:04Z", "published_at": "2019-12-22T16:43:31Z", "body": "* `rowid` is now included in dropdown menus for filtering tables (#636)\r\n* Columns are now only suggested for faceting if they have at least one value with more than one record (#638)\r\n* Queries with no results now display \u201c0 results\u201d (#637)\r\n* Improved documentation for the `--static` option (#641)\r\n* asyncio task information is now included on the `/-/threads` debug page\r\n* Bumped Uvicorn dependency 0.11\r\n* You can now use `--port 0` to listen on an available port\r\n* New `template_debug` setting for debugging templates, e.g. https://latest.datasette.io/fixtures/roadside_attractions?_context=1 (#654)\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-33", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.32", "id": 21492068, "node_id": "MDc6UmVsZWFzZTIxNDkyMDY4", "tag_name": "0.32", "target_commitish": "master", "name": "Datasette 0.32", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-14T23:20:21Z", "published_at": "2019-11-14T23:42:14Z", "body": "Datasette now renders templates using [Jinja async mode](https://jinja.palletsprojects.com/en/2.10.x/api/#async-support). This makes it easy for plugins to provide custom template functions that perform asynchronous actions, for example the new [datasette-template-sql](https://github.com/simonw/datasette-template-sql) plugin which allows custom templates to directly execute SQL queries and render their results. (#628)\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-32", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.31.2", "id": 21449006, "node_id": "MDc6UmVsZWFzZTIxNDQ5MDA2", "tag_name": "0.31.2", "target_commitish": "master", "name": "0.31.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-13T16:48:36Z", "published_at": "2019-11-13T17:38:59Z", "body": "- Fixed a bug where datasette publish heroku applications failed to start (#633)\r\n- Fix for datasette publish with just --source_url - thanks, Stanley Zheng (#572)\r\n- Deployments to Heroku now use Python 3.8.0 (#632)\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-31-2", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.31.1", "id": 21426299, "node_id": "MDc6UmVsZWFzZTIxNDI2Mjk5", "tag_name": "0.31.1", "target_commitish": "master", "name": "0.31.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-13T02:18:39Z", "published_at": "2019-11-13T02:40:53Z", "body": "- Deployments created using `datasette publish` now use `python:3.8` base Docker image (#629)\r\n\r\nhttps://datasette.readthedocs.io/en/latest/changelog.html#v0-31-1", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.31", "id": 21426008, "node_id": "MDc6UmVsZWFzZTIxNDI2MDA4", "tag_name": "0.31", "target_commitish": "master", "name": "Datasette 0.31", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-12T05:33:51Z", "published_at": "2019-11-13T02:16:15Z", "body": "This version adds compatibility with Python 3.8 and breaks compatibility with Python 3.5.\r\n\r\nFull release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-31", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.6", "id": 21354706, "node_id": "MDc6UmVsZWFzZTIxMzU0NzA2", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-11T05:31:46Z", "published_at": "2019-11-11T05:34:06Z", "body": "- New `releases` command for fetching releases for a repo, #11\r\n- Repository topics are now fetched by the `repos` command\r\n- `github-to-sqlite repos` now accepts multiple usernames\r\n- Command now works without `--auth` file (using anonymous API calls), #9", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.15", "id": 21342008, "node_id": "MDc6UmVsZWFzZTIxMzQyMDA4", "tag_name": "0.15", "target_commitish": "master", "name": "0.15", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-09T20:12:32Z", "published_at": "2019-11-09T20:13:07Z", "body": "- Import command no longer fails on empty files - #29\r\n- Fixed bug in `followers` command - #30\r\n- `following` table now has indexes - #28", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.4", "id": 21306693, "node_id": "MDc6UmVsZWFzZTIxMzA2Njkz", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-08T01:19:23Z", "published_at": "2019-11-08T01:19:51Z", "body": "* Fixed workout latitude/longitude points import for iOS 13 - #10", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.12.1", "id": 21276749, "node_id": "MDc6UmVsZWFzZTIxMjc2NzQ5", "tag_name": "1.12.1", "target_commitish": "master", "name": "1.12.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-07T04:58:47Z", "published_at": "2019-11-07T05:00:55Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12-1", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.12", "id": 21276745, "node_id": "MDc6UmVsZWFzZTIxMjc2NzQ1", "tag_name": "1.12", "target_commitish": "master", "name": "1.12", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T16:28:52Z", "published_at": "2019-11-07T05:00:24Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.14", "id": 21180989, "node_id": "MDc6UmVsZWFzZTIxMTgwOTg5", "tag_name": "0.14", "target_commitish": "master", "name": "0.14", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T05:32:37Z", "published_at": "2019-11-04T05:33:56Z", "body": "* `search` command gained `--since_id` and `--since` options, for retrieving tweets since the last time the search was run\r\n* `search` command is [now documented](https://github.com/dogsheep/twitter-to-sqlite/blob/0.14/README.md#running-searches). Closes #3.", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.30.2", "id": 21169835, "node_id": "MDc6UmVsZWFzZTIxMTY5ODM1", "tag_name": "0.30.2", "target_commitish": "master", "name": "0.30.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-02T23:12:46Z", "published_at": "2019-11-02T23:33:13Z", "body": "https://datasette.readthedocs.io/en/latest/changelog.html#v0-30-2", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.30.1", "id": 21162064, "node_id": "MDc6UmVsZWFzZTIxMTYyMDY0", "tag_name": "0.30.1", "target_commitish": "master", "name": "0.30.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-30T19:00:21Z", "published_at": "2019-11-02T00:06:02Z", "body": "https://datasette.readthedocs.io/en/stable/changelog.html#v0-30-1", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.13", "id": 21073645, "node_id": "MDc6UmVsZWFzZTIxMDczNjQ1", "tag_name": "0.13", "target_commitish": "master", "name": "0.13", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-30T02:20:09Z", "published_at": "2019-10-30T02:22:30Z", "body": "- New `mentions-timeline` command (#26)", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.30", "id": 21098052, "node_id": "MDc6UmVsZWFzZTIxMDk4MDUy", "tag_name": "0.30", "target_commitish": "master", "name": "0.30", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-19T01:08:04Z", "published_at": "2019-10-30T18:51:30Z", "body": "https://datasette.readthedocs.io/en/stable/changelog.html#v0-30", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.12", "id": 20783590, "node_id": "MDc6UmVsZWFzZTIwNzgzNTkw", "tag_name": "0.12", "target_commitish": "master", "name": "0.12", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-17T17:57:33Z", "published_at": "2019-10-17T18:00:28Z", "body": "* The `source` column for a tweet is now a foreign key to a new `sources` table - #12\r\n* New migrations system to upgrade existing databases to handle the new `source` column extraction - #23\r\n* Experimental implementation of new `twitter-to-sqlite search tweets.db search-term` command, which runs a search and saves the tweets from that search - #3\r\n* Fixed bug where sometimes a user record for the authenticated user was not persisted to the `users` table", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.2", "id": 20755954, "node_id": "MDc6UmVsZWFzZTIwNzU1OTU0", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T20:40:25Z", "published_at": "2019-10-16T20:40:55Z", "body": "* Added --since option, closes #3 ", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11.1", "id": 20758324, "node_id": "MDc6UmVsZWFzZTIwNzU4MzI0", "tag_name": "0.11.1", "target_commitish": "master", "name": "0.11.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T19:46:35Z", "published_at": "2019-10-16T22:31:51Z", "body": "* Fix bugs running `home-timeline --since` from scratch. If tables were missing, script would throw an error.", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11", "id": 20754277, "node_id": "MDc6UmVsZWFzZTIwNzU0Mjc3", "tag_name": "0.11", "target_commitish": "master", "name": "0.11", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T19:37:10Z", "published_at": "2019-10-16T19:38:42Z", "body": "* Added `--since_id` and `--since` to `user-timeline` command, refs #20\r\n* `--since` and `--since_id` options for `home-timeline`, closes #19 \r\n* `import` command now works on files and directories, closes #22 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.10", "id": 20721291, "node_id": "MDc6UmVsZWFzZTIwNzIxMjkx", "tag_name": "0.10", "target_commitish": "master", "name": "0.10", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-15T18:53:53Z", "published_at": "2019-10-15T18:56:09Z", "body": "* favorites command now populates `favorited_by` table - #14 \r\n* favorites `--stop_after` option - #20 \r\n* Store unescaped `full_text` of Tweet - #21 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.5", "id": 20663605, "node_id": "MDc6UmVsZWFzZTIwNjYzNjA1", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-13T05:28:24Z", "published_at": "2019-10-13T05:30:05Z", "body": "* New command: `github-to-sqlite issue-comments` for importing comments on issues - #7\r\n* `github-to-sqlite issues` now accepts optional `--issue=1` argument\r\n* Fixed bug inserting users into already-created table with wrong columns - #6", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.9", "id": 20646519, "node_id": "MDc6UmVsZWFzZTIwNjQ2NTE5", "tag_name": "0.9", "target_commitish": "master", "name": "0.9", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-11T16:55:10Z", "published_at": "2019-10-11T16:57:25Z", "body": "* New `twitter-to-sqlite home-timeline` command, for retrieving your timeline of tweets from people you follow - #18\r\n* `twitter-to-sqlite import` created tables now use the `archive_` prefix instead of `archive-`, for easier querying\r\n* Running `twitter-to-sqlite import` now deletes existing `archive_` tables and recreates them - #17", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.8", "id": 20631452, "node_id": "MDc6UmVsZWFzZTIwNjMxNDUy", "tag_name": "0.8", "target_commitish": "master", "name": "0.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-11T06:45:21Z", "published_at": "2019-10-11T06:46:52Z", "body": "* New `twitter-to-sqlite import twitter.db archive.zip` command for importing data from a Twitter export file. #4 - [documentation here](https://github.com/dogsheep/twitter-to-sqlite/blob/master/README.md#importing-data-from-your-twitter-archive).", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.1", "id": 20506896, "node_id": "MDc6UmVsZWFzZTIwNTA2ODk2", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-07T05:07:37Z", "published_at": "2019-10-07T05:18:20Z", "body": "Initial release", "repo": {"value": 213286752, "label": "pocket-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.7", "id": 20504543, "node_id": "MDc6UmVsZWFzZTIwNTA0NTQz", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-07T00:32:08Z", "published_at": "2019-10-07T00:33:28Z", "body": "* New `statuses-lookup` command for bulk fetching tweets by their IDs - #13 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.6", "id": 20497186, "node_id": "MDc6UmVsZWFzZTIwNDk3MTg2", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-06T04:49:17Z", "published_at": "2019-10-06T04:52:18Z", "body": "* New experimental `track` and `follow` commands for subscribing to the Twitter real-time API #11. [Documentation](https://github.com/dogsheep/twitter-to-sqlite#capturing-tweets-in-real-time-with-track-and-follow) for track and follow.\r\n* Documentation for `--sql` and `--attach`, refs #8", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/genome-to-sqlite/releases/tag/0.1", "id": 20114205, "node_id": "MDc6UmVsZWFzZTIwMTE0MjA1", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-19T15:38:10Z", "published_at": "2019-09-19T15:41:17Z", "body": "First release", "repo": {"value": 209590345, "label": "genome-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.4", "id": 20031553, "node_id": "MDc6UmVsZWFzZTIwMDMxNTUz", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-17T00:18:37Z", "published_at": "2019-09-17T00:19:42Z", "body": "* Added `github-to-sqlite repos` command, #3 ", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.3", "id": 19993820, "node_id": "MDc6UmVsZWFzZTE5OTkzODIw", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T21:49:27Z", "published_at": "2019-09-14T21:50:01Z", "body": "* `license` is now extracted from the `repos` table into a separate `licenses` table with a foreign key, #2\r\n\r\n", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.2", "id": 19993751, "node_id": "MDc6UmVsZWFzZTE5OTkzNzUx", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T21:31:17Z", "published_at": "2019-09-14T21:32:34Z", "body": "* Added the `github-to-sqlite starred` command for retrieving starred repos, #1 ", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.1.1", "id": 19993251, "node_id": "MDc6UmVsZWFzZTE5OTkzMjUx", "tag_name": "0.1.1", "target_commitish": "master", "name": "0.1.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T19:19:33Z", "published_at": "2019-09-14T19:42:08Z", "body": "* Fix bug in authentication handling code", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.5", "id": 19889174, "node_id": "MDc6UmVsZWFzZTE5ODg5MTc0", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-10T17:38:46Z", "published_at": "2019-09-10T17:39:47Z", "body": "* Added `followers-ids` and `friends-ids` subcommands", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.4", "id": 19865891, "node_id": "MDc6UmVsZWFzZTE5ODY1ODkx", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-09T22:41:25Z", "published_at": "2019-09-09T22:43:05Z", "body": "* New `users-lookup` command for fetching multiple user profiles, including using new `--sql` and `--attach` options\r\n* New `list-members` subcommand for fetching members of a list\r\n* Added `stop_after` option to `user-timeline` command", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.3", "id": 19763200, "node_id": "MDc6UmVsZWFzZTE5NzYzMjAw", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-04T22:10:07Z", "published_at": "2019-09-04T22:11:01Z", "body": "Extract places and media into separate tables\r\n\r\nDemo: https://twitter-to-sqlite-demo.now.sh/", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.2", "id": 19763185, "node_id": "MDc6UmVsZWFzZTE5NzYzMTg1", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-04T21:17:34Z", "published_at": "2019-09-04T22:09:46Z", "body": "Full text search for tweets table", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.1a", "id": 19763160, "node_id": "MDc6UmVsZWFzZTE5NzYzMTYw", "tag_name": "0.1a", "target_commitish": "master", "name": "Alpha release", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-03T20:42:38Z", "published_at": "2019-09-04T22:08:18Z", "body": "", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.11", "id": 19704889, "node_id": "MDc6UmVsZWFzZTE5NzA0ODg5", "tag_name": "1.11", "target_commitish": "master", "name": "1.11", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-03T00:58:41Z", "published_at": "2019-09-03T01:03:27Z", "body": "https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-11", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29.3", "id": 20795250, "node_id": "MDc6UmVsZWFzZTIwNzk1MjUw", "tag_name": "0.29.3", "target_commitish": "master", "name": "0.29.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-03T00:40:53Z", "published_at": "2019-10-18T05:24:54Z", "body": "https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-3", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.1", "id": 19669553, "node_id": "MDc6UmVsZWFzZTE5NjY5NTUz", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-08-31T02:46:58Z", "published_at": "2019-08-31T02:58:32Z", "body": "First usable release.", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.10", "id": 19704743, "node_id": "MDc6UmVsZWFzZTE5NzA0NzQz", "tag_name": "1.10", "target_commitish": "master", "name": "1.10", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-08-23T12:24:04Z", "published_at": "2019-09-03T00:46:27Z", "body": "https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-10", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.9", "id": 19704739, "node_id": "MDc6UmVsZWFzZTE5NzA0NzM5", "tag_name": "1.9", "target_commitish": "master", "name": "1.9", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-08-04T03:35:30Z", "published_at": "2019-09-03T00:46:02Z", "body": "https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-9", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.8", "id": 19704736, "node_id": "MDc6UmVsZWFzZTE5NzA0NzM2", "tag_name": "1.8", "target_commitish": "master", "name": "1.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-28T15:41:42Z", "published_at": "2019-09-03T00:45:42Z", "body": "https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-8", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.7.1", "id": 18911404, "node_id": "MDc6UmVsZWFzZTE4OTExNDA0", "tag_name": "1.7.1", "target_commitish": "master", "name": "1.7.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-28T12:00:51Z", "published_at": "2019-07-28T12:05:36Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-7-1", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3.2", "id": 18881253, "node_id": "MDc6UmVsZWFzZTE4ODgxMjUz", "tag_name": "0.3.2", "target_commitish": "master", "name": "0.3.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-26T06:02:30Z", "published_at": "2019-07-26T06:12:12Z", "body": "Fix for #9 - Too many SQL variables bug", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.7", "id": 18911392, "node_id": "MDc6UmVsZWFzZTE4OTExMzky", "tag_name": "1.7", "target_commitish": "master", "name": "1.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-24T06:50:41Z", "published_at": "2019-07-28T12:03:21Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-7", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3.1", "id": 18823859, "node_id": "MDc6UmVsZWFzZTE4ODIzODU5", "tag_name": "0.3.1", "target_commitish": "master", "name": "0.3.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-24T06:33:22Z", "published_at": "2019-07-24T06:38:36Z", "body": "Uses less RAM - see #7 ", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3", "id": 18762495, "node_id": "MDc6UmVsZWFzZTE4NzYyNDk1", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-22T03:31:54Z", "published_at": "2019-07-22T03:33:32Z", "body": "- Tool now displays a progress bar during import - you can disable it with `--silent` #5\r\n- You can pass a path to a decompressed XML file instead of a zip file, using `--xml`\r\n- Records table is now broken up into different tables for each type of recorded data #6", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.2", "id": 18750559, "node_id": "MDc6UmVsZWFzZTE4NzUwNTU5", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-20T16:44:05Z", "published_at": "2019-07-20T16:44:41Z", "body": "Fixed a bug where duplicate records could crash the import.", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.1", "id": 18750551, "node_id": "MDc6UmVsZWFzZTE4NzUwNTUx", "tag_name": "0.1", "target_commitish": "master", "name": "Initial release", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-20T06:22:57Z", "published_at": "2019-07-20T16:43:09Z", "body": "", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.6", "id": 18723202, "node_id": "MDc6UmVsZWFzZTE4NzIzMjAy", "tag_name": "1.6", "target_commitish": "master", "name": "1.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-19T04:51:21Z", "published_at": "2019-07-19T05:36:48Z", "body": "- `sqlite-utils insert` can now accept TSV data via the new `--tsv` option (#41)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29.2", "id": 19704661, "node_id": "MDc6UmVsZWFzZTE5NzA0NjYx", "tag_name": "0.29.2", "target_commitish": "master", "name": "0.29.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-14T03:04:05Z", "published_at": "2019-09-03T00:33:35Z", "body": "* Bumped Uvicorn to 0.8.4, fixing a bug where the querystring was not included in the server logs. (#559)\r\n* Fixed bug where the navigation breadcrumbs were not displayed correctly on the page for a custom query. (#558)\r\n* Fixed bug where custom query names containing unicode characters caused errors.\r\n\r\nhttps://datasette.readthedocs.io/en/stable/changelog.html#v0-29-2", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29.1", "id": 18598489, "node_id": "MDc6UmVsZWFzZTE4NTk4NDg5", "tag_name": "0.29.1", "target_commitish": "master", "name": "0.29.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-11T16:17:55Z", "published_at": "2019-07-14T01:43:44Z", "body": "- Fixed bug with static mounts using relative paths which could lead to traversal exploits (#555) - thanks Abdussamet Kocak!\r\n\r\nhttps://datasette.readthedocs.io/en/stable/changelog.html#v0-29-1", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29", "id": 18461320, "node_id": "MDc6UmVsZWFzZTE4NDYxMzIw", "tag_name": "0.29", "target_commitish": "master", "name": "Datasette 0.29", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-08T03:14:27Z", "published_at": "2019-07-08T03:43:13Z", "body": "ASGI, new plugin hooks, facet by date and much, much more\u2026 See [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-29) for full details.", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.3", "id": 18307928, "node_id": "MDc6UmVsZWFzZTE4MzA3OTI4", "tag_name": "1.3", "target_commitish": "master", "name": "1.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-29T06:32:36Z", "published_at": "2019-06-29T06:39:32Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-3", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.2.2", "id": 18226656, "node_id": "MDc6UmVsZWFzZTE4MjI2NjU2", "tag_name": "1.2.2", "target_commitish": "master", "name": "1.2.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-26T04:20:55Z", "published_at": "2019-06-26T04:24:33Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2-2", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.2.1", "id": 18132566, "node_id": "MDc6UmVsZWFzZTE4MTMyNTY2", "tag_name": "1.2.1", "target_commitish": "master", "name": "1.2.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-21T00:01:24Z", "published_at": "2019-06-21T00:06:29Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2-1", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.2", "id": 17961871, "node_id": "MDc6UmVsZWFzZTE3OTYxODcx", "tag_name": "1.2", "target_commitish": "master", "name": "1.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-13T06:39:59Z", "published_at": "2019-06-13T06:42:21Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.1", "id": 17645877, "node_id": "MDc6UmVsZWFzZTE3NjQ1ODc3", "tag_name": "1.1", "target_commitish": "master", "name": "1.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-05-29T05:12:03Z", "published_at": "2019-05-29T05:15:22Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-1\r\n\r\n* Support for `ignore=True` / `--ignore` for ignoring inserted records if the primary key alread exists (#21)\r\n* Ability to add a column that is a foreign key reference using `fk=...` / `--fk` (#16)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.0.1", "id": 17616531, "node_id": "MDc6UmVsZWFzZTE3NjE2NTMx", "tag_name": "1.0.1", "target_commitish": "master", "name": "1.0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-05-28T00:50:28Z", "published_at": "2019-05-28T00:51:21Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-0-1", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.0", "id": 17583581, "node_id": "MDc6UmVsZWFzZTE3NTgzNTgx", "tag_name": "1.0", "target_commitish": "master", "name": "1.0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-05-25T01:06:38Z", "published_at": "2019-05-25T01:19:21Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-0", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.28", "id": 17450414, "node_id": "MDc6UmVsZWFzZTE3NDUwNDE0", "tag_name": "0.28", "target_commitish": "master", "name": "Datasette 0.28", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-05-19T21:37:49Z", "published_at": "2019-05-19T21:42:28Z", "body": "[Datasette 0.28](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) - a salmagundi of new features!\r\n * No longer immutable! Datasette now supports [databases that change](https://datasette.readthedocs.io/en/stable/changelog.html#supporting-databases-that-change).\r\n * [Faceting improvements](https://datasette.readthedocs.io/en/stable/changelog.html#faceting-improvements-and-faceting-plugins) including facet-by-JSON-array and the ability to define custom faceting using plugins.\r\n * [datasette publish cloudrun](https://datasette.readthedocs.io/en/stable/changelog.html#datasette-publish-cloudrun) lets you publish databasese to Google's new Cloud Run hosting service.\r\n * New [register_output_renderer](https://datasette.readthedocs.io/en/stable/changelog.html#register-output-renderer-plugins) plugin hook for adding custom output extensions to Datasette in addition to the default `.json` and `.csv`.\r\n * Dozens of other smaller features and tweaks - see [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) for full details.", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/0.14", "id": 15744513, "node_id": "MDc6UmVsZWFzZTE1NzQ0NTEz", "tag_name": "0.14", "target_commitish": "master", "name": "0.14", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-02-24T23:11:51Z", "published_at": "2019-02-24T23:15:16Z", "body": "https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-14", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null}