Releases: techouse/qs_codec
Releases · techouse/qs_codec
1.4.0
1.4.0
- [FEAT] add
EncodeOptions.max_depthto cap encoding traversal depth (capped to the current recursion limit) - [FIX] avoid
RecursionErroron deeply nested input by enforcing a configurable encoding depth guard - [FIX] make
WeakWrapperhashing identity-based to keep weak-key lookups stable after mutations - [CHORE] optimize encode/merge paths (shallow-copy root mappings, reuse dict targets in internal merges)
- [CHORE] expand tests and documentation for encoding depth limits
1.3.4
1.3.4
- [CHORE] stricter static type checking with pyright
1.3.3
1.3.3
- [FIX] implement
DecodeOptions.list_limithandling inUtils.combinefunction to prevent DoS via memory exhaustion
1.3.2
1.3.2
- [CHORE] pin mypy<1.19 on PyPy to avoid new
librtbuild failures while keeping newer mypy on CPython
1.3.1
1.3.1
- [FEAT] add support for PyPy 3.8, 3.9, 3.10 and 3.11
1.3.0
1.3.0
- [FEAT] add
EncodeOptions.comma_compact_nulls, allowing omission ofNoneentries in lists when using theListFormat.COMMA. This results in cleaner output (e.g.,[True, False, None, True]becomes"true,false,true").
1.2.5
1.2.5
- [CHORE] add support for Python 3.14
- [CHORE] reinstate Python 3.8 support
1.2.4
1.2.4
- [FIX] encode booleans in lowercase to match JavaScript behavior
- [CHORE] add tests for boolean encoding and decoding parity
1.2.3
1.2.3
- [CHORE] add highlights section to README and docs with key features and usage notes
1.2.2
1.2.2
- [CHORE] update pyproject.toml with improved metadata, optional dev dependencies, and wheel build config
- [CHORE] add project logo to README and documentation