{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":96071,"defaultBranch":"main","name":"rack","ownerLogin":"rack","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2008-12-24T03:03:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/42379?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710983909.0","currentOid":""},"activityList":{"items":[{"before":"40df0e260f608403355bfa3cd58056991cb91f79","after":"a211246ac797f4fbb98965e9aabf371d8c918609","ref":"refs/heads/main","pushedAt":"2024-04-25T05:22:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Add 3.0.9.1 to CHANGELOG (#2175)\n\n[ci skip]","shortMessageHtmlLink":"Add 3.0.9.1 to CHANGELOG (#2175)"}},{"before":"d3c545e69d58e588622bcf9b1ab9f971b8a02112","after":"4da4e4a8af2f6d8ad8b5d3d7675cb83952233d36","ref":"refs/heads/3-0-stable","pushedAt":"2024-04-22T23:39:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Update deprecation message (#2173)","shortMessageHtmlLink":"Update deprecation message (#2173)"}},{"before":"8c73aefcc7085c71bdfe6c1ec867f126ede34124","after":"40df0e260f608403355bfa3cd58056991cb91f79","ref":"refs/heads/main","pushedAt":"2024-04-02T14:31:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeremyevans","name":"Jeremy Evans","path":"/jeremyevans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3846?s=80&v=4"},"commit":{"message":"Remove `ostruct` require\n\nOpenStruct usage was removed in #2004 but this was missed.\n\nIn Ruby 3.5 this require would trigger a warning","shortMessageHtmlLink":"Remove ostruct require"}},{"before":"487178f7cf634b5dc62e6db7e2f92581f09b3d2e","after":"8c73aefcc7085c71bdfe6c1ec867f126ede34124","ref":"refs/heads/main","pushedAt":"2024-03-21T01:39:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Tidy up external links in readme.","shortMessageHtmlLink":"Tidy up external links in readme."}},{"before":"f7d40f91ab18e250af71d8207fc72a0cde9a263c","after":"b1deebdc0a4f61cc141cece5a911917ff1e4b901","ref":"refs/heads/2-2-stable","pushedAt":"2024-03-21T01:18:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Bump patch version.","shortMessageHtmlLink":"Bump patch version."}},{"before":"ac1fdba319bdb93eee3d0d560c788d66aa0036c4","after":"487178f7cf634b5dc62e6db7e2f92581f09b3d2e","ref":"refs/heads/main","pushedAt":"2024-03-20T22:01:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Update changelog.","shortMessageHtmlLink":"Update changelog."}},{"before":"f856dbda10d6523ddf99b515b22f059d5a8066c1","after":"d3c545e69d58e588622bcf9b1ab9f971b8a02112","ref":"refs/heads/3-0-stable","pushedAt":"2024-03-20T21:56:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Bump patch version.","shortMessageHtmlLink":"Bump patch version."}},{"before":"dff6cfd249832d32ab190e6d20605bce0d6c702d","after":"ac1fdba319bdb93eee3d0d560c788d66aa0036c4","ref":"refs/heads/main","pushedAt":"2024-03-20T20:21:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Refactored multipart_spec.rb to improve readability and consistency. (#2161)\n\nUpdate the spec description for improved grammar and consistency with the surrounding spec descriptions.","shortMessageHtmlLink":"Refactored multipart_spec.rb to improve readability and consistency. (#…"}},{"before":"a4bc5e0f41c750135969ceece8772ab112dc8f17","after":"f856dbda10d6523ddf99b515b22f059d5a8066c1","ref":"refs/heads/3-0-stable","pushedAt":"2024-03-20T16:32:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeremyevans","name":"Jeremy Evans","path":"/jeremyevans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3846?s=80&v=4"},"commit":{"message":"Backport #2104 to 3-0-stable\nReturn empty when parsing a multi-part POST with only one end delimiter.\n\nFixed: #2103\n\nSending the following request in a browser generates a request with\nwith only one end delimiter.\n\n```javascript\nconst formData = new FormData();\nconst request = new Request('http://127.0.0.1:8080/', {\n method: 'POST',\n body: formData,\n});\nconst response = fetch(request);\n```\n\n```\ncurl 'http://127.0.0.1:8080/' \\\n -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryR1LC4tR6ayskIXJm' \\\n --data-raw $'------WebKitFormBoundaryR1LC4tR6ayskIXJm--\\r\\n'\n```\n\nThis request is not compliant RFC7578, but is generated by major browsers such as\nFireFox and Chrome.\nSupporting this request will cause the multipart parser to return an empty value.","shortMessageHtmlLink":"Backport #2104 to 3-0-stable"}},{"before":"1848851b75579236e0939b13758913ca6b046b03","after":"dff6cfd249832d32ab190e6d20605bce0d6c702d","ref":"refs/heads/main","pushedAt":"2024-02-26T06:51:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Ignore Range header if served file is 0 bytes (#2159) (#2159)\n\nNormally Rack::Files truncates a byte range to fit a file's contents as long as\r\nat least some bytes are within range. However, an empty (0 byte) file is a\r\nspecial case. Previously, empty files requested with a Range header always\r\nresulted in a 416 error. This changes 0 byte files to ignore the Range header\r\nand return the empty file.\r\n\r\nThis improves compatibility with clients that speculatively request files with\r\nbyte ranges.","shortMessageHtmlLink":"Ignore Range header if served file is 0 bytes (#2159) (#2159)"}},{"before":"9996d403584fb7609708f582f7647868b4444949","after":"8eb8bc6c7c4d3dd912d169c850fe2695d1728555","ref":"refs/heads/2-0-stable","pushedAt":"2024-02-21T19:25:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tenderlove","name":"Aaron Patterson","path":"/tenderlove","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3124?s=80&v=4"},"commit":{"message":"updating version","shortMessageHtmlLink":"updating version"}},{"before":"7bdc55dd21ec76811ad74c1ae14c1588d2f2ca49","after":"c465c6389cc56ffdfa30718e490f31bcc2efbfc9","ref":"refs/heads/2-1-stable","pushedAt":"2024-02-21T19:24:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tenderlove","name":"Aaron Patterson","path":"/tenderlove","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3124?s=80&v=4"},"commit":{"message":"bump version","shortMessageHtmlLink":"bump version"}},{"before":"fdb12cbd43ada0bcc5e34fbda94a4d0e8c2c1719","after":"f7d40f91ab18e250af71d8207fc72a0cde9a263c","ref":"refs/heads/2-2-stable","pushedAt":"2024-02-21T19:24:44.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"tenderlove","name":"Aaron Patterson","path":"/tenderlove","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3124?s=80&v=4"},"commit":{"message":"Merge branch '2-2-sec' into 2-2-stable\n\n* 2-2-sec:\n bump version\n Avoid 2nd degree polynomial regexp in MediaType\n Return an empty array when ranges are too large\n Fixing ReDoS in header parsing","shortMessageHtmlLink":"Merge branch '2-2-sec' into 2-2-stable"}},{"before":"0b3f997e7bb14c1dc42130e1eb50e62797d8c039","after":"a4bc5e0f41c750135969ceece8772ab112dc8f17","ref":"refs/heads/3-0-stable","pushedAt":"2024-02-21T19:24:22.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"tenderlove","name":"Aaron Patterson","path":"/tenderlove","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3124?s=80&v=4"},"commit":{"message":"bump version","shortMessageHtmlLink":"bump version"}},{"before":"ae7d6a171963a70918b4e43525408c571a3f28fe","after":"1848851b75579236e0939b13758913ca6b046b03","ref":"refs/heads/main","pushedAt":"2024-02-21T19:24:13.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"tenderlove","name":"Aaron Patterson","path":"/tenderlove","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3124?s=80&v=4"},"commit":{"message":"Avoid 2nd degree polynomial regexp in MediaType","shortMessageHtmlLink":"Avoid 2nd degree polynomial regexp in MediaType"}},{"before":"449ed4dd7abaf444a1e9b5bab34b79de0bfb0eda","after":"ae7d6a171963a70918b4e43525408c571a3f28fe","ref":"refs/heads/main","pushedAt":"2024-02-07T09:39:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"CHANGELOG.md: Add 3.0.9 section (#2156)","shortMessageHtmlLink":"CHANGELOG.md: Add 3.0.9 section (#2156)"}},{"before":"589540e5d69d5af8a87dd71749b3b36a37122de8","after":null,"ref":"refs/heads/rack-lint-remove-http_version-check","pushedAt":"2024-01-31T23:23:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"}},{"before":"25e0e0194dc2746bf7a9698a9666cd4116e1a19d","after":"449ed4dd7abaf444a1e9b5bab34b79de0bfb0eda","ref":"refs/heads/main","pushedAt":"2024-01-31T23:23:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Remove HTTP_VERSION validation from `Rack::Lint`. (#2154)","shortMessageHtmlLink":"Remove HTTP_VERSION validation from Rack::Lint. (#2154)"}},{"before":"c502709c365944bf251bc248844f0eaf18aadf31","after":"589540e5d69d5af8a87dd71749b3b36a37122de8","ref":"refs/heads/rack-lint-remove-http_version-check","pushedAt":"2024-01-31T23:14:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Remove HTTP_VERSION validation from `Rack::Lint`.","shortMessageHtmlLink":"Remove HTTP_VERSION validation from Rack::Lint."}},{"before":null,"after":"c502709c365944bf251bc248844f0eaf18aadf31","ref":"refs/heads/rack-lint-remove-http_version-check","pushedAt":"2024-01-31T23:11:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Remove HTTP_VERSION validation from `Rack::Lint`.","shortMessageHtmlLink":"Remove HTTP_VERSION validation from Rack::Lint."}},{"before":"e50b72a9b2400cbe3b25f3619926f306796503ac","after":"25e0e0194dc2746bf7a9698a9666cd4116e1a19d","ref":"refs/heads/main","pushedAt":"2024-01-31T22:06:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeremyevans","name":"Jeremy Evans","path":"/jeremyevans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3846?s=80&v=4"},"commit":{"message":"Document rewind behavior change of rack input.","shortMessageHtmlLink":"Document rewind behavior change of rack input."}},{"before":"d3d415ed68fe9471f04bafe4a299eb099330fcb1","after":"0b3f997e7bb14c1dc42130e1eb50e62797d8c039","ref":"refs/heads/3-0-stable","pushedAt":"2024-01-31T07:51:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Bump patch version.","shortMessageHtmlLink":"Bump patch version."}},{"before":"c8b977f6c3a002b6e6f395ce8b5c14f21dad7f39","after":"d3d415ed68fe9471f04bafe4a299eb099330fcb1","ref":"refs/heads/3-0-stable","pushedAt":"2024-01-31T07:45:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Update Ruby versions for external tests: drop v2.7 and add v3.2 and v3.3. (#2143)","shortMessageHtmlLink":"Update Ruby versions for external tests: drop v2.7 and add v3.2 and v…"}},{"before":"8d1bf996e30897f740c54669d891eeda8036113d","after":"c8b977f6c3a002b6e6f395ce8b5c14f21dad7f39","ref":"refs/heads/3-0-stable","pushedAt":"2024-01-31T07:43:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Fix content-length calcuation in Rack:Response#write (#2150)\n\nWhen `Rack::Response` is initialized with an Array, it incorrectly\nincrements its internal `@length` value and emitted content-length\nheader on every subsequent write. The more times `write` is called, the\nmore the error accumulates.\n\nThis commit fixes the accumulation bug, and fixes/adds specs to properly\ntest the scenario where `write` is used multiple times.","shortMessageHtmlLink":"Fix content-length calcuation in Rack:Response#write (#2150)"}},{"before":"ee2764134539b68cc535c52e86e7824f038e2848","after":"e50b72a9b2400cbe3b25f3619926f306796503ac","ref":"refs/heads/main","pushedAt":"2024-01-31T05:56:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Fix content-length calcuation in Rack:Response#write (#2150)\n\nWhen `Rack::Response` is initialized with an Array, it incorrectly\r\nincrements its internal `@length` value and emitted content-length\r\nheader on every subsequent write. The more times `write` is called, the\r\nmore the error accumulates.\r\n\r\nThis commit fixes the accumulation bug, and fixes/adds specs to properly\r\ntest the scenario where `write` is used multiple times.","shortMessageHtmlLink":"Fix content-length calcuation in Rack:Response#write (#2150)"}},{"before":"ff640db134cab175751a7b30a860469e457a6a70","after":null,"ref":"refs/heads/dependabot/github_actions/actions/dependency-review-action-4","pushedAt":"2024-01-30T05:02:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"}},{"before":"0cd4d40a759f3e68f13c0467091cf836d086e9a1","after":"ee2764134539b68cc535c52e86e7824f038e2848","ref":"refs/heads/main","pushedAt":"2024-01-30T05:02:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Bump actions/dependency-review-action from 3 to 4 (#2147)\n\nBumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3 to 4.\r\n- [Release notes](https://github.com/actions/dependency-review-action/releases)\r\n- [Commits](https://github.com/actions/dependency-review-action/compare/v3...v4)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/dependency-review-action\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/dependency-review-action from 3 to 4 (#2147)"}},{"before":null,"after":"ff640db134cab175751a7b30a860469e457a6a70","ref":"refs/heads/dependabot/github_actions/actions/dependency-review-action-4","pushedAt":"2024-01-29T08:18:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump actions/dependency-review-action from 3 to 4\n\nBumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3 to 4.\n- [Release notes](https://github.com/actions/dependency-review-action/releases)\n- [Commits](https://github.com/actions/dependency-review-action/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: actions/dependency-review-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump actions/dependency-review-action from 3 to 4"}},{"before":"261c1da661042a7822d099db595d06c759dfbfa3","after":null,"ref":"refs/heads/dependabot/github_actions/actions/checkout-4","pushedAt":"2024-01-26T01:01:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"}},{"before":"3897649e8740e560a5fa142f972121a119b26b5c","after":"0cd4d40a759f3e68f13c0467091cf836d086e9a1","ref":"refs/heads/main","pushedAt":"2024-01-26T01:01:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ioquatix","name":"Samuel Williams","path":"/ioquatix","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30030?s=80&v=4"},"commit":{"message":"Bump actions/checkout from 3 to 4 (#2120)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/v3...v4)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/checkout\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/checkout from 3 to 4 (#2120)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEOcm0fgA","startCursor":null,"endCursor":null}},"title":"Activity · rack/rack"}