.. _changelog: ========= Changelog ========= .. _v0_60.2: 0.60.2 (2022-02-07) ------------------- - Fixed a bug where Datasette would open the same file twice with two different database names if you ran ``datasette file.db file.db``. (:issue:`1632`) .. _v0_60.1: 0.60.1 (2022-01-20) ------------------- - Fixed a bug where installation on Python 3.6 stopped working due to a change to an underlying dependency. This release can now be installed on Python 3.6, but is the last release of Datasette that will support anything less than Python 3.7. (:issue:`1609`) .. _v0_60: 0.60 (2022-01-13) ----------------- Plugins and internals ~~~~~~~~~~~~~~~~~~~~~ - New plugin hook: :ref:`plugin_hook_filters_from_request`, which runs on the table page and can be used to support new custom query string parameters that modify the SQL query. (:issue:`473`) - Added two additional methods for writing to the database: :ref:`database_execute_write_script` and :ref:`database_execute_write_many`. (:issue:`1570`) - The :ref:`db.execute_write() ` internal method now defaults to blocking until the write operation has completed. Previously it defaulted to queuing the write and then continuing to run code while the write was in the queue. (:issue:`1579`) - Database write connections now execute the :ref:`plugin_hook_prepare_connection` plugin hook. (:issue:`1564`) - The ``Datasette()`` constructor no longer requires the ``files=`` argument, and is now documented at :ref:`internals_datasette`. (:issue:`1563`) - The tracing feature now traces write queries, not just read queries. (:issue:`1568`) - The query string variables exposed by ``request.args`` will now include blank strings for arguments such as ``foo`` in ``?foo=&bar=1`` rather than ignoring those parameters entirely. (:issue:`1551`) Faceting ~~~~~~~~ - The number of unique values in a facet is now always displayed. Previously it was only displayed if the user specified ``?_facet_size=max``. (:issue:`1556`) - Facets of type ``date`` or ``array`` can now be configured in ``metadata.json``, see :ref:`facets_metadata`. Thanks, David Larlet. (:issue:`1552`) - New ``?_nosuggest=1`` parameter for table views, which disables facet suggestion. (:issue:`1557`) - Fixed bug where ``?_facet_array=tags&_facet=tags`` would only display one of the two selected facets. (:issue:`625`) Other small fixes ~~~~~~~~~~~~~~~~~ - Made several performance improvements to the database schema introspection code that runs when Datasette first starts up. (:issue:`1555`) - Label columns detected for foreign keys are now case-insensitive, so ``Name`` or ``TITLE`` will be detected in the same way as ``name`` or ``title``. (:issue:`1544`) - Upgraded Pluggy dependency to 1.0. (:issue:`1575`) - Now using `Plausible analytics `__ for the Datasette documentation. - ``explain query plan`` is now allowed with varying amounts of whitespace in the query. (:issue:`1588`) - New :ref:`cli_reference` page showing the output of ``--help`` for each of the ``datasette`` sub-commands. This lead to several small improvements to the help copy. (:issue:`1594`) - Fixed bug where writable canned queries could not be used with custom templates. (:issue:`1547`) - Improved fix for a bug where columns with a underscore prefix could result in unnecessary hidden form fields. (:issue:`1527`) .. _v0_59_4: 0.59.4 (2021-11-29) ------------------- - Fixed bug where columns with a leading underscore could not be removed from the interactive filters list. (:issue:`1527`) - Fixed bug where columns with a leading underscore were not correctly linked to by the "Links from other tables" interface on the row page. (:issue:`1525`) - Upgraded dependencies ``aiofiles``, ``black`` and ``janus``. .. _v0_59_3: 0.59.3 (2021-11-20) ------------------- - Fixed numerous bugs when running Datasette :ref:`behind a proxy ` with a prefix URL path using the :ref:`setting_base_url` setting. A live demo of this mode is now available at `datasette-apache-proxy-demo.datasette.io/prefix/ `__. (:issue:`1519`, :issue:`838`) - ``?column__arraycontains=`` and ``?column__arraynotcontains=`` table parameters now also work against SQL views. (:issue:`448`) - ``?_facet_array=column`` no longer returns incorrect counts if columns contain the same value more than once. .. _v0_59_2: 0.59.2 (2021-11-13) ------------------- - Column names with a leading underscore now work correctly when used as a facet. (:issue:`1506`) - Applying ``?_nocol=`` to a column no longer removes that column from the filtering interface. (:issue:`1503`) - Official Datasette Docker container now uses Debian Bullseye as the base image. (:issue:`1497`) - Datasette is four years old today! Here's the `original release announcement `__ from 2017. .. _v0_59_1: 0.59.1 (2021-10-24) ------------------- - Fix compatibility with Python 3.10. (:issue:`1482`) - Documentation on how to use :ref:`sql_parameters` with integer and floating point values. (:issue:`1496`) .. _v0_59: 0.59 (2021-10-14) ----------------- - Columns can now have associated metadata descriptions in ``metadata.json``, see :ref:`metadata_column_descriptions`. (:issue:`942`) - New :ref:`register_commands() ` plugin hook allows plugins to register additional Datasette CLI commands, e.g. ``datasette mycommand file.db``. (:issue:`1449`) - Adding ``?_facet_size=max`` to a table page now shows the number of unique values in each facet. (:issue:`1423`) - Upgraded dependency `httpx 0.20 `__ - the undocumented ``allow_redirects=`` parameter to :ref:`internals_datasette_client` is now ``follow_redirects=``, and defaults to ``False`` where it previously defaulted to ``True``. (:issue:`1488`) - The ``--cors`` option now causes Datasette to return the ``Access-Control-Allow-Headers: Authorization`` header, in addition to ``Access-Control-Allow-Origin: *``. (`#1467 `__) - Code that figures out which named parameters a SQL query takes in order to display form fields for them is no longer confused by strings that contain colon characters. (:issue:`1421`) - Renamed ``--help-config`` option to ``--help-settings``. (:issue:`1431`) - ``datasette.databases`` property is now a documented API. (:issue:`1443`) - The ``base.html`` template now wraps everything other than the ``