{"rowid": 361, "title": "0.54.1 (2021-02-02)", "content": "Fixed a bug where ?_search= and ?_sort= parameters were incorrectly duplicated when the filter form on the table page was re-submitted. ( #1214 )", "sections_fts": 249, "rank": null} {"rowid": 360, "title": "0.55 (2021-02-18)", "content": "Support for cross-database SQL queries and built-in support for serving via HTTPS. \n \n \n 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 Cross-database queries for details. ( #283 ) \n \n \n --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. ( #1221 ) \n \n \n The /:memory: page has been renamed (and redirected) to /_memory for consistency with the new /_internal database introduced in Datasette 0.54. ( #1205 ) \n \n \n Added plugin testing documentation on Using pdb for errors thrown inside Datasette . ( #1207 ) \n \n \n The official Datasette Docker image now uses Python 3.7.10, applying the latest security fix for that Python version. ( #1235 )", "sections_fts": 249, "rank": null} {"rowid": 359, "title": "0.56 (2021-03-28)", "content": "Documentation improvements, bug fixes and support for SpatiaLite 5. \n \n \n The SQL editor can now be resized by dragging a handle. ( #1236 ) \n \n \n Fixed a bug with JSON faceting and the __arraycontains filter caused by tables with spaces in their names. ( #1239 ) \n \n \n Upgraded httpx dependency. ( #1005 ) \n \n \n JSON faceting is now suggested even if a column contains blank strings. ( #1246 ) \n \n \n New datasette.add_memory_database() method. ( #1247 ) \n \n \n The Response.asgi_send() method is now documented. ( #1266 ) \n \n \n The official Datasette Docker image now bundles SpatiaLite version 5. ( #1278 ) \n \n \n Fixed a no such table: pragma_database_list bug when running Datasette against SQLite versions prior to SQLite 3.16.0. ( #1276 ) \n \n \n HTML lists displayed in table cells are now styled correctly. Thanks, Bob Whitelock. ( #1141 , #1252 ) \n \n \n Configuration directory mode now correctly serves immutable databases that are listed in inspect-data.json . Thanks Campbell Allen and Frankie Robertson. ( #1031 , #1229 )", "sections_fts": 249, "rank": null} {"rowid": 358, "title": "0.56.1 (2021-06-05)", "content": "This release fixes a reflected cross-site scripting security hole with the ?_trace=1 feature. You should upgrade to this version, or to Datasette 0.57, as soon as possible. ( #1360 )", "sections_fts": 249, "rank": null} {"rowid": 355, "title": "0.57 (2021-06-05)", "content": "This release fixes a reflected cross-site scripting security hole with the ?_trace=1 feature. You should upgrade to this version, or to Datasette 0.56.1, as soon as possible. ( #1360 ) \n \n In addition to the security fix, this release includes ?_col= and ?_nocol= options for controlling which columns are displayed for a table, ?_facet_size= for increasing the number of facet results returned, re-display of your SQL query should an error occur and numerous bug fixes.", "sections_fts": 249, "rank": null} {"rowid": 354, "title": "0.57.1 (2021-06-08)", "content": "Fixed visual display glitch with global navigation menu. ( #1367 ) \n \n \n No longer truncates the list of table columns displayed on the /database page. ( #1364 )", "sections_fts": 249, "rank": null} {"rowid": 353, "title": "0.58 (2021-07-14)", "content": "New datasette --uds /tmp/datasette.sock option for binding Datasette to a Unix domain socket, see proxy documentation ( #1388 ) \n \n \n \"searchmode\": \"raw\" table metadata option for defaulting a table to executing SQLite full-text search syntax without first escaping it, see Advanced SQLite search queries . ( #1389 ) \n \n \n New plugin hook: get_metadata(datasette, key, database, table) , for returning custom metadata for an instance, database or table. Thanks, Brandon Roberts! ( #1384 ) \n \n \n New plugin hook: skip_csrf(datasette, scope) , for opting out of CSRF protection based on the incoming request. ( #1377 ) \n \n \n The menu_links() , table_actions() and database_actions() plugin hooks all gained a new optional request argument providing access to the current request. ( #1371 ) \n \n \n Major performance improvement for Datasette faceting. ( #1394 ) \n \n \n Improved documentation for Running Datasette behind a proxy to recommend using ProxyPreservehost On with Apache. ( #1387 ) \n \n \n POST requests to endpoints that do not support that HTTP verb now return a 405 error. \n \n \n db.path can now be provided as a pathlib.Path object, useful when writing unit tests for plugins. Thanks, Chris Amico. ( #1365 )", "sections_fts": 249, "rank": null} {"rowid": 352, "title": "0.58.1 (2021-07-16)", "content": "Fix for an intermittent race condition caused by the refresh_schemas() internal function. ( #1231 )", "sections_fts": 249, "rank": null} {"rowid": 351, "title": "0.59 (2021-10-14)", "content": "Columns can now have associated metadata descriptions in metadata.json , see Column descriptions . ( #942 ) \n \n \n New register_commands() plugin hook allows plugins to register additional Datasette CLI commands, e.g. datasette mycommand file.db . ( #1449 ) \n \n \n Adding ?_facet_size=max to a table page now shows the number of unique values in each facet. ( #1423 ) \n \n \n Upgraded dependency httpx 0.20 - the undocumented allow_redirects= parameter to datasette.client is now follow_redirects= , and defaults to False where it previously defaulted to True . ( #1488 ) \n \n \n The --cors option now causes Datasette to return the Access-Control-Allow-Headers: Authorization header, in addition to Access-Control-Allow-Origin: * . ( #1467 ) \n \n \n 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. ( #1421 ) \n \n \n Renamed --help-config option to --help-settings . ( #1431 ) \n \n \n datasette.databases property is now a documented API. ( #1443 ) \n \n \n The base.html template now wraps everything other than the