)]}'
{
  "log": [
    {
      "commit": "5aa76a4450c311d87eda43946ec0ecd743572649",
      "tree": "246b801996a7b9ea1c2e603f38a87550e188d103",
      "parents": [
        "f616f732c6c5f87a8f7a762176422baed250a6be"
      ],
      "author": {
        "name": "James Beith",
        "email": "james@beith.co.uk",
        "time": "Sat Aug 01 12:40:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 12:40:48 2026"
      },
      "message": "Add `ne` validator (#1571)\n\n* Fix inconsistent formatting for Args and Raises docstrings\n\n* Add `ne` validator\n\nThis change adds a validator that raises `ValueError` if the\ninitializer is called with a number equal to *val*.\n\nAn example use case. I want a field that is a signed `int` of any\nvalue except for zero. I could do the following.\n\n```python\nattrs.field(\n    validator\u003dattrs.validators.or_(\n        attrs.validators.le(-1),\n        attrs.validators.ge(1),\n    )\n)\n```\n\nWith this proposed `ne` validator I could do.\n\n```python\nattrs.field(validator\u003dattrs.validators.ne(0))\n```\n\n* Fix news fragments\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "f616f732c6c5f87a8f7a762176422baed250a6be",
      "tree": "010739097df4dd74dfe1dd2bb51973daa3cf9b7e",
      "parents": [
        "4b5b295bb815bf845fa3570bf63781a88212db40"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 12:12:11 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 12:12:11 2026"
      },
      "message": "docs: be more general\n"
    },
    {
      "commit": "4b5b295bb815bf845fa3570bf63781a88212db40",
      "tree": "457329a9aaa93c5ae096a444ab6d7178610c1e3f",
      "parents": [
        "d3a98cf05ab15769003dcca3eae91cdd6504b83b"
      ],
      "author": {
        "name": "Vladyslav Fedoriuk",
        "email": "vlad.fedoriuk2000@gmail.com",
        "time": "Sat Aug 01 12:07:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 12:07:54 2026"
      },
      "message": "Make on_setattr hooks accept generators (#1592)\n\n* Make on_setattr hooks accept generators\n\n* Adjust documentation of public APIs using on_setattr\n\n* Create a changelog file\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Update changelog.d/1592.change.md\n\nCo-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) \u003cwk.cvs.github@sydorenko.org.ua\u003e\n\n* Fix version added comments\n\n* Remove the changelog Sphinx cross-reference\n\n* Optimize: only check corouting when generating method\n\n* docs\n\n* Tighten generator contract\n\n* Polish docstrings\n\n* Add type hints\n\n* Add example\n\n* Rephrase\n\n* fix math\n\n* be more explicit\n\n* align\n\n* Add missing lazy import\n\n* Make inspect import lazy\n\n* Create a lazy/caching generator detector\n\n* Make generator detection lazy\n\n* Use in setters too\n\n* Don\u0027t check pipe hooks for generators\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) \u003cwk.cvs.github@sydorenko.org.ua\u003e\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "d3a98cf05ab15769003dcca3eae91cdd6504b83b",
      "tree": "9b9d8e209da0bdf1b9f6fdc707cfd1ced703e271",
      "parents": [
        "79fb1645a17118666144ead131a88fdc8d8cd59f"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 12:06:29 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 12:06:34 2026"
      },
      "message": "Fix docstring\n"
    },
    {
      "commit": "79fb1645a17118666144ead131a88fdc8d8cd59f",
      "tree": "f0a69c472707a48262e6ba89268cfebc837b061c",
      "parents": [
        "446b8bf6fcb226d843d9e37b6591f3ace35701fd"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 10:01:30 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 10:01:30 2026"
      },
      "message": "dev: add LSP-friendly config for ty\n"
    },
    {
      "commit": "446b8bf6fcb226d843d9e37b6591f3ace35701fd",
      "tree": "a7148a83efce24c4665e6154a4684e470d2d14b3",
      "parents": [
        "676b43aef91374bbd10910993b8120b0a4adbfe0"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:29:03 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:29:03 2026"
      },
      "message": "docs: CTA\n"
    },
    {
      "commit": "676b43aef91374bbd10910993b8120b0a4adbfe0",
      "tree": "daf52134ee28281fad7b3264a3bd08b5030421d5",
      "parents": [
        "557d997e8add985590403d9a2957027094b0013b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:23:13 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:23:26 2026"
      },
      "message": "docs: don\u0027t even tell people about legacy types\n"
    },
    {
      "commit": "557d997e8add985590403d9a2957027094b0013b",
      "tree": "fc2635169f22e222657ebd696acfc5ac790fe32c",
      "parents": [
        "82b3073c282ba4d06d3c1f8c847b97ba0f3da644"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:20:52 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:23:26 2026"
      },
      "message": "docs: order by integration quality\n"
    },
    {
      "commit": "82b3073c282ba4d06d3c1f8c847b97ba0f3da644",
      "tree": "5a45170acbf415f241db8b793df82708199d3665",
      "parents": [
        "27e741360a60f7be64f665934ba2b0d1b5f21d13"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:19:17 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:23:19 2026"
      },
      "message": "docs: better section title\n"
    },
    {
      "commit": "27e741360a60f7be64f665934ba2b0d1b5f21d13",
      "tree": "98b32a3bf44e5f1acf0273722f2538df69395bbe",
      "parents": [
        "c5baf90dbc3fdb23628ad59e92986c01bae57f4f"
      ],
      "author": {
        "name": "Shobhit Mehrotra",
        "email": "131730833+shobhitmehro@users.noreply.github.com",
        "time": "Sat Aug 01 09:09:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 09:09:58 2026"
      },
      "message": "Revise Pyrefly overview in types.md (#1594)\n\n* Revise Pyrefly overview in types.md\n\nUpdated Pyrefly description to reflect enhanced attrs support.\n\n* Refine Pyrefly description in types.md\n\nImproved clarity and formatting of the Pyrefly description.\n\n* Apply style\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "c5baf90dbc3fdb23628ad59e92986c01bae57f4f",
      "tree": "352422eb714f6d49c4840ef0a43e57c7cf83393b",
      "parents": [
        "97f8d175656bc03c373a1c9038048a4d312c307c"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 01 09:07:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 09:07:03 2026"
      },
      "message": "Add typing examples for Pyrefly\u0027s new attrs support (#1588)\n\n* Add typing examples for Pyrefly\u0027s new attrs support\n\n* Add another (currently failing) example\n\n* update\n\n* move comment\n\n* Update to latest pyrefly\n\n* Pyrefly 1.2.0 final is out"
    },
    {
      "commit": "97f8d175656bc03c373a1c9038048a4d312c307c",
      "tree": "41a9fbec24967c1fffde9fa31f717c78524ac320",
      "parents": [
        "6851ab593cd25f3c14393e9355d57d22bec2a074"
      ],
      "author": {
        "name": "Wan Xiankai",
        "email": "xiankai.wan@gmail.com",
        "time": "Fri Jul 31 13:28:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 13:28:06 2026"
      },
      "message": "Fix ClassVar forward reference detection (#1593)\n\nfix: detect ClassVar forward refs\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "6851ab593cd25f3c14393e9355d57d22bec2a074",
      "tree": "8c314ef00e921fac02d8d4194b2685efe48dbc5a",
      "parents": [
        "ca0f04585d3fb132c6e2f6baa9d7d966d8036760"
      ],
      "author": {
        "name": "Kevin Turcios",
        "email": "106575910+KRRT7@users.noreply.github.com",
        "time": "Fri Jul 31 09:41:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 09:41:48 2026"
      },
      "message": "Defer imports on the cold import path (#1600)\n\n* Defer imports and preserve module introspection\n\n* Reduce cold import overhead\n\n* Make more use-centric\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "ca0f04585d3fb132c6e2f6baa9d7d966d8036760",
      "tree": "455cfb7b69b152c502f9e4c738a9e38f7da099c6",
      "parents": [
        "c27ba27258b314e8a03506a7677d47a699130b8f"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:52:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 08:52:25 2026"
      },
      "message": "Codespeed macro integration (#1601)\n\nFlip runners"
    },
    {
      "commit": "c27ba27258b314e8a03506a7677d47a699130b8f",
      "tree": "ecd7ef3b58980705d113a4a718e9c0130b8ac76d",
      "parents": [
        "3f0e0fd83d632c6186ec2347003d2e3701737507"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:31:20 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:31:20 2026"
      },
      "message": "Reading comprehension would help\n"
    },
    {
      "commit": "3f0e0fd83d632c6186ec2347003d2e3701737507",
      "tree": "2c21229f95d92ecdfa501d5f541ff4be6b1296e4",
      "parents": [
        "c54fa8b6a0f6a22a77e009dc33c9a8803d7c0c3f"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:29:39 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:29:39 2026"
      },
      "message": "Remove zenodo badge\n"
    },
    {
      "commit": "c54fa8b6a0f6a22a77e009dc33c9a8803d7c0c3f",
      "tree": "7b3b533576160b83466c390deba854fb548a2708",
      "parents": [
        "0b9de0622a6f6b0a3c0264a46eb24f1288e2f2ec"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:27:41 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:27:41 2026"
      },
      "message": "Use codspeed macro\n"
    },
    {
      "commit": "0b9de0622a6f6b0a3c0264a46eb24f1288e2f2ec",
      "tree": "f03d75781eb5f328362c9871ca33f3f98c9a9730",
      "parents": [
        "b56f28cc4bc4bbc59b6b367360ba46be2c40c315"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:05:10 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 08:05:10 2026"
      },
      "message": "Switch import benchmarks to walltime\n\ncodspeed is complaining\n"
    },
    {
      "commit": "b56f28cc4bc4bbc59b6b367360ba46be2c40c315",
      "tree": "534da13a127fa7c4b5e8bb74d2fa540debaace78",
      "parents": [
        "92e12eae712ef88c1a7e322cc51b7cd9e271aa3c"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jul 31 05:26:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 05:26:56 2026"
      },
      "message": "Add codspeed import time benchmarks (#1599)"
    },
    {
      "commit": "92e12eae712ef88c1a7e322cc51b7cd9e271aa3c",
      "tree": "8798df44d4abf35c6001b682477466385df1178f",
      "parents": [
        "4c438e0f92dc9a43480c10d9ecdab241bbede12a"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jul 30 11:22:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 11:22:34 2026"
      },
      "message": "Update dev \u0026 drop pre-commit.ci (#1597)\n\n* update dev\n\n* Double-locking Ruff is a PITA\n\n#tinWasRight\n\n* Move interrogate too\n\n* update docs"
    },
    {
      "commit": "4c438e0f92dc9a43480c10d9ecdab241bbede12a",
      "tree": "50d38e64f2d2098493c985d5c071f2ecee0496a8",
      "parents": [
        "f06ceaafbe5bdbdafad8a0c01a2daabb89386a42"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jul 30 09:05:52 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jul 30 09:05:52 2026"
      },
      "message": "update sponsors\n"
    },
    {
      "commit": "f06ceaafbe5bdbdafad8a0c01a2daabb89386a42",
      "tree": "c52b06758d0aca2574bf86bf59439845c8f5b133",
      "parents": [
        "358dec2c61e0213dd454a3240664cfb9924f3b56"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Jul 21 11:00:44 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Jul 21 11:00:44 2026"
      },
      "message": "docs: update why\n"
    },
    {
      "commit": "358dec2c61e0213dd454a3240664cfb9924f3b56",
      "tree": "bbcda46d0c8d4ea2fa576d0a00ac8c0ccff98cf6",
      "parents": [
        "0537788bacc6110ccabd235616e95ec4f72fa484"
      ],
      "author": {
        "name": "Mark Smith",
        "email": "judy@judy.co.uk",
        "time": "Sat Jul 18 12:10:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 12:10:54 2026"
      },
      "message": "Minor changes to the \"Why not…\" doc. (#1591)\n\n* Some idiom changes and breaking up some clauses to improve clarity.\n\n* Extensibility."
    },
    {
      "commit": "0537788bacc6110ccabd235616e95ec4f72fa484",
      "tree": "abfcfcc980ee3d3e517e1f9cf5e70409bdf2df85",
      "parents": [
        "d544dd2dacb4cbd660891e323ad92751ba65b4e0"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Jul 18 12:04:50 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Jul 18 12:04:50 2026"
      },
      "message": "Fix type and add rationale\n\nfixes #1540\ncloses #1590\n"
    },
    {
      "commit": "d544dd2dacb4cbd660891e323ad92751ba65b4e0",
      "tree": "96e98bee66e3c4b0b0362e6f4b0b39afda018737",
      "parents": [
        "45de9beb093d2142517ab7d1ebda6522e3d3c4ac"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Jul 11 14:51:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:51:44 2026"
      },
      "message": "update dev (#1589)"
    },
    {
      "commit": "45de9beb093d2142517ab7d1ebda6522e3d3c4ac",
      "tree": "045bcfe80f5c364bfe7517fbbab9f4292ceca293",
      "parents": [
        "ae37edd71a691b8ca797a0a53d0248543abfe12b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Jul 05 08:07:31 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Jul 05 08:07:31 2026"
      },
      "message": "docs: move collect_by_mro to attr.s docstring\n"
    },
    {
      "commit": "ae37edd71a691b8ca797a0a53d0248543abfe12b",
      "tree": "986bcfe39ec563b8e6e656e5b1863adb0b4f20ce",
      "parents": [
        "b2fedf9a04238749db1ee416bd066a3c2b40b7fd"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jul 02 12:06:26 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jul 02 12:06:29 2026"
      },
      "message": "Fix AI link\n"
    },
    {
      "commit": "b2fedf9a04238749db1ee416bd066a3c2b40b7fd",
      "tree": "0a83197a8702f0be7e0540834915eeea3049cfb3",
      "parents": [
        "005e2fbe1a93a958946ba04aad0d8cf6e6d17d6a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 01 10:02:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 10:02:09 2026"
      },
      "message": "Bump the github-actions group with 3 updates (#1578)\n\nBumps the github-actions group with 3 updates: [actions/setup-python](https://github.com/actions/setup-python), [CodSpeedHQ/action](https://github.com/codspeedhq/action) and [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).\n\n\nUpdates `actions/setup-python` from 6.2.0 to 6.3.0\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/a309ff8b426b58ec0e2a45f0f869d46889d02405...ece7cb06caefa5fff74198d8649806c4678c61a1)\n\nUpdates `CodSpeedHQ/action` from 4.17.6 to 4.18.1\n- [Release notes](https://github.com/codspeedhq/action/releases)\n- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codspeedhq/action/compare/63f3e98b61959fe67f146a3ff022e4136fe9bb9c...a4a36bb07c0638b0b4ca52bf1f3dad1b4289e52f)\n\nUpdates `zizmorcore/zizmor-action` from 0.5.6 to 0.5.7\n- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)\n- [Commits](https://github.com/zizmorcore/zizmor-action/compare/5f14fd08f7cf1cb1609c1e344975f152c7ee938d...192e21d79ab29983730a13d1382995c2307fbcaa)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 6.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: CodSpeedHQ/action\n  dependency-version: 4.18.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: zizmorcore/zizmor-action\n  dependency-version: 0.5.7\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "005e2fbe1a93a958946ba04aad0d8cf6e6d17d6a",
      "tree": "f37ed494172261a151904e8cb3302c0abdaf7e5a",
      "parents": [
        "0b20bd1def24f42feffc493e220fe5b91578120a"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jun 19 11:21:08 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jun 19 11:21:08 2026"
      },
      "message": "update dev\n"
    },
    {
      "commit": "0b20bd1def24f42feffc493e220fe5b91578120a",
      "tree": "97aafdd67c402390384be379544bfb5d98ae0b9c",
      "parents": [
        "89fae8300f484544c1b7678cea5efe58c551fbb9"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jun 19 11:20:21 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Fri Jun 19 11:20:21 2026"
      },
      "message": "docs: in this house we use endashes\n"
    },
    {
      "commit": "89fae8300f484544c1b7678cea5efe58c551fbb9",
      "tree": "b28cc1136b7b9254681293c05cfd9566c4a3bbcf",
      "parents": [
        "d2fbfccc1ce77dcc927a86eae9521c95dc4e289c"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Jun 06 07:07:27 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Jun 06 07:07:31 2026"
      },
      "message": "Apply 1 week of cooldown for dev deps\n"
    },
    {
      "commit": "d2fbfccc1ce77dcc927a86eae9521c95dc4e289c",
      "tree": "920e8dc915d4075029b90dcf50c329dfc182ecae",
      "parents": [
        "48ea7a120c841912195146a27223840612b2e861"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Jun 02 06:54:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 06:54:56 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#1570)\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.14 → v0.15.15](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.14...v0.15.15)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "48ea7a120c841912195146a27223840612b2e861",
      "tree": "ae2c8223dce8b82ae703d2d8f24e9cf2a4edb9cd",
      "parents": [
        "24ce123bf0076d90391ee3b40c467927d604d558"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu May 28 16:42:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 16:42:26 2026"
      },
      "message": "dev: run Mypy on 3.15, too (#1568)\n\n🫡 @Julian"
    },
    {
      "commit": "24ce123bf0076d90391ee3b40c467927d604d558",
      "tree": "54d701f2d821f64006c2399d225b28334ce10308",
      "parents": [
        "512bd6d4d7e238a017673cd6b1e087d5544f1711"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu May 28 08:35:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 08:35:58 2026"
      },
      "message": "Add 3.15 (#1564)\n\n* Add 3.15\n\n* Add news fragment\n\n* ci: exclude 3.15 from Mypy"
    },
    {
      "commit": "512bd6d4d7e238a017673cd6b1e087d5544f1711",
      "tree": "7189e5f0758be44f48b21680eccc82f5add4612a",
      "parents": [
        "3823062f1296242fe1ac620834540ffae4eba488"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu May 28 08:19:14 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu May 28 08:19:14 2026"
      },
      "message": "update dev\n"
    },
    {
      "commit": "3823062f1296242fe1ac620834540ffae4eba488",
      "tree": "24cc3bec59e91eabdca1a90b5ba59fc0ea4c58cc",
      "parents": [
        "69a9729a6879b37cee4930c85017da5dbc5fb6dd"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu May 07 09:59:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 09:59:07 2026"
      },
      "message": "update dev -- notably mypy 2.0 (#1553)"
    },
    {
      "commit": "69a9729a6879b37cee4930c85017da5dbc5fb6dd",
      "tree": "12a0289fd285a0ed4f42d5fbcafd9d2e84060ce4",
      "parents": [
        "87b7b4ae050cd75469c5d834172bce5299fa300b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat May 02 09:04:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 09:04:12 2026"
      },
      "message": "update dev (#1552)"
    },
    {
      "commit": "87b7b4ae050cd75469c5d834172bce5299fa300b",
      "tree": "9ad2a614674eadf298a7396bc10afc8fc778efaa",
      "parents": [
        "0f758fe54a8742110f730ebbaf146e79f3937c8d"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Apr 29 06:08:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 06:08:12 2026"
      },
      "message": "docs: build on 3.14 (#1550)\n\n* docs: build on 3.14 and rely on presence of uv\n\n* Add sphinx config\n\n* There\u0027s no uv :(\n\n* What is even happening"
    },
    {
      "commit": "0f758fe54a8742110f730ebbaf146e79f3937c8d",
      "tree": "65a7bd51c0cd75dff4743b163710868facf7ccd5",
      "parents": [
        "57b314c0dc8e0b80c0ed8f61c0be81965137ea41"
      ],
      "author": {
        "name": "Cristian Le",
        "email": "github@lecris.me",
        "time": "Thu Apr 16 20:20:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 20:20:58 2026"
      },
      "message": "Expose converter as a decorator (#1541)\n\n* Expose converter as a decorator\n\n* Update docs/init.md\n\n* Update docs/init.md\n\n* Update src/attr/_make.py\n\n* Update src/attr/_make.py\n\n* Update src/attr/_make.py\n\n* Add missing import\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "57b314c0dc8e0b80c0ed8f61c0be81965137ea41",
      "tree": "dd95d51d876800d318386898e673511aa1567917",
      "parents": [
        "eca2ff52a9412feeafed50db1c4ed85a68a04ad7"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Apr 14 05:37:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 05:37:23 2026"
      },
      "message": "Work around flaking mypy test (#1546)\n\nSeems like Pytest 9\u0027s new caching is confusing it."
    },
    {
      "commit": "eca2ff52a9412feeafed50db1c4ed85a68a04ad7",
      "tree": "49de0a42c59810dec8a7131427dc231043d8b5c6",
      "parents": [
        "834136e8f137d4dcc42b3c01f646a38df860ecd4"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Apr 14 05:28:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 05:28:06 2026"
      },
      "message": "update dev (#1545)"
    },
    {
      "commit": "834136e8f137d4dcc42b3c01f646a38df860ecd4",
      "tree": "dc1200ff68f614f09909e90c35a6b4fd957681af",
      "parents": [
        "f0e420b71af1a5cd5dbf43efd1a42aece6ce8f4e"
      ],
      "author": {
        "name": "Cristian Le",
        "email": "github@lecris.me",
        "time": "Mon Apr 13 16:51:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 16:51:16 2026"
      },
      "message": "Update mypy to 1.20.1 (#1542)\n\n* Update mypy to 1.20.1\n\n* Adjust tests for the new mypy"
    },
    {
      "commit": "f0e420b71af1a5cd5dbf43efd1a42aece6ce8f4e",
      "tree": "fe78294828f687095a55f800dfee17a140121d5e",
      "parents": [
        "20734d9cc6e4673c40e4a33bfa2bfaef946533d8"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Apr 07 05:30:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 05:30:48 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#1538)\n\n* [pre-commit.ci] pre-commit autoupdate\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.8 → v0.15.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.8...v0.15.9)\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "20734d9cc6e4673c40e4a33bfa2bfaef946533d8",
      "tree": "1d1d24debce818196853a652fc549fe5ecfd3e48",
      "parents": [
        "9c2b7ed54b134dc1c3f0995fcb71131ebdd1450e"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 30 18:18:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 18:18:34 2026"
      },
      "message": "Update dev (#1537)"
    },
    {
      "commit": "9c2b7ed54b134dc1c3f0995fcb71131ebdd1450e",
      "tree": "4b9cac997776c8617039db66a872252d93c50c02",
      "parents": [
        "0cb5cd692b09e1e95993f7f3389b8664e53b1648"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 30 17:09:52 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 30 17:09:52 2026"
      },
      "message": "Add Klaviyo\n"
    },
    {
      "commit": "0cb5cd692b09e1e95993f7f3389b8664e53b1648",
      "tree": "a35d86b1ed1199b4b83952184823f6092bae0a88",
      "parents": [
        "4885c5b1af4e9fa4d97b6bffa2fb78a2efa5f047"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 29 06:31:00 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 29 06:31:00 2026"
      },
      "message": "Consistent endashes\n"
    },
    {
      "commit": "4885c5b1af4e9fa4d97b6bffa2fb78a2efa5f047",
      "tree": "c7934cabd94da2f552c806f8c1d11105cb227939",
      "parents": [
        "25b74d6a4274d938b1ef15a4df658ad5d2c92310"
      ],
      "author": {
        "name": "Carlton Gibson",
        "email": "carlton.gibson@noumenal.es",
        "time": "Fri Mar 27 10:14:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 10:14:01 2026"
      },
      "message": "docs: use modern field API in \u0027boilerplate\u0027 section. (#1535)\n\n* docs: use modern field API in \u0027boilerplate\u0027 section.\n\n* Adjust for review comment\n\n* Tweak to second sentence.\n\n* Apply suggestion from @hynek\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "25b74d6a4274d938b1ef15a4df658ad5d2c92310",
      "tree": "a246205900dd25910dadc02ed00642f5b278695b",
      "parents": [
        "caae397b596cab0e58b23eb83de3894581033e1e"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Aug 03 14:44:20 2024"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Mar 19 15:07:30 2026"
      },
      "message": "Actually start new development cycle\n"
    },
    {
      "commit": "caae397b596cab0e58b23eb83de3894581033e1e",
      "tree": "f9ddc6cb8c5fbb73b493414776231565835acbae",
      "parents": [
        "7bfc49e9b22d5ba25b6e429524c3d49fee27cb36"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Mar 19 14:15:18 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Mar 19 14:15:18 2026"
      },
      "message": "Start new development cycle\n"
    },
    {
      "commit": "7bfc49e9b22d5ba25b6e429524c3d49fee27cb36",
      "tree": "31beb3550ee7198eba22b862471ad6ea7bfb16d2",
      "parents": [
        "31e02869da10824b492c378c1dc87ccc720ee5ad"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Mar 19 14:06:02 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Mar 19 14:06:02 2026"
      },
      "message": "Prepare 26.1.0\n"
    },
    {
      "commit": "31e02869da10824b492c378c1dc87ccc720ee5ad",
      "tree": "611945be1b4b6f815d56b9d795aaef22a8278a4e",
      "parents": [
        "48b8611c27779811d161200e17de8da24aae7feb"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Wed Mar 18 13:58:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 13:58:41 2026"
      },
      "message": "Update test_validators.py for Python 3.15a7 (#1530)\n\nmatches_re() error message changed in Python 3.15 alpha 7 with the\nintroduction of re.prefixmatch()."
    },
    {
      "commit": "48b8611c27779811d161200e17de8da24aae7feb",
      "tree": "c0b4e0b321bc8ca48ce60d993aea211bbfcc2be1",
      "parents": [
        "3a68d4913221abc6f8ad3be50937f7ae49300a98"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 17:51:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 17:51:51 2026"
      },
      "message": "Add instance support to attrs.fields() (#1529)\n\n* Add instance support to attrs.fields()\n\nfixes #1400\n\n* fix pr#"
    },
    {
      "commit": "3a68d4913221abc6f8ad3be50937f7ae49300a98",
      "tree": "144284c38ef374563cec0b322319518f48795f26",
      "parents": [
        "a572c3a4c558a8b9b48cf989fcd956ab1a279439"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 14:51:25 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 14:51:58 2026"
      },
      "message": "dev: document missing git tags failure mode\n\nfixes #1490\n\nCo-authored-by: Aniruddha Saha \u003c9413090+ani0075saha@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "a572c3a4c558a8b9b48cf989fcd956ab1a279439",
      "tree": "5e7e7a30ec2862862cf3ef4f327b92b368b2a4c5",
      "parents": [
        "af9c510912ce604a94896cc35c27368d5baf6ae6"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 14:33:41 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 14:33:41 2026"
      },
      "message": "Allow field(on_setattr\u003dNO_OP) on frozen classes\n"
    },
    {
      "commit": "af9c510912ce604a94896cc35c27368d5baf6ae6",
      "tree": "cfba3915721207fe51a2debd9078d243b89f555d",
      "parents": [
        "ab7f8b2f4c0f747d5b1575247ce35e5adaad182e"
      ],
      "author": {
        "name": "Kadir Can Ozden",
        "email": "101993364+bysiber@users.noreply.github.com",
        "time": "Sat Mar 14 14:23:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 14:23:53 2026"
      },
      "message": "Fix validators.disabled() to save/restore state on nesting (#1513)\n\n* Fix validators.disabled() to save/restore previous state on nesting\n\n* Add news fragment\n\n* Add test\n\n* Add versionchanged tag\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "ab7f8b2f4c0f747d5b1575247ce35e5adaad182e",
      "tree": "92d3bb9ff395948eca3ef4b4e30084ff084e814e",
      "parents": [
        "ce89f5d11feb0805da9ed10bb165238cc959f1bb"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 13:18:05 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 13:18:05 2026"
      },
      "message": "update dev\n"
    },
    {
      "commit": "ce89f5d11feb0805da9ed10bb165238cc959f1bb",
      "tree": "7fda7cabe8e5f7d36b7715a16013f9f2a2b16301",
      "parents": [
        "eccd966d80aff5196efc959316961cfa780439f9"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 13:14:10 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 13:14:10 2026"
      },
      "message": "Fix message passing in frozen errors\n\nFollow common exception workflows instead of working around it.\n\nfixes #1514\n"
    },
    {
      "commit": "eccd966d80aff5196efc959316961cfa780439f9",
      "tree": "5dc47922cb282f9be2214b2c381ab93bb5de7e00",
      "parents": [
        "e92fe52dfe1eb07167e6473724c5a8ada978add0"
      ],
      "author": {
        "name": "Finite State Machine",
        "email": "38001514+finite-state-machine@users.noreply.github.com",
        "time": "Sat Mar 14 13:04:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 13:04:04 2026"
      },
      "message": "Fix `optional` validator to accept tuples of len \u003e 1 (#1496)\n\n* Fix `optional` validator to accept tuples of len \u003e 1\n\n* Add changelog\n\n* Add `optional` validator over 2-tuple test case to `baseline.py`\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Work around `ty` false positive `invalid-argument-type`\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Revert \"fixes\" from pre-commit.com hooks [skip pre-commit.ci]\n\nThis reverts commit 5b413827365559bac9cb7b72e0b75a0ce4328772.\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Silence ty\n\nref https://github.com/astral-sh/ty/issues/3016\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "e92fe52dfe1eb07167e6473724c5a8ada978add0",
      "tree": "a7b6ddfecce709187f91a9340ce6bb15e9277a5b",
      "parents": [
        "928465a09c508916a7ceb4655a9312accdcc5092"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Mar 14 11:58:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 11:58:50 2026"
      },
      "message": "policies: tighten screws (#1528)"
    },
    {
      "commit": "928465a09c508916a7ceb4655a9312accdcc5092",
      "tree": "b105653c119b9d1805710e92de3522abf4125357",
      "parents": [
        "058d7324938085c7a7c09537c92d3980d68c643b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 18:42:57 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 18:42:57 2026"
      },
      "message": "docs: further refinement"
    },
    {
      "commit": "058d7324938085c7a7c09537c92d3980d68c643b",
      "tree": "e21bcafd4a129946c1aaf6900f2c2335b3ec7cd2",
      "parents": [
        "65964fc4acf0b03e8578464af04b3342a835303c"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 18:34:41 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 18:34:41 2026"
      },
      "message": "docs: refine"
    },
    {
      "commit": "65964fc4acf0b03e8578464af04b3342a835303c",
      "tree": "656d5ec9613bd6682ac5d82735f0ae5a565a88dc",
      "parents": [
        "21a1028e2ff0566bc2a77d9c3f0741f02119ad26"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 13:27:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 08 13:27:32 2026"
      },
      "message": "docs: overhaul types (#1526)\n\n* docs: overhaul types\n\n* typo\n\n* polish\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Fix link syntax\n\n* Mention VS Code more prominently\n\n* Pyright, ty, and Pyrefly handle frozen\n\n```\nimport attrs\n\n@attrs.frozen\nclass C:\n    x: int\n\ni \u003d C(42)\ni.x \u003d 23\n```\n\n/Users/hynek/FOSS/attrs/t.py\n  /Users/hynek/FOSS/attrs/t.py:9:3 - error: Cannot assign to attribute\n\"x\" for class \"C\"\n    Attribute \"x\" is read-only (reportAttributeAccessIssue)\n1 error, 0 warnings, 0 informations\n\n* improvements\n\n* wordsmith\n\n* mention runtime\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "21a1028e2ff0566bc2a77d9c3f0741f02119ad26",
      "tree": "c5b9ab96e0e5e3bb4db6bbd84cfea8a624807b54",
      "parents": [
        "862696afb52fb7c0d47d45e05ec4feb844c11001"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Mar 08 09:54:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 08 09:54:58 2026"
      },
      "message": "Fix codspeed warning (#1527)"
    },
    {
      "commit": "862696afb52fb7c0d47d45e05ec4feb844c11001",
      "tree": "90a02e10eecf2038fb8340c7f7fa63685a2047bf",
      "parents": [
        "f3bcc37c3d2dc3199715f825a86b748c3b3805f9"
      ],
      "author": {
        "name": "Varun Chawla",
        "email": "34209028+veeceey@users.noreply.github.com",
        "time": "Sat Mar 07 09:20:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 09:20:01 2026"
      },
      "message": "Resolve field aliases before calling field_transformer (#1509)\n\n* Resolve field aliases before calling field_transformer\n\nPreviously, field_transformer received attributes with alias\u003dNone for\nfields without an explicit alias. The default alias (e.g., stripping\nleading underscores) was only resolved after the transformer ran, making\nit impossible for transformers to access or use alias values.\n\nThis moves alias resolution to before the field_transformer call, so\ntransformers receive fully populated Attribute objects. A second pass\nafter the transformer handles any new fields the transformer may have\nadded.\n\nAdditionally, Attribute.evolve() now automatically updates the alias\nwhen the name changes, if the alias was auto-generated (matching the\ndefault for the old name). Explicit aliases are preserved.\n\nFixes #1479\n\n* Fix CI failures: update doctest, add changelog, fix coverage\n\n- Update extending.md doctest to reflect that field_transformer now\n  receives pre-resolved aliases (use alias \u003d\u003d name.lstrip(\"_\") instead\n  of `not field.alias` to detect auto-generated aliases)\n- Add changelog entry for #1479\n- Add test_hook_new_field_without_alias to cover the post-transformer\n  alias resolution path (line 496 of _make.py)\n\n* Fix pre-commit\n\n* Change is neat but breaking\n\nPoint change at PR, not bug.\n\n* Handle default alias detection explicitly\n\n* Fix docs build\n\n* We actually load 25.3-style\n\n---------\n\nCo-authored-by: Hynek Schlawack \u003chs@ox.cx\u003e"
    },
    {
      "commit": "f3bcc37c3d2dc3199715f825a86b748c3b3805f9",
      "tree": "37a5c702fd158c4d65f1341c54a14e37162a7229",
      "parents": [
        "2173fc7049f7ea938b754e2563959d3c902dfaf4"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Mar 04 05:39:43 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Mar 04 05:39:43 2026"
      },
      "message": "docs: use public link in AI policy\n"
    },
    {
      "commit": "2173fc7049f7ea938b754e2563959d3c902dfaf4",
      "tree": "1a180b434371f5dd56d568c6dc4f2840feb3a5e4",
      "parents": [
        "390efdc41fcac3f6a51c9ed5bb2078c1f820d82f"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 02 20:49:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 20:49:57 2026"
      },
      "message": "update dev (#1522)\n\n"
    },
    {
      "commit": "390efdc41fcac3f6a51c9ed5bb2078c1f820d82f",
      "tree": "1ea19e018ce332138ba6cb8ac1292abb0be89950",
      "parents": [
        "853d78e34de57aa2ecedd933c1b83ee0781b88af"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Mar 02 20:37:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 20:37:27 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#1523)\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.0 → v0.15.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.0...v0.15.4)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "853d78e34de57aa2ecedd933c1b83ee0781b88af",
      "tree": "5c67bac008bd55b272c7a8fcb61d766276e56a78",
      "parents": [
        "46354916414ae32050818fa5e7532f5fa72278db"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 02 15:08:56 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Mar 02 15:08:56 2026"
      },
      "message": "Build docs locally to prevent unnecessary CI breakage\n"
    },
    {
      "commit": "46354916414ae32050818fa5e7532f5fa72278db",
      "tree": "3002d88125e676e706df26ec98c62ae55fe0bde1",
      "parents": [
        "384267d742ab817af7393e08fc72789eedc46dcf"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Feb 23 09:06:21 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Feb 23 09:06:21 2026"
      },
      "message": "Link prominently\n"
    },
    {
      "commit": "384267d742ab817af7393e08fc72789eedc46dcf",
      "tree": "3e08aa8aa5d146550105b448ff54598df525fd32",
      "parents": [
        "6468b669abd8c5f00bf7866e7deb311f99800a8b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Feb 22 11:51:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 22 11:51:53 2026"
      },
      "message": "docs: typo"
    },
    {
      "commit": "6468b669abd8c5f00bf7866e7deb311f99800a8b",
      "tree": "7034ad96772740563fd04d5334784c004a788ec2",
      "parents": [
        "97432db1abbd8d58f1b9712efc6580b7f613f625"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Feb 22 07:10:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 22 07:10:14 2026"
      },
      "message": "Update pull request template"
    },
    {
      "commit": "97432db1abbd8d58f1b9712efc6580b7f613f625",
      "tree": "d12114245f93d853f10e026fc779e4520adfa397",
      "parents": [
        "fb9ea679f92ae5c911a3fce644fff763da2ca02b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Feb 21 19:03:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 21 19:03:56 2026"
      },
      "message": "Add explicit AI policy (#1518)\n\n* Add explicit AI policy\n\n* Phrasing\n\n* Don\u0027t mix smart and dumb interpunction\n\n* Keep the crabs out"
    },
    {
      "commit": "fb9ea679f92ae5c911a3fce644fff763da2ca02b",
      "tree": "da6ad38251b22ea1c553eb4bdd417102c016dfef",
      "parents": [
        "53e7a9c3d47ebe431e1c9ca18fda74902a189620"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Feb 10 17:59:26 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Feb 10 17:59:36 2026"
      },
      "message": "Actually update\n"
    },
    {
      "commit": "53e7a9c3d47ebe431e1c9ca18fda74902a189620",
      "tree": "6073fa489040dc7518764dc2e8aef13e8ac5d9d6",
      "parents": [
        "c44b8b0052ca3a4594219efa702129e1537d8966"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Feb 10 16:41:27 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Feb 10 16:41:27 2026"
      },
      "message": "sponsors: update URL\n"
    },
    {
      "commit": "c44b8b0052ca3a4594219efa702129e1537d8966",
      "tree": "9ad47202068c4c5a2cd50adf195d5e6ef2d0c3b0",
      "parents": [
        "e140354a11de334f14d5345b1ebbde4157e69def"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Feb 04 08:08:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 08:08:14 2026"
      },
      "message": "update dev (#1507)\n\n"
    },
    {
      "commit": "e140354a11de334f14d5345b1ebbde4157e69def",
      "tree": "e558d7fdc586de8498d37d4db25fcdc71213c888",
      "parents": [
        "587d15a000f3a889e1dbdd000087497e380f09b4"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 10:36:11 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 10:36:11 2026"
      },
      "message": "sponsors: pure-SVG logo\n"
    },
    {
      "commit": "587d15a000f3a889e1dbdd000087497e380f09b4",
      "tree": "44fd5fdac854eaf29cdece3bacad355fe17edac5",
      "parents": [
        "2d6da44be25395cdc96d71eee22fbe0c2d255448"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 06:10:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 22 06:10:51 2026"
      },
      "message": "update dev (#1502)\n\n"
    },
    {
      "commit": "2d6da44be25395cdc96d71eee22fbe0c2d255448",
      "tree": "173d680690c820663bd15e5ce868bfb262ad6681",
      "parents": [
        "175edec3d5d47604f5ca8a0ff83d22cad3888e0a"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 05:41:58 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 05:41:58 2026"
      },
      "message": "Case-insensitive FS strike again\n"
    },
    {
      "commit": "175edec3d5d47604f5ca8a0ff83d22cad3888e0a",
      "tree": "6c54c8f124d9a96e24fd40c0e2763fb750ffed65",
      "parents": [
        "28526a872ec882c69d5d30932c1a520ef2520309"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 05:39:18 2026"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Jan 22 05:39:18 2026"
      },
      "message": "sponsors: LambdaTest is now TestMu AI\n"
    },
    {
      "commit": "28526a872ec882c69d5d30932c1a520ef2520309",
      "tree": "5f634ecd87211b05a33c762ef8726cb0cae4b63c",
      "parents": [
        "c73e7c00ba834f084e5ef9fd05c7a0ee7a689c88"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Jan 05 15:53:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 15:53:36 2026"
      },
      "message": "Update dev (#1497)\n\n* Update dev\n\n* document min tox version"
    },
    {
      "commit": "c73e7c00ba834f084e5ef9fd05c7a0ee7a689c88",
      "tree": "9be9ccaf712d6bc5b8c6e7611eecdbcb71d367da",
      "parents": [
        "674c31266e7115c8dafb8a31e86f84fd0fe0c22a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jan 05 15:42:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 15:42:24 2026"
      },
      "message": "Bump the github-actions group with 4 updates (#1494)\n\nBumps the github-actions group with 4 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact), [actions/download-artifact](https://github.com/actions/download-artifact), [github/codeql-action](https://github.com/github/codeql-action) and [CodSpeedHQ/action](https://github.com/codspeedhq/action).\n\n\nUpdates `actions/upload-artifact` from 5.0.0 to 6.0.0\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/330a01c490aca151604b8cf639adc76d48f6c5d4...b7c566a772e6b6bfb58ed0dc250532a479d7789f)\n\nUpdates `actions/download-artifact` from 6.0.0 to 7.0.0\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/018cc2cf5baa6db3ef3c5f8a56943fffe632ef53...37930b1c2abaa49bbe596cd826c3c89aef350131)\n\nUpdates `github/codeql-action` from 4.31.7 to 4.31.9\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/cf1bb45a277cb3c205638b2cd5c984db1c46a412...5d4e8d1aca955e8d8589aabd499c5cae939e33c7)\n\nUpdates `CodSpeedHQ/action` from 4.4.1 to 4.5.1\n- [Release notes](https://github.com/codspeedhq/action/releases)\n- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codspeedhq/action/compare/346a2d8a8d9d38909abd0bc3d23f773110f076ad...972e3437949c89e1357ebd1a2dbc852fcbc57245)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifact\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: actions/download-artifact\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: github/codeql-action\n  dependency-version: 4.31.9\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: CodSpeedHQ/action\n  dependency-version: 4.5.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "674c31266e7115c8dafb8a31e86f84fd0fe0c22a",
      "tree": "35d29868d8b1212cbaff53d831ecce525ddff6df",
      "parents": [
        "460f019d105c34cbac8e737ce2eb8466448f0506"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Thu Dec 18 06:31:29 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 06:31:29 2025"
      },
      "message": "Use 3.14 in dev (#1492)\n\n"
    },
    {
      "commit": "460f019d105c34cbac8e737ce2eb8466448f0506",
      "tree": "7e0e6542332c3f929cf0edab74b918aed10ca933",
      "parents": [
        "5127e7ee47ea40f04d34cbe1186c78e93213b7fd"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Dec 17 13:12:13 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 13:12:13 2025"
      },
      "message": "update dev (#1491)\n\n"
    },
    {
      "commit": "5127e7ee47ea40f04d34cbe1186c78e93213b7fd",
      "tree": "d3b920e93df541ee2144306a2cea385a828bac43",
      "parents": [
        "3615c75ddfe669e8d07f99fda0b76a42606c4631"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 10:06:36 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 10:06:36 2025"
      },
      "message": "Fix DOI badge\n"
    },
    {
      "commit": "3615c75ddfe669e8d07f99fda0b76a42606c4631",
      "tree": "d3f9889a296b06d134c8f71a587b7208ed5cac26",
      "parents": [
        "573eeb0197e6f8536c8af04184a8276d72da46d8"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 08:38:11 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 08:38:11 2025"
      },
      "message": "Optimize sponsor svgs\n"
    },
    {
      "commit": "573eeb0197e6f8536c8af04184a8276d72da46d8",
      "tree": "273b2adfe2cabc1972e39a437155a5010b5278b3",
      "parents": [
        "87f0587468a2db0801d81e35886f0be936ea71ab"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 08:34:22 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 16 08:34:22 2025"
      },
      "message": "Add @kraken-tech to sponsors\n\n❤️\n"
    },
    {
      "commit": "87f0587468a2db0801d81e35886f0be936ea71ab",
      "tree": "6de3c99dcb14e6a4c1e3456078f0b58f18889423",
      "parents": [
        "850084d72864a7b387188d80fbbc109b3c663f9d"
      ],
      "author": {
        "name": "David C Ellis",
        "email": "ducksual@gmail.com",
        "time": "Mon Dec 08 16:21:20 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Dec 14 11:43:07 2025"
      },
      "message": "Add a benchmark for constructing classes with cached properties\n"
    },
    {
      "commit": "850084d72864a7b387188d80fbbc109b3c663f9d",
      "tree": "8dcaa34a3dcacfabfe472793cbc22f43381d0c1a",
      "parents": [
        "c0111e6aad3a70080b7191aa9c7eda459a25f3dc"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Mon Dec 08 11:59:02 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 11:59:02 2025"
      },
      "message": "Add benchmarks for cached properties on slotted classes (#1489)\n\nTo have some numbers for #1333."
    },
    {
      "commit": "c0111e6aad3a70080b7191aa9c7eda459a25f3dc",
      "tree": "868a4a5680859caf11759736d1038f019f0cc46f",
      "parents": [
        "5eb8701fca8c5ab920985c16583da7d23c2d9d7b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 02 20:18:48 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Dec 02 20:18:48 2025"
      },
      "message": "dependabot: longer cooldown\n"
    },
    {
      "commit": "5eb8701fca8c5ab920985c16583da7d23c2d9d7b",
      "tree": "ff16b98daadbf859c485a267f9630c8e4026f3f2",
      "parents": [
        "f1469ce45ee90e0cd61cf1223bc817fdb0897807"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Dec 02 19:58:33 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 19:58:33 2025"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#1486)\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.3 → v0.14.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.3...v0.14.7)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f1469ce45ee90e0cd61cf1223bc817fdb0897807",
      "tree": "4a4920a040c85b8ef29e20709da790138bc69294",
      "parents": [
        "43a868d703f06fffb724d5d03d4f80ac447cb27c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Dec 02 19:58:05 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 19:58:05 2025"
      },
      "message": "Bump the github-actions group with 4 updates (#1485)\n\nBumps the github-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-python](https://github.com/actions/setup-python), [github/codeql-action](https://github.com/github/codeql-action) and [CodSpeedHQ/action](https://github.com/codspeedhq/action).\n\n\nUpdates `actions/checkout` from 5.0.0 to 6.0.0\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/08c6903cd8c0fde910a37f88322edcfb5dd907a8...1af3b93b6815bc44a9784bd300feb67ff0d1eeb3)\n\nUpdates `actions/setup-python` from 6.0.0 to 6.1.0\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/e797f83bcb11b83ae66e0230d6156d7c80228e7c...83679a892e2d95755f2dac6acb0bfd1e9ac5d548)\n\nUpdates `github/codeql-action` from 4.31.2 to 4.31.5\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/0499de31b99561a6d14a36a5f662c2a54f91beee...fdbfb4d2750291e159f0156def62b853c2798ca2)\n\nUpdates `CodSpeedHQ/action` from 4.3.1 to 4.4.1\n- [Release notes](https://github.com/codspeedhq/action/releases)\n- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codspeedhq/action/compare/4348f634fa7309fe23aac9502e88b999ec90a164...346a2d8a8d9d38909abd0bc3d23f773110f076ad)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: actions/setup-python\n  dependency-version: 6.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: github/codeql-action\n  dependency-version: 4.31.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: CodSpeedHQ/action\n  dependency-version: 4.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "43a868d703f06fffb724d5d03d4f80ac447cb27c",
      "tree": "64da5063da0def4fa6556a168bc1c7277f53d263",
      "parents": [
        "985981b1042874745e8a410b106c1a75cd3683e5"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Nov 12 11:06:00 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Nov 12 11:06:00 2025"
      },
      "message": "fix path\n"
    },
    {
      "commit": "985981b1042874745e8a410b106c1a75cd3683e5",
      "tree": "35c27dade8e436d18a89ee5236a9e65acb22577e",
      "parents": [
        "68b8d1e1b5cb42f79f1ea9b7e45f668ac534394c"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Nov 12 11:05:11 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Wed Nov 12 11:05:11 2025"
      },
      "message": "Align CoC with PSF\n"
    },
    {
      "commit": "68b8d1e1b5cb42f79f1ea9b7e45f668ac534394c",
      "tree": "d882abe463af2b56483b9117b4fdf4b4c59ec36f",
      "parents": [
        "fe68c06f4313ae836acdc7ee680a205fe673af18"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Nov 08 13:17:05 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sat Nov 08 13:17:35 2025"
      },
      "message": "docs: explicitly mention decorated methods\n\nref #1038 and #1484\n"
    },
    {
      "commit": "fe68c06f4313ae836acdc7ee680a205fe673af18",
      "tree": "12fde8cbcc5f64ead115fdedef808acfaf7648b1",
      "parents": [
        "6396de6fe5402195ee399b4f5fc9f04859e0fc06"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Nov 04 08:34:09 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Nov 04 08:34:09 2025"
      },
      "message": "dependabot: add cooldown\n"
    },
    {
      "commit": "6396de6fe5402195ee399b4f5fc9f04859e0fc06",
      "tree": "dcb5e37978c95ddda1de47a3e1b0f952c31a57ba",
      "parents": [
        "79109ab96d9f76fce1bae518f88199bd69aee5f9"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Nov 04 08:33:42 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Nov 04 08:33:42 2025"
      },
      "message": "Update template\n"
    },
    {
      "commit": "79109ab96d9f76fce1bae518f88199bd69aee5f9",
      "tree": "71885640814918dadea56b42aa5b5ab15dbdc570",
      "parents": [
        "ed01832dc8440e14d747b8616e811e82256617cb"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Nov 02 09:46:40 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Sun Nov 02 09:46:40 2025"
      },
      "message": "update dev\n"
    },
    {
      "commit": "ed01832dc8440e14d747b8616e811e82256617cb",
      "tree": "03ed69116cf91eb84709328d77b6af4a98a98101",
      "parents": [
        "632d961ac9764b02006be96c2f8c5e7cdc0dc0a7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Nov 01 11:28:58 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 11:28:58 2025"
      },
      "message": "Bump github/codeql-action from 4.31.0 to 4.31.2 in the github-actions group (#1481)\n\nBump github/codeql-action in the github-actions group\n\nBumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `github/codeql-action` from 4.31.0 to 4.31.2\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/4e94bd11f71e507f7f87df81788dff88d1dacbfb...0499de31b99561a6d14a36a5f662c2a54f91beee)\n\n---\nupdated-dependencies:\n- dependency-name: github/codeql-action\n  dependency-version: 4.31.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "632d961ac9764b02006be96c2f8c5e7cdc0dc0a7",
      "tree": "6f6224ee10f0b0ae7633847e6d88dbc0df80a74a",
      "parents": [
        "f588f1a5d4c9c349c98c84c8db61ba5b129fe58b"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Oct 28 08:59:38 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Oct 28 08:59:38 2025"
      },
      "message": "sponsors: make Polar logo fit better\n"
    },
    {
      "commit": "f588f1a5d4c9c349c98c84c8db61ba5b129fe58b",
      "tree": "5a93be63486ced5ead77d2dd7c0070fbf6f656c3",
      "parents": [
        "fc7f897acaa096cc18449c3ad92cd4edc3b2e38a"
      ],
      "author": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Oct 28 08:31:48 2025"
      },
      "committer": {
        "name": "Hynek Schlawack",
        "email": "hs@ox.cx",
        "time": "Tue Oct 28 08:31:48 2025"
      },
      "message": "sponsors: add LambdaTest\n"
    }
  ],
  "next": "fc7f897acaa096cc18449c3ad92cd4edc3b2e38a"
}
