{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":7040500,"defaultBranch":"master","name":"falcon","ownerLogin":"falconry","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-12-06T18:17:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11353642?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725089853.0","currentOid":""},"activityList":{"items":[{"before":"ddff2ce8d4a5efa142c12ba023936082f44e8c6f","after":"e470e62395762e52f5bf72347f40657711de04ec","ref":"refs/heads/master","pushedAt":"2024-09-20T15:14:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): annotate routing package (#2327)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n* typing: type asgi.reader, asgi.structures, asgi.stream\r\n\r\n* typing: type most of media\r\n\r\n* typing: type multipart\r\n\r\n* typing: type response\r\n\r\n* style: fix spelling in multipart.py\r\n\r\n* style(tests): explain referencing the same property multiple times\r\n\r\n* style: fix linter errors\r\n\r\n* chore: revert behavioral change to cors middleware.\r\n\r\n* typing: type falcon.routing package\r\n\r\n* chore: do not build rapidjson on PyPy\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"feat(typing): annotate routing package (#2327)"}},{"before":"9f47efbadcc793efb719c945f3928eae22c7e455","after":"ddff2ce8d4a5efa142c12ba023936082f44e8c6f","ref":"refs/heads/master","pushedAt":"2024-09-20T14:41:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): type response (#2304)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n* typing: type asgi.reader, asgi.structures, asgi.stream\r\n\r\n* typing: type most of media\r\n\r\n* typing: type multipart\r\n\r\n* typing: type response\r\n\r\n* style: fix spelling in multipart.py\r\n\r\n* style(tests): explain referencing the same property multiple times\r\n\r\n* style: fix linter errors\r\n\r\n* chore: revert behavioral change to cors middleware.\r\n\r\n* chore: do not build rapidjson on PyPy\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"feat(typing): type response (#2304)"}},{"before":"b29fd5540ae58bed47198ea447f1e9194c34155c","after":"9f47efbadcc793efb719c945f3928eae22c7e455","ref":"refs/heads/master","pushedAt":"2024-09-20T04:59:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"docs: refresh docs with the PyData Sphinx theme (MVP) (#2300)\n\n* docs: refresh docs with the PyData Sphinx theme\r\n\r\n* chore: reformat with `ruff`, specify a different PDF Latex engine\r\n\r\n* chore(docs): change Pygments theme for PDF; drop some deps\r\n\r\n* docs(theme): more tweaks, custom PyPI icon, testing Sphinx-design tabs\r\n\r\n* docs: add homepage icon\r\n\r\n* chore: replace sphinx-tabs with sphinx-design\r\n\r\n* docs: add external links\r\n\r\n* chore(docs): reenable the dark theme\r\n\r\n* chore(docs): remove local ToC that are no longer needed with the new theme\r\n\r\n* chore(docs): use a newer Falconry pygments theme version\r\n\r\n* docss: remove manually written tocs, add missing module description\r\n\r\n---------\r\n\r\nCo-authored-by: Federico Caselli ","shortMessageHtmlLink":"docs: refresh docs with the PyData Sphinx theme (MVP) (#2300)"}},{"before":"87e04547cfb997598e64de12393ef9ffe2bbfe61","after":"b29fd5540ae58bed47198ea447f1e9194c34155c","ref":"refs/heads/master","pushedAt":"2024-09-17T21:15:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"fix(WebSocket): handle `OSError` upon `send()` + fix `max_receive_queue == 0` (#2324)\n\n* feat(WebSocket): handle `OSError` upon `send()`\r\n\r\n* fix(WebSocket): fix the `max_receive_queue == 0` case (WiP)\r\n\r\n* chore: do not build rapidjson on PyPy\r\n\r\n* test(WebSocket): add tests for the max_receive_queue==0 case\r\n\r\n* docs(ws): revise \"Lost Connections\" in the light of ASGI WS spec 2.4\r\n\r\n* docs: market this as bugfix instead\r\n\r\n* test(WS): add a zero receive queue test with real servers\r\n\r\n* docs(WS): polish newsfragment\r\n\r\n* docs(WS): tone down inline comment","shortMessageHtmlLink":"fix(WebSocket): handle OSError upon send() + fix `max_receive_que…"}},{"before":"4567c972c19d9ab7b0881675534ce4e59f24b6ed","after":"87e04547cfb997598e64de12393ef9ffe2bbfe61","ref":"refs/heads/master","pushedAt":"2024-09-15T16:58:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat (status_codes): add new HTTP status codes from RFC 9110 (#2328)\n\n* refactor (response): Remove deprecated attributes\r\n\r\n* refactor (response): Organize imports with ruff check --fix\r\n\r\n* test (response): Refactor test_response_set_stream test\r\n\r\n* test (response): Fix set stream test\r\n\r\n* test (response): Improve assertion\r\n\r\n* feat (status_codes): add new status codes\r\n\r\n* style: run ruff format\r\n\r\n* docs (status): update docs\r\n\r\n* style (status_codes): fix typo\r\n\r\n* docs (status): fix typo","shortMessageHtmlLink":"feat (status_codes): add new HTTP status codes from RFC 9110 (#2328)"}},{"before":"cae50da40454a361fec84e58d4b44bedc5b6c0cd","after":"4567c972c19d9ab7b0881675534ce4e59f24b6ed","ref":"refs/heads/master","pushedAt":"2024-09-15T16:45:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore)tests): do not install `rapidjson` on PyPy\n\n(Because it does not seem to build on PyPy cleanly with setuptools>=58 any more.)","shortMessageHtmlLink":"chore)tests): do not install rapidjson on PyPy"}},{"before":"1f914c5143250c1113089868f30eed67697dc40d","after":"cae50da40454a361fec84e58d4b44bedc5b6c0cd","ref":"refs/heads/master","pushedAt":"2024-09-06T09:15:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"fix(multipart): don't share MultipartParseOptions._DEFAULT_HANDLERS (#2322)\n\n* fix(multipart): don't share MultipartParseOptions._DEFAULT_HANDLERS between instances\r\n\r\n* fix(media): implement a proper `Handlers.copy()` method\r\n\r\n* chore: add a versionadded docs directive\r\n\r\n* docs(newsfragments): add a newsfragment for #2293\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"fix(multipart): don't share MultipartParseOptions._DEFAULT_HANDLERS (#…"}},{"before":"f20c3cc8ed59da587c759db6bc54a69d6bc4b319","after":"1f914c5143250c1113089868f30eed67697dc40d","ref":"refs/heads/master","pushedAt":"2024-09-05T04:13:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"docs(install): update the installation docs wrt PEP 517 (#2319)\n\n* docs(install): update the installation docs wrt PEP 517\r\n\r\n* docs(install): shorted README, tweak and link other docs\r\n\r\n* docs(install): further readme tweakz\r\n\r\n* docs(install): add more notes on installation from src\r\n\r\n* docs(install): commit review suggestion\r\n\r\nCo-authored-by: Federico Caselli \r\n\r\n---------\r\n\r\nCo-authored-by: Federico Caselli ","shortMessageHtmlLink":"docs(install): update the installation docs wrt PEP 517 (#2319)"}},{"before":"4f3135661970797b0228f63abf516f57307f19bf","after":"f20c3cc8ed59da587c759db6bc54a69d6bc4b319","ref":"refs/heads/master","pushedAt":"2024-09-03T05:40:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"refactor (response): remove deprecated attributes (#2317)\n\n* refactor (response): Remove deprecated attributes\r\n\r\n* refactor (response): Organize imports with ruff check --fix\r\n\r\n* test (response): Refactor test_response_set_stream test\r\n\r\n* test (response): Fix set stream test\r\n\r\n* test (response): Improve assertion","shortMessageHtmlLink":"refactor (response): remove deprecated attributes (#2317)"}},{"before":"fa5c72c78a657faa420121d944b1a5df1c698b6d","after":"4f3135661970797b0228f63abf516f57307f19bf","ref":"refs/heads/master","pushedAt":"2024-09-01T20:24:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"fix(sdist): include Markdown documents in sdist","shortMessageHtmlLink":"fix(sdist): include Markdown documents in sdist"}},{"before":"7b77c56154671c6b13e32ffef6d1b85a1cc36e3a","after":"fa5c72c78a657faa420121d944b1a5df1c698b6d","ref":"refs/heads/master","pushedAt":"2024-09-01T20:03:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"docs: deduplicate contributor's guide (#2316)","shortMessageHtmlLink":"docs: deduplicate contributor's guide (#2316)"}},{"before":"7bb24dc70293d8c0f8b9b17079fe88cfb527d1fa","after":"7b77c56154671c6b13e32ffef6d1b85a1cc36e3a","ref":"refs/heads/master","pushedAt":"2024-09-01T11:37:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore: clean up tests even further (#2315)\n\n* chore: remove all mandatory deps from tests except `pytest`\r\n\r\n* refactor: run at least smth over the network if requests isn't installed","shortMessageHtmlLink":"chore: clean up tests even further (#2315)"}},{"before":"00f2212a1940e62e4fcb1a4d724a529e73999ec0","after":"7bb24dc70293d8c0f8b9b17079fe88cfb527d1fa","ref":"refs/heads/master","pushedAt":"2024-08-31T19:44:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore(dist): remove `setup.cfg` (#2277)\n\n* chore: prototype removal of `setup.cfg` (WiP)\r\n\r\n* chore(pyproject.toml): patch up license-files\r\n\r\n* docs(README): use PyPI compatible embedding of README\r\n\r\n* docs(README): make readme static\r\n\r\n* chore(docs/conf.py): fix docs not to depend on `setup.cfg`\r\n\r\n* chore(pyproject.toml):explicitly specify `text/x-rst` media type\r\n\r\n* docs(README): add Sentry\r\n\r\n* docs: polish newsfragments\r\n\r\n* docs: fix one newsfragment, update `RELEASE.md`\r\n\r\n* chore: specify test dependencies\r\n\r\n* chore: remove extraneous wheel build requirement","shortMessageHtmlLink":"chore(dist): remove setup.cfg (#2277)"}},{"before":"13571bfeecb6d227d6dfe44b1e66267ed941470a","after":null,"ref":"refs/heads/3.1.1-prep-2022-11-05","pushedAt":"2024-08-31T07:37:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"}},{"before":"f4e78375760c4f5a7de676995bd49442350ef357","after":null,"ref":"refs/heads/3.1.1-prep-2022-11-09","pushedAt":"2024-08-31T07:37:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"}},{"before":"3fd3d3e81806d0685c2fb8c05c3aee8f657e2171","after":null,"ref":"refs/heads/3.1.2-prep-2023-11-18","pushedAt":"2024-08-31T07:37:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"}},{"before":"dd6b10b6e36eee6f368eeecaf9bdef7544410c5f","after":null,"ref":"refs/heads/3.1.3-prep-2023-12-04","pushedAt":"2024-08-31T07:37:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"}},{"before":"25eb75bd4a954fb17436ce43d877cc8768b66a9d","after":null,"ref":"refs/heads/normalize_sphinx_link_markers","pushedAt":"2024-08-31T07:37:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"}},{"before":"b5416c16f00a9e68bc38431556b83fdcc4ce0161","after":"00f2212a1940e62e4fcb1a4d724a529e73999ec0","ref":"refs/heads/master","pushedAt":"2024-08-30T19:11:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): type multipart forms (#2299)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n* typing: type asgi.reader, asgi.structures, asgi.stream\r\n\r\n* typing: type most of media\r\n\r\n* typing: type multipart\r\n\r\n* style: fix spelling in multipart.py\r\n\r\n* style(tests): explain referencing the same property multiple times\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"feat(typing): type multipart forms (#2299)"}},{"before":"c6824bd7a977f804805176d2551064e161c4d463","after":"b5416c16f00a9e68bc38431556b83fdcc4ce0161","ref":"refs/heads/master","pushedAt":"2024-08-30T13:56:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): type media (#2298)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n* typing: type asgi.reader, asgi.structures, asgi.stream\r\n\r\n* typing: type most of media\r\n\r\n* chore: clean up previous incomplete master merge of `pyproject.toml`","shortMessageHtmlLink":"feat(typing): type media (#2298)"}},{"before":"cca34257e68e9e8d103cbccda1b223ed2cee1a09","after":"c6824bd7a977f804805176d2551064e161c4d463","ref":"refs/heads/master","pushedAt":"2024-08-30T12:03:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore: drop unused tools and workflows (#2312)","shortMessageHtmlLink":"chore: drop unused tools and workflows (#2312)"}},{"before":"92b4b8b6d69d892141755dc1463e8d57b1051362","after":"cca34257e68e9e8d103cbccda1b223ed2cee1a09","ref":"refs/heads/master","pushedAt":"2024-08-30T11:37:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"fix(docs/install): hide wheels table if `.github` is unavailable","shortMessageHtmlLink":"fix(docs/install): hide wheels table if .github is unavailable"}},{"before":"3e32ff728923b07ec7a69f39105835f6e459e901","after":"92b4b8b6d69d892141755dc1463e8d57b1051362","ref":"refs/heads/master","pushedAt":"2024-08-30T10:37:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore(cibw): productify the `cibuildwheel` workflow (#2311)\n\n* docs: add a (WiP) table of wheels\r\n\r\n* docs(wheels): bikeshed a nice table\r\n\r\n* chore: flesh out cibuildwheel workflow\r\n\r\n* chore: more testing of tooling\r\n\r\n* chore: try building out all artefacts\r\n\r\n* chore: try to fix sdist download\r\n\r\n* chore(cibw): clean up `check_dist.py`, use a more advanced Actions expr\r\n\r\n* style: clean up cibw Sphinx ext\r\n\r\n* chore(cibw): test all wheels\r\n\r\n* chore: test (WOULD FAIL) if passing `-r` works\r\n\r\n* chore(cibw): build out once again before moving out of Draft\r\n\r\n* chore(cibw): remove from `pull_request` event\r\n\r\n* chore(cibw): build pure-Python wheel\r\n\r\n* chore(cibw): also test sdist/gen wheel\r\n\r\n* chore: remove run from `pull_request` event","shortMessageHtmlLink":"chore(cibw): productify the cibuildwheel workflow (#2311)"}},{"before":"f36a23e27b943fd1be95fc19785dd5265136d995","after":"3e32ff728923b07ec7a69f39105835f6e459e901","ref":"refs/heads/master","pushedAt":"2024-08-30T06:57:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): type asgi.reader, asgi.structures, asgi.stream (#2297)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n* typing: type asgi.reader, asgi.structures, asgi.stream\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"feat(typing): type asgi.reader, asgi.structures, asgi.stream (#2297)"}},{"before":"5cb2b8945671712c352051389ecbd03a94f6d793","after":"f36a23e27b943fd1be95fc19785dd5265136d995","ref":"refs/heads/master","pushedAt":"2024-08-30T06:24:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): add type annotation to websocket module (#2295)\n\n* typing: type app\r\n\r\n* typing: type websocket module\r\n\r\n---------\r\n\r\nCo-authored-by: Vytautas Liuolia ","shortMessageHtmlLink":"feat(typing): add type annotation to websocket module (#2295)"}},{"before":"5f7edf0b704ba23eae927222b14d49731f4b8b11","after":"5cb2b8945671712c352051389ecbd03a94f6d793","ref":"refs/heads/master","pushedAt":"2024-08-30T06:09:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"fix(typing): address failing workflow on Python 3.10","shortMessageHtmlLink":"fix(typing): address failing workflow on Python 3.10"}},{"before":"e5ada2f958ed4847c3617c34b918b46fca185d73","after":"5f7edf0b704ba23eae927222b14d49731f4b8b11","ref":"refs/heads/master","pushedAt":"2024-08-30T05:44:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(typing): type App (#2286)","shortMessageHtmlLink":"feat(typing): type App (#2286)"}},{"before":"4f8d639aee6a0057439ea08e87823fd5987c50cb","after":"e5ada2f958ed4847c3617c34b918b46fca185d73","ref":"refs/heads/master","pushedAt":"2024-08-27T21:15:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"refactor(misc): clean up post-2246 (#2308)","shortMessageHtmlLink":"refactor(misc): clean up post-2246 (#2308)"}},{"before":"321bda16d459d187c026caa6d7f1696daad12619","after":"4f8d639aee6a0057439ea08e87823fd5987c50cb","ref":"refs/heads/master","pushedAt":"2024-08-27T20:30:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"feat(misc): return timezone aware datetime objects (#2246)\n\n* feat(http_date_to_dt): return timezone-aware datetime objects\r\n\r\nlet http_date_to_dt validate timezone information from the\r\nprovided http-date and return timezone aware datetime objects\r\nremove tests for timezone naive variants\r\namend tests\r\n\r\nBreaks any application relying on naiveness of datetimes or\r\ninterpretation in local time. Closes https://github.com/falconry/falcon/issues/2182\r\n\r\n* style(misc): Add ValueError to doscstring\r\n\r\n* test(misc): Add test for violating timezone\r\n\r\n* refactor(tests): Use already defined _utcnow function\r\n\r\n* test: update cookie test\r\n\r\n* test: remove duplicated import\r\n\r\n* chore: fix botched master merge [`test_cookies.py`]","shortMessageHtmlLink":"feat(misc): return timezone aware datetime objects (#2246)"}},{"before":"a9f61413ae0254ea259ff24c2a370fce6b05f1d2","after":"321bda16d459d187c026caa6d7f1696daad12619","ref":"refs/heads/master","pushedAt":"2024-08-27T08:20:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vytas7","name":"Vytautas Liuolia","path":"/vytas7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3430939?s=80&v=4"},"commit":{"message":"chore: deprecate TimezoneGMT class (#2302)\n\n* chore: deprecate TimezoneGMT class\r\n\r\n* chore: address review comments","shortMessageHtmlLink":"chore: deprecate TimezoneGMT class (#2302)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNToxNDowNC4wMDAwMDBazwAAAAS8GpqX","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNToxNDowNC4wMDAwMDBazwAAAAS8GpqX","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yN1QwODoyMDoyMy4wMDAwMDBazwAAAASlGND_"}},"title":"Activity · falconry/falcon"}