November 10th, 2025


We’re pleased to share the official release of Lynx 3.5, continuing our commitment to a stable bi-monthly release cadence. This update brings a host of meaningful improvements:
stopPropagation for more precise event control, along with optimizations that further enhance first-frame responsiveness.<pointer-events> CSS property—empowering developers to create even richer, more interactive experiences.Let's dive in and see what's new!
When an event is triggered, it propagates along the responder chain, allowing different parts of your UI to respond as needed. In Lynx 3.5, we’ve added support for event.stopPropagation() in main thread scripts. This gives developers more control over how events move through the UI, making it easier to prevent unwanted event bubbling.

Previously, event handling in ReactLynx had to wait until the hydration process finished, which could cause delays in interactivity.
With Lynx 3.5, the rendering process has been improved so that event handling context is built synchronously during the first frame render. This means users can interact with the page as soon as it appears, resulting in a more responsive experience.
Lynx provides two APIs for cross-thread function calls: runOnMainThread and runOnBackground. In the new version, both APIs have been updated to support asynchronous value returns from the target thread, making it easier and more flexible to communicate between threads.
Lynx offers a Fetch API that follows web standards, so its usage is familiar to web developers.
With Lynx 3.5, Fetch API support is now available on HarmonyOS, making it easier to build cross-platform apps.

For use cases that involve streaming large amounts of data, Chunked Transfer Encoding helps improve performance. Lynx 3.5 adds support for Chunked Transfer Encoding on both Android and iOS. This allows the client to start processing data as soon as it arrives, which can significantly reduce loading times for large datasets.
<list> ElementTo make list interactions feel smoother and more natural, the <list> element now comes with default update animations. Whenever you add, remove, or update list items, transition effects are automatically applied—no extra code needed.
|
|
|
| Delete | Update | Insert |
<list-item> VNodeWhen working with long lists, ReactLynx used to create VNodes for every item all at once. This could slow down the initial rendering.
The new version introduces a new defer attribute. By setting defer on off-screen <list-item> elements, their VNodes are only created when the item is about to appear on the screen. This change can greatly improve first-frame render performance.
Because rendering a deferred list item requires cross-thread communication, you might notice a brief white flash during fast scrolling. To reduce this effect, you can use the preload-buffer-count attribute on the <list> element to preload a set number of items, ensuring a seamless scrolling experience .
<pointer-events>Lynx 3.5 adds support for the <pointer-events> CSS property, which lets you control whether an element can receive touch events.

For better accessibility, Lynx 3.5 now supports the accessibilityAnnounce() method on HarmonyOS. This method allows screen readers to read out specific text, making it easier for visually impaired users to understand changes in the interface or the results of actions. This feature was already available on Android and iOS.
To help speed up resource loading, Lynx 3.5 also brings the requestResourcePrefetch API to HarmonyOS. With this API, developers can prefetch CDN resources like images, videos, and audio files. This feature was previously supported on Android and iOS.
Refer to the official website's guide on Integrate with Existing Apps and update the Lynx dependency versions to complete the upgrade to Lynx 3.5.