sha,message,author_date,committer_date,raw_author,raw_author_label,raw_committer,raw_committer_label,repo,repo_label,author,author_label,committer,committer_label 9286c1ba432e890b1bb4b2a1f847b15364c1fa18,Fixed some markup bugs,2023-11-04T03:55:19Z,2023-11-04T03:55:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow c64c7d1b8caec172c87a73154cc4da90fd3fae3b,"More 3.35.2 release notes Refs #433, #522, #596, #598",2023-11-04T01:03:42Z,2023-11-04T01:03:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 78d8dd06d35d895416b73c2b5837633a2af278f5,Add 3.12 to PyPI metadata,2023-11-04T00:59:09Z,2023-11-04T00:59:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 08c8bb7cfb4e88cec04d1443dadd79ac3624122f,"Test against Python 3.12 First tested in #591",2023-11-04T00:58:31Z,2023-11-04T00:58:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b2e0cd066d5eda2ccfd1d63cd07191a209978395,"Test and docs for timedelta support, refs #522",2023-11-04T00:54:37Z,2023-11-04T00:56:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 347fdc865e91b8d3410f49a5c9d5b499fbb594c1,"Map datetime.timedelta to text columns, closes #522",2023-11-04T00:49:50Z,2023-11-04T00:49:50Z,c05f3ac9fd9e1c01f58129c9f0e6965fe888c4d8,Harald Nezbeda,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,4420927,nezhar,19864447,web-flow 37273d7f63f08872aa1c90c4233a0580e384ac19,"Fixed issue #433 - CLI eats cursor (#598) The issue is that underlying iterator is not fully consumed within the body of the `with file_progress()` block. Instead, that block creates generator expressions like `docs = (dict(zip(headers, row)) for row in reader)` These iterables are consumed later, outside the `with file_progress()` block, which consumes the underlying iterator, and in turn updates the progress bar. This means that the `ProgressBar.__exit__` method gets called before the last time the `ProgressBar.update` method gets called. The result is that the code to make the cursor invisible (inside the `update()` method) is called after the cleanup code to make it visible (in the `__exit__` method). The fix is to move consumption of the `docs` iterators within the progress bar block. (An additional fix, to make ProgressBar more robust against this kind of misuse, would to make it refusing to update after its `__exit__` method had been called, just like files cannot be `read()` after they are closed. That requires a in the click library).",2023-11-04T00:40:29Z,2023-11-04T00:40:29Z,189bbd99f415a97bb6554c438654cb35fc4c85ae,Luke Plant,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,62745,spookylukey,19864447,web-flow 8d186d33c2faf82d76163f3ab8bb09f3c031f069,"Release 3.35.2 Refs #599, #600",2023-11-04T00:38:52Z,2023-11-04T00:51:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b92ea4793ce4dcb73cf762aae634ab72f65ec50f,Fixed spelling of wrappping,2023-11-04T00:25:02Z,2023-11-04T00:31:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw