html_url,id,node_id,tag_name,target_commitish,name,draft,author,author_label,prerelease,created_at,published_at,assets,body,repo,repo_label https://github.com/simonw/datasette/releases/tag/0.12,8546575,MDc6UmVsZWFzZTg1NDY1NzU=,0.12,master,Datasette 0.12,0,9599,simonw,0,2017-11-16T15:37:46Z,2017-11-16T16:01:35Z,[],"- Added `__version__`, now displayed as tooltip in page footer (#108). - Added initial docs, including a changelog (#99). - Turned on auto-escaping in Jinja. - Added a UI for editing named parameters (#96). You can now construct a custom SQL statement using SQLite named parameters (e.g. `:name`) and datasette will display form fields for editing those parameters. [Here's an example](https://australian-dogs.now.sh/australian-dogs-3ba9628?sql=select+name%2C+count%28*%29+as+n+from+%28%0D%0A%0D%0Aselect+upper%28%22Animal+name%22%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2013%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2014%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2015%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22AnimalName%22%29+as+name+from+%5BCity-of-Port-Adelaide-Enfield-Dog_Registrations_2016%5D+where+AnimalBreed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5BMitcham-dog-registrations-2015%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22DOG_NAME%22%29+as+name+from+%5Bburnside-dog-registrations-2015%5D+where+DOG_BREED+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28%22Animal_Name%22%29+as+name+from+%5Bcity-of-playford-2015-dog-registration%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5Bcity-of-prospect-dog-registration-details-2016%5D+where%22Breed+Description%22+like+%3Abreed%0D%0A%0D%0A%29+group+by+name+order+by+n+desc%3B&breed=pug) which lets you see the most popular names for dogs of different species registered through various dog registration schemes in Australia. - Pin to specific Jinja version. (#100). - Default to 127.0.0.1 not 0.0.0.0. (#98). - Added extra metadata options to publish and package commands. (#92). You can now run these commands like so: datasette now publish mydb.db \ --title=""My Title"" \ --source=""Source"" \ --source_url=""http://www.example.com/"" \ --license=""CC0"" \ --license_url=""https://creativecommons.org/publicdomain/zero/1.0/"" This will write those values into the metadata.json that is packaged with the app. If you also pass `--metadata=metadata.json` that file will be updated with the extra values before being written into the Docker image. - Added simple production-ready Dockerfile (#94) \[Andrew Cutler\] - New `?_sql_time_limit_ms=10` argument to database and table page (#95) - SQL syntax highlighting with Codemirror (#89) \[Tom Dyson\]",107914493,datasette https://github.com/simonw/csvs-to-sqlite/releases/tag/0.3,8556054,MDc6UmVsZWFzZTg1NTYwNTQ=,0.3,master,csvs-to-sqlite 0.3,0,9599,simonw,0,2017-11-17T05:26:07Z,2017-11-17T05:33:39Z,[],"- **Mechanism for converting columns into separate tables** Let's say you have a CSV file that looks like this: county,precinct,office,district,party,candidate,votes Clark,1,President,,REP,John R. Kasich,5 Clark,2,President,,REP,John R. Kasich,0 Clark,3,President,,REP,John R. Kasich,7 (Real example from https://github.com/openelections/openelections-data-sd/blob/ master/2016/20160607__sd__primary__clark__precinct.csv ) You can now convert selected columns into separate lookup tables using the new --extract-column option (shortname: -c) - for example: csvs-to-sqlite openelections-data-*/*.csv \ -c county:County:name \ -c precinct:Precinct:name \ -c office -c district -c party -c candidate \ openelections.db The format is as follows: column_name:optional_table_name:optional_table_value_column_name If you just specify the column name e.g. `-c office`, the following table will be created: CREATE TABLE ""party"" ( ""id"" INTEGER PRIMARY KEY, ""value"" TEXT ); If you specify all three options, e.g. `-c precinct:Precinct:name` the table will look like this: CREATE TABLE ""Precinct"" ( ""id"" INTEGER PRIMARY KEY, ""name"" TEXT ); The original tables will be created like this: CREATE TABLE ""ca__primary__san_francisco__precinct"" ( ""county"" INTEGER, ""precinct"" INTEGER, ""office"" INTEGER, ""district"" INTEGER, ""party"" INTEGER, ""candidate"" INTEGER, ""votes"" INTEGER, FOREIGN KEY (county) REFERENCES County(id), FOREIGN KEY (party) REFERENCES party(id), FOREIGN KEY (precinct) REFERENCES Precinct(id), FOREIGN KEY (office) REFERENCES office(id), FOREIGN KEY (candidate) REFERENCES candidate(id) ); They will be populated with IDs that reference the new derived tables. Closes #2 ",110509816,csvs-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/0.5,8575785,MDc6UmVsZWFzZTg1NzU3ODU=,0.5,master,csvs-to-sqlite 0.5,0,9599,simonw,0,2017-11-19T05:11:27Z,2017-11-19T05:53:25Z,[],"## Now handles columns with integers and nulls in correctly Pandas does a good job of figuring out which SQLite column types should be used for a DataFrame - with one exception: due to a limitation of NumPy it treats columns containing a mixture of integers and NaN (blank values) as being of type float64, which means they end up as REAL columns in SQLite. http://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na To fix this, we now check to see if a float64 column actually consists solely of NaN and integer-valued floats (checked using v.is_integer() in Python). If that is the case, we over-ride the column type to be INTEGER instead. See #5 - also a8ab524 and 0997b7b",110509816,csvs-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/0.6,8651869,MDc6UmVsZWFzZTg2NTE4Njk=,0.6,master,csvs-to-sqlite 0.6,0,9599,simonw,0,2017-11-24T23:12:10Z,2017-11-24T23:16:45Z,[],"## SQLite full-text search support - Added `--fts` option for setting up SQLite full-text search. The `--fts` option will create a corresponding SQLite FTS virtual table, using the best available version of the FTS module. https://sqlite.org/fts5.html https://www.sqlite.org/fts3.html Usage: csvs-to-sqlite my-csv.csv output.db -f column1 -f column2 Example generated with this option: https://sf-trees-search.now.sh/ Example search: https://sf-trees-search.now.sh/sf-trees-search-a899b92?sql=select+*+from+Street_Tree_List+where+rowid+in+%28select+rowid+from+Street_Tree_List_fts+where+Street_Tree_List_fts+match+%27grove+london+dpw%27%29%0D%0A Will be used in https://github.com/simonw/datasette/issues/131 - `--fts` and `--extract-column` now cooperate. If you extract a column and then specify that same column in the `--fts` list, `csvs-to-sqlite` now uses the original value of that column in the index. Example using CSV from https://data.sfgov.org/City-Infrastructure/Street-Tree-List/tkzw-k3nq csvs-to-sqlite Street_Tree_List.csv trees-fts.db \ -c qLegalStatus -c qSpecies -c qSiteInfo \ -c PlantType -c qCaretaker -c qCareAssistant \ -f qLegalStatus -f qSpecies -f qAddress \ -f qSiteInfo -f PlantType -f qCaretaker \ -f qCareAssistant -f PermitNotes Closes #9 - Handle column names with spaces in them. - Added `csvs-to-sqlite --version` option. Using http://click.pocoo.org/5/api/#click.version_option",110509816,csvs-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/0.6.1,8652417,MDc6UmVsZWFzZTg2NTI0MTc=,0.6.1,master,csvs-to-sqlite 0.6.1,0,9599,simonw,0,2017-11-25T02:57:01Z,2017-11-25T02:58:25Z,[],"- `-f and -c` now work for single table multiple columns. Fixes #12 ",110509816,csvs-to-sqlite https://github.com/simonw/datasette/releases/tag/0.13,8652546,MDc6UmVsZWFzZTg2NTI1NDY=,0.13,master,"Datasette 0.13: foreign key, search and filters",0,9599,simonw,0,2017-11-25T03:33:39Z,2017-11-25T03:44:46Z,[],"# 0.13 (2017-11-24) - Search now applies to current filters. Combined search into the same form as filters. Closes [\#133](https://github.com/simonw/datasette/issues/133) - Much tidier design for table view header. Closes [\#147](https://github.com/simonw/datasette/issues/147) - Added `?column__not=blah` filter. Closes [\#148](https://github.c) - Row page now resolves foreign keys. Closes [\#132]() - Further tweaks to select/input filter styling. Refs [\#86]() - thanks for the help, @natbat\! - Show linked foreign key in table cells. - Added UI for editing table filters. Refs [\#86]() - Hide FTS-created tables on index pages. Closes [\#129]() - Add publish to heroku support \[Jacob Kaplan-Moss\] `datasette publish heroku mydb.db` Pull request [\#104]() - Initial implementation of `?_group_count=column`. URL shortcut for counting rows grouped by one or more columns. `?_group_count=column1&_group_count=column2` works as well. SQL generated looks like this: select ""qSpecies"", count(*) as ""count"" from Street_Tree_List group by ""qSpecies"" order by ""count"" desc limit 100 Or for two columns like this: select ""qSpecies"", ""qSiteInfo"", count(*) as ""count"" from Street_Tree_List group by ""qSpecies"", ""qSiteInfo"" order by ""count"" desc limit 100 Refs [\#44]() - Added `--build=master` option to datasette publish and package. The `datasette publish` and `datasette package` commands both now accept an optional `--build` argument. If provided, this can be used to specify a branch published to GitHub that should be built into the container. This makes it easier to test code that has not yet been officially released to PyPI, e.g.: datasette publish now mydb.db --branch=master - Implemented `?_search=XXX` + UI if a FTS table is detected. Closes [\#131]() - Added `datasette --version` support. - Table views now show expanded foreign key references, if possible. If a table has foreign key columns, and those foreign key tables have `label_columns`, the TableView will now query those other tables for the corresponding values and display those values as links in the corresponding table cells. label\_columns are currently detected by the `inspect()` function, which looks for any table that has just two columns - an ID column and one other - and sets the `label_column` to be that second non-ID column. - Don't prevent tabbing to ""Run SQL"" button ([\#117]()) \[Robert Gieseke\] See comment in [\#115]() - Add keyboard shortcut to execute SQL query ([\#115]()) \[Robert Gieseke\] - Allow `--load-extension` to be set via environment variable. - Add support for `?field__isnull=1` ([\#107]()) \[Ray N\] - Add spatialite, switch to debian and local build ([\#114]()) \[Ariel Núñez\] - Added `--load-extension` argument to datasette serve. Allows loading of SQLite extensions. Refs [\#110](). ",107914493,datasette https://github.com/simonw/csvs-to-sqlite/releases/tag/0.7,8656486,MDc6UmVsZWFzZTg2NTY0ODY=,0.7,master,csvs-to-sqlite 0.7,0,9599,simonw,0,2017-11-26T03:11:33Z,2017-11-26T03:14:11Z,[],- Add -s option to specify input field separator (#13) [Jani Monoses],110509816,csvs-to-sqlite https://github.com/simonw/datasette/releases/tag/0.14,8841695,MDc6UmVsZWFzZTg4NDE2OTU=,0.14,master,Datasette 0.14: customization edition,0,9599,simonw,0,2017-12-10T01:33:24Z,2017-12-10T01:41:14Z,[],"The theme of this release is customization: Datasette now allows every aspect of its presentation [to be customized](http://datasette.readthedocs.io/en/latest/custom_templates.html) either using additional CSS or by providing entirely new templates. Datasette's [metadata.json format](http://datasette.readthedocs.io/en/latest/metadata.html) has also been expanded, to allow per-database and per-table metadata. A new `datasette skeleton` command can be used to generate a skeleton JSON file ready to be filled in with per-database and per-table details. The `metadata.json` file can also be used to define [canned queries](http://datasette.readthedocs.io/en/latest/sql_queries.html#canned-queries), as a more powerful alternative to SQL views. - `extra_css_urls`/`extra_js_urls` in metadata A mechanism in the `metadata.json` format for adding custom CSS and JS urls. Create a `metadata.json` file that looks like this: { ""extra_css_urls"": [ ""https://simonwillison.net/static/css/all.bf8cd891642c.css"" ], ""extra_js_urls"": [ ""https://code.jquery.com/jquery-3.2.1.slim.min.js"" ] } Then start datasette like this: datasette mydb.db --metadata=metadata.json The CSS and JavaScript files will be linked in the `
` of every page. You can also specify a SRI (subresource integrity hash) for these assets: { ""extra_css_urls"": [ { ""url"": ""https://simonwillison.net/static/css/all.bf8cd891642c.css"", ""sri"": ""sha384-9qIZekWUyjCyDIf2YK1FRoKiPJq4PHt6tp/ulnuuyRBvazd0hG7pWbE99zvwSznI"" } ], ""extra_js_urls"": [ { ""url"": ""https://code.jquery.com/jquery-3.2.1.slim.min.js"", ""sri"": ""sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g="" } ] } Modern browsers will only execute the stylesheet or JavaScript if the SRI hash matches the content served. You can generate hashes usingThis line renders the original block:
{{ super() }} {% endblock %} - `--static` option for datasette serve ([\#160](https://github.com/simonw/datasette/issues/160)) You can now tell Datasette to serve static files from a specific location at a specific mountpoint. For example: datasette serve mydb.db --static extra-css:/tmp/static/css Now if you visit this URL: http://localhost:8001/extra-css/blah.css The following file will be served: /tmp/static/css/blah.css - Canned query support. Named canned queries can now be defined in `metadata.json` like this: { ""databases"": { ""timezones"": { ""queries"": { ""timezone_for_point"": ""select tzid from timezones ..."" } } } } These will be shown in a new ""Queries"" section beneath ""Views"" on the database page. - New `datasette skeleton` command for generating `metadata.json` ([\#164](https://github.com/simonw/datasette/issues/164)) - `metadata.json` support for per-table/per-database metadata ([\#165](https://github.com/simonw/datasette/issues/165)) Also added support for descriptions and HTML descriptions. Here's an example metadata.json file illustrating custom per-database and per-table metadata: { ""title"": ""Overall datasette title"", ""description_html"": ""This is a description with HTML."", ""databases"": { ""db1"": { ""title"": ""First database"", ""description"": ""This is a string description & has no HTML"", ""license_url"": ""http://example.com/"", ""license"": ""The example license"", ""queries"": { ""canned_query"": ""select * from table1 limit 3;"" }, ""tables"": { ""table1"": { ""title"": ""Custom title for table1"", ""description"": ""Tables can have descriptions too"", ""source"": ""This has a custom source"", ""source_url"": ""http://example.com/"" } } } } } - Renamed `datasette build` command to `datasette inspect` ([\#130](https://github.com/simonw/datasette/issues/130)) - Upgrade to Sanic 0.7.0 ([\#168](https://github.com/simonw/datasette/issues/168))support,0,9599,simonw,0,2019-01-02T04:10:17Z,2019-01-02T04:17:15Z,[]," You can use `{""pre"": ""text""}` to render text in a `` HTML tag: { ""pre"": ""This\nhas\nnewlines"" } Produces:This has newlinesIf the value attached to the `""pre""` key is itself a JSON object, that JSON will be pretty-printed: { ""pre"": { ""this"": { ""object"": [""is"", ""nested""] } } } Produces:{ "this": { "object": [ "is", "nested" ] } }",142967347,datasette-json-html https://github.com/simonw/datasette/releases/tag/0.26,14914779,MDc6UmVsZWFzZTE0OTE0Nzc5,0.26,master,Datasette 0.26,0,9599,simonw,0,2019-01-03T02:53:59Z,2019-01-10T21:41:00Z,[],[Datasette 0.26 release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-26),107914493,datasette https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9,15022807,MDc6UmVsZWFzZTE1MDIyODA3,0.9,master,csvs-to-sqlite 0.9,0,9599,simonw,0,2019-01-17T05:17:02Z,2019-01-17T05:20:23Z,[],"- Support for loading CSVs directly from URLs, thanks @betatim - #38 - New -pk/--primary-key options, closes #22 - Create FTS index for extracted column values - Added --no-fulltext-fks option, closes #32 - Now using black for code formatting - Bumped versions of dependencies",110509816,csvs-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/0.7,15175633,MDc6UmVsZWFzZTE1MTc1NjMz,0.7,master,0.7,0,9599,simonw,0,2019-01-25T07:20:49Z,2019-01-25T07:27:57Z,[],Release notes are here: https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-7,140912432,sqlite-utils https://github.com/simonw/datasette/releases/tag/0.26.1,15206659,MDc6UmVsZWFzZTE1MjA2NjU5,0.26.1,master,Datasette 0.26.1,0,9599,simonw,0,2019-01-11T00:51:38Z,2019-01-28T01:50:45Z,[],Release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-26-1,107914493,datasette https://github.com/simonw/sqlite-utils/releases/tag/0.8,15208430,MDc6UmVsZWFzZTE1MjA4NDMw,0.8,master,0.8,0,9599,simonw,0,2019-01-26T02:13:29Z,2019-01-28T06:28:12Z,[],"Two new commands: `sqlite-utils csv` and `sqlite-utils json` https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-8",140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/0.9,15243253,MDc6UmVsZWFzZTE1MjQzMjUz,0.9,master,0.9,0,9599,simonw,0,2019-01-28T06:34:33Z,2019-01-29T15:30:48Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-9,140912432,sqlite-utils https://github.com/simonw/datasette/releases/tag/0.27,15389392,MDc6UmVsZWFzZTE1Mzg5Mzky,0.27,master,Datasette 0.27,0,9599,simonw,0,2019-02-01T03:47:05Z,2019-02-06T05:10:20Z,[],https://datasette.readthedocs.io/en/stable/changelog.html#v0-27,107914493,datasette https://github.com/simonw/sqlite-utils/releases/tag/0.10,15439849,MDc6UmVsZWFzZTE1NDM5ODQ5,0.10,master,0.10,0,9599,simonw,0,2019-02-07T05:17:52Z,2019-02-08T05:19:33Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-10,140912432,sqlite-utils https://github.com/simonw/db-to-sqlite/releases/tag/0.2,15440165,MDc6UmVsZWFzZTE1NDQwMTY1,0.2,master,0.2,0,9599,simonw,0,2019-02-08T06:01:44Z,2019-02-08T06:07:36Z,[],"`--all` option can now be used to duplicate an entire database, including detecting foreign key relationships. `--table` option called without `--sql` will now mirror the specified table.",166159072,db-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/0.11,15731282,MDc6UmVsZWFzZTE1NzMxMjgy,0.11,master,0.11,0,9599,simonw,0,2019-02-08T05:23:50Z,2019-02-23T02:15:34Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-11,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/0.12,15731354,MDc6UmVsZWFzZTE1NzMxMzU0,0.12,master,0.12,0,9599,simonw,0,2019-02-23T02:22:28Z,2019-02-23T02:31:29Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-12,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/0.13,15739051,MDc6UmVsZWFzZTE1NzM5MDUx,0.13,master,0.13,0,9599,simonw,0,2019-02-24T06:54:43Z,2019-02-24T07:00:14Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-13,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/0.14,15744513,MDc6UmVsZWFzZTE1NzQ0NTEz,0.14,master,0.14,0,9599,simonw,0,2019-02-24T23:11:51Z,2019-02-24T23:15:16Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v0-14,140912432,sqlite-utils https://github.com/simonw/datasette-render-html/releases/tag/0.1,17055917,MDc6UmVsZWFzZTE3MDU1OTE3,0.1,master,,0,9599,simonw,0,2019-04-30T01:55:11Z,2019-04-30T01:59:32Z,[],,184168864,datasette-render-html https://github.com/simonw/datasette/releases/tag/0.28,17450414,MDc6UmVsZWFzZTE3NDUwNDE0,0.28,master,Datasette 0.28,0,9599,simonw,0,2019-05-19T21:37:49Z,2019-05-19T21:42:28Z,[],"[Datasette 0.28](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) - a salmagundi of new features! * No longer immutable! Datasette now supports [databases that change](https://datasette.readthedocs.io/en/stable/changelog.html#supporting-databases-that-change). * [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. * [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. * 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`. * Dozens of other smaller features and tweaks - see [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) for full details.",107914493,datasette https://github.com/simonw/sqlite-utils/releases/tag/1.0,17583581,MDc6UmVsZWFzZTE3NTgzNTgx,1.0,master,1.0,0,9599,simonw,0,2019-05-25T01:06:38Z,2019-05-25T01:19:21Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-0,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.0.1,17616531,MDc6UmVsZWFzZTE3NjE2NTMx,1.0.1,master,1.0.1,0,9599,simonw,0,2019-05-28T00:50:28Z,2019-05-28T00:51:21Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-0-1,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.1,17645877,MDc6UmVsZWFzZTE3NjQ1ODc3,1.1,master,1.1,0,9599,simonw,0,2019-05-29T05:12:03Z,2019-05-29T05:15:22Z,[],"https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-1 * Support for `ignore=True` / `--ignore` for ignoring inserted records if the primary key alread exists (#21) * Ability to add a column that is a foreign key reference using `fk=...` / `--fk` (#16) ",140912432,sqlite-utils https://github.com/simonw/datasette-bplist/releases/tag/0.1,17870990,MDc6UmVsZWFzZTE3ODcwOTkw,0.1,master,0.1,0,9599,simonw,0,2019-06-09T01:14:22Z,2019-06-09T01:19:55Z,[],Initial release.,190950781,datasette-bplist https://github.com/simonw/datasette-render-binary/releases/tag/0.1,17874587,MDc6UmVsZWFzZTE3ODc0NTg3,0.1,master,0.1,0,9599,simonw,0,2019-06-09T16:01:27Z,2019-06-09T16:10:36Z,[],,191022928,datasette-render-binary https://github.com/simonw/sqlite-utils/releases/tag/1.2,17961871,MDc6UmVsZWFzZTE3OTYxODcx,1.2,master,1.2,0,9599,simonw,0,2019-06-13T06:39:59Z,2019-06-13T06:42:21Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2,140912432,sqlite-utils https://github.com/simonw/datasette-render-binary/releases/tag/0.2,17976835,MDc6UmVsZWFzZTE3OTc2ODM1,0.2,master,0.2,0,9599,simonw,0,2019-06-09T16:20:28Z,2019-06-13T16:14:52Z,[],Added screenshot.,191022928,datasette-render-binary https://github.com/simonw/datasette-render-binary/releases/tag/0.3,17976887,MDc6UmVsZWFzZTE3OTc2ODg3,0.3,master,0.3,0,9599,simonw,0,2019-06-13T16:14:18Z,2019-06-13T16:16:36Z,[],"Now uses the [filetype](https://pypi.org/project/filetype/) module to suggest a possible format. ",191022928,datasette-render-binary https://github.com/simonw/datasette-json-html/releases/tag/0.5,17987324,MDc6UmVsZWFzZTE3OTg3MzI0,0.5,master,0.5 - tooltips and demos,0,9599,simonw,0,2019-06-14T01:29:34Z,2019-06-14T01:33:44Z,[],"Links can now have tooltips (#2): ``` { ""href"": ""https://simonwillison.net/"", ""label"": ""Simon Willison"", ""title"": ""My blog"" } ``` Also added [a live demo](https://datasette-json-html.datasette.io/demo?sql=select+%27%7B%0D%0A++++%22href%22%3A+%22https%3A%2F%2Fsimonwillison.net%2F%22%2C%0D%0A++++%22label%22%3A+%22Simon+Willison%22%2C%0D%0A++++%22title%22%3A+%22My+blog%22%0D%0A%7D%27) and linked to it throughout the README (#3, #1)",142967347,datasette-json-html https://github.com/simonw/sqlite-utils/releases/tag/1.2.1,18132566,MDc6UmVsZWFzZTE4MTMyNTY2,1.2.1,master,1.2.1,0,9599,simonw,0,2019-06-21T00:01:24Z,2019-06-21T00:06:29Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2-1,140912432,sqlite-utils https://github.com/simonw/yaml-to-sqlite/releases/tag/0.2,18169270,MDc6UmVsZWFzZTE4MTY5Mjcw,0.2,master,0.2,0,9599,simonw,0,2019-06-23T22:55:32Z,2019-06-23T22:55:50Z,[],Better README,175550127,yaml-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9.1,18185234,MDc6UmVsZWFzZTE4MTg1MjM0,0.9.1,master,csvs-to-sqlite 0.9.1,0,9599,simonw,0,2019-06-24T15:16:54Z,2019-06-24T15:21:12Z,[],* Fixed bug where `-f` option used FTS4 even when FTS5 was available (#41),110509816,csvs-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/1.2.2,18226656,MDc6UmVsZWFzZTE4MjI2NjU2,1.2.2,master,1.2.2,0,9599,simonw,0,2019-06-26T04:20:55Z,2019-06-26T04:24:33Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-2-2,140912432,sqlite-utils https://github.com/simonw/db-to-sqlite/releases/tag/0.3,18242211,MDc6UmVsZWFzZTE4MjQyMjEx,0.3,master,0.3,0,9599,simonw,0,2019-02-24T21:59:42Z,2019-06-26T15:54:56Z,[],Anchor to sqlite-utils==0.13 to pick up a breaking change.,166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/0.4,18242248,MDc6UmVsZWFzZTE4MjQyMjQ4,0.4,master,0.4,0,9599,simonw,0,2019-02-24T23:44:01Z,2019-06-26T15:55:54Z,[],"* Create `--all` tables in toposort order * Depend on sqlite-utils version 0.14 or higher ",166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/0.5,18242294,MDc6UmVsZWFzZTE4MjQyMjk0,0.5,master,0.5,0,9599,simonw,0,2019-06-26T15:44:35Z,2019-06-26T15:57:17Z,[],"* Foreign keys are now all added at the end, which means we can support circular foreign key references #1 * Dropped dependency on `toposort` * Added `--all --skip=table` option for skipping one or more tables when running `--all`",166159072,db-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/1.3,18307928,MDc6UmVsZWFzZTE4MzA3OTI4,1.3,master,1.3,0,9599,simonw,0,2019-06-29T06:32:36Z,2019-06-29T06:39:32Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-3,140912432,sqlite-utils https://github.com/simonw/db-to-sqlite/releases/tag/0.6,18310609,MDc6UmVsZWFzZTE4MzEwNjA5,0.6,master,0.6,0,9599,simonw,0,2019-06-29T15:18:30Z,2019-06-29T15:27:18Z,[],"- `--all` can now add many foreign key relationships without a `VACUUM` between each one, #8 - Added unit tests against MySQL, refs #5",166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/0.7,18312451,MDc6UmVsZWFzZTE4MzEyNDUx,0.7,master,0.7,0,9599,simonw,0,2019-06-29T21:27:30Z,2019-06-29T21:31:00Z,[],"- Support `pip install db-to-sqlite[postgresql]` #4 - Documentation for both that and `pip install db-to-sqlite[mysql]`",166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/0.8,18312546,MDc6UmVsZWFzZTE4MzEyNTQ2,0.8,master,0.8,0,9599,simonw,0,2019-06-29T21:52:48Z,2019-06-29T21:53:58Z,[],* Added `--progress` option to show progress bars during import - #7 ,166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/1.0,18320205,MDc6UmVsZWFzZTE4MzIwMjA1,1.0,master,1.0,0,9599,simonw,0,2019-07-01T01:23:17Z,2019-07-01T01:32:47Z,[],"See the [README](https://github.com/simonw/db-to-sqlite/blob/1.0/README.md) for full usage instructions. * Instead of using `--connection` the connection string is now a required positional argument, #14 * `--sql` must now be accompanied by `--output` specifying the table the query results should be written to * `--redact tablename columnname` option can be used to redact values, #2 * Foreign keys are now created with indexes, use `--no-index-fks` to disable this, #12 * `--table` can now be used multiple times, #6 * README and `--help` now include example connection strings * README also details how this can be used with Heroku Postgres",166159072,db-to-sqlite https://github.com/simonw/db-to-sqlite/releases/tag/1.0.1,18321523,MDc6UmVsZWFzZTE4MzIxNTIz,1.0.1,master,1.0.1,0,9599,simonw,0,2019-07-01T04:08:01Z,2019-07-01T04:09:04Z,[],* Improvements to README,166159072,db-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9.2,18377238,MDc6UmVsZWFzZTE4Mzc3MjM4,0.9.2,master,csvs-to-sqlite 0.9.2,0,9599,simonw,0,2019-07-03T04:36:26Z,2019-07-03T04:37:15Z,[],Bumped dependencies and pinned pytest to version 4 (5 is incompatible with Python 2.7).,110509816,csvs-to-sqlite https://github.com/simonw/datasette-auth-github/releases/tag/0.1,18441103,MDc6UmVsZWFzZTE4NDQxMTAz,0.1,master,0.1,0,9599,simonw,0,2019-07-04T15:05:34Z,2019-07-05T15:58:24Z,[],Initial working release.,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.1.1,18441133,MDc6UmVsZWFzZTE4NDQxMTMz,0.1.1,master,0.1.1,0,9599,simonw,0,2019-07-05T15:58:48Z,2019-07-05T16:00:07Z,[],Outbound calls to the GitHub API are now non-blocking (using [http3](https://github.com/encode/http3)) - #8,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.2,18451662,MDc6UmVsZWFzZTE4NDUxNjYy,0.2,master,0.2,0,9599,simonw,0,2019-07-06T17:11:39Z,2019-07-06T17:14:02Z,[],"* `/-/logout` URL for logging out #7 * Custom navigation showing login state #5 * Restored ASGI lifespan support #10 * `disable_auto_login` setting #9 * `Cache-Control: private` #6",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.3,18451672,MDc6UmVsZWFzZTE4NDUxNjcy,0.3,master,0.3,0,9599,simonw,0,2019-07-06T17:14:58Z,2019-07-06T17:15:29Z,[],* Ability to restrict access to specific users or members of specific GitHub organizations #4,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.3.1,18451716,MDc6UmVsZWFzZTE4NDUxNzE2,0.3.1,master,0.3.1,0,9599,simonw,0,2019-07-06T17:27:03Z,2019-07-06T17:27:46Z,[],* Fixed bug where we were requesting the incorrect OAuth scope when using `allow_orgs` #14 ,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.3.2,18452996,MDc6UmVsZWFzZTE4NDUyOTk2,0.3.2,master,0.3.2,0,9599,simonw,0,2019-07-06T20:18:37Z,2019-07-06T22:01:45Z,[],* Fixed bug where custom template was not correctly included in the package #15,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.4,18453004,MDc6UmVsZWFzZTE4NDUzMDA0,0.4,master,0.4,0,9599,simonw,0,2019-07-06T22:02:38Z,2019-07-06T22:03:41Z,[],"* More compact JSON encoding for authentication cookie value * Support single string values for `allow_users`/`allow_orgs` options, #16 ",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.5,18453939,MDc6UmVsZWFzZTE4NDUzOTM5,0.5,master,0.5,0,9599,simonw,0,2019-07-07T02:35:09Z,2019-07-07T02:37:16Z,[],"* New `allow_teams` configuration option for restricting access to members of a GitHub team - #11 * Signed cookies expire after a TTL (customize with new `cooke_ttl` setting) - #22 * Documentation on using this as ASGI middleware - #19 * Avoid 404 on `/-/auth-callback` if user is logged in - #24 * Added `cookie_version` setting for invalidating all cookies - #18",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.6,18458558,MDc6UmVsZWFzZTE4NDU4NTU4,0.6,master,0.6,0,9599,simonw,0,2019-07-07T19:41:27Z,2019-07-07T19:41:47Z,[],"* Redirects back to where you were after you login, using a new `asgi_auth_redirect` cookie - #26 * Unset asgi_auth_logout cookie when you sign in again - #28 * Fixed bug where API call to GitHub intermittently failed with `ConnectionResetError` - #27 * More robust creation of derived cookie signing secret using `hashlib.pbkdf2_hmac` * HTML pages now served with `charset=UTF-8` - #30 ",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.6.1,18458837,MDc6UmVsZWFzZTE4NDU4ODM3,0.6.1,master,0.6.1,0,9599,simonw,0,2019-07-07T20:38:42Z,2019-07-07T20:39:19Z,[],Minor code clean-up and updated one-line description for PyPI / README.,195087137,datasette-auth-github https://github.com/simonw/datasette/releases/tag/0.29,18461320,MDc6UmVsZWFzZTE4NDYxMzIw,0.29,master,Datasette 0.29,0,9599,simonw,0,2019-07-08T03:14:27Z,2019-07-08T03:43:13Z,[],"ASGI, new plugin hooks, facet by date and much, much more… See [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-29) for full details.",107914493,datasette https://github.com/simonw/datasette-auth-github/releases/tag/0.6.2,18461352,MDc6UmVsZWFzZTE4NDYxMzUy,0.6.2,master,0.6.2,0,9599,simonw,0,2019-07-08T03:47:16Z,2019-07-08T03:47:38Z,[],Updated README for PyPI,195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.6.3,18476766,MDc6UmVsZWFzZTE4NDc2NzY2,0.6.3,master,0.6.3,0,9599,simonw,0,2019-07-08T16:51:01Z,2019-07-08T16:51:39Z,[],"Additional documentation on `scope[""auth""]` when using as ASGI middleware.",195087137,datasette-auth-github https://github.com/simonw/datasette-cors/releases/tag/0.3,18542137,MDc6UmVsZWFzZTE4NTQyMTM3,0.3,master,0.3,0,9599,simonw,0,2019-07-11T04:40:37Z,2019-07-11T04:43:24Z,[],Now with unit tests! #1,195696804,datasette-cors https://github.com/simonw/datasette-auth-github/releases/tag/0.7,18555982,MDc6UmVsZWFzZTE4NTU1OTgy,0.7,master,0.7,0,9599,simonw,0,2019-07-11T15:05:54Z,2019-07-11T15:07:15Z,[],"* New `require_auth` configuration option. This defaults to `True` (reflecting existing behaviour) when `datasette-auth-github` is used as a Datasette plugin, but it defaults to `False` if you use the wrapper ASGI middleware class directly. #37",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.8,18596695,MDc6UmVsZWFzZTE4NTk2Njk1,0.8,master,0.8,0,9599,simonw,0,2019-07-13T18:39:34Z,2019-07-13T18:43:06Z,[],"Now compatible with Python 3.5, which means it can run on Glitch! https://datasette-auth-github-demo.glitch.me/ #38 This also means we now have no installation dependencies, since the code now uses the standard library to make API calls instead of depending on [http3](https://github.com/encode/http3). #40",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.9,18598299,MDc6UmVsZWFzZTE4NTk4Mjk5,0.9,master,0.9,0,9599,simonw,0,2019-07-14T00:40:16Z,2019-07-14T00:41:33Z,[],"- Explicit log in screen now includes SVG GitHub logo on the button - #42 - Default signed cookie TTL is now 1 hour, not 24 hours - #43",195087137,datasette-auth-github https://github.com/simonw/datasette-auth-github/releases/tag/0.9.1,18598348,MDc6UmVsZWFzZTE4NTk4MzQ4,0.9.1,master,0.9.1,0,9599,simonw,0,2019-07-14T00:58:35Z,2019-07-14T00:59:24Z,[],- Updated documentation to reflect new one hour `cookie_ttl` default - #43,195087137,datasette-auth-github https://github.com/simonw/datasette/releases/tag/0.29.1,18598489,MDc6UmVsZWFzZTE4NTk4NDg5,0.29.1,master,0.29.1,0,9599,simonw,0,2019-07-11T16:17:55Z,2019-07-14T01:43:44Z,[],"- Fixed bug with static mounts using relative paths which could lead to traversal exploits (#555) - thanks Abdussamet Kocak! https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-1",107914493,datasette https://github.com/simonw/sqlite-utils/releases/tag/1.6,18723202,MDc6UmVsZWFzZTE4NzIzMjAy,1.6,master,1.6,0,9599,simonw,0,2019-07-19T04:51:21Z,2019-07-19T05:36:48Z,[],"- `sqlite-utils insert` can now accept TSV data via the new `--tsv` option (#41) ",140912432,sqlite-utils https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.1,18750551,MDc6UmVsZWFzZTE4NzUwNTUx,0.1,master,Initial release,0,9599,simonw,0,2019-07-20T06:22:57Z,2019-07-20T16:43:09Z,[],,197882382,healthkit-to-sqlite https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.2,18750559,MDc6UmVsZWFzZTE4NzUwNTU5,0.2,master,0.2,0,9599,simonw,0,2019-07-20T16:44:05Z,2019-07-20T16:44:41Z,[],Fixed a bug where duplicate records could crash the import.,197882382,healthkit-to-sqlite https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3,18762495,MDc6UmVsZWFzZTE4NzYyNDk1,0.3,master,0.3,0,9599,simonw,0,2019-07-22T03:31:54Z,2019-07-22T03:33:32Z,[],"- Tool now displays a progress bar during import - you can disable it with `--silent` #5 - You can pass a path to a decompressed XML file instead of a zip file, using `--xml` - Records table is now broken up into different tables for each type of recorded data #6",197882382,healthkit-to-sqlite https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3.1,18823859,MDc6UmVsZWFzZTE4ODIzODU5,0.3.1,master,0.3.1,0,9599,simonw,0,2019-07-24T06:33:22Z,2019-07-24T06:38:36Z,[],Uses less RAM - see #7 ,197882382,healthkit-to-sqlite https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3.2,18881253,MDc6UmVsZWFzZTE4ODgxMjUz,0.3.2,master,0.3.2,0,9599,simonw,0,2019-07-26T06:02:30Z,2019-07-26T06:12:12Z,[],Fix for #9 - Too many SQL variables bug,197882382,healthkit-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/1.7,18911392,MDc6UmVsZWFzZTE4OTExMzky,1.7,master,1.7,0,9599,simonw,0,2019-07-24T06:50:41Z,2019-07-28T12:03:21Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-7,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.7.1,18911404,MDc6UmVsZWFzZTE4OTExNDA0,1.7.1,master,1.7.1,0,9599,simonw,0,2019-07-28T12:00:51Z,2019-07-28T12:05:36Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-7-1,140912432,sqlite-utils https://github.com/simonw/db-to-sqlite/releases/tag/1.0.2,19054897,MDc6UmVsZWFzZTE5MDU0ODk3,1.0.2,master,1.0.2,0,9599,simonw,0,2019-08-03T04:01:00Z,2019-08-03T04:09:41Z,[],Fix for #18 - no longer throws error on empty tables,166159072,db-to-sqlite https://github.com/simonw/csvs-to-sqlite/releases/tag/1.0,19056866,MDc6UmVsZWFzZTE5MDU2ODY2,1.0,master,csvs-to-sqlite 1.0,0,9599,simonw,0,2019-08-03T10:50:48Z,2019-08-03T10:58:15Z,[],This release drops support for Python 2.x #55,110509816,csvs-to-sqlite https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.1,19669553,MDc6UmVsZWFzZTE5NjY5NTUz,0.1,master,0.1,0,9599,simonw,0,2019-08-31T02:46:58Z,2019-08-31T02:58:32Z,[],First usable release.,205429375,swarm-to-sqlite https://github.com/simonw/datasette/releases/tag/0.29.2,19704661,MDc6UmVsZWFzZTE5NzA0NjYx,0.29.2,master,0.29.2,0,9599,simonw,0,2019-07-14T03:04:05Z,2019-09-03T00:33:35Z,[],"* Bumped Uvicorn to 0.8.4, fixing a bug where the querystring was not included in the server logs. (#559) * Fixed bug where the navigation breadcrumbs were not displayed correctly on the page for a custom query. (#558) * Fixed bug where custom query names containing unicode characters caused errors. https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-2",107914493,datasette https://github.com/simonw/sqlite-utils/releases/tag/1.8,19704736,MDc6UmVsZWFzZTE5NzA0NzM2,1.8,master,1.8,0,9599,simonw,0,2019-07-28T15:41:42Z,2019-09-03T00:45:42Z,[],https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-8,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.9,19704739,MDc6UmVsZWFzZTE5NzA0NzM5,1.9,master,1.9,0,9599,simonw,0,2019-08-04T03:35:30Z,2019-09-03T00:46:02Z,[],https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-9,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.10,19704743,MDc6UmVsZWFzZTE5NzA0NzQz,1.10,master,1.10,0,9599,simonw,0,2019-08-23T12:24:04Z,2019-09-03T00:46:27Z,[],https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-10,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.11,19704889,MDc6UmVsZWFzZTE5NzA0ODg5,1.11,master,1.11,0,9599,simonw,0,2019-09-03T00:58:41Z,2019-09-03T01:03:27Z,[],https://sqlite-utils.readthedocs.io/en/stable/changelog.html#v1-11,140912432,sqlite-utils https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.1a,19763160,MDc6UmVsZWFzZTE5NzYzMTYw,0.1a,master,Alpha release,0,9599,simonw,0,2019-09-03T20:42:38Z,2019-09-04T22:08:18Z,[],,206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.2,19763185,MDc6UmVsZWFzZTE5NzYzMTg1,0.2,master,0.2,0,9599,simonw,0,2019-09-04T21:17:34Z,2019-09-04T22:09:46Z,[],Full text search for tweets table,206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.3,19763200,MDc6UmVsZWFzZTE5NzYzMjAw,0.3,master,0.3,0,9599,simonw,0,2019-09-04T22:10:07Z,2019-09-04T22:11:01Z,[],"Extract places and media into separate tables Demo: https://twitter-to-sqlite-demo.now.sh/",206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.4,19865891,MDc6UmVsZWFzZTE5ODY1ODkx,0.4,master,0.4,0,9599,simonw,0,2019-09-09T22:41:25Z,2019-09-09T22:43:05Z,[],"* New `users-lookup` command for fetching multiple user profiles, including using new `--sql` and `--attach` options * New `list-members` subcommand for fetching members of a list * Added `stop_after` option to `user-timeline` command",206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.5,19889174,MDc6UmVsZWFzZTE5ODg5MTc0,0.5,master,0.5,0,9599,simonw,0,2019-09-10T17:38:46Z,2019-09-10T17:39:47Z,[],* Added `followers-ids` and `friends-ids` subcommands,206156866,twitter-to-sqlite https://github.com/simonw/datasette-rure/releases/tag/0.1,19890182,MDc6UmVsZWFzZTE5ODkwMTgy,0.1,master,0.1,0,9599,simonw,0,2019-09-10T18:15:45Z,2019-09-10T18:17:42Z,[],First working version,207630174,datasette-rure https://github.com/simonw/datasette-rure/releases/tag/0.2,19899411,MDc6UmVsZWFzZTE5ODk5NDEx,0.2,master,0.2,0,9599,simonw,0,2019-09-11T03:24:21Z,2019-09-11T03:25:22Z,[],"* Added regexp_match() function, #1 * Added regexp_matches() function, #2",207630174,datasette-rure https://github.com/simonw/datasette-rure/releases/tag/0.3,19927123,MDc6UmVsZWFzZTE5OTI3MTIz,0.3,master,0.3,0,9599,simonw,0,2019-09-11T22:58:20Z,2019-09-11T23:00:32Z,[],"* Documentation now links to interactive demos * Now uses an LRU cache for compiled regular expressions, which can give a 10x speedup on queries #3",207630174,datasette-rure https://github.com/dogsheep/github-to-sqlite/releases/tag/0.1.1,19993251,MDc6UmVsZWFzZTE5OTkzMjUx,0.1.1,master,0.1.1,0,9599,simonw,0,2019-09-14T19:19:33Z,2019-09-14T19:42:08Z,[],* Fix bug in authentication handling code,207052882,github-to-sqlite https://github.com/dogsheep/github-to-sqlite/releases/tag/0.2,19993751,MDc6UmVsZWFzZTE5OTkzNzUx,0.2,master,0.2,0,9599,simonw,0,2019-09-14T21:31:17Z,2019-09-14T21:32:34Z,[],"* Added the `github-to-sqlite starred` command for retrieving starred repos, #1 ",207052882,github-to-sqlite https://github.com/dogsheep/github-to-sqlite/releases/tag/0.3,19993820,MDc6UmVsZWFzZTE5OTkzODIw,0.3,master,0.3,0,9599,simonw,0,2019-09-14T21:49:27Z,2019-09-14T21:50:01Z,[],"* `license` is now extracted from the `repos` table into a separate `licenses` table with a foreign key, #2 ",207052882,github-to-sqlite https://github.com/dogsheep/github-to-sqlite/releases/tag/0.4,20031553,MDc6UmVsZWFzZTIwMDMxNTUz,0.4,master,0.4,0,9599,simonw,0,2019-09-17T00:18:37Z,2019-09-17T00:19:42Z,[],"* Added `github-to-sqlite repos` command, #3 ",207052882,github-to-sqlite https://github.com/simonw/datasette-atom/releases/tag/0.1a,20051401,MDc6UmVsZWFzZTIwMDUxNDAx,0.1a,master,0.1a,0,9599,simonw,1,2019-09-17T15:34:27Z,2019-09-17T15:40:22Z,[],Initial work in progress,209091256,datasette-atom https://github.com/dogsheep/genome-to-sqlite/releases/tag/0.1,20114205,MDc6UmVsZWFzZTIwMTE0MjA1,0.1,master,0.1,0,9599,simonw,0,2019-09-19T15:38:10Z,2019-09-19T15:41:17Z,[],First release,209590345,genome-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.6,20497186,MDc6UmVsZWFzZTIwNDk3MTg2,0.6,master,0.6,0,9599,simonw,0,2019-10-06T04:49:17Z,2019-10-06T04:52:18Z,[],"* 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. * Documentation for `--sql` and `--attach`, refs #8",206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.7,20504543,MDc6UmVsZWFzZTIwNTA0NTQz,0.7,master,0.7,0,9599,simonw,0,2019-10-07T00:32:08Z,2019-10-07T00:33:28Z,[],* New `statuses-lookup` command for bulk fetching tweets by their IDs - #13 ,206156866,twitter-to-sqlite https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.1,20506896,MDc6UmVsZWFzZTIwNTA2ODk2,0.1,master,0.1,0,9599,simonw,0,2019-10-07T05:07:37Z,2019-10-07T05:18:20Z,[],Initial release,213286752,pocket-to-sqlite https://github.com/simonw/datasette-auth-github/releases/tag/0.10,20521948,MDc6UmVsZWFzZTIwNTIxOTQ4,0.10,master,0.10,0,9599,simonw,0,2019-10-07T15:36:41Z,2019-10-07T15:40:02Z,[],* New `cacheable_prefixes` mechanism to avoid performance issues caused by adding `cache-control: private` to static assets - #47,195087137,datasette-auth-github https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.8,20631452,MDc6UmVsZWFzZTIwNjMxNDUy,0.8,master,0.8,0,9599,simonw,0,2019-10-11T06:45:21Z,2019-10-11T06:46:52Z,[],* 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).,206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.9,20646519,MDc6UmVsZWFzZTIwNjQ2NTE5,0.9,master,0.9,0,9599,simonw,0,2019-10-11T16:55:10Z,2019-10-11T16:57:25Z,[],"* New `twitter-to-sqlite home-timeline` command, for retrieving your timeline of tweets from people you follow - #18 * `twitter-to-sqlite import` created tables now use the `archive_` prefix instead of `archive-`, for easier querying * Running `twitter-to-sqlite import` now deletes existing `archive_` tables and recreates them - #17",206156866,twitter-to-sqlite https://github.com/dogsheep/github-to-sqlite/releases/tag/0.5,20663605,MDc6UmVsZWFzZTIwNjYzNjA1,0.5,master,0.5,0,9599,simonw,0,2019-10-13T05:28:24Z,2019-10-13T05:30:05Z,[],"* New command: `github-to-sqlite issue-comments` for importing comments on issues - #7 * `github-to-sqlite issues` now accepts optional `--issue=1` argument * Fixed bug inserting users into already-created table with wrong columns - #6",207052882,github-to-sqlite https://github.com/simonw/datasette-render-timestamps/releases/tag/0.1,20685181,MDc6UmVsZWFzZTIwNjg1MTgx,0.1,master,0.1,0,9599,simonw,0,2019-10-10T22:53:49Z,2019-10-14T14:51:38Z,[],Initial release,214299267,datasette-render-timestamps https://github.com/simonw/datasette-render-timestamps/releases/tag/0.2,20685215,MDc6UmVsZWFzZTIwNjg1MjE1,0.2,master,0.2,0,9599,simonw,0,2019-10-14T14:51:18Z,2019-10-14T14:52:55Z,[],"* Ability to [configure date format](https://github.com/simonw/datasette-render-timestamps/blob/0.2/README.md#configuration) - (pull request #1). Thanks, @chris48s! ",214299267,datasette-render-timestamps https://github.com/simonw/datasette-leaflet-geojson/releases/tag/0.3,20686035,MDc6UmVsZWFzZTIwNjg2MDM1,0.3,master,0.3,0,9599,simonw,0,2019-10-14T15:13:15Z,2019-10-14T15:18:48Z,[],"* Fixed bug displaying multiple polygon maps on a page - #4 - thanks, @chris48s * Upgraded Leaflet to 1.5.1 - #5 - thanks, @chris48s",135007287,datasette-leaflet-geojson https://github.com/simonw/datasette-auth-github/releases/tag/0.11,20687261,MDc6UmVsZWFzZTIwNjg3MjYx,0.11,master,0.11,0,9599,simonw,0,2019-10-14T15:25:24Z,2019-10-14T16:06:25Z,[],"* Subclasses can now customize the creation of the redirect cookie - #49 - thanks, @ananis25",195087137,datasette-auth-github https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.10,20721291,MDc6UmVsZWFzZTIwNzIxMjkx,0.10,master,0.10,0,9599,simonw,0,2019-10-15T18:53:53Z,2019-10-15T18:56:09Z,[],"* favorites command now populates `favorited_by` table - #14 * favorites `--stop_after` option - #20 * Store unescaped `full_text` of Tweet - #21 ",206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11,20754277,MDc6UmVsZWFzZTIwNzU0Mjc3,0.11,master,0.11,0,9599,simonw,0,2019-10-16T19:37:10Z,2019-10-16T19:38:42Z,[],"* Added `--since_id` and `--since` to `user-timeline` command, refs #20 * `--since` and `--since_id` options for `home-timeline`, closes #19 * `import` command now works on files and directories, closes #22 ",206156866,twitter-to-sqlite https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.2,20755954,MDc6UmVsZWFzZTIwNzU1OTU0,0.2,master,0.2,0,9599,simonw,0,2019-10-16T20:40:25Z,2019-10-16T20:40:55Z,[],"* Added --since option, closes #3 ",205429375,swarm-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11.1,20758324,MDc6UmVsZWFzZTIwNzU4MzI0,0.11.1,master,0.11.1,0,9599,simonw,0,2019-10-16T19:46:35Z,2019-10-16T22:31:51Z,[],"* Fix bugs running `home-timeline --since` from scratch. If tables were missing, script would throw an error.",206156866,twitter-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.12,20783590,MDc6UmVsZWFzZTIwNzgzNTkw,0.12,master,0.12,0,9599,simonw,0,2019-10-17T17:57:33Z,2019-10-17T18:00:28Z,[],"* The `source` column for a tweet is now a foreign key to a new `sources` table - #12 * New migrations system to upgrade existing databases to handle the new `source` column extraction - #23 * 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 * Fixed bug where sometimes a user record for the authenticated user was not persisted to the `users` table",206156866,twitter-to-sqlite https://github.com/simonw/datasette/releases/tag/0.29.3,20795250,MDc6UmVsZWFzZTIwNzk1MjUw,0.29.3,master,0.29.3,0,9599,simonw,0,2019-09-03T00:40:53Z,2019-10-18T05:24:54Z,[],https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-3,107914493,datasette https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.13,21073645,MDc6UmVsZWFzZTIxMDczNjQ1,0.13,master,0.13,0,9599,simonw,0,2019-10-30T02:20:09Z,2019-10-30T02:22:30Z,[],- New `mentions-timeline` command (#26),206156866,twitter-to-sqlite https://github.com/simonw/datasette/releases/tag/0.30,21098052,MDc6UmVsZWFzZTIxMDk4MDUy,0.30,master,0.30,0,9599,simonw,0,2019-10-19T01:08:04Z,2019-10-30T18:51:30Z,[],https://datasette.readthedocs.io/en/stable/changelog.html#v0-30,107914493,datasette https://github.com/simonw/datasette/releases/tag/0.30.1,21162064,MDc6UmVsZWFzZTIxMTYyMDY0,0.30.1,master,0.30.1,0,9599,simonw,0,2019-10-30T19:00:21Z,2019-11-02T00:06:02Z,[],https://datasette.readthedocs.io/en/stable/changelog.html#v0-30-1,107914493,datasette https://github.com/simonw/datasette-leaflet-geojson/releases/tag/0.4,21162720,MDc6UmVsZWFzZTIxMTYyNzIw,0.4,master,0.4,0,9599,simonw,0,2019-11-02T01:45:52Z,2019-11-02T01:48:09Z,[],"- Fixed bug where plugin fails to render a map if the cell value was truncated (#3) - Fixed incompatibility when loaded in the same environment as `datasette-pretty-json` (#6)",135007287,datasette-leaflet-geojson https://github.com/simonw/datasette-cluster-map/releases/tag/0.7,21163426,MDc6UmVsZWFzZTIxMTYzNDI2,0.7,master,0.7,0,9599,simonw,0,2019-11-02T03:35:00Z,2019-11-02T03:54:36Z,[],"- Upgraded Leaflet to 1.5.1 - Upgraded leaflet.markercluster to 1.4.1 This fixes a bug where `datasette-cluster-map` and [datasette-leaflet-geojson](https://github.com/simonw/datasette-leaflet-geojson) could not run within the same Datasette instance.",130236762,datasette-cluster-map https://github.com/simonw/datasette/releases/tag/0.30.2,21169835,MDc6UmVsZWFzZTIxMTY5ODM1,0.30.2,master,0.30.2,0,9599,simonw,0,2019-11-02T23:12:46Z,2019-11-02T23:33:13Z,[],https://datasette.readthedocs.io/en/latest/changelog.html#v0-30-2,107914493,datasette https://github.com/simonw/sqlite-transform/releases/tag/0.1,21179411,MDc6UmVsZWFzZTIxMTc5NDEx,0.1,master,0.1,0,9599,simonw,0,2019-11-04T01:07:27Z,2019-11-04T02:19:37Z,[],"- First release, supporting only the `parsedatetime` command.",219372133,sqlite-transform https://github.com/simonw/sqlite-transform/releases/tag/0.2,21179472,MDc6UmVsZWFzZTIxMTc5NDcy,0.2,master,0.2,0,9599,simonw,0,2019-11-04T02:21:24Z,2019-11-04T02:26:57Z,[],"- Added `lambda` command, which lets you specify a Python expression (or multiple lines of code) to be executed against every value in the column. [Documentation here](https://github.com/simonw/sqlite-transform/blob/0.2/README.md#lambda-for-executing-your-own-code). (#2) - Added a `parsedate` command, which works like `parsedatetime` except it outputs just the date component. (#1)",219372133,sqlite-transform https://github.com/simonw/sqlite-transform/releases/tag/0.3,21180593,MDc6UmVsZWFzZTIxMTgwNTkz,0.3,master,0.3,0,9599,simonw,0,2019-11-04T04:37:39Z,2019-11-04T04:39:06Z,[],"- `return` is now optional for one-line lambdas, e.g. ``` sqlite-transform lambda my.db mytable mycolumn --code='str(value).upper()' ```",219372133,sqlite-transform https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.14,21180989,MDc6UmVsZWFzZTIxMTgwOTg5,0.14,master,0.14,0,9599,simonw,0,2019-11-04T05:32:37Z,2019-11-04T05:33:56Z,[],"* `search` command gained `--since_id` and `--since` options, for retrieving tweets since the last time the search was run * `search` command is [now documented](https://github.com/dogsheep/twitter-to-sqlite/blob/0.14/README.md#running-searches). Closes #3.",206156866,twitter-to-sqlite https://github.com/simonw/sqlite-utils/releases/tag/1.12,21276745,MDc6UmVsZWFzZTIxMjc2NzQ1,1.12,master,1.12,0,9599,simonw,0,2019-11-04T16:28:52Z,2019-11-07T05:00:24Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12,140912432,sqlite-utils https://github.com/simonw/sqlite-utils/releases/tag/1.12.1,21276749,MDc6UmVsZWFzZTIxMjc2NzQ5,1.12.1,master,1.12.1,0,9599,simonw,0,2019-11-07T04:58:47Z,2019-11-07T05:00:55Z,[],https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12-1,140912432,sqlite-utils https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.4,21306693,MDc6UmVsZWFzZTIxMzA2Njkz,0.4,master,0.4,0,9599,simonw,0,2019-11-08T01:19:23Z,2019-11-08T01:19:51Z,[],* Fixed workout latitude/longitude points import for iOS 13 - #10,197882382,healthkit-to-sqlite https://github.com/simonw/yaml-to-sqlite/releases/tag/0.2.1,21310374,MDc6UmVsZWFzZTIxMzEwMzc0,0.2.1,master,0.2.1,0,9599,simonw,0,2019-11-08T06:43:41Z,2019-11-08T06:46:02Z,[],* Better help for `--pk`,175550127,yaml-to-sqlite https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.15,21342008,MDc6UmVsZWFzZTIxMzQyMDA4,0.15,master,0.15,0,9599,simonw,0,2019-11-09T20:12:32Z,2019-11-09T20:13:07Z,[],"- Import command no longer fails on empty files - #29 - Fixed bug in `followers` command - #30 - `following` table now has indexes - #28",206156866,twitter-to-sqlite https://github.com/simonw/datasette-render-markdown/releases/tag/0.1a,21343109,MDc6UmVsZWFzZTIxMzQzMTA5,0.1a,master,0.1a,0,9599,simonw,1,2019-11-09T23:42:31Z,2019-11-09T23:49:58Z,[],First working release,220716822,datasette-render-markdown https://github.com/dogsheep/github-to-sqlite/releases/tag/0.6,21354706,MDc6UmVsZWFzZTIxMzU0NzA2,0.6,master,0.6,0,9599,simonw,0,2019-11-11T05:31:46Z,2019-11-11T05:34:06Z,[],"- New `releases` command for fetching releases for a repo, #11 - Repository topics are now fetched by the `repos` command - `github-to-sqlite repos` now accepts multiple usernames - Command now works without `--auth` file (using anonymous API calls), #9",207052882,github-to-sqlite