{"id": 753513062, "node_id": "PR_kwDOBm6k_c4s6bJm", "number": 1481, "state": "closed", "locked": 0, "title": "Fix compatibility with Python 3.10", "user": {"value": 9599, "label": "simonw"}, "body": null, "created_at": "2021-10-07T20:34:23Z", "updated_at": "2021-10-24T22:19:55Z", "closed_at": "2021-10-24T22:19:54Z", "merged_at": "2021-10-24T22:19:54Z", "merge_commit_sha": "96a823f2834a262ae97a90ebfb6847f14763c415", "assignee": null, "milestone": null, "draft": 0, "head": "50005bd2d36219c3ae8b6220d38df918459a1812", "base": "63886178a649586b403966a27a45881709d2b868", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1481", "merged_by": null, "auto_merge": null} {"id": 754942128, "node_id": "PR_kwDOBm6k_c4s_4Cw", "number": 1484, "state": "closed", "locked": 0, "title": "GitHub Actions: Add Python 3.10 to the tests", "user": {"value": 3709715, "label": "cclauss"}, "body": null, "created_at": "2021-10-11T06:03:03Z", "updated_at": "2021-10-11T06:03:31Z", "closed_at": "2021-10-11T06:03:28Z", "merged_at": null, "merge_commit_sha": "69027b8c3e0e2236acd817a6fa5d32f762e3e9aa", "assignee": null, "milestone": null, "draft": 0, "head": "02c3218ca093df8b595d8ba7d88a32a0207b6385", "base": "0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1484", "merged_by": null, "auto_merge": null} {"id": 817942693, "node_id": "PR_kwDOBm6k_c4wwNCl", "number": 1589, "state": "closed", "locked": 0, "title": "Typo in docs about default redirect status code", "user": {"value": 3556, "label": "davidbgk"}, "body": null, "created_at": "2022-01-10T19:14:36Z", "updated_at": "2022-03-06T02:27:49Z", "closed_at": "2022-03-06T01:58:32Z", "merged_at": "2022-03-06T01:58:32Z", "merge_commit_sha": "0499f174c063283aa9b589d475a32077aaf7adc5", "assignee": null, "milestone": null, "draft": 0, "head": "d95bd658748172d88b04330950ef8f8d18b726c7", "base": "8c401ee0f054de2f568c3a8302c9223555146407", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1589", "merged_by": null, "auto_merge": null} {"id": 152360740, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyMzYwNzQw", "number": 81, "state": "closed", "locked": 0, "title": ":fire: Removes DS_Store", "user": {"value": 50527, "label": "jefftriplett"}, "body": "", "created_at": "2017-11-13T22:07:52Z", "updated_at": "2017-11-14T02:24:54Z", "closed_at": "2017-11-13T22:16:55Z", "merged_at": "2017-11-13T22:16:55Z", "merge_commit_sha": "06a826c3188af82f27bb6b4e09cc89b782d30bd6", "assignee": null, "milestone": null, "draft": 0, "head": "c66d297eac556a7f4fd4dcdb15cfb9466fddac77", "base": "d75f423b6fcfc074b7c6f8f7679da8876f181edd", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/81", "merged_by": null, "auto_merge": null} {"id": 153432045, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUzNDMyMDQ1", "number": 118, "state": "closed", "locked": 0, "title": "Foreign key information on row and table pages", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2017-11-18T03:13:27Z", "updated_at": "2017-11-18T03:15:57Z", "closed_at": "2017-11-18T03:15:50Z", "merged_at": "2017-11-18T03:15:50Z", "merge_commit_sha": "1b04662585ea1539014bfbd616a8112b650d5699", "assignee": null, "milestone": null, "draft": 0, "head": "2fa60bc5e3c9d75c19e21a2384f52b58e1872fa8", "base": "6d39429daa4655e3cf7a6a7671493292a20a30a1", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/118", "merged_by": null, "auto_merge": null} {"id": 157365811, "node_id": "MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx", "number": 168, "state": "closed", "locked": 0, "title": "Upgrade to Sanic 0.7.0", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2017-12-09T01:25:08Z", "updated_at": "2017-12-09T03:00:34Z", "closed_at": "2017-12-09T03:00:34Z", "merged_at": "2017-12-09T03:00:34Z", "merge_commit_sha": "446f4b832272b2286f6f65af19714eb64afb7aa6", "assignee": null, "milestone": null, "draft": 0, "head": "d9e13a5cc2b77637a6cdd8bd21b9b8fc1350051a", "base": "61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/168", "merged_by": null, "auto_merge": null} {"id": 182357613, "node_id": "MDExOlB1bGxSZXF1ZXN0MTgyMzU3NjEz", "number": 222, "state": "closed", "locked": 0, "title": "Fix for plugins in Python 3.5", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-04-18T03:21:01Z", "updated_at": "2018-04-18T04:26:50Z", "closed_at": "2018-04-18T03:24:21Z", "merged_at": "2018-04-18T03:24:21Z", "merge_commit_sha": "4be6deb94776744071311777f0b18efb993c0cfa", "assignee": null, "milestone": null, "draft": 0, "head": "420cdcb88ee41c15a90fce30fdec5832c03295bd", "base": "1c36d07dd432b9960f4f2d096739460b4fcf8877", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/222", "merged_by": null, "auto_merge": null} {"id": 185307407, "node_id": "MDExOlB1bGxSZXF1ZXN0MTg1MzA3NDA3", "number": 246, "state": "closed", "locked": 0, "title": "?_shape=array and _timelimit=", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-05-02T00:18:54Z", "updated_at": "2018-05-02T00:20:41Z", "closed_at": "2018-05-02T00:20:40Z", "merged_at": "2018-05-02T00:20:40Z", "merge_commit_sha": "690736436bac599ca042d1caa465c6d66d2651f9", "assignee": null, "milestone": null, "draft": 0, "head": "3807d93b98573e142858c5871b8b4aadda71d28f", "base": "aa954382c3776d596f459897b0d984161293529d", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/246", "merged_by": null, "auto_merge": null} {"id": 196526861, "node_id": "MDExOlB1bGxSZXF1ZXN0MTk2NTI2ODYx", "number": 322, "state": "closed", "locked": 0, "title": "Feature/in operator", "user": {"value": 2691848, "label": "4e1e0603"}, "body": "", "created_at": "2018-06-21T17:41:51Z", "updated_at": "2018-06-21T17:45:25Z", "closed_at": "2018-06-21T17:45:25Z", "merged_at": null, "merge_commit_sha": "80b7bcefa1c07202779d98c9e2214f3ebad704e3", "assignee": null, "milestone": null, "draft": 0, "head": "1acc562a2f60a7289438df657db8fd6dd3a7391d", "base": "e7566cc59d4b02ef301054fd35fdde6c925a8e38", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/322", "merged_by": null, "auto_merge": null} {"id": 206863803, "node_id": "MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz", "number": 358, "state": "closed", "locked": 0, "title": "Bump versions of pytest, pluggy and beautifulsoup4", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-08-08T00:44:38Z", "updated_at": "2018-08-08T01:11:13Z", "closed_at": "2018-08-08T01:11:13Z", "merged_at": "2018-08-08T01:11:13Z", "merge_commit_sha": "e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5", "assignee": null, "milestone": null, "draft": 0, "head": "848ed0e0420d2e8c95a96b4cf73082da4c65d8f6", "base": "fe5b6ea95a973534fe8a44907c0ea2449aae7602", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/358", "merged_by": null, "auto_merge": null} {"id": 208719043, "node_id": "MDExOlB1bGxSZXF1ZXN0MjA4NzE5MDQz", "number": 361, "state": "closed", "locked": 0, "title": " Import pysqlite3 if available, closes #360 ", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-08-16T00:52:21Z", "updated_at": "2018-08-16T00:58:57Z", "closed_at": "2018-08-16T00:58:57Z", "merged_at": "2018-08-16T00:58:57Z", "merge_commit_sha": "aae49fef3b75848628d824077ec063834e3e5167", "assignee": null, "milestone": null, "draft": 0, "head": "da41daa168af8f29a1beb5278aed833cf3dc48ce", "base": "e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/361", "merged_by": null, "auto_merge": null} {"id": 216651317, "node_id": "MDExOlB1bGxSZXF1ZXN0MjE2NjUxMzE3", "number": 365, "state": "closed", "locked": 0, "title": "fix small doc typo", "user": {"value": 418191, "label": "jaywgraves"}, "body": "", "created_at": "2018-09-19T14:02:02Z", "updated_at": "2019-12-19T02:30:33Z", "closed_at": "2018-09-19T17:15:43Z", "merged_at": "2018-09-19T17:15:43Z", "merge_commit_sha": "1bcd54a834a2f9730d21095df855f6708c85c200", "assignee": null, "milestone": null, "draft": 0, "head": "d3fb6a80c5878c73befa2a35e11a9ce28a6e1ab6", "base": "b7257a21bf3dfa7353980f343c83a616da44daa7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/365", "merged_by": null, "auto_merge": null} {"id": 232172106, "node_id": "MDExOlB1bGxSZXF1ZXN0MjMyMTcyMTA2", "number": 389, "state": "closed", "locked": 0, "title": "Bump dependency versions", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-11-20T02:23:12Z", "updated_at": "2019-11-13T19:13:41Z", "closed_at": "2019-11-13T19:13:41Z", "merged_at": null, "merge_commit_sha": "9194c0165aef411e0784ba49939b1005306f1f38", "assignee": null, "milestone": null, "draft": 0, "head": "f8349b45916e68d2f89c57694bd0e6afaf1bd508", "base": "5e3a432a0caa23837fa58134f69e2f82e4f632a6", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/389", "merged_by": null, "auto_merge": null} {"id": 241418443, "node_id": "MDExOlB1bGxSZXF1ZXN0MjQxNDE4NDQz", "number": 392, "state": "closed", "locked": 0, "title": "Fix some regex DeprecationWarnings", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-12-29T02:10:28Z", "updated_at": "2018-12-29T02:22:28Z", "closed_at": "2018-12-29T02:22:28Z", "merged_at": "2018-12-29T02:22:28Z", "merge_commit_sha": "a2bfcfc1b1c60dac3526364af17c2fa2f3d41a0a", "assignee": null, "milestone": null, "draft": 0, "head": "d245982aedaf7c54bf41d60ea7f0e0cf419c2b2f", "base": "eac08f0dfc61a99e8887442fc247656d419c76f8", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/392", "merged_by": null, "auto_merge": null} {"id": 261418285, "node_id": "MDExOlB1bGxSZXF1ZXN0MjYxNDE4Mjg1", "number": 416, "state": "closed", "locked": 0, "title": "URL hashing now optional: turn on with --config hash_urls:1 (#418)", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-03-15T04:26:06Z", "updated_at": "2019-03-17T22:55:04Z", "closed_at": "2019-03-17T22:55:04Z", "merged_at": "2019-03-17T22:55:04Z", "merge_commit_sha": "6f6d0ff2b41f1cacaf42287b1b230b646bcba9ee", "assignee": null, "milestone": null, "draft": 0, "head": "0d02a99c9665669540aebff981246d8c743072b3", "base": "afe9aa3ae03c485c5d6652741438d09445a486c1", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/416", "merged_by": null, "auto_merge": null} {"id": 270191084, "node_id": "MDExOlB1bGxSZXF1ZXN0MjcwMTkxMDg0", "number": 430, "state": "closed", "locked": 0, "title": "?_where= parameter on table views, closes #429", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-04-13T01:15:09Z", "updated_at": "2019-04-13T01:37:23Z", "closed_at": "2019-04-13T01:37:23Z", "merged_at": "2019-04-13T01:37:23Z", "merge_commit_sha": "bc6a9b45646610f362b4287bc4110440991aa4d6", "assignee": null, "milestone": null, "draft": 0, "head": "3ee087c7b60da7ec3e5d2f73611fc6ea99ff82fc", "base": "e11cb4c66442abca2a6b6159521a6cf4da8739c1", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/430", "merged_by": null, "auto_merge": null} {"id": 275801463, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz", "number": 447, "state": "closed", "locked": 0, "title": "Use dist: xenial and python: 3.7 on Travis", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-05-03T18:07:07Z", "updated_at": "2019-05-03T18:17:05Z", "closed_at": "2019-05-03T18:16:53Z", "merged_at": "2019-05-03T18:16:53Z", "merge_commit_sha": "553314dcd699a84aa7cc806377150ca0d57a6024", "assignee": null, "milestone": null, "draft": 0, "head": "cd22e389d09b4fd5ed28205ba38a20faf1ed14f1", "base": "01b3de5b66742f0f661183e9e2ef66be3600e831", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/447", "merged_by": null, "auto_merge": null} {"id": 284390197, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3", "number": 497, "state": "closed", "locked": 0, "title": "Upgrade pytest to 4.6.1", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-06-03T01:45:34Z", "updated_at": "2019-06-03T02:06:32Z", "closed_at": "2019-06-03T02:06:27Z", "merged_at": "2019-06-03T02:06:27Z", "merge_commit_sha": "5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945", "assignee": null, "milestone": null, "draft": 0, "head": "bf2ab0306e6d3ce7524fecf015e2cec7ae45e994", "base": "803f750309bf0cd5b7501228c1efcf9a35686d74", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/497", "merged_by": null, "auto_merge": null} {"id": 284743794, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjg0NzQzNzk0", "number": 500, "state": "closed", "locked": 0, "title": "Fix typo in install step: should be install -e", "user": {"value": 32314, "label": "tmcw"}, "body": "", "created_at": "2019-06-03T21:50:51Z", "updated_at": "2019-06-11T18:48:43Z", "closed_at": "2019-06-11T18:48:40Z", "merged_at": "2019-06-11T18:48:40Z", "merge_commit_sha": "aa911122feab13f8e65875c98edb00fd3832b7b8", "assignee": null, "milestone": null, "draft": 0, "head": "ff98f44d7f10ff65fc172df9155c77f169ab4c7f", "base": "5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/500", "merged_by": null, "auto_merge": null} {"id": 285698310, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjg1Njk4MzEw", "number": 501, "state": "closed", "locked": 0, "title": "Test against Python 3.8-dev using Travis", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-06-06T08:37:53Z", "updated_at": "2019-11-11T03:23:29Z", "closed_at": "2019-11-11T03:23:29Z", "merged_at": null, "merge_commit_sha": "1aac0cf0ab962060dd5cff19b8b179bb7fa0f00b", "assignee": null, "milestone": null, "draft": 0, "head": "a5defb684fcc734f6325ca08beef9f49c3e7a298", "base": "5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/501", "merged_by": null, "auto_merge": null} {"id": 293992382, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkzOTkyMzgy", "number": 535, "state": "closed", "locked": 0, "title": "Added asgi_wrapper plugin hook, closes #520", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-07-03T03:58:00Z", "updated_at": "2019-07-03T04:06:26Z", "closed_at": "2019-07-03T04:06:26Z", "merged_at": "2019-07-03T04:06:26Z", "merge_commit_sha": "4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3", "assignee": null, "milestone": null, "draft": 0, "head": "93bfa26bfd25a3cc911d637596e364d3474325bd", "base": "b9ede4c1898616512b5d204f9c941deff473cbe4", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/535", "merged_by": null, "auto_merge": null} {"id": 293994443, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz", "number": 536, "state": "closed", "locked": 0, "title": "Switch to ~= dependencies, closes #532", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-07-03T04:12:16Z", "updated_at": "2019-07-03T04:32:55Z", "closed_at": "2019-07-03T04:32:55Z", "merged_at": "2019-07-03T04:32:55Z", "merge_commit_sha": "f0d32da0a9af87bcb15e34e35424f0c0053be83a", "assignee": null, "milestone": null, "draft": 0, "head": "391d109dc3f9230dc4ee4afd20041e480e90e739", "base": "4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/536", "merged_by": null, "auto_merge": null} {"id": 298962551, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjk4OTYyNTUx", "number": 561, "state": "closed", "locked": 0, "title": "Fix typos", "user": {"value": 15278512, "label": "minho42"}, "body": "", "created_at": "2019-07-18T15:13:35Z", "updated_at": "2019-07-26T10:25:45Z", "closed_at": "2019-07-26T10:25:45Z", "merged_at": "2019-07-26T10:25:45Z", "merge_commit_sha": "27cb29365c9f5f6f1492968d1268497193ed75a2", "assignee": null, "milestone": null, "draft": 0, "head": "41341195075adc5093d33633d980657ecdac043c", "base": "a9453c4dda70bbf5122835e68f63db6ecbe1a6fc", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/561", "merged_by": null, "auto_merge": null} {"id": 334448258, "node_id": "MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4", "number": 609, "state": "closed", "locked": 0, "title": "Update to latest black", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-10-30T18:42:35Z", "updated_at": "2019-10-30T18:49:01Z", "closed_at": "2019-10-30T18:49:01Z", "merged_at": "2019-10-30T18:49:01Z", "merge_commit_sha": "5dd4d2b2d3abcfd507a6df47e7c2fbad3c552fd8", "assignee": null, "milestone": null, "draft": 0, "head": "6f57e5e77bac29ac88d51271fd0c785859a820ce", "base": "f4c0830529a9513a83437a9e1550bbe27ebc5c64", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/609", "merged_by": null, "auto_merge": null} {"id": 339244888, "node_id": "MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4", "number": 624, "state": "closed", "locked": 0, "title": "Bump pint to 0.9", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-11-11T04:07:07Z", "updated_at": "2019-11-11T04:19:02Z", "closed_at": "2019-11-11T04:19:02Z", "merged_at": "2019-11-11T04:19:02Z", "merge_commit_sha": "42ee3e16a9ba7cc513b8da944cc1609a5407cf42", "assignee": null, "milestone": null, "draft": 0, "head": "ed17117a2ad675cbf2430f28069bb1854846a6f0", "base": "1c063fae9dba70f70244db010d55a18846640f07", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/624", "merged_by": null, "auto_merge": null} {"id": 365218391, "node_id": "MDExOlB1bGxSZXF1ZXN0MzY1MjE4Mzkx", "number": 660, "state": "closed", "locked": 0, "title": "gcloud run is now GA, s/beta//", "user": {"value": 813732, "label": "glasnt"}, "body": "", "created_at": "2020-01-21T10:08:38Z", "updated_at": "2020-01-22T03:41:09Z", "closed_at": "2020-01-21T23:28:12Z", "merged_at": "2020-01-21T23:28:12Z", "merge_commit_sha": "34d77d780f68b778fd9d6ebbaf69f250436f055f", "assignee": null, "milestone": null, "draft": 0, "head": "894e96026b838288f926f62914123a1f86139793", "base": "3c861f363df02a59a67c59036278338e4760d2ed", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/660", "merged_by": null, "auto_merge": null} {"id": 368734500, "node_id": "MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw", "number": 663, "state": "closed", "locked": 0, "title": "-p argument for datasette package, plus tests - refs #661", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2020-01-29T19:47:49Z", "updated_at": "2020-01-29T22:46:43Z", "closed_at": "2020-01-29T22:46:43Z", "merged_at": "2020-01-29T22:46:43Z", "merge_commit_sha": "67fc9c5720ed1fcd62b116481f70d4e80b403a22", "assignee": null, "milestone": null, "draft": 0, "head": "8adfc9db7f15e36fed677be4a9c833ff2cdec0bc", "base": "34d77d780f68b778fd9d6ebbaf69f250436f055f", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/663", "merged_by": null, "auto_merge": null} {"id": 468377212, "node_id": "MDExOlB1bGxSZXF1ZXN0NDY4Mzc3MjEy", "number": 937, "state": "closed", "locked": 0, "title": "Docs now live at docs.datasette.io", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2020-08-15T23:53:52Z", "updated_at": "2020-08-15T23:57:06Z", "closed_at": "2020-08-15T23:57:05Z", "merged_at": "2020-08-15T23:57:05Z", "merge_commit_sha": "41ddc197561ac2d2a1bb988956c301a523c6ca35", "assignee": null, "milestone": null, "draft": 0, "head": "ff2605af65e023564cd7b57382b116e94b9d4f16", "base": "af12f45c2b0e4782ca92c2d00481dc47ccb7a046", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/937", "merged_by": null, "auto_merge": null} {"id": 498104830, "node_id": "MDExOlB1bGxSZXF1ZXN0NDk4MTA0ODMw", "number": 994, "state": "closed", "locked": 0, "title": "Run tests against Python 3.9", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2020-10-05T20:40:13Z", "updated_at": "2020-10-09T16:22:51Z", "closed_at": "2020-10-09T16:22:50Z", "merged_at": "2020-10-09T16:22:50Z", "merge_commit_sha": "6e091b14b651d67e0ff41a353d36bbeb1d8ba235", "assignee": null, "milestone": null, "draft": 0, "head": "ecba5d257ef4218a98b5903d856a4d7c0382f43d", "base": "e807c4eac0e85ae15e013379b0dde1d797f1377d", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/994", "merged_by": null, "auto_merge": null} {"id": 500798091, "node_id": "MDExOlB1bGxSZXF1ZXN0NTAwNzk4MDkx", "number": 1008, "state": "open", "locked": 0, "title": "Add json_loads and json_dumps jinja2 filters", "user": {"value": 649467, "label": "mhalle"}, "body": "", "created_at": "2020-10-09T20:11:34Z", "updated_at": "2020-12-15T02:30:28Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "e33e91ca7c9b2fdeab9d8179ce0d603918b066aa", "assignee": null, "milestone": null, "draft": 0, "head": "40858989d47043743d6b1c9108528bec6a317e43", "base": "1bdbc8aa7f4fd7a768d456146e44da86cb1b36d1", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1008", "merged_by": null, "auto_merge": null} {"id": 511005542, "node_id": "MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy", "number": 1056, "state": "closed", "locked": 0, "title": "Radical new colour scheme and base styles, courtesy of @natbat", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2020-10-27T19:31:48Z", "updated_at": "2020-10-27T19:39:57Z", "closed_at": "2020-10-27T19:39:56Z", "merged_at": "2020-10-27T19:39:56Z", "merge_commit_sha": "e5f5034bcdc71e4bc62a6a155ca60eb41910c335", "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "draft": 0, "head": "a7b2aabd5148c0ee382b583de68a4f0538f7dfb1", "base": "26bb4a268127da2c38f4241abe45444b2a6f7874", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1056", "merged_by": null, "auto_merge": null} {"id": 572209243, "node_id": "MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz", "number": 1222, "state": "closed", "locked": 0, "title": "--ssl-keyfile and --ssl-certfile, refs #1221", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2021-02-12T00:45:58Z", "updated_at": "2021-02-12T00:52:18Z", "closed_at": "2021-02-12T00:52:17Z", "merged_at": "2021-02-12T00:52:17Z", "merge_commit_sha": "eda652cf6ee28a0babfb30ce3834512e9e33fb8e", "assignee": null, "milestone": null, "draft": 0, "head": "8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3", "base": "aa1fe0692c2abb901216738bfb35f9fcc5090e7d", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1222", "merged_by": null, "auto_merge": null} {"id": 579697833, "node_id": "MDExOlB1bGxSZXF1ZXN0NTc5Njk3ODMz", "number": 1243, "state": "closed", "locked": 0, "title": "fix small typo", "user": {"value": 306240, "label": "UtahDave"}, "body": "", "created_at": "2021-02-25T00:22:34Z", "updated_at": "2021-03-04T05:46:10Z", "closed_at": "2021-03-04T05:46:10Z", "merged_at": "2021-03-04T05:46:10Z", "merge_commit_sha": "4f9a2f1f47dcf7e8561d68a8a07f5009a13cfdb3", "assignee": null, "milestone": null, "draft": 0, "head": "32652d9847f9b32c5d923823001c75d76e2791d2", "base": "726f781c50e88f557437f6490b8479c3d6fabfc2", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1243", "merged_by": null, "auto_merge": null} {"id": 603082280, "node_id": "MDExOlB1bGxSZXF1ZXN0NjAzMDgyMjgw", "number": 1282, "state": "closed", "locked": 0, "title": "Fix little typo", "user": {"value": 192568, "label": "mroswell"}, "body": "", "created_at": "2021-03-29T19:45:28Z", "updated_at": "2021-03-29T19:57:34Z", "closed_at": "2021-03-29T19:57:34Z", "merged_at": "2021-03-29T19:57:34Z", "merge_commit_sha": "7b1a9a1999eb9326ce8ec830d75ac200e5279c46", "assignee": null, "milestone": null, "draft": 0, "head": "08f7427afcff69fa93ebaf5916588b5ad8bd4e0f", "base": "0486303b60ce2784fd2e2ecdbecf304b7d6e6659", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1282", "merged_by": null, "auto_merge": null} {"id": 647552141, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQ3NTUyMTQx", "number": 1335, "state": "closed", "locked": 0, "title": "Fix small typo", "user": {"value": 3243482, "label": "abdusco"}, "body": "", "created_at": "2021-05-19T11:17:04Z", "updated_at": "2021-05-22T23:53:34Z", "closed_at": "2021-05-22T23:53:34Z", "merged_at": "2021-05-22T23:53:34Z", "merge_commit_sha": "459259175eddeed727fd8f08dc19a332779a4f6b", "assignee": null, "milestone": null, "draft": 0, "head": "d91c18dcd956b414b57eaa2763d2b8f5f6f6427f", "base": "9b3b7e280ca718254b4ca15d40864297146a85b3", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1335", "merged_by": null, "auto_merge": null} {"id": 655726387, "node_id": "MDExOlB1bGxSZXF1ZXN0NjU1NzI2Mzg3", "number": 1347, "state": "closed", "locked": 0, "title": "Test docker platform blair only", "user": {"value": 10801138, "label": "blairdrummond"}, "body": "", "created_at": "2021-05-28T02:47:09Z", "updated_at": "2021-05-28T02:47:28Z", "closed_at": "2021-05-28T02:47:28Z", "merged_at": null, "merge_commit_sha": "e755dd8c8cf7149046a8b5fd44aec07c4b2416d3", "assignee": null, "milestone": null, "draft": 0, "head": "f730725fd260ba6578c472c344269d5d5df4e650", "base": "7b106e106000713bbee31b34d694b3dadbd4818c", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1347", "merged_by": null, "auto_merge": null} {"id": 691707409, "node_id": "MDExOlB1bGxSZXF1ZXN0NjkxNzA3NDA5", "number": 1397, "state": "closed", "locked": 0, "title": "Fix for race condition in refresh_schemas(), closes #1231", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2021-07-16T19:44:43Z", "updated_at": "2021-07-16T19:45:00Z", "closed_at": "2021-07-16T19:44:58Z", "merged_at": "2021-07-16T19:44:58Z", "merge_commit_sha": "c00f29affcafce8314366852ba1a0f5a7dd25690", "assignee": null, "milestone": null, "draft": 0, "head": "bf2453ab7cb876c91edab3df59b7f398df2f9727", "base": "dd5ee8e66882c94343cd3f71920878c6cfd0da41", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1397", "merged_by": null, "auto_merge": null} {"id": 1143946542, "node_id": "PR_kwDOBm6k_c5ELz0u", "number": 1930, "state": "closed", "locked": 0, "title": "Typo in JSON API `Updating a row` documentation", "user": {"value": 3556, "label": "davidbgk"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1930.org.readthedocs.build/en/1930/\n\r\n", "created_at": "2022-12-03T02:22:31Z", "updated_at": "2022-12-08T21:12:35Z", "closed_at": "2022-12-08T21:12:35Z", "merged_at": "2022-12-08T21:12:35Z", "merge_commit_sha": "e539c1c024bc62d88df91d9107cbe37e7f0fe55f", "assignee": null, "milestone": null, "draft": 0, "head": "9928ff17b47443f6b51e570ae6116fd472756096", "base": "cab5b60e09e94aca820dbec5308446a88c99ea3d", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1930", "merged_by": null, "auto_merge": null} {"id": 1355563020, "node_id": "PR_kwDOBm6k_c5QzEAM", "number": 2076, "state": "open", "locked": 0, "title": "Datsette gpt plugin", "user": {"value": 130708713, "label": "StudioCordillera"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2076.org.readthedocs.build/en/2076/\n\r\n", "created_at": "2023-05-18T11:22:30Z", "updated_at": "2023-05-18T11:22:45Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "71658bfe72b75bdceb2b29e13fd610511c8b908c", "assignee": null, "milestone": null, "draft": 0, "head": "093693edd2a177a38cbc5570aaef769e5cbffac1", "base": "49184c569cd70efbda4f3f062afef3a34401d8d5", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2076", "merged_by": null, "auto_merge": null} {"id": 1432754160, "node_id": "PR_kwDOBm6k_c5VZhfw", "number": 2100, "state": "open", "locked": 0, "title": "Make primary key view accessible to render_cell hook", "user": {"value": 1563881, "label": "meowcat"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2100.org.readthedocs.build/en/2100/\n\r\n", "created_at": "2023-07-13T09:30:36Z", "updated_at": "2023-08-10T13:15:41Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "37e72ded81cba41c7597a4287e73c47570dca2c7", "assignee": null, "milestone": null, "draft": 0, "head": "5639f9d943e55d6990b40db726aa59790724899a", "base": "33251d04e78d575cca62bb59069bb43a7d924746", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2100", "merged_by": null, "auto_merge": null} {"id": 152870030, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw", "number": 104, "state": "closed", "locked": 0, "title": "[WIP] Add publish to heroku support", "user": {"value": 21148, "label": "jacobian"}, "body": "\r\n\r\nRefs #90 ", "created_at": "2017-11-15T19:56:22Z", "updated_at": "2017-11-21T20:55:05Z", "closed_at": "2017-11-21T20:55:05Z", "merged_at": "2017-11-21T20:55:05Z", "merge_commit_sha": "e47117ce1d15f11246a3120aa49de70205713d05", "assignee": null, "milestone": null, "draft": 0, "head": "de42240afd1e3829fd21cbe77a89ab0eaab20d78", "base": "0331666e346c68b86de4aa19fbb37f3a408d37ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/104", "merged_by": null, "auto_merge": null} {"id": 1125261188, "node_id": "PR_kwDOBm6k_c5DEh-E", "number": 1898, "state": "closed", "locked": 0, "title": "Use DOMContentLoaded instead of load event for CodeMirror initialization", "user": {"value": 95570, "label": "bgrins"}, "body": " Closes #1894\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1898.org.readthedocs.build/en/1898/\n\r\n", "created_at": "2022-11-17T00:19:21Z", "updated_at": "2022-11-18T07:29:01Z", "closed_at": "2022-11-18T07:29:01Z", "merged_at": "2022-11-18T07:29:01Z", "merge_commit_sha": "3ecd131e57add427d847b614c920c9624bb2e66b", "assignee": null, "milestone": null, "draft": 0, "head": "5eb4ea45ce6cdc7003fc7c5175977b025b0f111e", "base": "00e233d7a7f6443cb95fb5227c23580c48551cad", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1898", "merged_by": null, "auto_merge": null} {"id": 928210171, "node_id": "PR_kwDOBm6k_c43U1z7", "number": 1740, "state": "closed", "locked": 0, "title": "chore: Set permissions for GitHub actions", "user": {"value": 172697, "label": "naveensrinivasan"}, "body": " Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won\u2019t be able to do much.\n\n- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions\n\nhttps://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions\n\nhttps://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs\n\n[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)\n\nSigned-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>\n", "created_at": "2022-05-05T01:03:08Z", "updated_at": "2022-05-31T19:28:41Z", "closed_at": "2022-05-31T19:28:40Z", "merged_at": "2022-05-31T19:28:40Z", "merge_commit_sha": "2e9751672d4fe329b3c359d5b7b1992283185820", "assignee": null, "milestone": null, "draft": 0, "head": "f76fce5fd2bacadf2f46656e32093c6d639270c9", "base": "280ff372ab30df244f6c54f6f3002da57334b3d7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1740", "merged_by": null, "auto_merge": null} {"id": 1299206303, "node_id": "PR_kwDOBm6k_c5NcFCf", "number": 2052, "state": "closed", "locked": 0, "title": "feat: Javascript Plugin API (Custom panels, column menu items with JS actions)", "user": {"value": 9020979, "label": "hydrosquall"}, "body": "## Motivation\r\n\r\n- Allow plugins that add data visualizations [`datasette-vega`](https://github.com/simonw/datasette-vega), [`datasette-leaflet`](https://github.com/simonw/datasette-leaflet), and [`datasette-nteract-data-explorer`](https://github.com/hydrosquall/datasette-nteract-data-explorer) to co-exist safely\r\n- Standardize APIs / hooks to ease development for new JS plugin developers (better compat with datasette-lite) through standardized DOM selectors, methods for extending the existing Table UI. This has come up as a feature request several times (see research notes for examples)\r\n- Discussion w/ @simonw about a general-purpose Datasette JS API\r\n\r\n## Changes\r\n\r\nSummary: Provide 2 new surface areas for Datasette JS plugin developers. See alpha [documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051)\r\n\r\n1. Custom column header items: \r\n2. Basic \"panels\" controlled by buttons: \r\n\r\n### User Facing Changes\r\n\r\n- Allow creating menu items under table header that triggers JS (instead of opening hrefs per the existing [menu_link](https://docs.datasette.io/en/stable/plugin_hooks.html#menu-links-datasette-actor-request) hook). Items can respond to any column metadata provided by the column header (e.g. label). The proof of concept plugins log data to the console, or copy the column name to clipboard.\r\n- Allow plugins to register UI elements in a panel controller. The parent component handles switching the visibility of active plugins.\r\n - Because native button elements are used, the panel is keyboard-accessible - use tab / shift-tab to cycle through tab options, and `enter` to select.\r\n - There's room to improve the styling, but the focus of this PR is on the API rather than the UX.\r\n\r\n### (plugin) Developer Facing Changes\r\n\r\n- Dispatch a `datasette_init` [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) when the `datasetteManager` is finished loading.\r\n- Provide `manager.registerPlugin` API for adding new functionality that coordinates with Datasette lifecycle events.\r\n- Provide a `manager.selectors` map of DOM elements that users may want to hook into.\r\n - Updated `table.js` to use refer to these to motivating keeping things in sync\r\n- Allow plugins to register themselves with 2 hooks:\r\n - `makeColumnActions`: Add items to menu in table column headers. Users can provide a `label`, and either `href` or `onClick` with full access to the metadata for the clicked column (name, type, misc. booleans)\r\n - `makeAboveTablePanelConfigs`: Add items to the panel. Each panel has a unique ID (namespaced within that plugin), a render function, and a string label.\r\n\r\nSee [this file](https://github.com/simonw/datasette/blob/2d92b9328022d86505261bcdac419b6ed9cb2236/datasette/static/table-example-plugins.js) for example plugin usage.\r\n\r\n### Core Developer Facing Changes\r\n\r\n- Modified `table.js` to make use of the `datasetteManager` API.\r\n- Added example plugins to the `demos/plugins` folder, and stored the test js in the `statics/` folder\r\n\r\n## Testing\r\n\r\nFor Datasette plugin developers, please see the [alpha-level documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051) .\r\n\r\nTo run the examples:\r\n\r\n```bash\r\ndatasette serve fixtures.db --plugins-dir=demos/plugins/\r\n```\r\n\r\nOpen local server: `http://127.0.0.1:8001/fixtures/facetable`\r\n\r\nOpen to all feedback on this PR, from API design to variable naming, to what additional hooks might be useful for the future.\r\n\r\nMy focus was more on the general shape of the API for developers, rather than on the UX of the test plugins.\r\n\r\n## Design notes\r\n\r\n- The manager tab panel could be a separate plugin if the implementation is too custom.\r\n- The `makeColumnHeaderItems` benefits from hooking into the logic of `table.js`\r\n- I wanted to offer this to the Datasette core, since the `datasette-manager` would be more powerful if it were connected to lifecycle and JS events that are part of the existing table.js.\r\n- Non-goals:\r\n - Dependency management (for now) - there's no \"build\" step, we don't know when new plugins will be added. While there are some valid use cases (for example, allow multiple plugins to wait for a global leaflet object to be loaded), I don't see enough use-cases to justify doing this yet.\r\n - Enabling single-page-app features - for now, most datasette actions lead to a new page being loaded. SPA development offers some benefits (no page jumping after clicking on a link), but also complexity that doesn't need to be in the core Datasette project.\r\n\r\n## Research Notes\r\n\r\n- Relocated to a [comment](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423215), as this isn't required to review when evaluating the plugin. Including it just for those who are curious.\r\n", "created_at": "2023-04-02T20:23:44Z", "updated_at": "2023-10-14T17:49:03Z", "closed_at": "2023-10-13T00:00:27Z", "merged_at": "2023-10-13T00:00:27Z", "merge_commit_sha": "452a587e236ef642cbc6ae345b58767ea8420cb5", "assignee": {"value": 9599, "label": "simonw"}, "milestone": null, "draft": 0, "head": "8ae479c4775125f59f2367626fd32f3229c1135d", "base": "0f7192b6154edb576c41b55bd3f2a3f53e5f436a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2052", "merged_by": null, "auto_merge": null} {"id": 592548103, "node_id": "MDExOlB1bGxSZXF1ZXN0NTkyNTQ4MTAz", "number": 1260, "state": "closed", "locked": 0, "title": "Fix: code quality issues", "user": {"value": 25361949, "label": "withshubh"}, "body": "### Description\r\nHi :wave: I work at [DeepSource](https://deepsource.io), I ran DeepSource analysis on the forked copy of this repo and found some interesting [code quality issues](https://deepsource.io/gh/withshubh/datasette/issues/?category=recommended) in the codebase, opening this PR so you can assess if our platform is right and helpful for you.\r\n\r\n### Summary of changes\r\n\r\n- Replaced ternary syntax with if expression\r\n- Removed redundant `None` default\r\n- Used `is` to compare type of objects\r\n- Iterated dictionary directly\r\n- Removed unnecessary lambda expression\r\n- Refactored unnecessary `else` / `elif` when `if` block has a `return` statement\r\n- Refactored unnecessary `else` / `elif` when `if` block has a `raise` statement\r\n- Added .deepsource.toml to continuously analyze and detect code quality issues", "created_at": "2021-03-14T13:56:10Z", "updated_at": "2021-03-29T00:22:41Z", "closed_at": "2021-03-29T00:22:41Z", "merged_at": null, "merge_commit_sha": "bc868ae8c8152a25bcab7adb490c5b89411bdf3a", "assignee": null, "milestone": null, "draft": 0, "head": "90f5fb6d2fb36ddffc49acee924d042f2d5d1d58", "base": "8e18c7943181f228ce5ebcea48deb59ce50bee1f", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1260", "merged_by": null, "auto_merge": null} {"id": 1504915653, "node_id": "PR_kwDOBm6k_c5ZszDF", "number": 2174, "state": "open", "locked": 0, "title": "Use $DATASETTE_INTERNAL in absence of --internal", "user": {"value": 15178711, "label": "asg017"}, "body": "#refs 2157, specifically [this comment](https://github.com/simonw/datasette/issues/2157#issuecomment-1700291967)\r\n\r\nPassing in `--internal my_internal.db` over and over again can get repetitive. \r\n\r\nThis PR adds a new configurable env variable `DATASETTE_INTERNAL_DB_PATH`. If it's defined, then it takes place as the path to the internal database. Users can still overwrite this behavior by passing in their own `--internal internal.db` flag.\r\n\r\nIn draft mode for now, needs tests and documentation. \r\n\r\nSide note: Maybe we can have a sections in the docs that lists all the \"configuration environment variables\" that Datasette respects? I did a quick grep and found:\r\n\r\n- `DATASETTE_LOAD_PLUGINS`\r\n- `DATASETTE_SECRETS`\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2174.org.readthedocs.build/en/2174/\n\r\n", "created_at": "2023-09-06T16:07:15Z", "updated_at": "2023-09-08T00:46:13Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "0fc2896ffc5b49adba967a3d0ab8ac9ca119ba0e", "assignee": null, "milestone": null, "draft": 0, "head": "d75b51950f6836d6e5a58accb48b1d7687dbdd1c", "base": "05707aa16b5c6c39fbe48b3176b85a8ffe493938", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2174", "merged_by": null, "auto_merge": null} {"id": 187668890, "node_id": "MDExOlB1bGxSZXF1ZXN0MTg3NjY4ODkw", "number": 257, "state": "closed", "locked": 0, "title": "Refactor views", "user": {"value": 9599, "label": "simonw"}, "body": "* Split out view classes from main `app.py`\r\n* Run [black](https://github.com/ambv/black) against resulting code to apply opinionated source code formatting\r\n* Run [isort](https://github.com/timothycrosley/isort) to re-order my imports\r\n\r\nRefs #256 ", "created_at": "2018-05-13T13:00:50Z", "updated_at": "2018-05-14T03:04:25Z", "closed_at": "2018-05-14T03:04:24Z", "merged_at": "2018-05-14T03:04:24Z", "merge_commit_sha": "2b79f2bdeb1efa86e0756e741292d625f91cb93d", "assignee": null, "milestone": null, "draft": 0, "head": "0e2b41f3fa38456af32548c536f955c48c7637e8", "base": "4301a8f3ac69f2f54916e73cc90fcf216a9a3746", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/257", "merged_by": null, "auto_merge": null} {"id": 655741428, "node_id": "MDExOlB1bGxSZXF1ZXN0NjU1NzQxNDI4", "number": 1348, "state": "open", "locked": 0, "title": "DRAFT: add test and scan for docker images", "user": {"value": 10801138, "label": "blairdrummond"}, "body": "**NOTE: I don't think this PR is ready, since the arm/v6 and arm/v7 images are failing pytest due to missing dependencies (gcc and friends). But it's pretty close.**\r\n\r\nCloses https://github.com/simonw/datasette/issues/1344 . Using a build-matrix for the platforms and [this test](https://github.com/simonw/datasette/issues/1344#issuecomment-849820019), we test all the platforms in parallel. I also threw in container scanning.\r\n\r\n### Switch `pip install` to use either tags or commit shas\r\n\r\nNotably! This also [changes the Dockerfile](https://github.com/blairdrummond/datasette/blob/7fe5315d68e04fce64b5bebf4e2d7feec44f8546/Dockerfile#L20) so that it accepts tags or commit-shas.\r\n\r\n```\r\n# It's backwards compatible with tags, but also lets you use shas\r\nroot@712071df17af:/# pip install git+git://github.com/simonw/datasette.git@0.56 \r\nCollecting git+git://github.com/simonw/datasette.git@0.56 \r\n Cloning git://github.com/simonw/datasette.git (to revision 0.56) to /tmp/pip-req-build-u6dhm945 \r\n Running command git clone -q git://github.com/simonw/datasette.git /tmp/pip-req-build-u6dhm945 \r\n Running command git checkout -q af5a7f1c09f6a902bb2a25e8edf39c7034d2e5de \r\nCollecting Jinja2<2.12.0,>=2.10.3 \r\n Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB) \r\n```\r\n\r\nThis lets you build the containers in CI every push for testing, which maybe resolves [this problem](https://github.com/simonw/datasette/issues/1272#issuecomment-808648974)?\r\n\r\n# Workflow run example\r\n\r\nYou can see the results in my workflow [here](https://github.com/blairdrummond/datasette/pull/2/checks?check_run_id=2690570717). The commit history is different because I squashed this branch, also in the testing branch I had to change `github.com/simonw` to `github.com/blairdrummond` for the CI to pick up my git_sha.\r\n\r\n## Why did the builds fail?\r\n\r\n**NOTE:** The results of all the tests fail, but for different reasons! A few fail to install Rust, the amd64 passes the tests (phew!) but has critical CVEs which fail the container scan, the Arm/v6 and Arm/v7 seem to fail to install the test dependencies due to missing programs like `gcc`. (`gcc` is not sufficient though, as [this run](https://github.com/blairdrummond/datasette/pull/3/checks?check_run_id=2690672982) indicates) ", "created_at": "2021-05-28T03:02:12Z", "updated_at": "2021-05-28T03:06:16Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "eeea7cb835be0f0319cafccf50dffa6ad26826c5", "assignee": null, "milestone": null, "draft": 0, "head": "56cba8fb837cd938c2f9d7423ee43d62a81c8f7c", "base": "7b106e106000713bbee31b34d694b3dadbd4818c", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1348", "merged_by": null, "auto_merge": null} {"id": 1496106142, "node_id": "PR_kwDOBm6k_c5ZLMSe", "number": 2165, "state": "closed", "locked": 0, "title": "DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins", "user": {"value": 9599, "label": "simonw"}, "body": "- #2164\r\n\r\nTODO:\r\n\r\n- [x] Automated tests\r\n- [ ] Documentation\r\n- [x] Make sure `DATASETTE_LOAD_PLUGINS=''` works for loading zero plugins", "created_at": "2023-08-30T20:33:30Z", "updated_at": "2023-08-30T22:12:25Z", "closed_at": "2023-08-30T22:12:25Z", "merged_at": "2023-08-30T22:12:25Z", "merge_commit_sha": "6bfe104d47b888c70bfb7781f8f48ff11452b2b5", "assignee": null, "milestone": null, "draft": 0, "head": "6321c9c055a640ed6ea98e231dc5813dcde1f773", "base": "30b28c8367a9c6870386ea10a202705b40862457", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2165", "merged_by": null, "auto_merge": null} {"id": 511868153, "node_id": "MDExOlB1bGxSZXF1ZXN0NTExODY4MTUz", "number": 1060, "state": "closed", "locked": 0, "title": "New explicit versioning mechanism", "user": {"value": 9599, "label": "simonw"}, "body": "- Remove all references to versioneer\r\n- Re-implement versioning to use a static string baked into the repo\r\n- Ensure that string is output by `datasette --version` and `/-/versions`\r\n\r\nRefs #1054", "created_at": "2020-10-28T22:14:55Z", "updated_at": "2020-10-29T03:38:17Z", "closed_at": "2020-10-29T03:38:16Z", "merged_at": "2020-10-29T03:38:16Z", "merge_commit_sha": "cefd058c1c216a184bb63c79abba66893977c18e", "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "draft": 0, "head": "4725d46780783e9875bde5957f053ba19cf92ff0", "base": "abcf0222496d8148b2e585ffa0ff192270a04b06", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1060", "merged_by": null, "auto_merge": null} {"id": 512545364, "node_id": "MDExOlB1bGxSZXF1ZXN0NTEyNTQ1MzY0", "number": 1061, "state": "closed", "locked": 0, "title": ".blob output renderer", "user": {"value": 9599, "label": "simonw"}, "body": "- [x] Remove the `/-/...blob/...` route I added in #1040 in place of the new `.blob` renderer URLs\r\n- [x] Link to new `.blob` download links on the arbitrary query page (using `_blob_hash=...`) - plus tests for this\r\n\r\nCloses #1050, Closes #1051", "created_at": "2020-10-29T20:25:08Z", "updated_at": "2020-10-29T22:01:40Z", "closed_at": "2020-10-29T22:01:39Z", "merged_at": "2020-10-29T22:01:39Z", "merge_commit_sha": "78b3eeaad9189eb737014f53212082684f4bb0d4", "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "draft": 0, "head": "1196d084de6a7a6f68c7705a6cc096bb8df132e3", "base": "d6f9ff71378c4eab34dad181c23cfc143a4aef2d", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1061", "merged_by": null, "auto_merge": null} {"id": 293962405, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkzOTYyNDA1", "number": 533, "state": "closed", "locked": 0, "title": "Support cleaner custom templates for rows and tables, closes #521", "user": {"value": 9599, "label": "simonw"}, "body": "- [x] Rename `_rows_and_columns.html` to `_table.html`\r\n- [x] Unit test\r\n- [x] Documentation", "created_at": "2019-07-03T00:40:18Z", "updated_at": "2019-07-03T03:23:06Z", "closed_at": "2019-07-03T03:23:06Z", "merged_at": "2019-07-03T03:23:06Z", "merge_commit_sha": "b9ede4c1898616512b5d204f9c941deff473cbe4", "assignee": null, "milestone": null, "draft": 0, "head": "1add905532b7bc4f681318b8f22b9b74cca2b2a0", "base": "76882830548e16905348ee75acb0044cb8e1fd20", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/533", "merged_by": null, "auto_merge": null} {"id": 544923437, "node_id": "MDExOlB1bGxSZXF1ZXN0NTQ0OTIzNDM3", "number": 1158, "state": "closed", "locked": 0, "title": "Modernize code to Python 3.6+", "user": {"value": 6774676, "label": "eumiro"}, "body": "- compact dict and set building\r\n- remove redundant parentheses\r\n- simplify chained conditions\r\n- change method name to lowercase\r\n- use triple double quotes for docstrings\r\n\r\nplease feel free to accept/reject any of these independent commits", "created_at": "2020-12-23T16:21:38Z", "updated_at": "2021-01-24T21:20:50Z", "closed_at": "2020-12-23T17:04:32Z", "merged_at": "2020-12-23T17:04:32Z", "merge_commit_sha": "a882d679626438ba0d809944f06f239bcba8ee96", "assignee": null, "milestone": {"value": 6346396, "label": "Datasette 0.54"}, "draft": 0, "head": "37ce72f086d7807a32ea9012d6e6b5d235349152", "base": "90eba4c3ca569c57e96bce314e7ac8caf67d884e", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1158", "merged_by": null, "auto_merge": null} {"id": 1243080434, "node_id": "PR_kwDOBm6k_c5KF-by", "number": 2026, "state": "open", "locked": 0, "title": "Avoid repeating primary key columns if included in _col args", "user": {"value": 8513, "label": "runderwood"}, "body": "...while maintaining given order.\r\n\r\nFixes #1975 (if I'm understanding correctly).\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2026.org.readthedocs.build/en/2026/\n\r\n", "created_at": "2023-02-16T04:16:25Z", "updated_at": "2023-02-16T04:16:41Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "ad2bfc72186e7af2244a6f27e02754f4c2f64910", "assignee": null, "milestone": null, "draft": 0, "head": "f15adf1d6211e05250e5492826dd3f8e8e328077", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2026", "merged_by": null, "auto_merge": null} {"id": 589263297, "node_id": "MDExOlB1bGxSZXF1ZXN0NTg5MjYzMjk3", "number": 1256, "state": "closed", "locked": 0, "title": "Minor type in IP adress", "user": {"value": 6371750, "label": "JBPressac"}, "body": "127.0.01 replaced by 127.0.0.1", "created_at": "2021-03-10T08:28:22Z", "updated_at": "2021-03-10T18:26:46Z", "closed_at": "2021-03-10T18:26:40Z", "merged_at": "2021-03-10T18:26:39Z", "merge_commit_sha": "a1bcd2fbe5e47bb431045f65eeceb5eb3a6718d5", "assignee": null, "milestone": null, "draft": 0, "head": "4eef524e44ff79c617728aad98b14c1c1e586ce3", "base": "d0fd833b8cdd97e1b91d0f97a69b494895d82bee", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1256", "merged_by": null, "auto_merge": null} {"id": 434085235, "node_id": "MDExOlB1bGxSZXF1ZXN0NDM0MDg1MjM1", "number": 848, "state": "closed", "locked": 0, "title": "Reload support for config_dir mode.", "user": {"value": 49260, "label": "amjith"}, "body": "A reference implementation for adding support to reload when datasette is in the config_dir mode. \r\n\r\nThis implementation is flawed since it is watching the entire directory and any changes to the database will reload the server and adding unrelated files to the directory will also reload the server. ", "created_at": "2020-06-14T02:34:46Z", "updated_at": "2020-07-03T02:44:54Z", "closed_at": "2020-07-03T02:44:53Z", "merged_at": null, "merge_commit_sha": "888538efdbf545c0df524ca590a17fb6c6fa2419", "assignee": null, "milestone": null, "draft": 0, "head": "0d100d15aca93fae200b3bc2e29dfd60aaa4b384", "base": "57879dc8b346a435804a9e45ffaacbf2a0228bc6", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/848", "merged_by": null, "auto_merge": null} {"id": 187770345, "node_id": "MDExOlB1bGxSZXF1ZXN0MTg3NzcwMzQ1", "number": 258, "state": "closed", "locked": 0, "title": "Add new metadata key persistent_urls which removes the hash from all database urls", "user": {"value": 247131, "label": "philroche"}, "body": "Add new metadata key \"persistent_urls\" which removes the hash from all database urls when set to \"true\"\r\n\r\nThis PR is just to gauge if this, or something like it, is something you would consider merging?\r\n\r\nI understand the reason why the substring of the hash is included in the url but\r\nthere are some use cases where the urls should persist across deployments. For bookmarks\r\nfor example or for scripts that use the JSON API.\r\n\r\nThis is the initial commit for this feature. Tests and documentation updates to follow.", "created_at": "2018-05-14T09:39:18Z", "updated_at": "2018-05-21T07:38:15Z", "closed_at": "2018-05-21T07:38:15Z", "merged_at": null, "merge_commit_sha": "457fcdfc82a0260db543d49006d49f8486f233b5", "assignee": null, "milestone": null, "draft": 0, "head": "0d77a896ccb16b34c86fdeef7738f2d056e27e02", "base": "2b79f2bdeb1efa86e0756e741292d625f91cb93d", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/258", "merged_by": null, "auto_merge": null} {"id": 181600926, "node_id": "MDExOlB1bGxSZXF1ZXN0MTgxNjAwOTI2", "number": 204, "state": "closed", "locked": 0, "title": "Initial units support", "user": {"value": 45057, "label": "russss"}, "body": "Add support for specifying units for a column in metadata.json and rendering them on display using [pint](https://pint.readthedocs.io/en/latest/).\r\n\r\nExample table metadata:\r\n```json\r\n \"license_frequency\": {\r\n \"units\": {\r\n \"frequency\": \"Hz\",\r\n \"channel_width\": \"Hz\",\r\n \"height\": \"m\",\r\n \"antenna_height\": \"m\",\r\n \"azimuth\": \"degrees\"\r\n }\r\n }\r\n```\r\n\r\n[Example result](https://wtr-api.herokuapp.com/wtr-663ea99/license_frequency/1)\r\n\r\nThis works surprisingly well! I'd like to add support for using units when querying but this is PR is pretty usable as-is.\r\n\r\n(Pint doesn't seem to support decibels though - it thinks they're decibytes - which is an annoying omission.)\r\n\r\n(ref ticket #203)", "created_at": "2018-04-13T21:32:49Z", "updated_at": "2018-04-14T09:44:33Z", "closed_at": "2018-04-14T03:32:54Z", "merged_at": "2018-04-14T03:32:54Z", "merge_commit_sha": "ec6abc81e433c9bac1b9f085111785fc227e9e34", "assignee": null, "milestone": null, "draft": 0, "head": "67c20a98a0cbb59a10247a49320c2feb7d0b1b41", "base": "fb988ace7c7e2bee5ac142a0eab22431d0675a77", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/204", "merged_by": null, "auto_merge": null} {"id": 152522762, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyNTIyNzYy", "number": 89, "state": "closed", "locked": 0, "title": "SQL syntax highlighting with CodeMirror", "user": {"value": 15543, "label": "tomdyson"}, "body": "Addresses #13 \r\n\r\nFuture enhancements could include autocompletion of table and column names, e.g. with\r\n\r\n```javascript\r\nextraKeys: {\"Ctrl-Space\": \"autocomplete\"},\r\nhintOptions: {tables: {\r\n users: [\"name\", \"score\", \"birthDate\"],\r\n countries: [\"name\", \"population\", \"size\"]\r\n }}\r\n```\r\n\r\n(see https://codemirror.net/doc/manual.html#addon_sql-hint and source at http://codemirror.net/mode/sql/)", "created_at": "2017-11-14T14:43:33Z", "updated_at": "2017-11-15T02:03:01Z", "closed_at": "2017-11-15T02:03:01Z", "merged_at": "2017-11-15T02:03:01Z", "merge_commit_sha": "8252daa4c14d73b4b69e3f2db4576bb39d73c070", "assignee": null, "milestone": null, "draft": 0, "head": "7f6ad095e9c41bf24d73b7724d898965c419965b", "base": "075d422c0a1c70259188dfbd940538c67419694a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/89", "merged_by": null, "auto_merge": null} {"id": 755729137, "node_id": "PR_kwDOBm6k_c4tC4Lx", "number": 1487, "state": "closed", "locked": 0, "title": "Added instructions for installing plugins via pipx, #1486", "user": {"value": 41546558, "label": "RhetTbull"}, "body": "Adds missing instructions for installing plugins via pipx", "created_at": "2021-10-12T00:48:30Z", "updated_at": "2021-10-13T21:09:11Z", "closed_at": "2021-10-13T21:09:10Z", "merged_at": "2021-10-13T21:09:10Z", "merge_commit_sha": "68087440b3448633a62807c1623559619584f2ee", "assignee": null, "milestone": null, "draft": 0, "head": "4909d5814494dcae77a851905bfc392c70f60d60", "base": "0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1487", "merged_by": null, "auto_merge": null} {"id": 211860706, "node_id": "MDExOlB1bGxSZXF1ZXN0MjExODYwNzA2", "number": 363, "state": "open", "locked": 0, "title": "Search all apps during heroku publish", "user": {"value": 436032, "label": "kevboh"}, "body": "Adds the `-A` option to include apps from all organizations when searching app names for publish.", "created_at": "2018-08-29T19:25:10Z", "updated_at": "2018-08-31T14:39:45Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "b684b04c30f6b8779a3d11f7599329092fb152f3", "assignee": null, "milestone": null, "draft": 0, "head": "2dd363e01fa73b24ba72f539c0a854bc901d23a7", "base": "b7257a21bf3dfa7353980f343c83a616da44daa7", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/363", "merged_by": null, "auto_merge": null} {"id": 290971295, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1", "number": 524, "state": "closed", "locked": 0, "title": "Sort commits using isort, refs #516", "user": {"value": 9599, "label": "simonw"}, "body": "Also added a lint unit test to ensure they stay sorted. #516", "created_at": "2019-06-24T05:04:48Z", "updated_at": "2023-08-23T01:31:08Z", "closed_at": "2023-08-23T01:31:08Z", "merged_at": null, "merge_commit_sha": "4e92ebe00a058e02b2d7543cff60ac2f78aa97c7", "assignee": null, "milestone": null, "draft": 0, "head": "dafae70ee7f74ce79b541a94385172be3ad0de83", "base": "cdd24f3eaa207f67d948c1876725b0f84654a623", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/524", "merged_by": null, "auto_merge": null} {"id": 354869391, "node_id": "MDExOlB1bGxSZXF1ZXN0MzU0ODY5Mzkx", "number": 652, "state": "closed", "locked": 0, "title": "Quick (and uninformed and perhaps misguided) attempt to add a url for hosting datasette at a particular host/URI", "user": {"value": 132978, "label": "terrycojones"}, "body": "As usual, I don't really know what I'm doing... so this is just a suggested approach. I've not written tests, I've not run the tests, I don't know if I've missed some absolute URLs that would need to have the leading slash dropped.\r\n\r\nBUT, I tested it with `--config base_url:http://127.0.0.1:8001/` on the command line and from what little I know about datasette it's at least working in some obvious cases.\r\n\r\nMy changes are based on what I saw in https://github.com/simonw/datasette/commit/8da2db4b71096b19e7a9ef1929369b8483d448bf (thanks!)\r\n\r\nI'm happy to be more thorough on this if you think it's worth pursuing.\r\n\r\nFixes #394 (he said, optimistically).", "created_at": "2019-12-18T23:37:16Z", "updated_at": "2020-03-24T22:14:50Z", "closed_at": "2020-03-24T22:14:50Z", "merged_at": null, "merge_commit_sha": "8e674de58c17c89c8a4a90bc3ec6e02151b354e5", "assignee": null, "milestone": null, "draft": 0, "head": "eaa636841e38d40360a74596ef1a0df50f6a86a5", "base": "a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/652", "merged_by": null, "auto_merge": null} {"id": 275275610, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc1Mjc1NjEw", "number": 443, "state": "closed", "locked": 0, "title": "Pass view_name to extra_body_script hook", "user": {"value": 45057, "label": "russss"}, "body": "At the moment it's not easy to tell whether the hook is being called\r\nin (for example) the row or table view, as in both cases the\r\n`database` and `table` parameters are provided.\r\n\r\nThis passes the `view_name` added in #441 to the `extra_body_script`\r\nhook.", "created_at": "2019-05-02T08:38:36Z", "updated_at": "2019-05-03T13:12:20Z", "closed_at": "2019-05-03T13:12:20Z", "merged_at": "2019-05-03T13:12:20Z", "merge_commit_sha": "bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e", "assignee": null, "milestone": null, "draft": 0, "head": "83b6b82d4787b30d34eb26c22ad1ff9c5c118134", "base": "efc93b8ab5a21e3802f75f08d5e41409f5684b5d", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/443", "merged_by": null, "auto_merge": null} {"id": 274478761, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc0NDc4NzYx", "number": 442, "state": "closed", "locked": 0, "title": "Suppress rendering of binary data", "user": {"value": 45057, "label": "russss"}, "body": "Binary columns (including spatialite geographies) get shown as ugly\r\nbinary strings in the HTML by default. Nobody wants to see that mess.\r\n\r\nShow the size of the column in bytes instead. If you want to decode\r\nthe binary data, you can use a plugin to do it.", "created_at": "2019-04-29T18:36:41Z", "updated_at": "2019-05-03T18:26:48Z", "closed_at": "2019-05-03T16:44:49Z", "merged_at": "2019-05-03T16:44:49Z", "merge_commit_sha": "d555baf508de71a5e3dc9a9aed2c13f6f202956d", "assignee": null, "milestone": null, "draft": 0, "head": "bbbd9ea5ad774f088bd963106fa5756bfd77c799", "base": "11b352b4d52fd02a422776edebb14f12e4994d3b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/442", "merged_by": null, "auto_merge": null} {"id": 624635440, "node_id": "MDExOlB1bGxSZXF1ZXN0NjI0NjM1NDQw", "number": 1309, "state": "closed", "locked": 0, "title": "Bump black from 20.8b1 to 21.4b0", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 20.8b1 to 21.4b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
  • \n

    Black no longer removes all empty lines between non-function code and decorators\nwhen formatting typing stubs. Now Black enforces a single empty line. (#1646)

    \n
  • \n
  • \n

    Black no longer adds an incorrect space after a parenthesized assignment expression\nin if/while statements (#1655)

    \n
  • \n
  • \n

    Added --skip-magic-trailing-comma / -C to avoid using trailing commas as a reason\nto split lines (#1824)

    \n
  • \n
  • \n

    fixed a crash when PWD=/ on POSIX (#1631)

    \n
  • \n
  • \n

    fixed "I/O operation on closed file" when using --diff (#1664)

    \n
  • \n
  • \n

    Prevent coloured diff output being interleaved with multiple files (#1673)

    \n
  • \n
  • \n

    Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)

    \n
  • \n
  • \n

    Added parsing support for unparenthesized tuples and yield expressions in annotated\nassignments (#1835)

    \n
  • \n
  • \n

    use lowercase hex strings (#1692)

    \n
  • \n
  • \n

    added --extend-exclude argument (PR #2005)

    \n
  • \n
  • \n

    speed up caching by avoiding pathlib (#1950)

    \n
  • \n
  • \n

    --diff correctly indicates when a file doesn't end in a newline (#1662)

    \n
  • \n
  • \n

    Added --stdin-filename argument to allow stdin to respect --force-exclude rules\n(#1780)

    \n
  • \n
  • \n

    Lines ending with fmt: skip will now be not formatted (#1800)

    \n
  • \n
  • \n

    PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
  • \n

    Black no longer removes all empty lines between non-function code and decorators\nwhen formatting typing stubs. Now Black enforces a single empty line. (#1646)

    \n
  • \n
  • \n

    Black no longer adds an incorrect space after a parenthesized assignment expression\nin if/while statements (#1655)

    \n
  • \n
  • \n

    Added --skip-magic-trailing-comma / -C to avoid using trailing commas as a reason\nto split lines (#1824)

    \n
  • \n
  • \n

    fixed a crash when PWD=/ on POSIX (#1631)

    \n
  • \n
  • \n

    fixed "I/O operation on closed file" when using --diff (#1664)

    \n
  • \n
  • \n

    Prevent coloured diff output being interleaved with multiple files (#1673)

    \n
  • \n
  • \n

    Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)

    \n
  • \n
  • \n

    Added parsing support for unparenthesized tuples and yield expressions in annotated\nassignments (#1835)

    \n
  • \n
  • \n

    added --extend-exclude argument (PR #2005)

    \n
  • \n
  • \n

    speed up caching by avoiding pathlib (#1950)

    \n
  • \n
  • \n

    --diff correctly indicates when a file doesn't end in a newline (#1662)

    \n
  • \n
  • \n

    Added --stdin-filename argument to allow stdin to respect --force-exclude rules\n(#1780)

    \n
  • \n
  • \n

    Lines ending with fmt: skip will now be not formatted (#1800)

    \n
  • \n
  • \n

    PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b0)](https://dependabot.com/compatibility-score/?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b0)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2021-04-27T20:28:11Z", "updated_at": "2021-04-28T18:26:06Z", "closed_at": "2021-04-28T18:26:04Z", "merged_at": null, "merge_commit_sha": "1220c60d8a6bb8e621543ef78d669a2bccc2a3c8", "assignee": null, "milestone": null, "draft": 0, "head": "20fc3fe2797b81a23cd464c1450d13086d53ea7f", "base": "a4bb2abce0764d49d255e5379f9e9c70981834ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1309", "merged_by": null, "auto_merge": null} {"id": 625457579, "node_id": "MDExOlB1bGxSZXF1ZXN0NjI1NDU3NTc5", "number": 1311, "state": "closed", "locked": 0, "title": "Bump black from 20.8b1 to 21.4b1", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 20.8b1 to 21.4b1.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.4b1

\n

Black

\n
    \n
  • \n

    Fix crash on docstrings ending with "\\ ". (#2142)

    \n
  • \n
  • \n

    Fix crash when atypical whitespace is cleaned out of dostrings (#2120)

    \n
  • \n
  • \n

    Reflect the --skip-magic-trailing-comma and --experimental-string-processing flags\nin the name of the cache file. Without this fix, changes in these flags would not take\neffect if the cache had already been populated. (#2131)

    \n
  • \n
  • \n

    Don't remove necessary parentheses from assignment expression containing assert /\nreturn statements. (#2143)

    \n
  • \n
\n

Packaging

\n
    \n
  • Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
  • \n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
  • \n

    Black no longer removes all empty lines between non-function code and decorators\nwhen formatting typing stubs. Now Black enforces a single empty line. (#1646)

    \n
  • \n
  • \n

    Black no longer adds an incorrect space after a parenthesized assignment expression\nin if/while statements (#1655)

    \n
  • \n
  • \n

    Added --skip-magic-trailing-comma / -C to avoid using trailing commas as a reason\nto split lines (#1824)

    \n
  • \n
  • \n

    fixed a crash when PWD=/ on POSIX (#1631)

    \n
  • \n
  • \n

    fixed "I/O operation on closed file" when using --diff (#1664)

    \n
  • \n
  • \n

    Prevent coloured diff output being interleaved with multiple files (#1673)

    \n
  • \n
  • \n

    Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.4b1

\n

Black

\n
    \n
  • \n

    Fix crash on docstrings ending with "\\ ". (#2142)

    \n
  • \n
  • \n

    Fix crash when atypical whitespace is cleaned out of dostrings (#2120)

    \n
  • \n
  • \n

    Reflect the --skip-magic-trailing-comma and --experimental-string-processing flags\nin the name of the cache file. Without this fix, changes in these flags would not take\neffect if the cache had already been populated. (#2131)

    \n
  • \n
  • \n

    Don't remove necessary parentheses from assignment expression containing assert /\nreturn statements. (#2143)

    \n
  • \n
\n

Packaging

\n
    \n
  • Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
  • \n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
  • \n

    Black no longer removes all empty lines between non-function code and decorators\nwhen formatting typing stubs. Now Black enforces a single empty line. (#1646)

    \n
  • \n
  • \n

    Black no longer adds an incorrect space after a parenthesized assignment expression\nin if/while statements (#1655)

    \n
  • \n
  • \n

    Added --skip-magic-trailing-comma / -C to avoid using trailing commas as a reason\nto split lines (#1824)

    \n
  • \n
  • \n

    fixed a crash when PWD=/ on POSIX (#1631)

    \n
  • \n
  • \n

    fixed "I/O operation on closed file" when using --diff (#1664)

    \n
  • \n
  • \n

    Prevent coloured diff output being interleaved with multiple files (#1673)

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b1)](https://dependabot.com/compatibility-score/?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b1)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2021-04-28T18:25:58Z", "updated_at": "2021-04-29T13:58:11Z", "closed_at": "2021-04-29T13:58:09Z", "merged_at": null, "merge_commit_sha": "a8e260b47e0fb951790f155780354c8f8df88bc8", "assignee": null, "milestone": null, "draft": 0, "head": "baf303063a76800ec97abee46cd5f264e6a6447a", "base": "a4bb2abce0764d49d255e5379f9e9c70981834ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1311", "merged_by": null, "auto_merge": null} {"id": 626130135, "node_id": "MDExOlB1bGxSZXF1ZXN0NjI2MTMwMTM1", "number": 1313, "state": "closed", "locked": 0, "title": "Bump black from 20.8b1 to 21.4b2", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 20.8b1 to 21.4b2.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.4b2

\n

Black

\n
    \n
  • \n

    Fix crash if the user configuration directory is inaccessible. (#2158)

    \n
  • \n
  • \n

    Clarify\ncircumstances\nin which Black may change the AST (#2159)

    \n
  • \n
\n

Packaging

\n
    \n
  • Install primer.json (used by black-primer by default) with black. (#2154)
  • \n
\n

21.4b1

\n

Black

\n
    \n
  • \n

    Fix crash on docstrings ending with "\\ ". (#2142)

    \n
  • \n
  • \n

    Fix crash when atypical whitespace is cleaned out of dostrings (#2120)

    \n
  • \n
  • \n

    Reflect the --skip-magic-trailing-comma and --experimental-string-processing flags\nin the name of the cache file. Without this fix, changes in these flags would not take\neffect if the cache had already been populated. (#2131)

    \n
  • \n
  • \n

    Don't remove necessary parentheses from assignment expression containing assert /\nreturn statements. (#2143)

    \n
  • \n
\n

Packaging

\n
    \n
  • Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
  • \n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
  • \n

    Black no longer removes all empty lines between non-function code and decorators\nwhen formatting typing stubs. Now Black enforces a single empty line. (#1646)

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.4b2

\n

Black

\n
    \n
  • \n

    Fix crash if the user configuration directory is inaccessible. (#2158)

    \n
  • \n
  • \n

    Clarify\ncircumstances\nin which Black may change the AST (#2159)

    \n
  • \n
\n

Packaging

\n
    \n
  • Install primer.json (used by black-primer by default) with black. (#2154)
  • \n
\n

21.4b1

\n

Black

\n
    \n
  • \n

    Fix crash on docstrings ending with "\\ ". (#2142)

    \n
  • \n
  • \n

    Fix crash when atypical whitespace is cleaned out of dostrings (#2120)

    \n
  • \n
  • \n

    Reflect the --skip-magic-trailing-comma and --experimental-string-processing flags\nin the name of the cache file. Without this fix, changes in these flags would not take\neffect if the cache had already been populated. (#2131)

    \n
  • \n
  • \n

    Don't remove necessary parentheses from assignment expression containing assert /\nreturn statements. (#2143)

    \n
  • \n
\n

Packaging

\n
    \n
  • Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
  • \n
\n

21.4b0

\n

Black

\n
    \n
  • \n

    Fixed a rare but annoying formatting instability created by the combination of\noptional trailing commas inserted by Black and optional parentheses looking at\npre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many\nduplicates. (#2126)

    \n
  • \n
  • \n

    Black now processes one-line docstrings by stripping leading and trailing spaces,\nand adding a padding space when needed to break up """". (#1740)

    \n
  • \n
  • \n

    Black now cleans up leading non-breaking spaces in comments (#2092)

    \n
  • \n
  • \n

    Black now respects --skip-string-normalization when normalizing multiline\ndocstring quotes (#1637)

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b2)](https://dependabot.com/compatibility-score/?dependency-name=black&package-manager=pip&previous-version=20.8b1&new-version=21.4b2)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2021-04-29T13:58:06Z", "updated_at": "2021-04-29T15:47:50Z", "closed_at": "2021-04-29T15:47:49Z", "merged_at": "2021-04-29T15:47:49Z", "merge_commit_sha": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "assignee": null, "milestone": null, "draft": 0, "head": "3cd7ad429944d47147c5d408f546c429e0a0019a", "base": "a4bb2abce0764d49d255e5379f9e9c70981834ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1313", "merged_by": null, "auto_merge": null} {"id": 795869144, "node_id": "PR_kwDOBm6k_c4vb__Y", "number": 1543, "state": "closed", "locked": 0, "title": "Bump black from 21.11b1 to 21.12b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.11b1 to 21.12b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.12b0

\n

Black

\n
    \n
  • Fix determination of f-string expression spans (#2654)
  • \n
  • Fix bad formatting of error messages about EOF in multi-line statements (#2343)
  • \n
  • Functions and classes in blocks now have more consistent surrounding spacing (#2472)
  • \n
\n

Jupyter Notebook support

\n
    \n
  • Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with %%writefile. (#2630)
  • \n
  • Fix assignment to environment variables in Jupyter Notebooks (#2642)
  • \n
\n

Python 3.10 support

\n
    \n
  • Point users to using --target-version py310 if we detect 3.10-only syntax (#2668)
  • \n
  • Fix match statements with open sequence subjects, like match a, b: or match a, *b: (#2639) (#2659)
  • \n
  • Fix match/case statements that contain match/case soft keywords multiple times, like match re.match() (#2661)
  • \n
  • Fix case statements with an inline body (#2665)
  • \n
  • Fix styling of starred expressions inside match subject (#2667)
  • \n
  • Fix parser error location on invalid syntax in a match statement (#2649)
  • \n
  • Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
  • \n
  • Improve parsing performance on code that uses match under --target-version py310 up to ~50% (#2670)
  • \n
\n

Packaging

\n\n
\n

Thank you!

\n\n

And also congrats to first contributors!

\n\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.12b0

\n

Black

\n
    \n
  • Fix determination of f-string expression spans (#2654)
  • \n
  • Fix bad formatting of error messages about EOF in multi-line statements (#2343)
  • \n
  • Functions and classes in blocks now have more consistent surrounding spacing (#2472)
  • \n
\n

Jupyter Notebook support

\n
    \n
  • Cell magics are now only processed if they are known Python cell magics. Earlier, all\ncell magics were tokenized, leading to possible indentation errors e.g. with\n%%writefile. (#2630)
  • \n
  • Fix assignment to environment variables in Jupyter Notebooks (#2642)
  • \n
\n

Python 3.10 support

\n
    \n
  • Point users to using --target-version py310 if we detect 3.10-only syntax (#2668)
  • \n
  • Fix match statements with open sequence subjects, like match a, b: or\nmatch a, *b: (#2639) (#2659)
  • \n
  • Fix match/case statements that contain match/case soft keywords multiple\ntimes, like match re.match() (#2661)
  • \n
  • Fix case statements with an inline body (#2665)
  • \n
  • Fix styling of starred expressions inside match subject (#2667)
  • \n
  • Fix parser error location on invalid syntax in a match statement (#2649)
  • \n
  • Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
  • \n
  • Improve parsing performance on code that uses match under --target-version py310\nup to ~50% (#2670)
  • \n
\n

Packaging

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.11b1&new-version=21.12b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-12-06T13:11:16Z", "updated_at": "2021-12-13T23:22:29Z", "closed_at": "2021-12-13T23:22:29Z", "merged_at": "2021-12-13T23:22:29Z", "merge_commit_sha": "f5538e7161cce92a4dfaa7c5b71fcb6755d96c05", "assignee": null, "milestone": null, "draft": 0, "head": "353a85199595c687946460bfc6f059c17f68d3b8", "base": "7c02be2ee94cc64b120cc58b7a72cd387031f287", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1543", "merged_by": null, "auto_merge": null} {"id": 836124846, "node_id": "PR_kwDOBm6k_c4x1kCu", "number": 1616, "state": "closed", "locked": 0, "title": "Bump black from 21.12b0 to 22.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.12b0 to 22.1.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.1.0

\n

At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.

\n

Highlights

\n
    \n
  • Remove Python 2 support (#2740)
  • \n
  • Introduce the --preview flag (#2752)
  • \n
\n

Style

\n
    \n
  • Deprecate --experimental-string-processing and move the functionality under --preview (#2789)
  • \n
  • For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
  • \n
  • Black now normalizes string prefix order (#2297)
  • \n
  • Remove spaces around power operators if both operands are simple (#2726)
  • \n
  • Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
  • \n
  • Use parentheses for attribute access on decimal float and int literals (#2799)
  • \n
  • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
  • \n
  • Treat blank lines in stubs the same inside top-level if statements (#2820)
  • \n
  • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
  • \n
  • Fix unstable formatting around magic trailing comma (#2572)
  • \n
\n

Parser

\n
    \n
  • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686)
  • \n
  • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716)
  • \n
  • Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749)
  • \n
  • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
  • \n
  • Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
  • \n
  • Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760)
  • \n
  • from __future__ import annotations statement now implies Python 3.7+ (#2690)
  • \n
\n

Performance

\n
    \n
  • Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728)
  • \n
  • Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)
  • \n
\n

Configuration

\n
    \n
  • Do not accept bare carriage return line endings in pyproject.toml (#2408)
  • \n
  • Add configuration option (python-cell-magics) to format cells with custom magics in Jupyter Notebooks (#2744)
  • \n
  • Allow setting custom cache directory on all platforms with environment variable BLACK_CACHE_DIR (#2739).
  • \n
  • Enable Python 3.10+ by default, without any extra need to specify --target-version=py310. (#2758)
  • \n
  • Make passing SRC or --code mandatory and mutually exclusive (#2804)
  • \n
\n

Output

\n
    \n
  • Improve error message for invalid regular expression (#2678)
  • \n
  • Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
  • \n
  • No longer color diff headers white as it's unreadable in light themed terminals (#2691)
  • \n
  • Text coloring added in the final statistics (#2712)
  • \n
  • Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)
  • \n
\n

Packaging

\n
    \n
  • All upper version bounds on dependencies have been removed (#2718)
  • \n
  • typing-extensions is no longer a required dependency in Python 3.10+ (#2772)
  • \n
  • Set click lower bound to 8.0.0 as Black crashes on 7.1.2 (#2791)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.1.0

\n

At long last, Black is no longer a beta product! This is the first non-beta release\nand the first release covered by our new stability policy.

\n

Highlights

\n
    \n
  • Remove Python 2 support (#2740)
  • \n
  • Introduce the --preview flag (#2752)
  • \n
\n

Style

\n
    \n
  • Deprecate --experimental-string-processing and move the functionality under\n--preview (#2789)
  • \n
  • For stubs, one blank line between class attributes and methods is now kept if there's\nat least one pre-existing blank line (#2736)
  • \n
  • Black now normalizes string prefix order (#2297)
  • \n
  • Remove spaces around power operators if both operands are simple (#2726)
  • \n
  • Work around bug that causes unstable formatting in some cases in the presence of the\nmagic trailing comma (#2807)
  • \n
  • Use parentheses for attribute access on decimal float and int literals (#2799)
  • \n
  • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex\nliterals (#2799)
  • \n
  • Treat blank lines in stubs the same inside top-level if statements (#2820)
  • \n
  • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
  • \n
  • Fix unstable formatting around magic trailing comma (#2572)
  • \n
\n

Parser

\n
    \n
  • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password}\n(#2686)
  • \n
  • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b\n(#2716)
  • \n
  • Fix call patterns that contain as-expressions with keyword arguments, like\ncase Foo(bar=baz as quux) (#2749)
  • \n
  • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
  • \n
  • Unparenthesized tuples on annotated assignments (e.g\nvalues: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
  • \n
  • Fix handling of standalone match() or case() when there is a trailing newline or a\ncomment inside of the parentheses. (#2760)
  • \n
  • from __future__ import annotations statement now implies Python 3.7+ (#2690)
  • \n
\n

Performance

\n
    \n
  • Speed-up the new backtracking parser about 4X in general (enabled when\n--target-version is set to 3.10 and higher). (#2728)
  • \n
  • Black is now compiled with mypyc for an overall 2x\nspeed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009,\n#2431)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.12b0&new-version=22.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-01-31T13:13:46Z", "updated_at": "2022-02-02T22:23:52Z", "closed_at": "2022-02-02T22:23:51Z", "merged_at": "2022-02-02T22:23:51Z", "merge_commit_sha": "b5e6b1a9e1332fca3effe45d55dd06ee4249f163", "assignee": null, "milestone": null, "draft": 0, "head": "4ebe94b3818feb179b2dc81e6c441020ba415356", "base": "2aa686c6554bf6b8230eb5b3019574df6cc99225", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1616", "merged_by": null, "auto_merge": null} {"id": 630578735, "node_id": "MDExOlB1bGxSZXF1ZXN0NjMwNTc4NzM1", "number": 1318, "state": "closed", "locked": 0, "title": "Bump black from 21.4b2 to 21.5b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.4b2&new-version=21.5b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-05T13:07:51Z", "updated_at": "2021-05-11T13:12:32Z", "closed_at": "2021-05-11T13:12:31Z", "merged_at": null, "merge_commit_sha": "e864f5420abb7a5d135f8fe470183786b577ce9a", "assignee": null, "milestone": null, "draft": 0, "head": "e06c09911be52202940808d7a08df2e9b71b3af2", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1318", "merged_by": null, "auto_merge": null} {"id": 640484966, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQwNDg0OTY2", "number": 1321, "state": "closed", "locked": 0, "title": "Bump black from 21.4b2 to 21.5b1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b1.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.5b1

\n

Black

\n
    \n
  • Refactor src/black/__init__.py into many files (#2206)
  • \n
\n

Documentation

\n
    \n
  • Replaced all remaining references to the master branch with the main branch. Some additional changes in the source code were also made. (#2210)
  • \n
  • Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
  • \n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.5b1

\n

Black

\n
    \n
  • Refactor src/black/__init__.py into many files (#2206)
  • \n
\n

Documentation

\n
    \n
  • Replaced all remaining references to the\nmaster branch with the\nmain branch. Some additional changes in\nthe source code were also made. (#2210)
  • \n
  • Sigificantly reorganized the documentation to make much more sense. Check them out by\nheading over to the stable docs on RTD.\n(#2174)
  • \n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.4b2&new-version=21.5b1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-11T13:12:28Z", "updated_at": "2021-05-22T23:55:39Z", "closed_at": "2021-05-22T23:55:39Z", "merged_at": "2021-05-22T23:55:39Z", "merge_commit_sha": "5e9672c9bb33e41686472db4aa427168f9e67dbe", "assignee": null, "milestone": null, "draft": 0, "head": "966ced8fe14210fd9ce57322456944f739bf49b8", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1321", "merged_by": null, "auto_merge": null} {"id": 658991404, "node_id": "MDExOlB1bGxSZXF1ZXN0NjU4OTkxNDA0", "number": 1352, "state": "closed", "locked": 0, "title": "Bump black from 21.5b1 to 21.5b2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.5b1 to 21.5b2.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.5b2

\n

Black

\n
    \n
  • A space is no longer inserted into empty docstrings (#2249)
  • \n
  • Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
  • \n
  • Respect .gitignore files in all levels, not only root/.gitignore file (apply\n.gitignore rules like git does) (#2225)
  • \n
  • Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
  • \n
  • Add extra uvloop install + import support if in python env (#2258)
  • \n
  • Fix --experimental-string-processing crash when matching parens are not found (#2283)
  • \n
  • Make sure to split lines that start with a string operator (#2286)
  • \n
  • Fix regular expression that black uses to identify f-expressions (#2287)
  • \n
\n

Blackd

\n
    \n
  • Add a lower bound for the aiohttp-cors dependency. Only 0.4.0 or higher is\nsupported. (#2231)
  • \n
\n

Packaging

\n
    \n
  • Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline\n(#2198)
  • \n
  • Always build binaries with the latest available Python (#2260)
  • \n
\n

Documentation

\n
    \n
  • Add discussion of magic comments to FAQ page (#2272)
  • \n
  • --experimental-string-processing will be enabled by default in the future (#2273)
  • \n
  • Fix typos discovered by codespell (#2228)
  • \n
  • Fix Vim plugin installation instructions. (#2235)
  • \n
  • Add new Frequently Asked Questions page (#2247)
  • \n
  • Fix encoding + symlink issues preventing proper build on Windows (#2262)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.5b2

\n

Black

\n
    \n
  • A space is no longer inserted into empty docstrings (#2249)
  • \n
  • Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
  • \n
  • Respect .gitignore files in all levels, not only root/.gitignore file (apply\n.gitignore rules like git does) (#2225)
  • \n
  • Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
  • \n
  • Add extra uvloop install + import support if in python env (#2258)
  • \n
  • Fix --experimental-string-processing crash when matching parens are not found (#2283)
  • \n
  • Make sure to split lines that start with a string operator (#2286)
  • \n
  • Fix regular expression that black uses to identify f-expressions (#2287)
  • \n
\n

Blackd

\n
    \n
  • Add a lower bound for the aiohttp-cors dependency. Only 0.4.0 or higher is\nsupported. (#2231)
  • \n
\n

Integrations

\n
    \n
  • The official Black action now supports choosing what version to use, and supports the\nmajor 3 OSes. (#1940)
  • \n
\n

Packaging

\n
    \n
  • Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline\n(#2198)
  • \n
  • Always build binaries with the latest available Python (#2260)
  • \n
\n

Documentation

\n
    \n
  • Add discussion of magic comments to FAQ page (#2272)
  • \n
  • --experimental-string-processing will be enabled by default in the future (#2273)
  • \n
  • Fix typos discovered by codespell (#2228)
  • \n
  • Fix Vim plugin installation instructions. (#2235)
  • \n
  • Add new Frequently Asked Questions page (#2247)
  • \n
  • Fix encoding + symlink issues preventing proper build on Windows (#2262)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.5b1&new-version=21.5b2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-06-01T13:08:52Z", "updated_at": "2021-06-02T02:56:45Z", "closed_at": "2021-06-02T02:56:44Z", "merged_at": "2021-06-02T02:56:44Z", "merge_commit_sha": "03b35d70e281ea48bd9b8058738ed87b13cea2de", "assignee": null, "milestone": null, "draft": 0, "head": "6921552c80854d6ea73203fe2f9ab46bac6d5644", "base": "a18e8641bc33e51b265855bc6e8a1939597b3a76", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1352", "merged_by": null, "auto_merge": null} {"id": 668129441, "node_id": "MDExOlB1bGxSZXF1ZXN0NjY4MTI5NDQx", "number": 1374, "state": "closed", "locked": 0, "title": "Bump black from 21.5b2 to 21.6b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.5b2 to 21.6b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.6b0

\n

Black

\n
    \n
  • Fix failure caused by fmt: skip and indentation (#2281)
  • \n
  • Account for += assignment when deciding whether to split string (#2312)
  • \n
  • Correct max string length calculation when there are string operators (#2292)
  • \n
  • Fixed option usage when using the --code flag (#2259)
  • \n
  • Do not call uvloop.install() when Black is used as a library (#2303)
  • \n
  • Added --required-version option to require a specific version to be running (#2300)
  • \n
  • Fix incorrect custom breakpoint indices when string group contains fake f-strings\n(#2311)
  • \n
  • Fix regression where R prefixes would be lowercased for docstrings (#2285)
  • \n
  • Fix handling of named escapes (\\N{...}) when --experimental-string-processing is\nused (#2319)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.6b0

\n

Black

\n
    \n
  • Fix failure caused by fmt: skip and indentation (#2281)
  • \n
  • Account for += assignment when deciding whether to split string (#2312)
  • \n
  • Correct max string length calculation when there are string operators (#2292)
  • \n
  • Fixed option usage when using the --code flag (#2259)
  • \n
  • Do not call uvloop.install() when Black is used as a library (#2303)
  • \n
  • Added --required-version option to require a specific version to be running (#2300)
  • \n
  • Fix incorrect custom breakpoint indices when string group contains fake f-strings\n(#2311)
  • \n
  • Fix regression where R prefixes would be lowercased for docstrings (#2285)
  • \n
  • Fix handling of named escapes (\\N{...}) when --experimental-string-processing is\nused (#2319)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.5b2&new-version=21.6b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-06-11T13:07:39Z", "updated_at": "2021-06-13T15:33:23Z", "closed_at": "2021-06-13T15:33:22Z", "merged_at": "2021-06-13T15:33:22Z", "merge_commit_sha": "e7975657656ce02717f03703bb8ec17f2fe9b717", "assignee": null, "milestone": null, "draft": 0, "head": "0ef0dd5874ed39527ab12098a6c3da7ff8115c54", "base": "cd7678fde65319d7b6955ce9f4678ba4b9e64b66", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1374", "merged_by": null, "auto_merge": null} {"id": 692596006, "node_id": "MDExOlB1bGxSZXF1ZXN0NjkyNTk2MDA2", "number": 1400, "state": "closed", "locked": 0, "title": "Bump black from 21.6b0 to 21.7b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.6b0 to 21.7b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.7b0

\n

Black

\n
    \n
  • Configuration files using TOML features higher than spec v0.5.0 are now supported\n(#2301)
  • \n
  • Add primer support and test for code piped into black via STDIN (#2315)
  • \n
  • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
  • \n
  • Accept empty stdin (#2346)
  • \n
  • Provide a more useful error when parsing fails during AST safety checks (#2304)
  • \n
\n

Docker

\n
    \n
  • Add new latest_release tag automation to follow latest black release on docker\nimages (#2374)
  • \n
\n

Integrations

\n
    \n
  • The vim plugin now searches upwards from the directory containing the current buffer\ninstead of the current working directory for pyproject.toml. (#1871)
  • \n
  • The vim plugin now reads the correct string normalization option in pyproject.toml\n(#1869)
  • \n
  • The vim plugin no longer crashes Black when there's boolean values in pyproject.toml\n(#1869)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.7b0

\n

Black

\n
    \n
  • Configuration files using TOML features higher than spec v0.5.0 are now supported\n(#2301)
  • \n
  • Add primer support and test for code piped into black via STDIN (#2315)
  • \n
  • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
  • \n
  • Accept empty stdin (#2346)
  • \n
  • Provide a more useful error when parsing fails during AST safety checks (#2304)
  • \n
\n

Docker

\n
    \n
  • Add new latest_release tag automation to follow latest black release on docker\nimages (#2374)
  • \n
\n

Integrations

\n
    \n
  • The vim plugin now searches upwards from the directory containing the current buffer\ninstead of the current working directory for pyproject.toml. (#1871)
  • \n
  • The vim plugin now reads the correct string normalization option in pyproject.toml\n(#1869)
  • \n
  • The vim plugin no longer crashes Black when there's boolean values in pyproject.toml\n(#1869)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.6b0&new-version=21.7b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-07-19T13:13:41Z", "updated_at": "2021-08-25T01:29:56Z", "closed_at": "2021-08-25T01:29:55Z", "merged_at": "2021-08-25T01:29:55Z", "merge_commit_sha": "a1a33bb5822214be1cebd98cd858b2058d91a4aa", "assignee": null, "milestone": null, "draft": 0, "head": "e95c68592346e8602c2d4c68c8c7fef8bfb939c3", "base": "c73af5dd72305f6a01ea94a2c76d52e5e26de38b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1400", "merged_by": null, "auto_merge": null} {"id": 722480542, "node_id": "MDExOlB1bGxSZXF1ZXN0NzIyNDgwNTQy", "number": 1453, "state": "closed", "locked": 0, "title": "Bump black from 21.7b0 to 21.8b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.8b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.8b0

\n

Black

\n
    \n
  • Add support for formatting Jupyter Notebook files (#2357)
  • \n
  • Move from appdirs dependency to platformdirs (#2375)
  • \n
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • \n
  • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
  • \n
  • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
  • \n
  • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
  • \n
  • Pin setuptools-scm build-time dependency version (#2457)
  • \n
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
  • \n
\n

Blackd

\n
    \n
  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
  • \n
\n

Integrations

\n
    \n
  • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.8b0

\n

Black

\n
    \n
  • Add support for formatting Jupyter Notebook files (#2357)
  • \n
  • Move from appdirs dependency to platformdirs (#2375)
  • \n
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • \n
  • The failsafe for accidentally added backslashes in f-string expressions has been\nhardened to handle more edge cases during quote normalization (#2437)
  • \n
  • Avoid changing a function return type annotation's type to a tuple by adding a\ntrailing comma (#2384)
  • \n
  • Parsing support has been added for unparenthesized walruses in set literals, set\ncomprehensions, and indices (#2447).
  • \n
  • Pin setuptools-scm build-time dependency version (#2457)
  • \n
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10\n(#2460)
  • \n
\n

Blackd

\n
    \n
  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that\nscan installed packages (#2440)
  • \n
\n

Integrations

\n
    \n
  • The provided pre-commit hooks no longer specify language_version to avoid overriding\ndefault_language_version (#2430)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.7b0&new-version=21.8b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-08-30T13:13:39Z", "updated_at": "2021-09-14T13:10:40Z", "closed_at": "2021-09-14T13:10:38Z", "merged_at": null, "merge_commit_sha": "41e89206c9421f58bbc49b9a3f43439c351595a9", "assignee": null, "milestone": null, "draft": 0, "head": "4f492a79aec631904e3302857a0ab5ea10cbf1af", "base": "67cbf0ae7243431bf13702e6e3ba466b619c4d6f", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1453", "merged_by": null, "auto_merge": null} {"id": 733665129, "node_id": "PR_kwDOBm6k_c4rutdp", "number": 1471, "state": "closed", "locked": 0, "title": "Bump black from 21.7b0 to 21.9b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.9b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.9b0

\n

Packaging

\n
    \n
  • Fix missing modules in self-contained binaries (#2466)
  • \n
  • Fix missing toml extra used during installation (#2475)
  • \n
\n

21.8b0

\n

Black

\n
    \n
  • Add support for formatting Jupyter Notebook files (#2357)
  • \n
  • Move from appdirs dependency to platformdirs (#2375)
  • \n
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • \n
  • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
  • \n
  • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
  • \n
  • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
  • \n
  • Pin setuptools-scm build-time dependency version (#2457)
  • \n
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
  • \n
\n

Blackd

\n
    \n
  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
  • \n
\n

Integrations

\n
    \n
  • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.9b0

\n

Packaging

\n
    \n
  • Fix missing modules in self-contained binaries (#2466)
  • \n
  • Fix missing toml extra used during installation (#2475)
  • \n
\n

21.8b0

\n

Black

\n
    \n
  • Add support for formatting Jupyter Notebook files (#2357)
  • \n
  • Move from appdirs dependency to platformdirs (#2375)
  • \n
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • \n
  • The failsafe for accidentally added backslashes in f-string expressions has been\nhardened to handle more edge cases during quote normalization (#2437)
  • \n
  • Avoid changing a function return type annotation's type to a tuple by adding a\ntrailing comma (#2384)
  • \n
  • Parsing support has been added for unparenthesized walruses in set literals, set\ncomprehensions, and indices (#2447).
  • \n
  • Pin setuptools-scm build-time dependency version (#2457)
  • \n
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10\n(#2460)
  • \n
\n

Blackd

\n
    \n
  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that\nscan installed packages (#2440)
  • \n
\n

Integrations

\n
    \n
  • The provided pre-commit hooks no longer specify language_version to avoid overriding\ndefault_language_version (#2430)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.7b0&new-version=21.9b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-09-14T13:10:35Z", "updated_at": "2021-10-13T21:47:42Z", "closed_at": "2021-10-13T21:47:42Z", "merged_at": "2021-10-13T21:47:42Z", "merge_commit_sha": "e1012e7098056734d9c90f081493991009253390", "assignee": null, "milestone": null, "draft": 0, "head": "847238abf194f195a4fca896cd98f6ff332b1c18", "base": "a673a93b57e249f06b2d0265ce33f458258feeb0", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1471", "merged_by": null, "auto_merge": null} {"id": 770511531, "node_id": "PR_kwDOBm6k_c4t7RKr", "number": 1500, "state": "closed", "locked": 0, "title": "Bump black from 21.9b0 to 21.10b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.10b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.10b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-01T13:11:23Z", "updated_at": "2021-11-17T13:14:00Z", "closed_at": "2021-11-17T13:13:58Z", "merged_at": null, "merge_commit_sha": "bc0c2637d3dabbbf55a1cb86df620683a2486ae5", "assignee": null, "milestone": null, "draft": 0, "head": "1b7f679b0d732162e8841c63fd4b8b0682627c10", "base": "2c31d1cd9cd3b63458ccbe391866499fa3f44978", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1500", "merged_by": null, "auto_merge": null} {"id": 782713972, "node_id": "PR_kwDOBm6k_c4up0R0", "number": 1514, "state": "closed", "locked": 0, "title": "Bump black from 21.9b0 to 21.11b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.11b0

\n

Black

\n
    \n
  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
  • \n
  • Add experimental PyPy support (#2559)
  • \n
  • Add partial support for the match statement. As it's experimental, it's only enabled\nwhen --target-version py310 is explicitly specified (#2586)
  • \n
  • Add support for parenthesized with (#2586)
  • \n
  • Declare support for Python 3.10 for running Black (#2562)
  • \n
\n

Integrations

\n
    \n
  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • \n
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)
  • \n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.11b0

\n

Black

\n
    \n
  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
  • \n
  • Add experimental PyPy support (#2559)
  • \n
  • Add partial support for the match statement. As it's experimental, it's only enabled\nwhen --target-version py310 is explicitly specified (#2586)
  • \n
  • Add support for parenthesized with (#2586)
  • \n
  • Declare support for Python 3.10 for running Black (#2562)
  • \n
\n

Integrations

\n
    \n
  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • \n
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)
  • \n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-17T13:13:55Z", "updated_at": "2021-11-18T13:11:17Z", "closed_at": "2021-11-18T13:11:15Z", "merged_at": null, "merge_commit_sha": "348147b356cdd38cfdce412675a1d0865b93b3b1", "assignee": null, "milestone": null, "draft": 0, "head": "b02c35a00e2036ded2944890b04485213df4c8f4", "base": "0156c6b5e52d541e93f0d68e9245f20ae83bc933", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1514", "merged_by": null, "auto_merge": null} {"id": 783729324, "node_id": "PR_kwDOBm6k_c4utsKs", "number": 1516, "state": "closed", "locked": 0, "title": "Bump black from 21.9b0 to 21.11b1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b1.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.11b1

\n

Black

\n
    \n
  • Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
  • \n
\n

21.11b0

\n

Black

\n
    \n
  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
  • \n
  • Add experimental PyPy support (#2559)
  • \n
  • Add partial support for the match statement. As it's experimental, it's only enabled\nwhen --target-version py310 is explicitly specified (#2586)
  • \n
  • Add support for parenthesized with (#2586)
  • \n
  • Declare support for Python 3.10 for running Black (#2562)
  • \n
\n

Integrations

\n
    \n
  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • \n
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)
  • \n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.11b1

\n

Black

\n
    \n
  • Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
  • \n
\n

21.11b0

\n

Black

\n
    \n
  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
  • \n
  • Add experimental PyPy support (#2559)
  • \n
  • Add partial support for the match statement. As it's experimental, it's only enabled\nwhen --target-version py310 is explicitly specified (#2586)
  • \n
  • Add support for parenthesized with (#2586)
  • \n
  • Declare support for Python 3.10 for running Black (#2562)
  • \n
\n

Integrations

\n
    \n
  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • \n
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)
  • \n
\n

21.10b0

\n

Black

\n
    \n
  • Document stability policy, that will apply for non-beta releases (#2529)
  • \n
  • Add new --workers parameter (#2514)
  • \n
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • \n
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
  • \n
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
  • \n
  • Deprecate Python 2 formatting support (#2523)
  • \n
\n

Blackd

\n
    \n
  • Remove dependency on aiohttp-cors (#2500)
  • \n
  • Bump required aiohttp version to 3.7.4 (#2509)
  • \n
\n

Black-Primer

\n
    \n
  • Add primer support for --projects (#2555)
  • \n
  • Print primer summary after individual failures (#2570)
  • \n
\n

Integrations

\n
    \n
  • Allow to pass target_version in the vim plugin (#1319)
  • \n
  • Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-18T13:11:12Z", "updated_at": "2021-11-30T02:35:29Z", "closed_at": "2021-11-30T02:35:29Z", "merged_at": "2021-11-30T02:35:29Z", "merge_commit_sha": "cc4c70b3670ce2a85bb883b8d5626574590efe14", "assignee": null, "milestone": null, "draft": 0, "head": "a82c620b7a463a5dd4d585140ee955141ab96ca3", "base": "0156c6b5e52d541e93f0d68e9245f20ae83bc933", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1516", "merged_by": null, "auto_merge": null} {"id": 893039755, "node_id": "PR_kwDOBm6k_c41OrSL", "number": 1693, "state": "closed", "locked": 0, "title": "Bump black from 22.1.0 to 22.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.3.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.3.0

\n

Preview style

\n
    \n
  • Code cell separators #%% are now standardised to # %% (#2919)
  • \n
  • Remove unnecessary parentheses from except statements (#2939)
  • \n
  • Remove unnecessary parentheses from tuple unpacking in for loops (#2945)
  • \n
  • Avoid magic-trailing-comma in single-element subscripts (#2942)
  • \n
\n

Configuration

\n
    \n
  • Do not format __pypackages__ directories by default (#2836)
  • \n
  • Add support for specifying stable version with --required-version (#2832).
  • \n
  • Avoid crashing when the user has no homedir (#2814)
  • \n
  • Avoid crashing when md5 is not available (#2905)
  • \n
  • Fix handling of directory junctions on Windows (#2904)
  • \n
\n

Documentation

\n
    \n
  • Update pylint config documentation (#2931)
  • \n
\n

Integrations

\n
    \n
  • Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
  • \n
\n

Output

\n
    \n
  • In verbose, mode, log when Black is using user-level config (#2861)
  • \n
\n

Packaging

\n
    \n
  • Fix Black to work with Click 8.1.0 (#2966)
  • \n
  • On Python 3.11 and newer, use the standard library's tomllib instead of tomli\n(#2903)
  • \n
  • black-primer, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924)
  • \n
\n

Parser

\n
    \n
  • Black can now parse starred expressions in the target of for and async for\nstatements, e.g for item in *items_1, *items_2: pass (#2879).
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.3.0

\n

Preview style

\n
    \n
  • Code cell separators #%% are now standardised to # %% (#2919)
  • \n
  • Remove unnecessary parentheses from except statements (#2939)
  • \n
  • Remove unnecessary parentheses from tuple unpacking in for loops (#2945)
  • \n
  • Avoid magic-trailing-comma in single-element subscripts (#2942)
  • \n
\n

Configuration

\n
    \n
  • Do not format __pypackages__ directories by default (#2836)
  • \n
  • Add support for specifying stable version with --required-version (#2832).
  • \n
  • Avoid crashing when the user has no homedir (#2814)
  • \n
  • Avoid crashing when md5 is not available (#2905)
  • \n
  • Fix handling of directory junctions on Windows (#2904)
  • \n
\n

Documentation

\n
    \n
  • Update pylint config documentation (#2931)
  • \n
\n

Integrations

\n
    \n
  • Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
  • \n
\n

Output

\n
    \n
  • In verbose, mode, log when Black is using user-level config (#2861)
  • \n
\n

Packaging

\n
    \n
  • Fix Black to work with Click 8.1.0 (#2966)
  • \n
  • On Python 3.11 and newer, use the standard library's tomllib instead of tomli\n(#2903)
  • \n
  • black-primer, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924)
  • \n
\n

Parser

\n
    \n
  • Black can now parse starred expressions in the target of for and async for\nstatements, e.g for item in *items_1, *items_2: pass (#2879).
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-03-29T13:11:09Z", "updated_at": "2022-06-28T13:11:38Z", "closed_at": "2022-06-28T13:11:36Z", "merged_at": null, "merge_commit_sha": "17e058e286104e9b9180df72c61eb9218f376c4d", "assignee": null, "milestone": null, "draft": 0, "head": "ec2d1e47dc39dd1db2048cd0a001aa9e4be20812", "base": "1d33fd03b3c211e0f48a8f3bde83880af89e4e69", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1693", "merged_by": null, "auto_merge": null} {"id": 981389800, "node_id": "PR_kwDOBm6k_c46ftHo", "number": 1763, "state": "closed", "locked": 0, "title": "Bump black from 22.1.0 to 22.6.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.6.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.6.0

\n

Style

\n
    \n
  • Fix unstable formatting involving #fmt: skip and # fmt:skip comments (notice the lack of spaces) (#2970)
  • \n
\n

Preview style

\n
    \n
  • Docstring quotes are no longer moved if it would violate the line length limit (#3044)
  • \n
  • Parentheses around return annotations are now managed (#2990)
  • \n
  • Remove unnecessary parentheses around awaited objects (#2991)
  • \n
  • Remove unnecessary parentheses in with statements (#2926)
  • \n
  • Remove trailing newlines after code block open (#3035)
  • \n
\n

Integrations

\n
    \n
  • Add scripts/migrate-black.py script to ease introduction of Black to a Git project (#3038)
  • \n
\n

Output

\n
    \n
  • Output Python version and implementation as part of --version flag (#2997)
  • \n
\n

Packaging

\n
    \n
  • Use tomli instead of tomllib on Python 3.11 builds where tomllib is not available (#2987)
  • \n
\n

Parser

\n
    \n
  • PEP 654 syntax (for example, except *ExceptionGroup:) is now supported (#3016)
  • \n
  • PEP 646 syntax (for example, Array[Batch, *Shape] or def fn(*args: *T) -> None) is now supported (#3071)
  • \n
\n

Vim Plugin

\n
    \n
  • Fix strtobool function. It didn't parse true/on/false/off. (#3025)
  • \n
\n

Full Changelog: https://github.com/psf/black/compare/22.3.0...22.6.0

\n
\n

Thank you!

\n
    \n
  • @\u200bjpy-git for improving our parentheses formatting significantly
  • \n
  • @\u200bsiuryan for fixing a fmt: skip bug, making it a little less annoying to use :)
  • \n
  • @\u200bisidentical for implementing support for PEP 654 and 646 syntax
  • \n
  • @\u200bdefntvdm for fixing our vim plugin, especially as we (the maintainers) don't really know vim script sadly
  • \n
  • @\u200bidorrington92 for fixing the docstring bug where Black would move the closing quotes causing it to violate the line length limit (whoops!)
  • \n
  • @\u200bhbrunn for contributing the migrate-black script
  • \n
  • @\u200bsaroad2 for improving newline handling after code blocks and test infrastructure improvements
  • \n
\n

... and everyone else who contributed documentation, tests, or other improvements to the Black project!

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.6.0

\n

Style

\n
    \n
  • Fix unstable formatting involving #fmt: skip and # fmt:skip comments (notice the\nlack of spaces) (#2970)
  • \n
\n

Preview style

\n
    \n
  • Docstring quotes are no longer moved if it would violate the line length limit (#3044)
  • \n
  • Parentheses around return annotations are now managed (#2990)
  • \n
  • Remove unnecessary parentheses around awaited objects (#2991)
  • \n
  • Remove unnecessary parentheses in with statements (#2926)
  • \n
  • Remove trailing newlines after code block open (#3035)
  • \n
\n

Integrations

\n
    \n
  • Add scripts/migrate-black.py script to ease introduction of Black to a Git project\n(#3038)
  • \n
\n

Output

\n
    \n
  • Output Python version and implementation as part of --version flag (#2997)
  • \n
\n

Packaging

\n
    \n
  • Use tomli instead of tomllib on Python 3.11 builds where tomllib is not\navailable (#2987)
  • \n
\n

Parser

\n
    \n
  • PEP 654 syntax (for example,\nexcept *ExceptionGroup:) is now supported (#3016)
  • \n
  • PEP 646 syntax (for example,\nArray[Batch, *Shape] or def fn(*args: *T) -> None) is now supported (#3071)
  • \n
\n

Vim Plugin

\n
    \n
  • Fix strtobool function. It didn't parse true/on/false/off. (#3025)
  • \n
\n

22.3.0

\n

Preview style

\n
    \n
  • Code cell separators #%% are now standardised to # %% (#2919)
  • \n
  • Remove unnecessary parentheses from except statements (#2939)
  • \n
  • Remove unnecessary parentheses from tuple unpacking in for loops (#2945)
  • \n
  • Avoid magic-trailing-comma in single-element subscripts (#2942)
  • \n
\n

Configuration

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-06-28T13:11:32Z", "updated_at": "2022-06-28T17:40:25Z", "closed_at": "2022-06-28T17:40:25Z", "merged_at": "2022-06-28T17:40:24Z", "merge_commit_sha": "9f1eb0d4eac483b953392157bd9fd6cc4df37de7", "assignee": null, "milestone": null, "draft": 0, "head": "fd6a817de499053c10c62139872486ef1698a481", "base": "00e59ec461dc0150772b999c7cc15fcb9b507d58", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1763", "merged_by": null, "auto_merge": null} {"id": 1160815750, "node_id": "PR_kwDOBm6k_c5FMKSG", "number": 1944, "state": "closed", "locked": 0, "title": "Bump black from 22.10.0 to 22.12.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.10.0 to 22.12.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.12.0

\n

Preview style

\n\n
    \n
  • Enforce empty lines before classes and functions with sticky leading comments (#3302)
  • \n
  • Reformat empty and whitespace-only files as either an empty file (if no newline is\npresent) or as a single newline character (if a newline is present) (#3348)
  • \n
  • Implicitly concatenated strings used as function args are now wrapped inside\nparentheses (#3307)
  • \n
  • Correctly handle trailing commas that are inside a line's leading non-nested parens\n(#3370)
  • \n
\n

Configuration

\n\n
    \n
  • Fix incorrectly applied .gitignore rules by considering the .gitignore location\nand the relative path to the target file (#3338)
  • \n
  • Fix incorrectly ignoring .gitignore presence when more than one source directory is\nspecified (#3336)
  • \n
\n

Parser

\n\n
    \n
  • Parsing support has been added for walruses inside generator expression that are\npassed as function args (for example,\nany(match := my_re.match(text) for text in texts)) (#3327).
  • \n
\n

Integrations

\n\n
    \n
  • Vim plugin: Optionally allow using the system installation of Black via\nlet g:black_use_virtualenv = 0(#3309)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.12.0

\n

Preview style

\n\n
    \n
  • Enforce empty lines before classes and functions with sticky leading comments (#3302)
  • \n
  • Reformat empty and whitespace-only files as either an empty file (if no newline is\npresent) or as a single newline character (if a newline is present) (#3348)
  • \n
  • Implicitly concatenated strings used as function args are now wrapped inside\nparentheses (#3307)
  • \n
  • Correctly handle trailing commas that are inside a line's leading non-nested parens\n(#3370)
  • \n
\n

Configuration

\n\n
    \n
  • Fix incorrectly applied .gitignore rules by considering the .gitignore location\nand the relative path to the target file (#3338)
  • \n
  • Fix incorrectly ignoring .gitignore presence when more than one source directory is\nspecified (#3336)
  • \n
\n

Parser

\n\n
    \n
  • Parsing support has been added for walruses inside generator expression that are\npassed as function args (for example,\nany(match := my_re.match(text) for text in texts)) (#3327).
  • \n
\n

Integrations

\n\n
    \n
  • Vim plugin: Optionally allow using the system installation of Black via\nlet g:black_use_virtualenv = 0(#3309)
  • \n
\n
\n
\n
\nCommits\n
    \n
  • 2ddea29 Prepare release 22.12.0 (#3413)
  • \n
  • 5b1443a release: skip bad macos wheels for now (#3411)
  • \n
  • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
  • \n
  • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
  • \n
  • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
  • \n
  • 2793249 Wordsmith current_style.md (#3383)
  • \n
  • d97b789 Remove whitespaces of whitespace-only files (#3348)
  • \n
  • c23a5c1 Clarify that Black runs with --safe by default (#3378)
  • \n
  • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
  • \n
  • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.10.0&new-version=22.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-12-12T13:05:11Z", "updated_at": "2022-12-13T05:23:31Z", "closed_at": "2022-12-13T05:23:30Z", "merged_at": "2022-12-13T05:23:30Z", "merge_commit_sha": "d4b98d3924dec625a99236e65b1b169ff957381f", "assignee": null, "milestone": null, "draft": 0, "head": "ac7a52436638ae85f1db0556a382845863546b3d", "base": "e539c1c024bc62d88df91d9107cbe37e7f0fe55f", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1944", "merged_by": null, "auto_merge": null} {"id": 1224851890, "node_id": "PR_kwDOBm6k_c5JAcGy", "number": 2014, "state": "closed", "locked": 0, "title": "Bump black from 22.12.0 to 23.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.1.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.1.0

\n

Highlights

\n

This is the first release of 2023, and following our stability policy, it comes with a number of improvements to our stable style, notably improvements to empty line handling and the removal of redundant parentheses in several contexts.

\n

There are also many changes to the preview style; try out black --preview and give us feedback to help us set the stable style for next year.

\n

In addition to style changes, Black now automatically infers the supported Python versions from your pyproject.toml file, removing the need to set Black's target versions separately.

\n

Stable style

\n\n
    \n
  • Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:\n
      \n
    • Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
    • \n
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
    • \n
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
    • \n
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)
    • \n
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)
    • \n
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
    • \n
    • Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
    • \n
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • \n
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • \n
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • \n
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • \n
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • \n
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • \n
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • \n
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
    • \n
    \n
  • \n
  • Fix a crash when a colon line is marked between # fmt: off and # fmt: on (#3439)
  • \n
\n

Preview style

\n\n
    \n
  • Format hex codes in unicode escape sequences in string literals (#2916)
  • \n
  • Add parentheses around if-else expressions (#2278)
  • \n
  • Improve performance on large expressions that contain many strings (#3467)
  • \n
  • Fix a crash in preview style with assert + parenthesized string (#3415)
  • \n
  • Fix crashes in preview style with walrus operators used in function return annotations and except clauses (#3423)
  • \n
  • Fix a crash in preview advanced string processing where mixed implicitly concatenated regular and f-strings start with an empty span (#3463)
  • \n
  • Fix a crash in preview advanced string processing where a standalone comment is placed before a dict's value (#3469)
  • \n
  • Fix an issue where extra empty lines are added when a decorator has # fmt: skip applied or there is a standalone comment between decorators (#3470)
  • \n
  • Do not put the closing quotes in a docstring on a separate line, even if the line is too long (#3430)
  • \n
  • Long values in dict literals are now wrapped in parentheses; correspondingly unnecessary parentheses around short values in dict literals are now removed; long string lambda values are now wrapped in parentheses (#3440)
  • \n
  • Fix two crashes in preview style involving edge cases with docstrings (#3451)
  • \n
  • Exclude string type annotations from improved string processing; fix crash when the return type annotation is stringified and spans across multiple lines (#3462)
  • \n
  • Wrap multiple context managers in parentheses when targeting Python 3.9+ (#3489)
  • \n
  • Fix several crashes in preview style with walrus operators used in with statements or tuples (#3473)
  • \n
  • Fix an invalid quote escaping bug in f-string expressions where it produced invalid code. Implicitly concatenated f-strings with different quotes can now be merged or quote-normalized by changing the quotes used in expressions. (#3509)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.1.0

\n

Highlights

\n

This is the first release of 2023, and following our\nstability policy,\nit comes with a number of improvements to our stable style, including improvements to\nempty line handling, removal of redundant parentheses in several contexts, and output\nthat highlights implicitly concatenated strings better.

\n

There are also many changes to the preview style; try out black --preview and give us\nfeedback to help us set the stable style for next year.

\n

In addition to style changes, Black now automatically infers the supported Python\nversions from your pyproject.toml file, removing the need to set Black's target\nversions separately.

\n

Stable style

\n\n
    \n
  • Introduce the 2023 stable style, which incorporates most aspects of last year's\npreview style (#3418). Specific changes:\n
      \n
    • Enforce empty lines before classes and functions with sticky leading comments\n(#3302) (22.12.0)
    • \n
    • Reformat empty and whitespace-only files as either an empty file (if no newline is\npresent) or as a single newline character (if a newline is present) (#3348)\n(22.12.0)
    • \n
    • Implicitly concatenated strings used as function args are now wrapped inside\nparentheses (#3307) (22.12.0)
    • \n
    • Correctly handle trailing commas that are inside a line's leading non-nested parens\n(#3370) (22.12.0)
    • \n
    • --skip-string-normalization / -S now prevents docstring prefixes from being\nnormalized as expected (#3168) (since 22.8.0)
    • \n
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from\nsubscript expressions with more than 1 element (#3209) (22.8.0)
    • \n
    • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside\nparentheses (#3162) (22.8.0)
    • \n
    • Fix a string merging/split issue when a comment is present in the middle of\nimplicitly concatenated strings on its own line (#3227) (22.8.0)
    • \n
    • Docstring quotes are no longer moved if it would violate the line length limit\n(#3044, #3430) (22.6.0)
    • \n
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • \n
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • \n
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • \n
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • \n
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • \n
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • \n
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • \n
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
    • \n
    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • b0d1fba Prepare release 23.1.0 (#3536)
  • \n
  • 69ca0a4 Infer target version based on project metadata (#3219)
  • \n
  • c4bd2e3 Draft for Black 2023 stable style (#3418)
  • \n
  • 226cbf0 Fix unsafe cast in linegen.py w/ await yield handling (#3533)
  • \n
  • f4ebc68 Upgrade isort (#3534)
  • \n
  • 6407ebb Remove Python version in the_basics.md (#3528)
  • \n
  • 196b1f3 Fix black --help output for --python-cell-magics option to be reproducibl...
  • \n
  • d950f15 Update document now that paren wrapping CMs on Python 3.9+ is implemented (#3...
  • \n
  • a36878e Fix an invalid quote escaping bug in f-string expressions (#3509)
  • \n
  • eabff67 Format hex code in unicode escape sequences in string literals (#2916)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.12.0&new-version=23.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2014.org.readthedocs.build/en/2014/\n\r\n", "created_at": "2023-02-01T13:06:16Z", "updated_at": "2023-03-29T06:09:14Z", "closed_at": "2023-03-29T06:09:12Z", "merged_at": null, "merge_commit_sha": "38f5695c85ee073f2405dfe89d6ff798b01222f8", "assignee": null, "milestone": null, "draft": 0, "head": "c631684bc7bde78f77a564b337d2e2e6e87cfa7e", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2014", "merged_by": null, "auto_merge": null} {"id": 1294011106, "node_id": "PR_kwDOBm6k_c5NIQri", "number": 2047, "state": "closed", "locked": 0, "title": "Bump black from 22.12.0 to 23.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.3.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.3.0

\n

Highlights

\n

This release fixes a longstanding confusing behavior in Black's GitHub action, where the\nversion of the action did not determine the version of Black being run (issue #3382). In\naddition, there is a small bug fix around imports and a number of improvements to the\npreview style.

\n

Please try out the\npreview style\nwith black --preview and tell us your feedback. All changes in the preview style are\nexpected to become part of Black's stable style in January 2024.

\n

Stable style

\n
    \n
  • Import lines with # fmt: skip and # fmt: off no longer have an extra blank line\nadded when they are right after another import line (#3610)
  • \n
\n

Preview style

\n
    \n
  • Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
  • \n
  • async def, async for, and async with statements are now formatted consistently\ncompared to their non-async version. (#3609)
  • \n
  • with statements that contain two context managers will be consistently wrapped in\nparentheses (#3589)
  • \n
  • Let string splitters respect East Asian Width\n(#3445)
  • \n
  • Now long string literals can be split after East Asian commas and periods (\u3001 U+3001\nIDEOGRAPHIC COMMA, \u3002 U+3002 IDEOGRAPHIC FULL STOP, & \uff0c U+FF0C FULLWIDTH COMMA)\nbesides before spaces (#3445)
  • \n
  • For stubs, enforce one blank line after a nested class with a body other than just\n... (#3564)
  • \n
  • Improve handling of multiline strings by changing line split behavior (#1879)
  • \n
\n

Parser

\n
    \n
  • Added support for formatting files with invalid type comments (#3594)
  • \n
\n

Integrations

\n
    \n
  • Update GitHub Action to use the version of Black equivalent to action's version if\nversion input is not specified (#3543)
  • \n
  • Fix missing Python binary path in autoload script for vim (#3508)
  • \n
\n

Documentation

\n
    \n
  • Document that only the most recent release is supported for security issues;\nvulnerabilities should be reported through Tidelift (#3612)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.3.0

\n

Highlights

\n

This release fixes a longstanding confusing behavior in Black's GitHub action, where the\nversion of the action did not determine the version of Black being run (issue #3382). In\naddition, there is a small bug fix around imports and a number of improvements to the\npreview style.

\n

Please try out the\npreview style\nwith black --preview and tell us your feedback. All changes in the preview style are\nexpected to become part of Black's stable style in January 2024.

\n

Stable style

\n
    \n
  • Import lines with # fmt: skip and # fmt: off no longer have an extra blank line\nadded when they are right after another import line (#3610)
  • \n
\n

Preview style

\n
    \n
  • Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
  • \n
  • async def, async for, and async with statements are now formatted consistently\ncompared to their non-async version. (#3609)
  • \n
  • with statements that contain two context managers will be consistently wrapped in\nparentheses (#3589)
  • \n
  • Let string splitters respect East Asian Width\n(#3445)
  • \n
  • Now long string literals can be split after East Asian commas and periods (\u3001 U+3001\nIDEOGRAPHIC COMMA, \u3002 U+3002 IDEOGRAPHIC FULL STOP, & \uff0c U+FF0C FULLWIDTH COMMA)\nbesides before spaces (#3445)
  • \n
  • For stubs, enforce one blank line after a nested class with a body other than just\n... (#3564)
  • \n
  • Improve handling of multiline strings by changing line split behavior (#1879)
  • \n
\n

Parser

\n
    \n
  • Added support for formatting files with invalid type comments (#3594)
  • \n
\n

Integrations

\n
    \n
  • Update GitHub Action to use the version of Black equivalent to action's version if\nversion input is not specified (#3543)
  • \n
  • Fix missing Python binary path in autoload script for vim (#3508)
  • \n
\n

Documentation

\n
    \n
  • Document that only the most recent release is supported for security issues;\nvulnerabilities should be reported through Tidelift (#3612)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.12.0&new-version=23.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2047.org.readthedocs.build/en/2047/\n\r\n", "created_at": "2023-03-29T06:09:06Z", "updated_at": "2023-03-29T06:12:21Z", "closed_at": "2023-03-29T06:12:05Z", "merged_at": "2023-03-29T06:12:05Z", "merge_commit_sha": "30c88e3570ba3febf232c7ad429d7045ea8a9915", "assignee": null, "milestone": null, "draft": 0, "head": "dff8cf08625bbf4526b400f53da9f3ceba62fa97", "base": "bbd5489dbc440c67c69396e7f752584a32d2cfbe", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2047", "merged_by": null, "auto_merge": null} {"id": 1043733712, "node_id": "PR_kwDOBm6k_c4-NhzQ", "number": 1797, "state": "closed", "locked": 0, "title": "Bump black from 22.6.0 to 22.8.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.6.0 to 22.8.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.8.0

\n

Highlights

\n
    \n
  • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
  • \n
  • This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
  • \n
  • Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
  • \n
\n

Stable style

\n
    \n
  • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158)
  • \n
  • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
  • \n
  • Comments are no longer deleted when a line had spaces removed around power operators (#2874)
  • \n
\n

Preview style

\n
    \n
  • Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
  • \n
  • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168)
  • \n
  • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209)
  • \n
  • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
  • \n
  • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
  • \n
\n

Blackd

\n
    \n
  • blackd now supports enabling the preview style via the X-Preview header (#3217)
  • \n
\n

Configuration

\n
    \n
  • Black now uses the presence of debug f-strings to detect target version (#3215)
  • \n
  • Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216)
  • \n
  • Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237)
  • \n
\n

Documentation

\n
    \n
  • Recommend using BlackConnect in IntelliJ IDEs (#3150)
  • \n
\n

Integrations

\n
    \n
  • Vim plugin: prefix messages with Black: so it's clear they come from Black (#3194)
  • \n
  • Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
  • \n
\n

Output

\n
    \n
  • Change from deprecated asyncio.get_event_loop() to create our event loop which removes DeprecationWarning (#3164)
  • \n
  • Remove logging from internal blib2to3 library since it regularly emits error logs about failed caching that can and should be ignored (#3193)
  • \n
\n

Parser

\n
    \n
  • Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
  • \n
\n

Performance

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.8.0

\n

Highlights

\n
    \n
  • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as\nof publishing (#3234)
  • \n
  • This is the last release that supports running Black on Python 3.6 (formatting 3.6\ncode will continue to be supported until further notice)
  • \n
  • Reword the stability policy to say that we may, in rare cases, make changes that\naffect code that was not previously formatted by Black (#3155)
  • \n
\n

Stable style

\n
    \n
  • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code\nblock (#3158)
  • \n
  • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
  • \n
  • Comments are no longer deleted when a line had spaces removed around power operators\n(#2874)
  • \n
\n

Preview style

\n
    \n
  • Single-character closing docstring quotes are no longer moved to their own line as\nthis is invalid. This was a bug introduced in version 22.6.0. (#3166)
  • \n
  • --skip-string-normalization / -S now prevents docstring prefixes from being\nnormalized as expected (#3168)
  • \n
  • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from\nsubscript expressions with more than 1 element (#3209)
  • \n
  • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside\nparentheses (#3162)
  • \n
  • Fix a string merging/split issue when a comment is present in the middle of implicitly\nconcatenated strings on its own line (#3227)
  • \n
\n

Blackd

\n
    \n
  • blackd now supports enabling the preview style via the X-Preview header (#3217)
  • \n
\n

Configuration

\n
    \n
  • Black now uses the presence of debug f-strings to detect target version (#3215)
  • \n
  • Fix misdetection of project root and verbose logging of sources in cases involving\n--stdin-filename (#3216)
  • \n
  • Immediate .gitignore files in source directories given on the command line are now\nalso respected, previously only .gitignore files in the project root and\nautomatically discovered directories were respected (#3237)
  • \n
\n

Documentation

\n
    \n
  • Recommend using BlackConnect in IntelliJ IDEs (#3150)
  • \n
\n

Integrations

\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 2018e66 Prepare docs for release 22.8.0 (#3248)
  • \n
  • 0019261 Update stable branch after publishing to PyPI (#3223)
  • \n
  • 7757078 Improve & update release process to reflect recent changes (#3242)
  • \n
  • 767604e Use .gitignore files in the initial source directories (#3237)
  • \n
  • 2c90480 Use strict mypy checking (#3222)
  • \n
  • ba618a3 Add parens around implicit string concatenations where it increases readabili...
  • \n
  • c0cc19b Delay worker count determination
  • \n
  • afed2c0 Load .gitignore and exclude regex at time of use
  • \n
  • e269f44 Lazily import parallelized format modules
  • \n
  • c47b91f Fix misdetection of project root with --stdin-filename (#3216)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.6.0&new-version=22.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1797.org.readthedocs.build/en/1797/\n\r\n", "created_at": "2022-09-01T13:25:14Z", "updated_at": "2022-09-05T18:51:52Z", "closed_at": "2022-09-05T18:51:52Z", "merged_at": "2022-09-05T18:51:52Z", "merge_commit_sha": "294ecd45f7801971dbeef383d0c5456ee95ab839", "assignee": null, "milestone": null, "draft": 0, "head": "84f9d32109bc92abb609b920ea4f5bef5fb558b9", "base": "51030df1869b3b574dd3584d1563415776b9cd4e", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1797", "merged_by": null, "auto_merge": null} {"id": 1080343782, "node_id": "PR_kwDOBm6k_c5AZLzm", "number": 1839, "state": "closed", "locked": 0, "title": "Bump black from 22.8.0 to 22.10.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.8.0 to 22.10.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.10.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be\nsupported until further notice.
  • \n
\n

Stable style

\n
    \n
  • Fix a crash when # fmt: on is used on a different block level than # fmt: off\n(#3281)
  • \n
\n

Preview style

\n
    \n
  • Fix a crash when formatting some dicts with parenthesis-wrapped long string keys\n(#3262)
  • \n
\n

Configuration

\n
    \n
  • .ipynb_checkpoints directories are now excluded by default (#3293)
  • \n
  • Add --skip-source-first-line / -x option to ignore the first line of source code\nwhile formatting (#3299)
  • \n
\n

Packaging

\n
    \n
  • Executables made with PyInstaller will no longer crash when formatting several files\nat once on macOS. Native x86-64 executables for macOS are available once again.\n(#3275)
  • \n
  • Hatchling is now used as the build backend. This will not have any effect for users\nwho install Black with its wheels from PyPI. (#3233)
  • \n
  • Faster compiled wheels are now available for CPython 3.11 (#3276)
  • \n
\n

Blackd

\n
    \n
  • Windows style (CRLF) newlines will be preserved (#3257).
  • \n
\n

Integrations

\n
    \n
  • Vim plugin: add flag (g:black_preview) to enable/disable the preview style (#3246)
  • \n
  • Update GitHub Action to support formatting of Jupyter Notebook files via a jupyter\noption (#3282)
  • \n
  • Update GitHub Action to support use of version specifiers (e.g. <23) for Black\nversion (#3265)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.10.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be\nsupported until further notice.
  • \n
\n

Stable style

\n
    \n
  • Fix a crash when # fmt: on is used on a different block level than # fmt: off\n(#3281)
  • \n
\n

Preview style

\n
    \n
  • Fix a crash when formatting some dicts with parenthesis-wrapped long string keys\n(#3262)
  • \n
\n

Configuration

\n
    \n
  • .ipynb_checkpoints directories are now excluded by default (#3293)
  • \n
  • Add --skip-source-first-line / -x option to ignore the first line of source code\nwhile formatting (#3299)
  • \n
\n

Packaging

\n
    \n
  • Executables made with PyInstaller will no longer crash when formatting several files\nat once on macOS. Native x86-64 executables for macOS are available once again.\n(#3275)
  • \n
  • Hatchling is now used as the build backend. This will not have any effect for users\nwho install Black with its wheels from PyPI. (#3233)
  • \n
  • Faster compiled wheels are now available for CPython 3.11 (#3276)
  • \n
\n

Blackd

\n
    \n
  • Windows style (CRLF) newlines will be preserved (#3257).
  • \n
\n

Integrations

\n
    \n
  • Vim plugin: add flag (g:black_preview) to enable/disable the preview style (#3246)
  • \n
  • Update GitHub Action to support formatting of Jupyter Notebook files via a jupyter\noption (#3282)
  • \n
  • Update GitHub Action to support use of version specifiers (e.g. <23) for Black\nversion (#3265)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.8.0&new-version=22.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1839.org.readthedocs.build/en/1839/\n\r\n", "created_at": "2022-10-07T13:13:41Z", "updated_at": "2022-10-27T20:51:46Z", "closed_at": "2022-10-27T20:51:45Z", "merged_at": "2022-10-27T20:51:45Z", "merge_commit_sha": "2c36e45447494cd7505440943367e29ec57c8e72", "assignee": null, "milestone": null, "draft": 0, "head": "21da9bebfc4811314a49140b0c31e86b9d05009f", "base": "d2ca13b699d441a201c55cb72ff96919d3cd22bf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1839", "merged_by": null, "auto_merge": null} {"id": 1429431050, "node_id": "PR_kwDOBm6k_c5VM2MK", "number": 2099, "state": "closed", "locked": 0, "title": "Bump black from 23.3.0 to 23.7.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 23.3.0 to 23.7.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.7.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
  • \n
\n

Stable style

\n
    \n
  • Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
  • \n
  • Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
  • \n
  • Fix a crash with multi-line magic comments like type: ignore within parentheses\n(#3740)
  • \n
  • Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
  • \n
\n

Preview style

\n
    \n
  • Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
  • \n
  • Remove blank lines between a class definition and its docstring (#3692)
  • \n
\n

Configuration

\n
    \n
  • The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS\nenvironment variable (#3743)
  • \n
  • .pytest_cache, .ruff_cache and .vscode are now excluded by default (#3691)
  • \n
  • Fix Black not honouring pyproject.toml settings when running --stdin-filename\nand the pyproject.toml found isn't in the current working directory (#3719)
  • \n
  • Black will now error if exclude and extend-exclude have invalid data types in\npyproject.toml, instead of silently doing the wrong thing (#3764)
  • \n
\n

Packaging

\n
    \n
  • Upgrade mypyc from 0.991 to 1.3 (#3697)
  • \n
  • Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768)
  • \n
\n

Parser

\n
    \n
  • Add support for the new PEP 695 syntax in Python 3.12 (#3703)
  • \n
\n

Performance

\n
    \n
  • Speed up Black significantly when the cache is full (#3751)
  • \n
  • Avoid importing IPython in a case where we wouldn't need it (#3748)
  • \n
\n

Output

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.7.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
  • \n
\n

Stable style

\n
    \n
  • Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
  • \n
  • Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
  • \n
  • Fix a crash with multi-line magic comments like type: ignore within parentheses\n(#3740)
  • \n
  • Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
  • \n
\n

Preview style

\n
    \n
  • Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
  • \n
  • Remove blank lines between a class definition and its docstring (#3692)
  • \n
\n

Configuration

\n
    \n
  • The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS\nenvironment variable (#3743)
  • \n
  • .pytest_cache, .ruff_cache and .vscode are now excluded by default (#3691)
  • \n
  • Fix Black not honouring pyproject.toml settings when running --stdin-filename\nand the pyproject.toml found isn't in the current working directory (#3719)
  • \n
  • Black will now error if exclude and extend-exclude have invalid data types in\npyproject.toml, instead of silently doing the wrong thing (#3764)
  • \n
\n

Packaging

\n
    \n
  • Upgrade mypyc from 0.991 to 1.3 (#3697)
  • \n
  • Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768)
  • \n
\n

Parser

\n
    \n
  • Add support for the new PEP 695 syntax in Python 3.12 (#3703)
  • \n
\n

Performance

\n
    \n
  • Speed up Black significantly when the cache is full (#3751)
  • \n
  • Avoid importing IPython in a case where we wouldn't need it (#3748)
  • \n
\n

Output

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=23.3.0&new-version=23.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2099.org.readthedocs.build/en/2099/\n\r\n", "created_at": "2023-07-11T13:05:53Z", "updated_at": "2023-07-21T21:19:25Z", "closed_at": "2023-07-21T21:19:24Z", "merged_at": "2023-07-21T21:19:24Z", "merge_commit_sha": "3a51ca901427ac93b0ed0638fd1f82fb647a299a", "assignee": null, "milestone": null, "draft": 0, "head": "2761e4db2429e5d5588d8d1e54f30a6aafa7456b", "base": "0f7192b6154edb576c41b55bd3f2a3f53e5f436a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2099", "merged_by": null, "auto_merge": null} {"id": 1198982240, "node_id": "PR_kwDOBm6k_c5HdwRg", "number": 1992, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.12.1 to 1.13.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.12.1 to 1.13.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.13.0 (2023-01-16)

\n
    \n
  • \n

    Note Adam Johnson is new maintainer.

    \n
  • \n
  • \n

    Require Black 22.1.0+.

    \n
  • \n
  • \n

    Add --rst-literal-blocks option, to also format text in reStructuredText literal blocks, starting with ::.\nSphinx highlights these with the project\u2019s default language, which defaults to Python.

    \n
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.12.1&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1992.org.readthedocs.build/en/1992/\n\r\n", "created_at": "2023-01-16T13:05:05Z", "updated_at": "2023-03-29T06:11:35Z", "closed_at": "2023-03-29T06:11:34Z", "merged_at": "2023-03-29T06:11:34Z", "merge_commit_sha": "bbd5489dbc440c67c69396e7f752584a32d2cfbe", "assignee": null, "milestone": null, "draft": 0, "head": "64dd698df1d38903a5791f876c7c01e7dd6d04f4", "base": "d52402447ea5eb5a3f084e4f85a45675d34eb4da", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1992", "merged_by": null, "auto_merge": null} {"id": 1392480869, "node_id": "PR_kwDOBm6k_c5S_5Jl", "number": 2083, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.13.0 to 1.14.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.13.0 to 1.14.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.14.0 (2023-06-13)

\n
    \n
  • Support Python 3.12.
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.13.0&new-version=1.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2083.org.readthedocs.build/en/2083/\n\r\n", "created_at": "2023-06-14T13:57:52Z", "updated_at": "2023-06-29T14:31:55Z", "closed_at": "2023-06-29T14:31:54Z", "merged_at": "2023-06-29T14:31:54Z", "merge_commit_sha": "ede62036180993dbd9d4e5d280fc21c183cda1c3", "assignee": null, "milestone": null, "draft": 0, "head": "caee23e9ca8cbd4d189070188f90eabf97008b59", "base": "dda99fc09fb0b5523948f6d481c6c051c1c7b5de", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2083", "merged_by": null, "auto_merge": null} {"id": 1427574243, "node_id": "PR_kwDOBm6k_c5VFw3j", "number": 2098, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.14.0 to 1.15.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.14.0 to 1.15.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.15.0 (2023-07-09)

\n
    \n
  • Drop Python 3.7 support.
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2098.org.readthedocs.build/en/2098/\n\r\n", "created_at": "2023-07-10T13:49:12Z", "updated_at": "2023-08-07T16:20:22Z", "closed_at": "2023-08-07T16:20:20Z", "merged_at": null, "merge_commit_sha": "f32cf40f16a5477b01069a5774909e06a6b3451d", "assignee": null, "milestone": null, "draft": 0, "head": "3d45262c1cd243a4d8848fa171c5d1a66514ac97", "base": "3a51ca901427ac93b0ed0638fd1f82fb647a299a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2098", "merged_by": null, "auto_merge": null} {"id": 1289104584, "node_id": "PR_kwDOBm6k_c5M1izI", "number": 2043, "state": "closed", "locked": 0, "title": "Bump furo from 2022.12.7 to 2023.3.23", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \n
  • Update Python version classifiers.
  • \n
  • Increase the icon size in mobile header.
  • \n
  • Increase admonition title bg opacity.
  • \n
  • Change the default API background to transparent.
  • \n
  • Transition the API background change.
  • \n
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
  • Correctly select only Furo's own svg in related pages nav.
  • \n
  • Make numpy-style documentation headers consistent.
  • \n
  • Retitle the reference section.
  • \n
  • Update npm dependencies.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.12.7&new-version=2023.3.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2043.org.readthedocs.build/en/2043/\n\r\n", "created_at": "2023-03-24T13:58:08Z", "updated_at": "2023-03-28T13:58:24Z", "closed_at": "2023-03-28T13:58:21Z", "merged_at": null, "merge_commit_sha": "eb0601c965ebb12162c76259d89fb9fe6549bcc0", "assignee": null, "milestone": null, "draft": 0, "head": "85b9e5139980b0e802b6f0bcfaa2f7c975c30970", "base": "3feed1f66e2b746f349ee56970a62246a18bb164", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2043", "merged_by": null, "auto_merge": null} {"id": 1293066318, "node_id": "PR_kwDOBm6k_c5NEqBO", "number": 2046, "state": "closed", "locked": 0, "title": "Bump furo from 2022.12.7 to 2023.3.27", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.27.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.03.27 -- Tasty Tangerine

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \n
  • Add missing class to Font Awesome examples
  • \n
\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Update Python version classifiers.
  • \n
  • Increase the icon size in mobile header.
  • \n
  • Increase admonition title bg opacity.
  • \n
  • Change the default API background to transparent.
  • \n
  • Transition the API background change.
  • \n
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.12.7&new-version=2023.3.27)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2046.org.readthedocs.build/en/2046/\n\r\n", "created_at": "2023-03-28T13:58:14Z", "updated_at": "2023-03-29T06:08:02Z", "closed_at": "2023-03-29T06:08:01Z", "merged_at": "2023-03-29T06:08:01Z", "merge_commit_sha": "848a9a420de9b50a7c862db7fb34d930835bee89", "assignee": null, "milestone": null, "draft": 0, "head": "a8166e96eecbab1064ef7a373699320415d839a5", "base": "c025b0180fe344e4f28177ecd7cf388d492d3064", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2046", "merged_by": null, "auto_merge": null} {"id": 975096803, "node_id": "PR_kwDOBm6k_c46Hsvj", "number": 1760, "state": "closed", "locked": 0, "title": "Bump furo from 2022.4.7 to 2022.6.21", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.21.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.06.21 -- Opulent Opal

\n
    \n
  • Fix docutils <= 0.17.x compatibility
  • \n
  • Bump to the latest Node.js LTS
  • \n
\n

2022.06.04.1 -- Naughty Nickel bugfix

\n
    \n
  • Fix the URL used in the "Edit this page" for Read the Docs builds.
  • \n
\n

2022.06.04 -- Naughty Nickel

\n
    \n
  • \u2728 Advertise Sphinx 5 compatibility.
  • \n
  • \u2728 Change to basic-ng as the base theme (from {pypi}sphinx-basic-ng).
  • \n
  • Document site-wide announcement banners.
  • \n
  • Drop the pin on pygments.
  • \n
  • Improve edit button, using basic-ng's edit-this-page component.
  • \n
  • Tweak headings to better match what users expect.
  • \n
  • Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
  • \n
  • When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
  • \n
\n

2022.04.07 -- Magical Mauve

\n
    \n
  • \u2728 Make sphinx-copybutton look better.
  • \n
  • Add margin to indentations in line blocks.
  • \n
  • Add styling for non-arabic list styles
  • \n
  • Add support for html_baseurl.
  • \n
  • Improve "Edit this page" icon to be more accessible.
  • \n
  • Improve html_sidebars example.
  • \n
  • Tweak positioning of back to top on desktop.
  • \n
\n

2022.03.04 -- Lucent Lilac

\n
    \n
  • Improve support for print media.
  • \n
  • Reduce heading sizes for h3 and below.
  • \n
  • Don't allow selecting headerlink content.
  • \n
  • Improve how overflow wrapping is handled.
  • \n
  • Add a reference from the configuration variables to the color customisation page.
  • \n
\n

2022.02.23 -- Keen Kobi

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.4.7&new-version=2022.6.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-06-22T13:22:31Z", "updated_at": "2022-07-18T01:06:27Z", "closed_at": "2022-07-18T01:06:27Z", "merged_at": "2022-07-18T01:06:27Z", "merge_commit_sha": "ea6161f8475d9fa41c4879049511c58f692cce04", "assignee": null, "milestone": null, "draft": 0, "head": "69951eedb7ca7f1284ba29f3890bef917d59a655", "base": "00e59ec461dc0150772b999c7cc15fcb9b507d58", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1760", "merged_by": null, "auto_merge": null} {"id": 959088871, "node_id": "PR_kwDOBm6k_c45Kojn", "number": 1753, "state": "closed", "locked": 0, "title": "Bump furo from 2022.4.7 to 2022.6.4.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.4.1.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.06.04.1 -- Naughty Nickel bugfix

\n
    \n
  • Fix the URL used in the "Edit this page" for Read the Docs builds.
  • \n
\n

2022.06.04 -- Naughty Nickel

\n
    \n
  • \u2728 Advertise Sphinx 5 compatibility.
  • \n
  • \u2728 Change to basic-ng as the base theme (from {pypi}sphinx-basic-ng).
  • \n
  • Document site-wide announcement banners.
  • \n
  • Drop the pin on pygments.
  • \n
  • Improve edit button, using basic-ng's edit-this-page component.
  • \n
  • Tweak headings to better match what users expect.
  • \n
  • Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
  • \n
  • When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
  • \n
\n

2022.04.07 -- Magical Mauve

\n
    \n
  • \u2728 Make sphinx-copybutton look better.
  • \n
  • Add margin to indentations in line blocks.
  • \n
  • Add styling for non-arabic list styles
  • \n
  • Add support for html_baseurl.
  • \n
  • Improve "Edit this page" icon to be more accessible.
  • \n
  • Improve html_sidebars example.
  • \n
  • Tweak positioning of back to top on desktop.
  • \n
\n

2022.03.04 -- Lucent Lilac

\n
    \n
  • Improve support for print media.
  • \n
  • Reduce heading sizes for h3 and below.
  • \n
  • Don't allow selecting headerlink content.
  • \n
  • Improve how overflow wrapping is handled.
  • \n
  • Add a reference from the configuration variables to the color customisation page.
  • \n
\n

2022.02.23 -- Keen Kobi

\n
    \n
  • \u2728 Add a "Back to Top" button that shows up when scrolling up.
  • \n
  • Add a URL to GitHub in Project-URLs.
  • \n
  • Break long words in the prev/next buttons.
  • \n
  • Fix includes in Kitchen sink.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 1142fad Prepare release: 2022.06.04.1
  • \n
  • 211abb4 Update changelog
  • \n
  • 06cdba6 Fix the edit this page URL
  • \n
  • 43ce491 Back to development
  • \n
  • fb6e486 Prepare release: 2022.06.04
  • \n
  • 090b02e Update changelog
  • \n
  • 098d51d Fix the Just the Docs link
  • \n
  • 7fa8d08 Change to a post-transform for wrapping math blocks and table
  • \n
  • 51f1e52 Speed up determining if there's multiple toc entries
  • \n
  • 99a6ff8 Update caniuse-lite NPM package
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.4.7&new-version=2022.6.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-06-06T13:10:22Z", "updated_at": "2022-06-22T13:22:37Z", "closed_at": "2022-06-22T13:22:35Z", "merged_at": null, "merge_commit_sha": "7a9d91728ac8d15d558ffa4201ac3907f9e93905", "assignee": null, "milestone": null, "draft": 0, "head": "23a85154e276c001f920eacb9ad266cb227f7eab", "base": "2e9751672d4fe329b3c359d5b7b1992283185820", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1753", "merged_by": null, "auto_merge": null} {"id": 1058623570, "node_id": "PR_kwDOBm6k_c4_GVBS", "number": 1812, "state": "closed", "locked": 0, "title": "Bump furo from 2022.6.21 to 2022.9.15", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.6.21 to 2022.9.15.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
  • Correctly select only Furo's own svg in related pages nav.
  • \n
  • Make numpy-style documentation headers consistent.
  • \n
  • Retitle the reference section.
  • \n
  • Update npm dependencies.
  • \n
\n

2022.06.21 -- Opulent Opal

\n
    \n
  • Fix docutils <= 0.17.x compatibility.
  • \n
  • Bump to the latest Node.js LTS.
  • \n
\n

2022.06.04.1 -- Naughty Nickel bugfix

\n
    \n
  • Fix the URL used in the "Edit this page" for Read the Docs builds.
  • \n
\n

2022.06.04 -- Naughty Nickel

\n
    \n
  • \u2728 Advertise Sphinx 5 compatibility.
  • \n
  • \u2728 Change to basic-ng as the base theme (from {pypi}sphinx-basic-ng).
  • \n
  • Document site-wide announcement banners.
  • \n
  • Drop the pin on pygments.
  • \n
  • Improve edit button, using basic-ng's edit-this-page component.
  • \n
  • Tweak headings to better match what users expect.
  • \n
  • Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
  • \n
  • When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
  • \n
\n

2022.04.07 -- Magical Mauve

\n
    \n
  • \u2728 Make sphinx-copybutton look better.
  • \n
  • Add margin to indentations in line blocks.
  • \n
  • Add styling for non-arabic list styles
  • \n
  • Add support for html_baseurl.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 08e6b38 Prepare release: 2022.09.15
  • \n
  • 9de7613 Update changelog
  • \n
  • a064929 Tweak changelog content style
  • \n
  • 46f4adc Revert "Add initial theme.conf content for eventual ablog support"
  • \n
  • 45b839b Set a minimum constraint on pygments
  • \n
  • a4af988 [pre-commit.ci] pre-commit autoupdate (#518)
  • \n
  • a72186f [pre-commit.ci] pre-commit autoupdate (#504)
  • \n
  • 9f41ee6 Add initial theme.conf content for eventual ablog support
  • \n
  • 75e0361 Make numpy-style documentation headers consistent
  • \n
  • 9d280e6 [pre-commit.ci] pre-commit autoupdate (#487)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.6.21&new-version=2022.9.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1812.org.readthedocs.build/en/1812/\n\r\n", "created_at": "2022-09-16T13:10:45Z", "updated_at": "2022-09-16T19:50:53Z", "closed_at": "2022-09-16T19:50:52Z", "merged_at": "2022-09-16T19:50:52Z", "merge_commit_sha": "2ebcffe2226ece2a5a86722790d486a480338632", "assignee": null, "milestone": null, "draft": 0, "head": "b3855e7b57d2f2354296b23e8c12df82e9af729e", "base": "b40872f5e5ae5dad331c58f75451e2d206565196", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1812", "merged_by": null, "auto_merge": null} {"id": 1072698114, "node_id": "PR_kwDOBm6k_c4_8BMC", "number": 1827, "state": "closed", "locked": 0, "title": "Bump furo from 2022.9.15 to 2022.9.29", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.9.15 to 2022.9.29.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
  • Correctly select only Furo's own svg in related pages nav.
  • \n
  • Make numpy-style documentation headers consistent.
  • \n
  • Retitle the reference section.
  • \n
  • Update npm dependencies.
  • \n
\n

2022.06.21 -- Opulent Opal

\n
    \n
  • Fix docutils <= 0.17.x compatibility.
  • \n
  • Bump to the latest Node.js LTS.
  • \n
\n

2022.06.04.1 -- Naughty Nickel bugfix

\n
    \n
  • Fix the URL used in the "Edit this page" for Read the Docs builds.
  • \n
\n

2022.06.04 -- Naughty Nickel

\n
    \n
  • \u2728 Advertise Sphinx 5 compatibility.
  • \n
  • \u2728 Change to basic-ng as the base theme (from {pypi}sphinx-basic-ng).
  • \n
  • Document site-wide announcement banners.
  • \n
  • Drop the pin on pygments.
  • \n
  • Improve edit button, using basic-ng's edit-this-page component.
  • \n
  • Tweak headings to better match what users expect.
  • \n
  • Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
  • \n
  • When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
  • \n
\n

2022.04.07 -- Magical Mauve

\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 1375f9d Prepare release: 2022.09.29
  • \n
  • af43607 Update changelog
  • \n
  • bc0fe52 Update user-facing documentation for edit button
  • \n
  • 509c558 Modernise the edit-this-page.html template
  • \n
  • 5a0ceca Add source_edit_link as a theme configuration parameter (#510)
  • \n
  • 52fc32f Build documentation in pull requests
  • \n
  • 149f77b Fix stylesheet for MyST tables
  • \n
  • 9af2e44 Support MyST table column alignment (#531)
  • \n
  • 82dd61c Back to development
  • \n
  • See full diff in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.9.15&new-version=2022.9.29)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1827.org.readthedocs.build/en/1827/\n\r\n", "created_at": "2022-09-30T13:15:35Z", "updated_at": "2022-09-30T17:55:42Z", "closed_at": "2022-09-30T17:55:41Z", "merged_at": "2022-09-30T17:55:41Z", "merge_commit_sha": "c92c4318e9892101f75fa158410c0a12c1d80b6e", "assignee": null, "milestone": null, "draft": 0, "head": "1f0c557ef96d3e2e7a41598af8f9dece2d3fbcfc", "base": "34defdc10aa293294ca01cfab70780755447e1d7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1827", "merged_by": null, "auto_merge": null} {"id": 1151526508, "node_id": "PR_kwDOBm6k_c5EouZs", "number": 1935, "state": "closed", "locked": 0, "title": "Bump furo from 2022.9.29 to 2022.12.7", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.9.29 to 2022.12.7.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
  • Correctly select only Furo's own svg in related pages nav.
  • \n
  • Make numpy-style documentation headers consistent.
  • \n
  • Retitle the reference section.
  • \n
  • Update npm dependencies.
  • \n
\n

2022.06.21 -- Opulent Opal

\n
    \n
  • Fix docutils <= 0.17.x compatibility.
  • \n
  • Bump to the latest Node.js LTS.
  • \n
\n

2022.06.04.1 -- Naughty Nickel bugfix

\n
    \n
  • Fix the URL used in the "Edit this page" for Read the Docs builds.
  • \n
\n

2022.06.04 -- Naughty Nickel

\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 1034267 Prepare release: 2022.12.07
  • \n
  • 239e69f Update changelog
  • \n
  • 8faac34 Remove the no-longer-useful gh-pages workflow
  • \n
  • faa27fb Fix the hyperlink warning
  • \n
  • 9849ec0 Forward the arguments to stb serve
  • \n
  • e0dc9b8 [pre-commit.ci] pre-commit autoupdate (#588)
  • \n
  • 9842e25 Clarify what the edit button does (#587)
  • \n
  • 0d2cf0b [pre-commit.ci] pre-commit autoupdate (#578)
  • \n
  • b7d8866 Revert "Document that GCC is using Furo! (#575)" (#577)
  • \n
  • 0ab12bb Improve footnote presentation with docutils 0.18+ (#576)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.9.29&new-version=2022.12.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1935.org.readthedocs.build/en/1935/\n\r\n", "created_at": "2022-12-07T13:02:57Z", "updated_at": "2022-12-08T21:12:08Z", "closed_at": "2022-12-08T21:12:07Z", "merged_at": "2022-12-08T21:12:07Z", "merge_commit_sha": "bffefc7db0c25acb03e3b44ff357d50bb7f04dd7", "assignee": null, "milestone": null, "draft": 0, "head": "e8ae41e27c5ec3b0738deb536fc206bd4b9ce823", "base": "93ababe6f7150454d2cf278dae08569e505d2a5b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1935", "merged_by": null, "auto_merge": null} {"id": 1359311359, "node_id": "PR_kwDOBm6k_c5RBXH_", "number": 2077, "state": "closed", "locked": 0, "title": "Bump furo from 2023.3.27 to 2023.5.20", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.5.20.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.05.20 -- Unassuming Ultramarine

\n
    \n
  • \u2728 Add support for Sphinx 7.
  • \n
  • Drop support for Sphinx 5.
  • \n
  • Improve the screen-reader label for sidebar collapse.
  • \n
  • Make it easier to create derived themes from Furo.
  • \n
  • Bump all JS dependencies (NodeJS and npm packages).
  • \n
\n

2023.03.27 -- Tasty Tangerine

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \n
  • Add missing class to Font Awesome examples
  • \n
\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Update Python version classifiers.
  • \n
  • Increase the icon size in mobile header.
  • \n
  • Increase admonition title bg opacity.
  • \n
  • Change the default API background to transparent.
  • \n
  • Transition the API background change.
  • \n
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • d2c9ca8 Prepare release: 2023.05.20
  • \n
  • 662d21b Update changelog
  • \n
  • 591780b Bump compatible Sphinx version
  • \n
  • c2e7837 Bump NodeJS and package versions
  • \n
  • dd85574 Use the reference HtmlFormatter class defined on PygmentsBridge. (#657)
  • \n
  • 6bff419 Fix broken link (#654)
  • \n
  • e7f732e Improve the screen-reader label for sidebar collapse
  • \n
  • 48c0bf2 Drop the check for the theme name
  • \n
  • 1b17d81 [pre-commit.ci] pre-commit autoupdate (#646)
  • \n
  • 4904fd5 Remove Python 3.8 constraint from Black pre-commit config (#647)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2023.3.27&new-version=2023.5.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2077.org.readthedocs.build/en/2077/\n\r\n\n> **Note**\n> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.", "created_at": "2023-05-22T13:58:16Z", "updated_at": "2023-07-27T13:40:55Z", "closed_at": "2023-07-27T13:40:53Z", "merged_at": null, "merge_commit_sha": "af7a446a5245f47704e787c8a22e21f2a5cd0301", "assignee": null, "milestone": null, "draft": 0, "head": "9785c4f73e4bb15a2f407212cb664a8e4a46b6e0", "base": "ede62036180993dbd9d4e5d280fc21c183cda1c3", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2077", "merged_by": null, "auto_merge": null} {"id": 1452025020, "node_id": "PR_kwDOBm6k_c5WjCS8", "number": 2121, "state": "closed", "locked": 0, "title": "Bump furo from 2023.3.27 to 2023.7.26", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.7.26.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.07.26 -- Vigilant Volt

\n
    \n
  • Fix compatiblity with Sphinx 7.1.
  • \n
  • Improve how content overflow is handled.
  • \n
  • Improve how literal blocks containing inline code are handled.
  • \n
\n

2023.05.20 -- Unassuming Ultramarine

\n
    \n
  • \u2728 Add support for Sphinx 7.
  • \n
  • Drop support for Sphinx 5.
  • \n
  • Improve the screen-reader label for sidebar collapse.
  • \n
  • Make it easier to create derived themes from Furo.
  • \n
  • Bump all JS dependencies (NodeJS and npm packages).
  • \n
\n

2023.03.27 -- Tasty Tangerine

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \n
  • Add missing class to Font Awesome examples
  • \n
\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Update Python version classifiers.
  • \n
  • Increase the icon size in mobile header.
  • \n
  • Increase admonition title bg opacity.
  • \n
  • Change the default API background to transparent.
  • \n
  • Transition the API background change.
  • \n
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 35f5307 Prepare release: 2023.07.26
  • \n
  • 0a8bedc Update changelog
  • \n
  • a92dd0c Make _add_asset_hashes a no-op with Sphinx 7.1
  • \n
  • f8db95b Improve literals with inline code are handled
  • \n
  • 1680dbe Document the use of figclass with figure directive
  • \n
  • beebd7e Increase the specificity of the admonition title selector
  • \n
  • 834e951 Setup uploads to Percy
  • \n
  • 27bf2c0 [pre-commit.ci] pre-commit autoupdate (#672)
  • \n
  • c8b51d0 Fix how content overflow is handled
  • \n
  • 80afa27 [pre-commit.ci] pre-commit autoupdate (#652)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2023.3.27&new-version=2023.7.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2121.org.readthedocs.build/en/2121/\n\r\n", "created_at": "2023-07-27T13:40:48Z", "updated_at": "2023-08-07T16:20:23Z", "closed_at": "2023-08-07T16:20:20Z", "merged_at": null, "merge_commit_sha": "07e16b8e61eec383455354cbf06d651982cfbaa6", "assignee": null, "milestone": null, "draft": 0, "head": "3aca01f4eefc9d3ee542f86c62d645cbfc921a36", "base": "08181823990a71ffa5a1b57b37259198eaa43e06", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2121", "merged_by": null, "auto_merge": null}