- Docs
- Changelog
Changelog
Release notes for every documented Ticker version, including breaking changes, behavior changes, features and fixes.
[2.1.0] - 2026-10-17
Behavior changes
- Keyboard focus now pauses playback by default (
pauseOnFocus: true). SetpauseOnFocus: falseonly when your integration provides an equivalent policy. data-playingnow reflects manual, focus and hover pause causes in addition to visibility and reduced motion. Integrations that read it should account for all pause reasons.- Existing entrypoints, physical left/right directions, selectors and duration mode remain supported. Use
play()/pause()instead of application-owned pause CSS.
Added and fixed
- Add vertical
up/downmovement and inheritedautodirection, with logical RTL seeking and fractional measurements on either axis. - Add persistent
play()/pause()intent,autoplay, immutable state snapshots and typed lifecycle/playback/navigation events. - Add
pauseOnFocus(enabled by default), constantspeedin CSS pixels per second and ordered viewportresponsiverules. Manual pause survives automatic causes and breakpoint changes. - Add cyclic
scrollTo()/scrollBy(), native button/range bindings throughconnectControls()and mouse/touch dragging that preserves perpendicular page scrolling and reduced-motion access. - Add opt-in
resumeAfterDragand its data attribute, preserving pre-drag playback intent and existing focus. Explicit pauses remain effective. - Keep dynamic additions/removals at constant pixel speed; fix empty source measurements so gaps never produce empty clones, with recovery on refresh.
- Extend the shared Home/Examples/Docs website with twelve live recipes and complete CDN/npm code, an interactive drag-resume toggle, illustrated vertical resources and rendered brand attribution. Preserve all original examples.
- Document the complete 2.1 API, upgrade behavior and agent integration; synchronize pinned examples and the downloadable Ticker skill.
- Preserve routes with or without trailing slashes and correct fractional documentation TOC tracking.
[2.0.4] - 2026-10-12
- Preserve fractional animation distances and use the horizontal column gap so repeated content stays aligned when ticker loops restart.
[2.0.3] - 2026-10-12
- Start tickers paused until they intersect the viewport, without a preactivation margin.
- Pause playback in hidden documents and share visibility and motion-preference listeners across standalone controllers and declarative tickers, with cleanup after the last ticker is destroyed.
- Reuse clones on unchanged automatic measurements to preserve animation progress; keep explicit refresh and updates rebuilding content even when its width is unchanged.
[2.0.2] - 2026-09-25
- Expanded the bundled and Starlight references to cover every public API, option, type, core utility, entrypoint, registry helper, and lifecycle edge case.
- Added dedicated controller, core, entrypoint, and recipe documentation following the
@samline/formsdocumentation structure. - Added explicit ownership, cleanup, server-rendering, accessibility, styling, and browser-registry guidance across both documentation surfaces.
[2.0.1] - 2026-09-24
- Aligned the README and Starlight documentation with the
@samline/formsdocumentation conventions. - Added an npm-bundled
docs/reference for configuration, browser usage, styling, accessibility, TypeScript, and the public API. - Added
.npmignoreso source, tests, tooling, and the documentation site stay out of the published tarball.
[2.0.0] - 2026-09-24
Breaking changes
- Replace
enhance()andcreateTicker()withticker(target, options)for an element-scoped controller, ormount()for declarative page ownership. Call the returned controller’sdestroy()for teardown. newTicker()returnsTickerInstance | nullinstead ofHTMLElement | null.available,getTicker()andgetTickers()still expose wrapper elements; use registry destroy helpers to remove registered entries.- Framework adapters are no longer shipped. Initialize Ticker in your framework’s client mount hook and destroy it during cleanup.
@samline/ticker/browseris a side-effect-free ESM/CJS registry module. Plain HTML must loaddist/browser/global.global.jsto installwindow.Ticker.
Added and fixed
- Replaced the ambiguous
createTicker()/enhance()pair withticker(target, options)and an element-scoped controller. - Reduced the browser namespace to the factory and registry lifecycle.
- Fixed
interactiveClonesso interactive clones no longer inheritpointer-events: none. - Removed framework adapters, unused helpers, duplicate documentation, and obsolete planning files.
- Added Starlight documentation, package smoke tests, CI, coverage, and GitHub Pages deployment.
[1.1.0] - 2026-09-23
- Added a shared
Ticker/browsersingleton and named registry helpers. - Recreating an id now tears down the previous runtime before enhancing it again.
- Destroying a registered ticker clears observers, clones, registry state, and restores the source DOM.
[1.0.8] - 2026-06-11
- Add
interactiveClonesto opt repeated controls into interaction, with matching runtime, framework adapter and documentation support.
[1.0.7] - 2026-06-11
- Initialize and destroy the React ticker at the component boundary; normalize class tokens and add server-rendering and React regression tests.
[1.0.6] - 2026-06-11
- Historical npm release. No version-specific functional notes were recorded in the repository.
[1.0.5] - 2026-06-11
- Historical npm release. No version-specific functional notes were recorded in the repository.
[1.0.4] - 2026-04-21
- Include the stylesheet as an explicit build entry and align browser/CDN usage documentation.
[1.0.3] - 2026-04-21
- Correct enhancement of existing content nodes, preserve source placement and accept multiple option class tokens.
[1.0.2] - 2026-04-21
- Publish the patch release after correcting conditional wrapper classes and CDN references.
[1.0.1] - 2026-04-21
- Correct the browser entry filename and version-pinned CDN URLs.
[1.0.0] - 2026-04-21
- Initial ticker runtime for Vanilla JavaScript, browser scripts and React, Vue and Svelte adapters, with automatic visual copies, reduced-motion support and responsive visibility observers.