Releases
v0.8.0
Compare
Sorry, something went wrong.
No results found
v0.8.0 — Unlock the AST
Breaking Changes
YAML() instance API : New YAML() class replaces module-level parsing for configuration. pyrs_yaml.parse() still works as shorthand.
Python Node API : New Node(doc) class exposes AST with ind(), walk(), ilter(), parent, children, o_yaml().
MergedView : doc.merged() returns a read-only dict-like view with merge keys resolved.
Lifecycle warnings : Node.release() marks stale nodes; accessing released nodes emits RuntimeWarning and raises YamlDocumentError.
Document metadata : doc.version() returns the YAML spec version.
✨ Features
Python Node API with JSONPath-like query language in Node.find()
MergedView — read-only anchor merge view
Node.release() + RuntimeWarning lifecycle warnings
doc.version() metadata
pytest parametrize refactoring across 5 test files (498→322 lines)
🔧 Bug Fixes
Node.to_yaml(): rom_dict() returns str, not YamlDocument — fixed branching logic
MergedView: handle sequence-root documents
_parse_jsonpath: deep scan (..) and wildcard (\$..*) detection order
Removed duplicate pytest_collection_modifyitems in conftest.py
🧪 Testing
3 new test files: test_yaml_instance.py, test_node_api.py, test_merged_view.py
52 new test cases across all v0.8.0 features
460 Python tests + 106 Rust tests all passing
You can’t perform that action at this time.