Skip to content

v2.0.0-next.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 08:06
· 102 commits to next since this release

2.0.0-next.1 (2025-07-13)

Features

  • interface: adds interface for proxy creation events (6e055ab)
  • nexo: adds static methods on the nexo class to find proxies or check if values are proxies (32eb46c)
  • nexo: exposes new static method that resolves a proxy and its wrapper (583894f)
  • nexo: exposes the isTraceable utility (7d35203)
  • nexo: the name of the keys method is now ownKeys (2d6de94)
  • proxies: uses per instance storage for objects and proxies instead of global maps (31fc6c1)

BREAKING CHANGES:

Proxies and their metadata are now scoped per Nexo instance.

  • map.proxies and map.tracables now store nested Maps keyed by Nexo instance id.
  • Proxy traps (apply, get, set, etc.) have been refactored to resolve the proxy and wrapper using the instance-specific symbol.
  • Introduced resolveProxy() utility for consistent lookup and error handling across traps.
  • Proxy handlers are now generated using createHandlers(nexo.id) to ensure traps operate within the correct context.
  • ProxyWrapper now maintains a reference to its owning Nexo instance.

This change ensures that multiple Nexo instances can operate independently on the same targets without cross-contamination of proxy state or behavior.

Developers upgrading to this version should verify that all traps are created through createHandlers() using the correct Nexo instance, and that global access patterns to proxy maps are updated to support the per-instance structure.