Commit c2954e9
authored
Bump version to 1.0.0 (#197)
First stable release. Since v0.19.0, observ has had a broad performance
overhaul, gained full type-hint coverage and a new trigger_ref API, and
picked up a documentation site.
New features
- trigger_ref(): force-notify the watchers of a proxy, mirroring Vue's
triggerRef (#188, closes #123).
- Fully typed: modern type hints throughout, a py.typed marker, and ty
type-checking enforced in CI (#185, #184, closes #114).
Performance
- Reworked deep-watch traversal: plain leaf values are filtered out of the
traverse stack at push time and raw targets are traversed directly.
Traversing large flat/shallow structures is up to ~85% faster (#190).
- Lower per-operation trap overhead and proxies constructed with positional
flags: reactive reads/writes and proxy creation are ~35-50% faster
(#192, #193).
- proxy_db lifetimes are managed by reference counting instead of a gc hook,
eliminating reference cycles and making cleanup deterministic (#177).
- Scheduler and dependency-bookkeeping micro-optimizations: in-place bisect
insertion (#191), single-read/write flush counting (#196), a set
difference in cleanup_deps (#194), and reading the arg count off the code
object in weak() (#195).
Correctness
- Guarantees, with tests, that observ creates no reference cycles (#189).
Documentation
- New MkDocs site published to GitHub Pages (#176), with an Internals
section (#179) and a rewritten README (#180).
Tooling
- Modernized CI workflows (#182) and a more robust benchmark guard
(#181, #187).1 parent 55f7d78 commit c2954e9
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments