html_url,id,node_id,tag_name,target_commitish,name,draft,author,prerelease,created_at,published_at,assets,body,repo https://github.com/simonw/datasette/releases/tag/0.12,8546575,MDc6UmVsZWFzZTg1NDY1NzU=,0.12,master,Datasette 0.12,0,9599,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 https://github.com/simonw/datasette/releases/tag/0.13,8652546,MDc6UmVsZWFzZTg2NTI1NDY=,0.13,master,"Datasette 0.13: foreign key, search and filters",0,9599,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 https://github.com/simonw/datasette/releases/tag/0.14,8841695,MDc6UmVsZWFzZTg4NDE2OTU=,0.14,master,Datasette 0.14: customization edition,0,9599,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))