Changelog
Every release of @bodytracker/sdk, newest first. Breaking changes are called out in Breaking — see the Migration Guide for step-by-step upgrade instructions.
v3.4.0
CurrentJuly 14, 2026- FeatureAdded the qualityChanged event, emitted whenever tracking QualityLevel transitions between excellent, good, limited, searching, and offline.
- FeatureAdded sandbox environment support — set environment: "sandbox" in BodyTrackerConfig to pair with bt_test_ keys during local development and CI.
- ImprovementgetActivity() now reflects quality-aware confidence scoring, reducing false activityChanged transitions during brief tracking dropouts.
- FixFixed a race condition where calling resumeSession() immediately after pauseSession() could leave the tracker stuck in the paused state.
v3.2.0
April 28, 2026- FeatureAdded getActivity(), returning a synchronous ActivitySnapshot without requiring a subscription to activityChanged.
- ImprovementReduced worker-thread startup latency during init(), shaving roughly 150ms off time-to-ready on mid-range devices.
- FixFixed exportSession() producing malformed CSV output for sessions containing non-ASCII locale strings.
v3.0.0
February 24, 2026- BreakingRenamed the trackedActivities config field to activityTypes on BodyTrackerConfig. The old field name is no longer read.
- BreakingSplit React hooks and components out of the core package into a new @bodytracker/react package. Install it separately if you use React.
- ImprovementReworked the internal pose-estimation pipeline for roughly 20% lower CPU usage during active tracking.
- DeprecatedDeprecated the untyped ActivityType string literal fallback in favor of the exported ActivityType union — a future major version will make it required.
v2.1.0
October 14, 2025- FeatureAdded the smoothing config ({ enabled, windowSize }) to reduce jitter in movement and activity readings.
- ImprovementgetStatus() now distinguishes "initializing" from "ready" instead of collapsing both into a single "loading" state.
- FixFixed trackingLost firing spuriously on some webcams during brief auto-focus adjustments.
v2.0.0
August 4, 2025- BreakingReplaced the single onEvent callback prop with a proper on()/off() event API, supporting multiple listeners per event name and returning an unsubscribe function.
- FeatureAdded exportSession(sessionId, format), exporting a completed session as JSON, CSV, or PDF.
- BreakingTrackerEventName is now a closed string union; previously any string was accepted by onEvent without validation.
- ImprovementSession summaries returned from stopSession() now include per-activity duration breakdowns.
v1.2.0
March 12, 2025- FeatureAdded pauseSession() and resumeSession() for temporarily halting tracking mid-session without ending it.
- ImprovementSession duration accounting now excludes paused time from the final SessionSummary.
- FixFixed the onEvent callback occasionally firing twice for a single trackingStarted transition.
v1.0.0
January 15, 2025- FeatureInitial public release of @bodytracker/sdk, including the core BodyTracker class.
- FeaturestartSession() and stopSession() for managing the lifecycle of a tracking session.
- FeaturegetStatus() for reading the tracker's current lifecycle state, and an onEvent callback for lifecycle notifications.
- ImprovementPublished the initial API reference, getting-started guide, and authentication docs.