Static bindings now return a DocumentHandle from open(), so you open once and do sync read()/write(), exports, and lifecycle ops off the handle—no more threading the same ID through every call. destroy is renamed to close (memory cleanup without nuking persisted data), and extensions get a typed extensions map + whenReady for better interop. Big ergonomics + clarity win for callers building document workflows.
