{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":180674964,"defaultBranch":"main","name":"sqlite-nio","ownerLogin":"vapor","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-04-10T22:45:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/17364220?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716940102.0","currentOid":""},"activityList":{"items":[{"before":"fbdc327ba46f9d7ee4ff7ad3dc86adcbe8d69071","after":"1b03dafcd8b86047650925325a2bd4d20f6205fd","ref":"refs/heads/main","pushedAt":"2024-05-28T23:48:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Avoid double-logging queries (#71)\n\nThis logging is handled in SQLiteKit and should not be present at the SQLiteNIO layer.","shortMessageHtmlLink":"Avoid double-logging queries (#71)"}},{"before":"4d2b2f3de3f3fc1bc90fa9d16e1f760be4ea3d89","after":null,"ref":"refs/heads/remove-excess-query-logging","pushedAt":"2024-05-28T23:48:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":null,"after":"4d2b2f3de3f3fc1bc90fa9d16e1f760be4ea3d89","ref":"refs/heads/remove-excess-query-logging","pushedAt":"2024-05-27T17:25:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"This logging is handled in SQLiteKit and should not be present at the SQLiteNIO layer.","shortMessageHtmlLink":"This logging is handled in SQLiteKit and should not be present at the…"}},{"before":"19d183cdd940a003b78d9e13c33b09253c487923","after":null,"ref":"refs/heads/sqlite-3.46.0","pushedAt":"2024-05-24T10:56:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"98d2894e4e0604ff64cc6f6b2232627d575678c0","after":"fbdc327ba46f9d7ee4ff7ad3dc86adcbe8d69071","ref":"refs/heads/main","pushedAt":"2024-05-24T10:56:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.46.0 source code (#69)\n\n* \"Fix\" Sendable complaints about ISO8601DateFormatter\r\n\r\n* Embed sqlite amalgamation v3.46.0 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.46.0 source code (#69)"}},{"before":null,"after":"19d183cdd940a003b78d9e13c33b09253c487923","ref":"refs/heads/sqlite-3.46.0","pushedAt":"2024-05-24T09:52:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.46.0 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.46.0 source code"}},{"before":"575470b8a08176e3763bae12261b344f5cd5d145","after":null,"ref":"refs/heads/overhaul","pushedAt":"2024-05-10T10:02:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"e79d223ab3705de4c1e8903961829b5d0098c820","after":"98d2894e4e0604ff64cc6f6b2232627d575678c0","ref":"refs/heads/main","pushedAt":"2024-05-10T10:02:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"A minor overhaul (#68)\n\n* Bump minimum Swift version to 5.8. Update CI. General package cleanup. General docs cleanup.\r\n* Add explicit async versions of all ELF methods of SQLiteConnection\r\n* Improve handling of blob and text data in SQLiteData\r\n* Make `String` accept integer and real values as well as textual values when being decoded, make `Double` and `Float` accept integer values, use recommended APIs for translating between ByteBuffer and Data\r\n* SQLiteStatement: Use sqlite_prepare_v3() instead of _v2(). Factor out error handling. Make sure statements get finalized when errors occur. Use sqlite3_bind_blob64() and sqlite3_bind_text64() instead of the 32-bit ones. Simplify reading of blob data.\r\n* Misc minor cleanup (Style only, nothing functional)\r\n* Tests: Make all tests async. Add helper to replace use of defer {}. Add set of async assertions. Make tests resilient against array index range violations. Handle blobs more sensibly instead of torturing Data. Get rid of lots of force-unwraps. Use \"throws error\" assertion instead of messy do/catch clauses. Avoid crashing if opening a DB fails. Use singleton thread pool and MTELG always.\r\n* Remove incorrect new protocol requirements. Add passthroughs for the convenience methods. Factor out the `open()` implementation so the core part can be shared by the ELF and async versions. Don't leak sqlite3* handles if sqlite3_busy_handler() fails for some reason. Throw more specific errors from `open()`. Don't log at error level. Use the async version of NIOThreadPool.runIfActive() when possible.\r\n* Split the SQLDatabase protocol into its own file. Group SQLiteConnnection's async methods together.\r\n* We always pass SQLITE_OPEN_FULLMUTEX (serialized mode) to sqlite3_open_v2(), so there's no point in setting multithread mode as the default during compilation; use serialized as the default instead.\r\n* Add test that validates we're using SQLite in the correct (safest) threading mode.\r\n* Fix a couple of log messages\r\n* Apply several SQLite compilation settings according to upstream documentation, plus omitting several APIs that aren't usable through this package anyway.\r\n* As recommended in the docs, mark custom functions SQLITE_DIRECTONLY by default (security hardening). Provide an initializer flag to override it if needed.\r\n* Remove not yet available upcoming/experimental feature flags from the 5.8 manifest\r\n* Update dependency minimums\r\n* Add support for SQLite's extended result codes\r\n* Lots of documentation comments. Reorganize SQLiteConnection a little. SQLiteDatabase is Sendable.\r\n* Try to silence TSan false positives in 5.8","shortMessageHtmlLink":"A minor overhaul (#68)"}},{"before":"84c80bdf6b3119df41f292e7355241b7205de97b","after":"575470b8a08176e3763bae12261b344f5cd5d145","ref":"refs/heads/overhaul","pushedAt":"2024-05-10T06:22:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Try to silence TSan false positives in 5.8","shortMessageHtmlLink":"Try to silence TSan false positives in 5.8"}},{"before":"e31d46ff7f4695179f4e6d609e7e503c872f0302","after":"84c80bdf6b3119df41f292e7355241b7205de97b","ref":"refs/heads/overhaul","pushedAt":"2024-05-10T03:56:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Lots of documentation comments. Reorganize SQLiteConnection a little. SQLiteDatabase is Sendable.","shortMessageHtmlLink":"Lots of documentation comments. Reorganize SQLiteConnection a little.…"}},{"before":"8c9aa9b768a3870663df084a191963f1f39e207a","after":"e31d46ff7f4695179f4e6d609e7e503c872f0302","ref":"refs/heads/overhaul","pushedAt":"2024-05-10T03:56:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Lots of documentation comments. Reorganize SQLiteConnection a little.","shortMessageHtmlLink":"Lots of documentation comments. Reorganize SQLiteConnection a little."}},{"before":"0e5ca1ae1c0f53a9b5f0c5d9064fc3f454e9f917","after":"8c9aa9b768a3870663df084a191963f1f39e207a","ref":"refs/heads/overhaul","pushedAt":"2024-05-04T17:02:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Remove not yet available upcoming/experimental feature flags from the 5.8 manifest","shortMessageHtmlLink":"Remove not yet available upcoming/experimental feature flags from the…"}},{"before":"2566f0425705ea1902428f9a1fb9567d7c7656b5","after":"0e5ca1ae1c0f53a9b5f0c5d9064fc3f454e9f917","ref":"refs/heads/overhaul","pushedAt":"2024-05-04T13:32:17.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"As recommended in the docs, mark custom functions SQLITE_DIRECTONLY by default (security hardening). Provide an initializer flag to override it if needed.","shortMessageHtmlLink":"As recommended in the docs, mark custom functions SQLITE_DIRECTONLY b…"}},{"before":"c51dcfe254e6f5a162357b97d3ccb938829b7b6b","after":"2566f0425705ea1902428f9a1fb9567d7c7656b5","ref":"refs/heads/overhaul","pushedAt":"2024-05-03T13:15:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Add test that validates we're using SQLite in the correct (safest) threading mode.","shortMessageHtmlLink":"Add test that validates we're using SQLite in the correct (safest) th…"}},{"before":"7cb2579c6e6101fe8225b799c2790062f4fc1697","after":"c51dcfe254e6f5a162357b97d3ccb938829b7b6b","ref":"refs/heads/overhaul","pushedAt":"2024-05-02T21:26:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Split the SQLDatabase protocol into its own file. Group SQLiteConnnection's async methods together.","shortMessageHtmlLink":"Split the SQLDatabase protocol into its own file. Group SQLiteConnnec…"}},{"before":null,"after":"7cb2579c6e6101fe8225b799c2790062f4fc1697","ref":"refs/heads/overhaul","pushedAt":"2024-05-02T07:11:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Tests: Make all tests async. Add helper to replace use of defer {}. Add set of async assertions. Make tests resilient against array index range violations. Handle blobs more sensibly instead of torturing Data. Get rid of lots of force-unwraps. Use \"throws error\" assertion instead of messy do/catch clauses. Avoid crashing if opening a DB fails. Use singleton thread pool and MTELG always.","shortMessageHtmlLink":"Tests: Make all tests async. Add helper to replace use of defer {}. A…"}},{"before":"59f3579e44417277baf91db3f7f3580f48f9988f","after":null,"ref":"refs/heads/sqlite-3.45.3","pushedAt":"2024-04-15T16:39:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"2102da7e204fa3b6eeac09a2d01b7aaa1f66c39a","after":"e79d223ab3705de4c1e8903961829b5d0098c820","ref":"refs/heads/main","pushedAt":"2024-04-15T16:39:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.3 source code (#66)","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.3 source code (#66)"}},{"before":null,"after":"59f3579e44417277baf91db3f7f3580f48f9988f","ref":"refs/heads/sqlite-3.45.3","pushedAt":"2024-04-15T16:16:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.3 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.3 source code"}},{"before":"cd7770726dff2a1d6fc792e8abdfd4acfe3857b3","after":null,"ref":"refs/heads/sqlite-3.45.2","pushedAt":"2024-03-12T15:09:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"f3164216b0161f63e609e75f9a28a6f542dd9123","after":"2102da7e204fa3b6eeac09a2d01b7aaa1f66c39a","ref":"refs/heads/main","pushedAt":"2024-03-12T15:09:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.2 source code (#64)","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.2 source code (#64)"}},{"before":null,"after":"cd7770726dff2a1d6fc792e8abdfd4acfe3857b3","ref":"refs/heads/sqlite-3.45.2","pushedAt":"2024-03-12T14:28:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.2 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.2 source code"}},{"before":"04c4205c4d34233f5944591e0c2d0538f393ee04","after":null,"ref":"refs/heads/sqlite-3.45.1","pushedAt":"2024-02-16T16:36:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"e998284b4e29ad902179bb501e108ac6d71d2e38","after":"f3164216b0161f63e609e75f9a28a6f542dd9123","ref":"refs/heads/main","pushedAt":"2024-02-16T16:36:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.1 source code (#63)\n\n* Test cleanup\r\n\r\n* Speed up vendoring command by a dozen orders of magnitude\r\n\r\n* Embed sqlite amalgamation v3.45.1 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.1 source code (#63)"}},{"before":null,"after":"04c4205c4d34233f5944591e0c2d0538f393ee04","ref":"refs/heads/sqlite-3.45.1","pushedAt":"2024-01-30T17:50:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.1 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.1 source code"}},{"before":"ed2645486ce9287580f7081a00fd68fa59271af3","after":null,"ref":"refs/heads/sqlite-3.45.0","pushedAt":"2024-01-18T12:50:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"e3a64424cc5c87a9a512200cad669e80615ed135","after":"e998284b4e29ad902179bb501e108ac6d71d2e38","ref":"refs/heads/main","pushedAt":"2024-01-18T12:50:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.0 source code (#62)\n\n* General package cleanup\r\n* Switch tests to use the NIO singletons and clean them up slightly\r\n* Embed sqlite amalgamation v3.45.0 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.0 source code (#62)"}},{"before":null,"after":"ed2645486ce9287580f7081a00fd68fa59271af3","ref":"refs/heads/sqlite-3.45.0","pushedAt":"2024-01-17T05:46:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.45.0 source code","shortMessageHtmlLink":"Embed sqlite amalgamation v3.45.0 source code"}},{"before":"27e28cee78ec3512999b761123570cbc9f198238","after":null,"ref":"refs/heads/sqlite-3.44.2","pushedAt":"2023-11-28T06:28:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"}},{"before":"c30afee62b00c59a5b3d010909a2d6005a5cc174","after":"e3a64424cc5c87a9a512200cad669e80615ed135","ref":"refs/heads/main","pushedAt":"2023-11-28T06:28:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gwynne","name":"Gwynne Raskind","path":"/gwynne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1130717?s=80&v=4"},"commit":{"message":"Embed sqlite amalgamation v3.44.2 source code (#61)","shortMessageHtmlLink":"Embed sqlite amalgamation v3.44.2 source code (#61)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVmAgtQA","startCursor":null,"endCursor":null}},"title":"Activity · vapor/sqlite-nio"}