zs-yaml 0.9.2.dev10__tar.gz → 0.10.1.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/CHANGELOG.md +5 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/PKG-INFO +1 -1
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/_version.py +3 -3
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/convert.py +5 -3
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/PKG-INFO +1 -1
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/.github/workflows/ci.yml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/.gitignore +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/LICENSE +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/README.md +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/api_docs_review.md +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/doc/zs-yaml.png +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/doc/zs-yaml.svg +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/extern_compression/extern_compression.zs +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/extern_compression/payload.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/extern_compression/test_compression.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/.gitignore +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/benchmark.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/generate_perf_yaml.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/perf.zs +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/perf_reference.bin +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/perf_reference_dict.sha256 +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/perf/test_fast_path.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/addresses.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/custom_transformations.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/hobbies.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/skills.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/team.zs +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/team1.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/test_all_conversions.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/test_pyobj_to_yaml.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/team/work_experience.yaml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/pyproject.toml +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/setup.cfg +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/__init__.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/built_in_transformations.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/main.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml/yaml_transformer.py +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/SOURCES.txt +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/dependency_links.txt +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/entry_points.txt +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/requires.txt +0 -0
- {zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/zs_yaml.egg-info/top_level.txt +0 -0
|
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.10.1] - 2026-05-07
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- `bin_to_dict` / `bin_to_yaml`: the per-`TypeInfo` descriptor cache used `id(type_info)` as its key while only holding a weak hold on the type. After garbage collection, CPython could reuse that memory address for an unrelated zserio class and the cache would return a stale descriptor, surfacing as spurious `'X' object has no attribute 'y'` errors in long-running processes (e.g. multi-test suites that load several schemas). The cache now keys on the `TypeInfo` object itself.
|
|
14
|
+
|
|
10
15
|
## [0.10.0] - 2026-05-07
|
|
11
16
|
|
|
12
17
|
### Changed
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0,
|
|
21
|
+
__version__ = version = '0.10.1.dev2'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 10, 1, 'dev2')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g694552b85'
|
|
@@ -97,11 +97,13 @@ _COMPOUND_CACHE = {}
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
def _compound_descriptor(type_info):
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
# Key on the type_info object itself, not id(type_info): id() reuses memory
|
|
101
|
+
# addresses after GC, which would return a stale descriptor pointing at the
|
|
102
|
+
# fields of a previous, unrelated zserio class.
|
|
103
|
+
desc = _COMPOUND_CACHE.get(type_info)
|
|
102
104
|
if desc is None:
|
|
103
105
|
desc = _CompoundDescriptor(type_info)
|
|
104
|
-
_COMPOUND_CACHE[
|
|
106
|
+
_COMPOUND_CACHE[type_info] = desc
|
|
105
107
|
return desc
|
|
106
108
|
|
|
107
109
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zs_yaml-0.9.2.dev10 → zs_yaml-0.10.1.dev2}/examples/extern_compression/extern_compression.zs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|