releases
1 row where author = 9599 and body = "The two big new features in this release are the `_internal` SQLite in-memory database storing details of all connected databases and tables, and support for JavaScript modules in plugins and additional scripts. For additional commentary on this release, see [Datasette 0.54, the annotated release notes](https://simonwillison.net/2021/Jan/25/datasette/). ### The _internal database As part of ongoing work to help Datasette handle much larger numbers of connected databases and tables (see [Datasette Library](https://github.com/simonw/datasette/issues/417)) Datasette now maintains an in-memory SQLite database with details of all of the attached databases, tables, columns, indexes and foreign keys. ([#1150](https://github.com/simonw/datasette/issues/1150)) This will support future improvements such as a searchable, paginated homepage of all available tables. You can explore an example of this database by [signing in as root](https://latest.datasette.io/login-as-root) to the `latest.datasette.io` demo instance and then navigating to [latest.datasette.io/_internal](https://latest.datasette.io/_internal). Plugins can use these tables to introspect attached data in an efficient way. Plugin authors should note that this is not yet considered a stable interface, so any plugins that use this may need to make changes prior to Datasette 1.0 if the `_internal` table schemas change. ### Named in-memory database support As part of the work building the `_internal` database, Datasette now supports named in-memory databases that can be shared across multiple connections. This allows plugins to create in-memory databases which will persist data for the lifetime of the Datasette server process. ([#1151](https://github.com/simonw/datasette/issues/1151)) The new `memory_name=` parameter to the [Database class](https://docs.datasette.io/en/stable/internals.html#internals-database) can be used to create named, shared in-memory databases. ### JavaScript modules [JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) were introduced in ECMAScript 2015 and provide native browser support for the `import` and `export` keywords. To use modules, JavaScript needs to be included in `<script>` tags with a `type="module"` attribute. Datasette now has the ability to output `<script type="module">` in places where you may wish to take advantage of modules. The `extra_js_urls` option described in [Custom CSS and JavaScript](https://docs.datasette.io/en/stable/custom_templates.html#customization-css-and-javascript) can now be used with modules, and module support is also available for the [extra_body_script()](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-extra-body-script) plugin hook. ([#1186](https://github.com/simonw/datasette/issues/1186), [#1187](https://github.com/simonw/datasette/issues/1187)) [datasette-leaflet-freedraw](https://datasette.io/plugins/datasette-leaflet-freedraw) is the first example of a Datasette plugin that takes advantage of the new support for JavaScript modules. See [Drawing shapes on a map to query a SpatiaLite database](https://simonwillison.net/2021/Jan/24/drawing-shapes-spatialite/) for more on this plugin. ### Code formatting with Black and Prettier Datasette adopted [Black](https://github.com/psf/black) for opinionated Python code formatting in June 2019. Datasette now also embraces [Prettier](https://prettier.io/) for JavaScript formatting, which like Black is enforced by tests in continuous integration. Instructions for using these two tools can be found in the new section on [Code formatting](https://docs.datasette.io/en/stable/contributing.html#contributing-formatting) in the contributors documentation. ([#1167](https://github.com/simonw/datasette/issues/1167)) ### Other changes - Datasette can now open multiple database files with the same name, e.g. if you run `datasette path/to/one.db path/to/other/one.db`. ([#509](https://github.com/simonw/datasette/issues/509)) - `datasette publish cloudrun` now sets `force_https_urls` for every deployment, fixing some incorrect `http://` links. ([#1178](https://github.com/simonw/datasette/issues/1178)) - Fixed a bug in the example nginx configuration in [Running Datasette behind a proxy](https://docs.datasette.io/en/stable/deploying.html#deploying-proxy). ([#1091](https://github.com/simonw/datasette/issues/1091)) - The [Datasette Ecosystem](https://docs.datasette.io/en/stable/ecosystem.html#ecosystem) documentation page has been reduced in size in favour of the `datasette.io` [tools](https://datasette.io/tools) and [plugins](https://datasette.io/plugins) directories. ([#1182](https://github.com/simonw/datasette/issues/1182)) - The request object now provides a `request.full_path` property, which returns the path including any query string. ([#1184](https://github.com/simonw/datasette/issues/1184)) - Better error message for disallowed `PRAGMA` clauses in SQL queries. ([#1185](https://github.com/simonw/datasette/issues/1185)) - `datasette publish heroku` now deploys using `python-3.8.7`. - New plugin testing documentation on [Testing outbound HTTP calls with pytest-httpx](https://docs.datasette.io/en/stable/testing_plugins.html#testing-plugins-pytest-httpx). ([#1198](https://github.com/simonw/datasette/issues/1198)) - All `?_*` query string parameters passed to the table page are now persisted in hidden form fields, so parameters such as `?_size=10` will be correctly passed to the next page when query filters are changed. ([#1194](https://github.com/simonw/datasette/issues/1194)) - Fixed a bug loading a database file called `test-database (1).sqlite`. ([#1181](https://github.com/simonw/datasette/issues/1181))" sorted by created_at descending
This data as json, CSV (advanced)
Suggested facets: created_at (date), published_at (date)
id | html_url | node_id | tag_name | target_commitish | name | draft | author | prerelease | created_at ▲ | published_at | body | repo | reactions |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
36871901 | https://github.com/simonw/datasette/releases/tag/0.54 | MDc6UmVsZWFzZTM2ODcxOTAx | 0.54 | main | 0.54 | 0 | simonw 9599 | 0 | 2021-01-25T17:35:06Z | 2021-01-25T17:36:30Z | The two big new features in this release are the For additional commentary on this release, see Datasette 0.54, the annotated release notes. The _internal databaseAs part of ongoing work to help Datasette handle much larger numbers of connected databases and tables (see Datasette Library) Datasette now maintains an in-memory SQLite database with details of all of the attached databases, tables, columns, indexes and foreign keys. (#1150) This will support future improvements such as a searchable, paginated homepage of all available tables. You can explore an example of this database by signing in as root to the Plugins can use these tables to introspect attached data in an efficient way. Plugin authors should note that this is not yet considered a stable interface, so any plugins that use this may need to make changes prior to Datasette 1.0 if the Named in-memory database supportAs part of the work building the The new JavaScript modulesJavaScript modules were introduced in ECMAScript 2015 and provide native browser support for the To use modules, JavaScript needs to be included in Datasette now has the ability to output datasette-leaflet-freedraw is the first example of a Datasette plugin that takes advantage of the new support for JavaScript modules. See Drawing shapes on a map to query a SpatiaLite database for more on this plugin. Code formatting with Black and PrettierDatasette adopted Black for opinionated Python code formatting in June 2019. Datasette now also embraces Prettier for JavaScript formatting, which like Black is enforced by tests in continuous integration. Instructions for using these two tools can be found in the new section on Code formatting in the contributors documentation. (#1167) Other changes
|
datasette 107914493 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [releases] ( [html_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [tag_name] TEXT, [target_commitish] TEXT, [name] TEXT, [draft] INTEGER, [author] INTEGER REFERENCES [users]([id]), [prerelease] INTEGER, [created_at] TEXT, [published_at] TEXT, [body] TEXT, [repo] INTEGER REFERENCES [repos]([id]) , [reactions] TEXT); CREATE INDEX [idx_releases_repo] ON [releases] ([repo]); CREATE INDEX [idx_releases_author] ON [releases] ([author]);