Skip to content

Pin CI references#716

Merged
Tinche merged 2 commits intomainfrom
tin/pin-references
Jan 18, 2026
Merged

Pin CI references#716
Tinche merged 2 commits intomainfrom
tin/pin-references

Conversation

@Tinche
Copy link
Member

@Tinche Tinche commented Jan 18, 2026

No description provided.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 18, 2026

CodSpeed Performance Report

Merging this PR will improve performance by 40.95%

Comparing tin/pin-references (6273a79) with main (1ac3ce8)

Summary

⚡ 54 improved benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
test_structure_simple_int_enum[Converter] 27.7 µs 21.9 µs +26.45%
test_structure_attrs_mappings[BaseConverter] 353.6 µs 266.4 µs +32.73%
test_structure_simple_int_enum[BaseConverter] 26.8 µs 21.1 µs +27.05%
test_structure_simple_enum[MsgspecJsonConverter] 27.8 µs 22.1 µs +25.62%
test_unstructure_simple_int_enum[Converter] 25.3 µs 19.3 µs +30.99%
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter] 302.9 µs 214.9 µs +40.95%
test_structure_simple_enum[OrjsonConverter] 27.6 µs 22 µs +25.45%
test_structure_attrs_mappings[Converter] 209.1 µs 160.4 µs +30.38%
test_unstructure_simple_str_enum[BaseConverter] 20.3 µs 15.2 µs +33.92%
test_unstructure_simple_int_enum[MsgspecJsonConverter] 24.8 µs 19.1 µs +30.15%
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter] 111 µs 88.6 µs +25.33%
test_structure_simple_int_enum[OrjsonConverter] 27.7 µs 22 µs +26.01%
test_unstructure_simple_str_enum[MsgspecJsonConverter] 21 µs 15.8 µs +32.85%
test_unstructure_simple_str_enum[Converter] 21 µs 15.7 µs +34.05%
test_unstructure_simple_int_enum[OrjsonConverter] 24.8 µs 19.1 µs +29.74%
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter] 183.6 µs 147 µs +24.93%
test_unstructure_float[Converter] 20.9 µs 15.7 µs +33.18%
test_structure_simple_str_enum[OrjsonConverter] 27.6 µs 22 µs +25.82%
test_unstructure_int[BaseConverter] 20.3 µs 15.2 µs +34.04%
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter] 277.1 µs 206.6 µs +34.13%
... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

@Tinche Tinche merged commit 309e9d1 into main Jan 18, 2026
14 checks passed
@Tinche Tinche deleted the tin/pin-references branch January 18, 2026 22:11
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Feb 22, 2026
## 26.1.0 (2026-02-18)

- Add the {mod}`tomllib <cattrs.preconf.tomllib>` preconf converter.
  See [here](https://catt.rs/en/latest/preconf.html#tomllib) for details.
  ([#716](python-attrs/cattrs#716))
- Customizing un/structuring of _attrs_ classes, dataclasses, TypedDicts and dict NamedTuples is now possible by using `Annotated[T, override()]` on fields.
  See [here](https://catt.rs/en/stable/customizing.html#using-typing-annotated-t-override) for more details.
  ([#717](python-attrs/cattrs#717))
- Fix structuring of nested generic classes with stringified annotations.
  ([#688](python-attrs/cattrs#688))
- Python 3.9 is no longer supported, as it is end-of-life. Use previous versions on this Python version.
  ([#698](python-attrs/cattrs#698))
- Apply the attrs converter to the default value before checking if it is equal to the attribute's value, when `omit_if_default` is true and an attrs converter is specified.
  ([#696](python-attrs/cattrs#696))
- Use the optional `_value_` type hint to structure and unstructure enums if present.
  ([#699](python-attrs/cattrs#699))
- Aliases (when in use) now properly generate rename metadata in generated hooks.
  ([#706](python-attrs/cattrs#706) [#710](python-attrs/cattrs#710))
- _cattrs_ now tracks performance using [codspeed](https://codspeed.io/python-attrs/cattrs).
  ([#703](python-attrs/cattrs#703))
- The {mod}`tomlkit <cattrs.preconf.tomlkit>` preconf converter now properly handles native `date` objects when structuring.
  ([#707](python-attrs/cattrs#707) [#708](python-attrs/cattrs#708))
- The {mod}`tomlkit <cattrs.preconf.tomlkit>` preconf converter now passes date objects directly to _tomlkit_ for unstructuring.
  ([#707](python-attrs/cattrs#707) [#708](python-attrs/cattrs#708))
- Enum handling has been optimized by switching to hook factories, improving performance especially for plain enums.
  ([#705](python-attrs/cattrs#705))
- Fix {func}`cattrs.strategies.include_subclasses` when used with {func}`cattrs.strategies.configure_tagged_union` and classes using diamond inheritance.
  ([#685](python-attrs/cattrs#685) [#713](python-attrs/cattrs#713))
- Fix {func}`cattrs.strategies.configure_tagged_union` when used with recursive type aliases.
  ([#678](python-attrs/cattrs#678) [#714](python-attrs/cattrs#714))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant