Date: September 4, 2026
Date: August 25, 2026
Date: August 5, 2026
All breaking changes of the JavaScript SDK 12.0.0 apply here as well, including the removal of the third defaultVariation argument from variation() / variationDetail() and the removal of getExperiment(). See the JavaScript SDK 12.0.0 release notes for the full list.
The changes below are specific to the React SDK.
Breaking Changes
HackleContext now exposes contextVersion instead of userVersion. Code that reads the context directly with useContext(HackleContext) must be updated.
// before
const { hackle, userVersion, initialized } = useContext(HackleContext)
// after
const { hackle, contextVersion, initialized } = useContext(HackleContext)
The client event "user-updated" has been replaced by "evaluate", and the handler no longer receives a payload.
// before
hackleClient.on("user-updated", (user) => { ... })
// after
hackleClient.on("evaluate", () => {
const user = hackleClient.getUser()
})
A handler left subscribed to "user-updated" will never be called.
The user prop of HackleProvider is now applied by value instead of by reference. It is applied only when its value differs from the last applied value, so an inline object literal no longer re-applies the user on every parent re-render. If you mix the user prop with imperative APIs such as setUserId(), an unrelated re-render no longer silently reverts them.
User mutation methods (setUser, setUserId, setDeviceId, setUserProperty, setUserProperties, updateUserProperties, resetUser) now resolve after the workspace has been synchronized, instead of resolving immediately. Awaiting them means the hook values are already up to date.
Changed
fetch() refreshes them.Object.is otherwise, which removes unnecessary re-evaluations for array-valued user properties.JSX namespace, so they resolve under @types/react@19 with skipLibCheck: false.Added
evaluationMode option is available in createInstance config for remote evaluation mode.Date: May 18, 2026
Date: April 8, 2026
Fix: HttpTransport multibyte UTF-8 characters broken at chunk boundaries
Date: April 1, 2026
Date: March 25, 2026
Date: March 19, 2026
Date: January 30, 2026
Date: November 17, 2025
Date: November 5, 2025
Date: October 16, 2025
Date: September 25, 2025
Date: September 25, 2025
Date: September 25, 2025
Date: September 10, 2025
getDisplayedInAppMessageView methodDefaultBrowserPropertyProvider, #580Date: September 8, 2025
Date: August 29, 2025
Date: July 24, 2025
Date: July 3, 2025
Date: July 1, 2025
Date: May 9, 2025
getSessionIdsetUserPropertiesclosegetExperimentDate: April 29, 2025
Date: April 18, 2025
Date: March 27, 2025
Date: March 24, 2025
HackleClient.getExperiment method. This method can be used to retrieve A/B test setting information.Date: February 17, 2025
Date: January 14, 2025
Date: January 12, 2025
Date: October 2, 2024
Date: September 9, 2024
same as @hackler/javascript-sdk@11.37.0
Date: August 9, 2024
feat: added new in-app message layout (bottom sheet).
fix: prevent in-app-message IMAGE layout modal from getting out of focus while message is open.
Date: July 15, 2024
Date: July 5, 2024
Date: June 18, 2024
Date: June 18, 2024
Released with the same build version as @hackler/javascript-sdk@11.33.1. Saved for history
Date: June 3, 2024
updateUserProperties()Date: May 27, 2024
Date: April 16, 2024
decodeURI, decodeURIcomponent method's malformed URI errorDate: April 3, 2024
Date: March 22, 2024
Date: March 19, 2024
Date: March 18, 2024
Date: February 19, 2024
Date: February 16, 2024
Date: February 15, 2024
Supports A/B testing in in-app messages.
Added HackleClient.fetch() method. This method can be used to manually synchronize workspace configuration.
Handling of page visibility changes .
Date: February 8, 2024
sdkTime when send beaconDate: February 7, 2024
Date: February 6, 2024
Date: January 25, 2024
Date: January 17, 2024
Date: January 16, 2024
Date: January 8, 2024
Date: December 18, 2023
Added BrowserInitializeDoneEventDispatcher
Changed page view event to always emit
Date: December 4, 2023
Date: December 1, 2023
Date: December 1, 2023
New added Split URL test support
Fix JavaScript "this binding" issue
Support UTF-8 decoding to URL Hackle properties targeting