{"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/3.8", "id": 44019361, "node_id": "MDc6UmVsZWFzZTQ0MDE5MzYx", "tag_name": "3.8", "target_commitish": "main", "name": "3.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2021-06-03T05:16:33Z", "published_at": "2021-06-03T05:17:33Z", "body": "- New `sqlite-utils indexes` command to list indexes in a database, see [Listing indexes](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-indexes). ([#263](https://github.com/simonw/sqlite-utils/issues/263))\r\n- `table.xindexes` introspection property returning more details about that table's indexes, see [.xindexes](https://sqlite-utils.datasette.io/en/stable/python-api.html#python-api-introspection-xindexes). ([#261](https://github.com/simonw/sqlite-utils/issues/261))", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/3.0", "id": 33615120, "node_id": "MDc6UmVsZWFzZTMzNjE1MTIw", "tag_name": "3.0", "target_commitish": "main", "name": "3.0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-11-08T17:23:38Z", "published_at": "2020-11-08T17:24:27Z", "body": "This release introduces a new `sqlite-utils search` command for searching tables, see [Executing searches](https://sqlite-utils.readthedocs.io/en/latest/cli.html#cli-search). ([#192](https://github.com/simonw/sqlite-utils/issues/192))\r\n\r\nThe `table.search()` method has been redesigned, see [Searching with table.search()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search). ([#197](https://github.com/simonw/sqlite-utils/issues/197))\r\n\r\nThe release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are:\r\n\r\n- The `-c` shortcut option for outputting CSV is no longer available. The full `--csv` option is required instead.\r\n- The `-f` shortcut for `--fmt` has also been removed - use `--fmt`.\r\n- The `table.search()` method now defaults to sorting by relevance, not sorting by `rowid`. ([#198](https://github.com/simonw/sqlite-utils/issues/198))\r\n- The `table.search()` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples.\r\n\r\nAlso in this release:\r\n\r\n- The `query`, `tables`, `rows` and `search` CLI commands now accept a new `--tsv` option which outputs the results in TSV. ([#193](https://github.com/simonw/sqlite-utils/issues/193))\r\n- A new `table.virtual_table_using` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. `FTS4` or `FTS5`) if it is. It returns `None` if the table is not a virtual table. ([#196](https://github.com/simonw/sqlite-utils/issues/196))\r\n- The new `table.search_sql()` method returns the SQL for searching a table, see [Building SQL queries with table.search_sql()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search-sql).\r\n- `sqlite-utils rows` now accepts multiple optional `-c` parameters specifying the columns to return. ([#200](https://github.com/simonw/sqlite-utils/issues/200))\r\n\r\nChanges since the 3.0a0 alpha release:\r\n\r\n- The `sqlite-utils search` command now defaults to returning every result, unless you add a `--limit 20` option.\r\n- The `sqlite-utils search -c` and `table.search(columns=[])` options are now fully respected. ([#201](https://github.com/simonw/sqlite-utils/issues/201))", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/3.0a0", "id": 33591216, "node_id": "MDc6UmVsZWFzZTMzNTkxMjE2", "tag_name": "3.0a0", "target_commitish": "main", "name": "3.0a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-11-07T01:22:24Z", "published_at": "2020-11-07T01:24:43Z", "body": "This release introduces a new `sqlite-utils search` command for searching tables, see [Executing searches](https://sqlite-utils.readthedocs.io/en/latest/cli.html#cli-search). ([#192](https://github.com/simonw/sqlite-utils/issues/192))\r\n\r\nThe `table.search()` method has been redesigned, see [Searching with table.search()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search). ([#197](https://github.com/simonw/sqlite-utils/issues/197))\r\n\r\nThe release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are:\r\n\r\n- The `-c` shortcut option for outputting CSV is no longer available. The full `--csv` option is required instead.\r\n- The `-f` shortcut for `--fmt` has also been removed - use `--fmt`.\r\n- The `table.search()` method now defaults to sorting by relevance, not sorting by `rowid`. ([#198](https://github.com/simonw/sqlite-utils/issues/198))\r\n- The `table.search()` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples.\r\n\r\nAlso in this release:\r\n\r\n- The `query`, `tables`, `rows` and `search` CLI commands now accept a new `--tsv` option which outputs the results in TSV. ([#193](https://github.com/simonw/sqlite-utils/issues/193))\r\n- A new `table.virtual_table_using` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. `FTS4` or `FTS5`) if it is. It returns `None` if the table is not a virtual table. ([#196](https://github.com/simonw/sqlite-utils/issues/196))\r\n- The new `table.search_sql()` method returns the SQL for searching a table, see [Building SQL queries with table.search_sql()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search-sql).\r\n- `sqlite-utils rows` now accepts multiple optional `-c` parameters specifying the columns to return. ([#200](https://github.com/simonw/sqlite-utils/issues/200))", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.51", "id": 33311677, "node_id": "MDc6UmVsZWFzZTMzMzExNjc3", "tag_name": "0.51", "target_commitish": "main", "name": "0.51", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2020-10-31T22:24:54Z", "published_at": "2020-10-31T22:29:33Z", "body": "A new visual design, plugin hooks for adding navigation options, better handling of binary data, URL building utility methods and better support for running Datasette behind a proxy.\r\n\r\n### New visual design\r\n\r\nDatasette is no longer white and grey with blue and purple links! [Natalie Downe](https://twitter.com/natbat) has been working on a visual refresh, the first iteration of which is included in this release. ([#1056](https://github.com/simonw/datasette/pull/1056))\r\n\r\n![datasette-0 51](https://user-images.githubusercontent.com/9599/97791267-d9011e80-1b8d-11eb-9b1b-42908266f36f.png)\r\n\r\n### Plugins can now add links within Datasette\r\n\r\nA number of existing Datasette plugins add new pages to the Datasette interface, providig tools for things like [uploading CSVs](https://github.com/simonw/datasette-upload-csvs), [editing table schemas](https://github.com/simonw/datasette-edit-schema) or [configuring full-text search](https://github.com/simonw/datasette-configure-fts).\r\n\r\nPlugins like this can now link to themselves from other parts of Datasette interface. The [menu_links(datasette, actor)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-menu-links) hook ([#1064](https://github.com/simonw/datasette/issues/1064)) lets plugins add links to Datasette's new top-right application menu, and the [table_actions(datasette, actor, database, table)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-table-actions) hook ([#1066](https://github.com/simonw/datasette/issues/1066)) adds links to a new \"table actions\" menu on the table page.\r\n\r\nThe demo at [latest.datasette.io](https://latest.datasette.io/) now includes some example plugins. To see the new table actions menu first [sign into that demo as root](https://latest.datasette.io/login-as-root) and then visit the [facetable](https://latest.datasette.io/fixtures/facetable) table to see the new cog icon menu at the top of the page.\r\n\r\n### Binary data\r\n\r\nSQLite tables can contain binary data in `BLOB` columns. Datasette now provides links for users to download this data directly from Datasette, and uses those links to make binary data available from CSV exports. See [Binary data](https://docs.datasette.io/en/stable/binary_data.html#binary) for more details. ([#1036](https://github.com/simonw/datasette/issues/1036) and [#1034](https://github.com/simonw/datasette/issues/1034)).\r\n\r\n### URL building\r\n\r\nThe new [datasette.urls](https://docs.datasette.io/en/stable/internals.html#internals-datasette-urls) family of methods can be used to generate URLs to key pages within the Datasette interface, both within custom templates and Datasette plugins. See [Building URLs within plugins](https://docs.datasette.io/en/stable/writing_plugins.html#writing-plugins-building-urls) for more details. ([#904](https://github.com/simonw/datasette/issues/904))\r\n\r\n### Running Datasette behind a proxy\r\n\r\nThe [base_url](https://docs.datasette.io/en/stable/config.html#config-base-url) configuration option is designed to help run Datasette on a specific path behind a proxy - for example if you want to run an instance of Datasette at `/my-datasette/` within your existing site's URL hierarchy, proxied behind nginx or Apache.\r\n\r\nSupport for this configuration option has been greatly improved ([#1023](https://github.com/simonw/datasette/issues/1023)), and guidelines for using it are now available in a new documentation section on [Running Datasette behind a proxy](https://docs.datasette.io/en/stable/deploying.html#deploying-proxy). ([#1027](https://github.com/simonw/datasette/issues/1027))\r\n\r\n### Smaller changes\r\n\r\n- Wide tables shown within Datasette now scroll horizontally ([#998](https://github.com/simonw/datasette/issues/998)). This is achieved using a new `