.. _changelog: ========= Changelog ========= .. _v0_57_a0: 0.57a0 (2021-05-22) ------------------- Mainly dependency bumps, plus a new ``?_facet_size=`` argument. - Updated dependencies: pytest-asyncio, Black, jinja2, aiofiles, itsdangerous - Fixed bug where columns called "Link" were incorrectly displayed in bold. (:issue:`1308`) - New ``?_facet_size=`` argument for customizing the number of facet results returned on a page. (:issue:`1332`) .. _v0_56: 0.56 (2021-03-28) ----------------- Documentation improvements, bug fixes and support for SpatiaLite 5. - The SQL editor can now be resized by dragging a handle. (:issue:`1236`) - Fixed a bug with JSON faceting and the ``__arraycontains`` filter caused by tables with spaces in their names. (:issue:`1239`) - Upgraded ``httpx`` dependency. (:issue:`1005`) - JSON faceting is now suggested even if a column contains blank strings. (:issue:`1246`) - New :ref:`datasette.add_memory_database() ` method. (:issue:`1247`) - The :ref:`Response.asgi_send() ` method is now documented. (:issue:`1266`) - The official Datasette Docker image now bundles SpatiaLite version 5. (:issue:`1278`) - Fixed a ``no such table: pragma_database_list`` bug when running Datasette against SQLite versions prior to SQLite 3.16.0. (:issue:`1276`) - HTML lists displayed in table cells are now styled correctly. Thanks, Bob Whitelock. (:issue:`1141`, `#1252 `__) - Configuration directory mode now correctly serves immutable databases that are listed in ``inspect-data.json``. Thanks Campbell Allen and Frankie Robertson. (`#1031 `__, `#1229 `__) .. _v0_55: 0.55 (2021-02-18) ----------------- Support for cross-database SQL queries and built-in support for serving via HTTPS. - The new ``--crossdb`` command-line option causes Datasette to attach up to ten database files to the same ``/_memory`` database connection. This enables cross-database SQL queries, including the ability to use joins and unions to combine data from tables that exist in different database files. See :ref:`cross_database_queries` for details. (:issue:`283`) - ``--ssl-keyfile`` and ``--ssl-certfile`` options can be used to specify a TLS certificate, allowing Datasette to serve traffic over ``https://`` without needing to run it behind a separate proxy. (:issue:`1221`) - The ``/:memory:`` page has been renamed (and redirected) to ``/_memory`` for consistency with the new ``/_internal`` database introduced in Datasette 0.54. (:issue:`1205`) - Added plugin testing documentation on :ref:`testing_plugins_pdb`. (:issue:`1207`) - The `official Datasette Docker image `__ now uses Python 3.7.10, applying `the latest security fix `__ for that Python version. (:issue:`1235`) .. _v0_54_1: 0.54.1 (2021-02-02) ------------------- - Fixed a bug where ``?_search=`` and ``?_sort=`` parameters were incorrectly duplicated when the filter form on the table page was re-submitted. (:issue:`1214`) .. _v0_54: 0.54 (2021-01-25) ----------------- 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 `__. The _internal database ~~~~~~~~~~~~~~~~~~~~~~ As 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. (:issue:`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 ``latest.datasette.io`` demo instance and then navigating to `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. (:issue:`1151`) The new ``memory_name=`` parameter to the :ref:`internals_database` can be used to create named, shared in-memory databases. JavaScript modules ~~~~~~~~~~~~~~~~~~ `JavaScript 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 ``