Skip to main content

Changelog

Written against @waylocate/embed@0.2.1, which speaks wire protocol waylocate: 1.

Notable changes to @waylocate/embed. The format follows Keep a Changelog, and the package follows semantic versioning on its JavaScript interface.

The wire protocol is versioned separately, by the waylocate field on every message, and changes far less often. Each release notes the protocol it speaks and, where relevant, the minimum map build a feature requires. What each API tier promises is set out in compatibility.

Unreleased

Fixed

  • A room passed to mount(), buildEmbedUrl(), or the React room prop is now accepted in either the bare form (170) or the building-qualified form (muntz-hall/170). Previously the qualified form produced an embed URL with the building segment repeated, which resolved to no page.

0.2.1 - 2026-08-14

Patch release. Speaks protocol v1.

Fixed

  • Documentation and packaging corrections ahead of the public documentation site.

0.2.0 - 2026-08-14

Speaks protocol v1.

Added

  • mount(), a transport-free entry point. It takes a container and campus intent, creates the map surface, connects, and resolves with a WaylocateMap. Accepts an AbortSignal for teardown that is safe under React strict mode.
  • @waylocate/embed/react, providing <CampusMap> and useCampusMap(). The component renders one container element, and the building, floor, and room props are applied as commands after connecting.
  • @waylocate/embed/protocol, a subpath for wire protocol and transport internals.
  • A three-tier stability contract, enforced by a test that snapshots the Tier 1 exports and rejects transport vocabulary in their names.

Changed

  • The root export surface is now Tier 1 and Tier 2 only. Wire helpers moved to the /protocol subpath.
  • The browser global exports mount() rather than protocol internals.
  • The release verification script exercises every subpath under both bundler and Node16 module resolution.

Migration

Anything importing createEmbedHostClient and the other wire helpers from the package root must import them from @waylocate/embed/protocol instead.

0.1.0 - 2026-08-14

First release. Speaks protocol v1.

Added

  • connect(), returning a typed handle. Races the map's announcement against a host.hello probe so that a listener attached late still connects.
  • buildEmbedUrl(), which validates the host origin before it reaches the map.
  • Typed command namespaces, camera paths, and self-managing event subscriptions.
  • WaylocateError, and ESM, CommonJS, and browser-global builds.