{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":49910095,"defaultBranch":"main","name":"vapor","ownerLogin":"vapor","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-01-18T22:37:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/17364220?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714161407.0","currentOid":""},"activityList":{"items":[{"before":"489acd9a5ce0556f6e3afea111c844f4b8ee9ad0","after":"e5cb0abdadff95ef996fafd6268f2f5f8cba6325","ref":"refs/heads/main","pushedAt":"2024-04-26T19:56:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Patch configuration and log actual port on startup (#3160)\n\n* Log actual port on startup\r\n\r\nBefore this change, the application\r\n\r\n```swift\r\nlet app = Application(.testing)\r\ndefer { app.shutdown() }\r\ntry app.server.start(hostname: nil, port: 0)\r\ndefer { app.server.shutdown() }\r\n```\r\n\r\nwould log the following message *before* starting the server:\r\n\r\n```\r\n[Vapor] Server starting on http://127.0.0.1:0\r\n```\r\n\r\nAfter this change it instead logs a message like the following *after* starting the server:\r\n\r\n```\r\n[Vapor] Server started on [IPv4]127.0.0.1/127.0.0.1:57935\r\n```\r\n\r\n* Avoid changing log format\r\n\r\n* Log both before and after starting\r\n\r\n* Make 'addressDescription' a computed property\r\n\r\nJust invoking the property twice seemed cleaner to me compared to duplicating the code block. Fixed a little indentation issue in the process\r\n\r\nI don't know if it's ever relevant, but config is now patched on all address types, including unix socket.\r\n\r\n* Remove obsolete variable\r\n\r\n* Make 'addressDescription' internal\r\n\r\n* Add test\r\n\r\n* Fix broken test\r\n\r\n---------\r\n\r\nCo-authored-by: Tim Condon <0xTim@users.noreply.github.com>","shortMessageHtmlLink":"Patch configuration and log actual port on startup (#3160)"}},{"before":"987f24606b37868a5124bcbb6e04dce946a93196","after":null,"ref":"refs/heads/update-ci","pushedAt":"2024-04-26T16:24:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"}},{"before":"4c80aab7a46860920022e03ced012bca3a71b06b","after":"489acd9a5ce0556f6e3afea111c844f4b8ee9ad0","ref":"refs/heads/main","pushedAt":"2024-04-26T16:24:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Update provider tests to 5.10 (#3178)","shortMessageHtmlLink":"Update provider tests to 5.10 (#3178)"}},{"before":null,"after":"987f24606b37868a5124bcbb6e04dce946a93196","ref":"refs/heads/update-ci","pushedAt":"2024-04-26T15:43:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Update provider tests to 5.10","shortMessageHtmlLink":"Update provider tests to 5.10"}},{"before":"dc881dab997ff371754629ccb878cc712194152b","after":"5c471ae91a359a00dab0d42382cfac5de2bd9483","ref":"refs/heads/noasync-waits","pushedAt":"2024-04-24T01:09:27.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Merge branch 'main' into noasync-waits","shortMessageHtmlLink":"Merge branch 'main' into noasync-waits"}},{"before":"56c56bd43288df6e81cfff5965b8cab8456e339d","after":null,"ref":"refs/heads/async-fileio","pushedAt":"2024-04-24T01:03:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"}},{"before":"3e3d65b05a280aaecdd33e45f71655b5d9118a00","after":"4c80aab7a46860920022e03ced012bca3a71b06b","ref":"refs/heads/main","pushedAt":"2024-04-24T01:03:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Migrate to Async NIOFileIO APIs (#3167)\n\n* Add tests\r\n\r\n* Update NIO dependency\r\n\r\n* Migrate over to async APIs for FileIO\r\n\r\n* Add AsyncSequence-based file read method (#3170)\r\n\r\n* Add AsyncSequence-based file read method\r\n\r\n* Add `NIOFileSystem` dependency to standard manifest\r\n\r\n* Update test\r\n\r\n* Add long test file\r\n\r\n* Migrate new API to use NIOFileSystem\r\n\r\n* Fix mess up\r\n\r\n---------\r\n\r\nCo-authored-by: Paul Toffoloni <69189821+ptoffy@users.noreply.github.com>","shortMessageHtmlLink":"Migrate to Async NIOFileIO APIs (#3167)"}},{"before":"006b5d308082a69b57933230be88df110f275c64","after":"56c56bd43288df6e81cfff5965b8cab8456e339d","ref":"refs/heads/async-fileio","pushedAt":"2024-04-24T00:27:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Fix mess up","shortMessageHtmlLink":"Fix mess up"}},{"before":"863207d0526ef765d63d23480269381b476eea5c","after":"006b5d308082a69b57933230be88df110f275c64","ref":"refs/heads/async-fileio","pushedAt":"2024-04-24T00:24:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Fix mess up","shortMessageHtmlLink":"Fix mess up"}},{"before":"7d553829e4278c68954741608172ffc4b3b2fe2b","after":"863207d0526ef765d63d23480269381b476eea5c","ref":"refs/heads/async-fileio","pushedAt":"2024-04-24T00:06:57.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Migrate new API to use NIOFileSystem","shortMessageHtmlLink":"Migrate new API to use NIOFileSystem"}},{"before":"0311f9a7eadf5117808c50dd2c7d3cfd6b95d064","after":"3e3d65b05a280aaecdd33e45f71655b5d9118a00","ref":"refs/heads/main","pushedAt":"2024-04-23T23:38:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Removed streamFile deprecation + deactivated advancedETagComparison by default (#3177)\n\n* Update FileIO.swift\r\n\r\nsha-256 digest set when file is written to system\r\n\r\n* Introduced new streamFile method\r\n\r\nIntroduced new streamFile method which allows for advancedETag comparison. Deprecated the old one.\r\n\r\n* Updated Unit Tests\r\n\r\nUpdates to remove deprecated warnings by using the new streamFile() method. Also removed some other deprecation warnings.\r\n\r\n* Added more documentation\r\n\r\n* Removed unnecessary CryptoKit import\r\n\r\n* added closure return types\r\n\r\n* incorporated first round of @0xTim's feedback\r\n\r\n* added test cases to account for advanced/simple etags\r\n\r\n* Incorporated PR comments\r\n\r\n- adjusted faulty comment\r\n- access storage directly to avoid concurrent overwrites of the entire storage\r\n\r\n* Added test for legacy streamFile\r\n\r\n* Deprecated method to silence warnings\r\n\r\n* Warning fixes\r\n\r\n* following @gwynne's style advice :)\r\n\r\n* undone deprecation + default of new advancedEtagComparison\r\n\r\n---------\r\n\r\nCo-authored-by: Tim Condon <0xTim@users.noreply.github.com>\r\nCo-authored-by: Gwynne Raskind ","shortMessageHtmlLink":"Removed streamFile deprecation + deactivated advancedETagComparison b…"}},{"before":"526a000bb082a261566b6adea3c1a1ddbed98a19","after":"0311f9a7eadf5117808c50dd2c7d3cfd6b95d064","ref":"refs/heads/main","pushedAt":"2024-04-23T11:17:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Remove HeadResponder (#3147)\n\nThe HEAD method is identical to GET except that the server must not send content in the response (RFC 9110, section 9.3.2).\r\n\r\nThe previous default behaviour of returning 200 OK to every HEAD request to a constant route is not standard-compliant.\r\n\r\nThe new behaviour is to always forward the request to the GET route, unless the developer explicitly configured a custom HEAD route.","shortMessageHtmlLink":"Remove HeadResponder (#3147)"}},{"before":"0fb4f1dd8b11fa7a8d4f6bab6d020844b4fc3251","after":"526a000bb082a261566b6adea3c1a1ddbed98a19","ref":"refs/heads/main","pushedAt":"2024-04-21T11:17:25.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":"Advanced ETag Comparison now supported (#3015)\n\n* Update FileIO.swift\r\n\r\nsha-256 digest set when file is written to system\r\n\r\n* Introduced new streamFile method\r\n\r\nIntroduced new streamFile method which allows for advancedETag comparison. Deprecated the old one.\r\n\r\n* Updated Unit Tests\r\n\r\nUpdates to remove deprecated warnings by using the new streamFile() method. Also removed some other deprecation warnings.\r\n\r\n* Added more documentation\r\n\r\n* Removed unnecessary CryptoKit import\r\n\r\n* added closure return types\r\n\r\n* incorporated first round of @0xTim's feedback\r\n\r\n* added test cases to account for advanced/simple etags\r\n\r\n* Incorporated PR comments\r\n\r\n- adjusted faulty comment\r\n- access storage directly to avoid concurrent overwrites of the entire storage\r\n\r\n* Added test for legacy streamFile\r\n\r\n* Deprecated method to silence warnings\r\n\r\n* Warning fixes\r\n\r\n* following @gwynne's style advice :)","shortMessageHtmlLink":"Advanced ETag Comparison now supported (#3015)"}},{"before":"71dff4f3f889553b4525b53376dcb2c5c27ad993","after":"0fb4f1dd8b11fa7a8d4f6bab6d020844b4fc3251","ref":"refs/heads/main","pushedAt":"2024-04-21T10:29: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":"Enabled Request Decompression By Default (#3175)\n\n* Updated request decompression to be enabled by default\r\n\r\n* Updated the default request decompression ratio limit to be 25×","shortMessageHtmlLink":"Enabled Request Decompression By Default (#3175)"}},{"before":"096c51992b1c32695c0e17329d1eeda45e026a9d","after":"71dff4f3f889553b4525b53376dcb2c5c27ad993","ref":"refs/heads/main","pushedAt":"2024-04-19T21:15:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"HTTP2 Response Compression/Request Decompression (#3126)\n\n* Fixed an issue where HTTP2 didn't support response compression and request recompression\r\n\r\nFixes #3125\r\n\r\n* Added exhaustive tests for request and response compression across both HTTP 1.1 and HTTP 2","shortMessageHtmlLink":"HTTP2 Response Compression/Request Decompression (#3126)"}},{"before":"77566bb4423f9b7637f4316f5e5df04dd2148706","after":null,"ref":"refs/heads/gwynne-patch-1","pushedAt":"2024-04-18T03:39:13.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":"8409c3c296e7f8965df14e906dbcd44eb68f54a9","after":"096c51992b1c32695c0e17329d1eeda45e026a9d","ref":"refs/heads/main","pushedAt":"2024-04-18T03:39:13.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":"Don't set ignore status for SIGTERM and SIGINT on Linux (#3174)","shortMessageHtmlLink":"Don't set ignore status for SIGTERM and SIGINT on Linux (#3174)"}},{"before":"d2d91c8b4ab9999871593d852a645ad178641239","after":"7d553829e4278c68954741608172ffc4b3b2fe2b","ref":"refs/heads/async-fileio","pushedAt":"2024-04-17T14:13:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Merge branch 'main' into async-fileio","shortMessageHtmlLink":"Merge branch 'main' into async-fileio"}},{"before":"ff7ffbba30389cb82fa8a37c9e61449bdea2f15d","after":null,"ref":"refs/heads/niofilesystem-fileread","pushedAt":"2024-04-17T14:12:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"}},{"before":"bae2a293223239bddc45c7a5712492afb7da5c32","after":"d2d91c8b4ab9999871593d852a645ad178641239","ref":"refs/heads/async-fileio","pushedAt":"2024-04-17T14:12:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Add AsyncSequence-based file read method (#3170)\n\n* Add AsyncSequence-based file read method\r\n\r\n* Add `NIOFileSystem` dependency to standard manifest\r\n\r\n* Update test\r\n\r\n* Add long test file","shortMessageHtmlLink":"Add AsyncSequence-based file read method (#3170)"}},{"before":"d3e2d896e448430d4451e233921621102800b8a8","after":"ff7ffbba30389cb82fa8a37c9e61449bdea2f15d","ref":"refs/heads/niofilesystem-fileread","pushedAt":"2024-04-17T12:21:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ptoffy","name":"Paul Toffoloni","path":"/ptoffy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69189821?s=80&v=4"},"commit":{"message":"Add long test file","shortMessageHtmlLink":"Add long test file"}},{"before":null,"after":"77566bb4423f9b7637f4316f5e5df04dd2148706","ref":"refs/heads/gwynne-patch-1","pushedAt":"2024-04-17T02:11:47.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":"Don't set ignore status for SIGTERM and SIGINT on Linux","shortMessageHtmlLink":"Don't set ignore status for SIGTERM and SIGINT on Linux"}},{"before":"470cb8ea51694fc1466fcae933c500e6fd765f35","after":"d3e2d896e448430d4451e233921621102800b8a8","ref":"refs/heads/niofilesystem-fileread","pushedAt":"2024-04-09T09:21:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ptoffy","name":"Paul Toffoloni","path":"/ptoffy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69189821?s=80&v=4"},"commit":{"message":"Update test","shortMessageHtmlLink":"Update test"}},{"before":"ceb2e736634980f3280dd3b29968128e157512f5","after":"470cb8ea51694fc1466fcae933c500e6fd765f35","ref":"refs/heads/niofilesystem-fileread","pushedAt":"2024-04-09T08:01:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ptoffy","name":"Paul Toffoloni","path":"/ptoffy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69189821?s=80&v=4"},"commit":{"message":"Add `NIOFileSystem` dependency to standard manifest","shortMessageHtmlLink":"Add NIOFileSystem dependency to standard manifest"}},{"before":null,"after":"ceb2e736634980f3280dd3b29968128e157512f5","ref":"refs/heads/niofilesystem-fileread","pushedAt":"2024-04-09T07:53:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ptoffy","name":"Paul Toffoloni","path":"/ptoffy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69189821?s=80&v=4"},"commit":{"message":"Add AsyncSequence-based file read method","shortMessageHtmlLink":"Add AsyncSequence-based file read method"}},{"before":"f427b9c5bf427245cceee0527cb704f8bb72c4bd","after":null,"ref":"refs/heads/privacy-manifest","pushedAt":"2024-04-08T15:29:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"}},{"before":"8409c3c296e7f8965df14e906dbcd44eb68f54a9","after":"f427b9c5bf427245cceee0527cb704f8bb72c4bd","ref":"refs/heads/privacy-manifest","pushedAt":"2024-04-08T15:28:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Add Privacy manifest","shortMessageHtmlLink":"Add Privacy manifest"}},{"before":null,"after":"8409c3c296e7f8965df14e906dbcd44eb68f54a9","ref":"refs/heads/privacy-manifest","pushedAt":"2024-04-08T15:28:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Fix typos across the codebase (#3162)\n\n* fix docs in .github\r\n\r\n* fix typo in Authentication\r\n\r\n* fix typo in Concurrency\r\n\r\n* fix typo in Content\r\n\r\n* fix typos logger label\r\n\r\n* fix typo caseInsensitive\r\n\r\n* fix typo in HTTP\r\n\r\n* fix typo in Request\r\n\r\n* fix typo in URLEncodedForm\r\n\r\n* fix typo in Utilities\r\n\r\n* fix typo in Validation\r\n\r\n* fix some typos in Tests\r\n\r\n* Revert \"fix typo caseInsensitive\"\r\n\r\nThis reverts commit 0950033073ca1140bc68ac47088dad02f358b2b5.","shortMessageHtmlLink":"Fix typos across the codebase (#3162)"}},{"before":"11cdb29614a5c7f8c5289f3c97b3398c3d89b395","after":"8409c3c296e7f8965df14e906dbcd44eb68f54a9","ref":"refs/heads/main","pushedAt":"2024-04-08T13:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Fix typos across the codebase (#3162)\n\n* fix docs in .github\r\n\r\n* fix typo in Authentication\r\n\r\n* fix typo in Concurrency\r\n\r\n* fix typo in Content\r\n\r\n* fix typos logger label\r\n\r\n* fix typo caseInsensitive\r\n\r\n* fix typo in HTTP\r\n\r\n* fix typo in Request\r\n\r\n* fix typo in URLEncodedForm\r\n\r\n* fix typo in Utilities\r\n\r\n* fix typo in Validation\r\n\r\n* fix some typos in Tests\r\n\r\n* Revert \"fix typo caseInsensitive\"\r\n\r\nThis reverts commit 0950033073ca1140bc68ac47088dad02f358b2b5.","shortMessageHtmlLink":"Fix typos across the codebase (#3162)"}},{"before":null,"after":"dc881dab997ff371754629ccb878cc712194152b","ref":"refs/heads/noasync-waits","pushedAt":"2024-04-04T10:04:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"0xTim","name":"Tim Condon","path":"/0xTim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9938337?s=80&v=4"},"commit":{"message":"Make sure we tidy up the connection properly","shortMessageHtmlLink":"Make sure we tidy up the connection properly"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEO3xlMAA","startCursor":null,"endCursor":null}},"title":"Activity · vapor/vapor"}