v11.0.1
- Fix docs callouts and logo theming by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/776
- Agent/docs callouts and logo theme by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/777
- feat(docs): add custom landing page with scroll-driven intersection demos by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/778
- feat(docs): brand the generated OG cards to match the landing by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/779
- fix(docs): theme-aware landing panels + tighter headline by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/780
- docs: update public documentation domains by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/783
- ci: publish releases with npm trusted publishing by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/785
- docs: cut filler from README and docs site by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/786
- fix: resume InView observation when triggerOnce is disabled by @ddussi in https://github.com/thebuilder/react-intersection-observer/pull/782
- @ddussi made their first contribution in https://github.com/thebuilder/react-intersection-observer/pull/782
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v11.0.0...v11.0.1
v11.0.0
v11 delivers a ground-up observer lifecycle rewrite, making observation and cleanup more resilient across React 17, 18, and 19. Shared callback-ref handling, idempotent cleanup, and improved threshold behavior make hooks more predictable in real-world mounting and unmounting scenarios.
It also introduces a new Blume-powered documentation site with clearer guides and examples. Storybook and the README have been refreshed to make getting started easier.
Smaller improvements include private vulnerability reporting, stronger PR quality checks with Fallow, dependency updates, and expanded observer lifecycle tests.
- docs: use private vulnerability reporting by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/759
- Fix callback ref cleanup compatibility across React 17–19 by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/760
- fix: make observe cleanup idempotent by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/763
- fix: respect threshold before trigger once cleanup by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/762
- test: characterize hook observer lifecycle by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/764
- refactor: share callback-ref observation between hooks by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/765
- build(deps-dev): bump postcss from 8.5.6 to 8.5.10 by @dependabot[bot] in https://github.com/thebuilder/react-intersection-observer/pull/761
- Adopt Fallow as a PR quality gate by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/768
- feat: add Blume documentation site by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/770
- Update dependencies by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/771
- docs: enable vercel analytics by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/772
- Simplify and brand Storybook introduction by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/773
- Update README to simplify bundle size information by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/774
- Use responsive logo lockups in docs header by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/775
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v10.1.0...v11.0.0
v10.1.0
- chore: update github actions by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/754
- Add support for
scrollMarginoption for intersection observers by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/753
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v10.0.3...v10.1.0
v10.0.3
- prevent callback skipping with triggerOnce and merged refs by @djk01281 in https://github.com/thebuilder/react-intersection-observer/pull/747
- @djk01281 made their first contribution in https://github.com/thebuilder/react-intersection-observer/pull/747
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v10.0.2...v10.0.3
v10.0.2
- Add npm package size badge to README by @jantimon in https://github.com/thebuilder/react-intersection-observer/pull/740
- feat: bump dependencies by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/741
- Fix React 17 webpack build error for useInsertionEffect by @Copilot in https://github.com/thebuilder/react-intersection-observer/pull/744
- @jantimon made their first contribution in https://github.com/thebuilder/react-intersection-observer/pull/740
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v10.0.0...v10.0.2
v10.0.0
Based on the great work in #718 by @jantimon - This release adds the new useOnInView hook.
useOnInViewhook — a no-re-render alternative touseInViewthat delivers(inView, entry)to your callback while returning a ref you can attach to any element. Designed for tracking, analytics, and other side effect heavy workloads where state updates are unnecessary.IntersectionChangeEffect/IntersectionEffectOptionstypes — exported helper types that describe the new hook’s callback and options surface.- Storybook playground + documentation — new story, README section, and JSDoc example demonstrating how to use
useOnInView.
useInView,useOnInView, and<InView>now ignore the browser’s initialinView === falseemission foronChangeevents, so handlers only fire once a real visibility change occurs, while still reporting all subsequent enter/leave transitions.
- Added a dedicated Vitest suite for
useOnInView, covering thresholds,triggerOnce,skiptoggling, merged refs, and multiple observers on the same node.
- chore: update package url in package.json by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/721
- build(deps-dev): bump vite from 6.2.0 to 6.2.5 by @dependabot[bot] in https://github.com/thebuilder/react-intersection-observer/pull/724
- build(deps-dev): bump vite from 6.2.5 to 6.2.7 by @dependabot[bot] in https://github.com/thebuilder/react-intersection-observer/pull/727
- Fix minor grammatical issue in documentation intro by @Akshay-Vs in https://github.com/thebuilder/react-intersection-observer/pull/728
- Remove bundlephobia badge from README by @Copilot in https://github.com/thebuilder/react-intersection-observer/pull/731
- Update dependencies by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/737
- feat: implement the useOnInView hook by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/738
- @Akshay-Vs made their first contribution in https://github.com/thebuilder/react-intersection-observer/pull/728
- @Copilot made their first contribution in https://github.com/thebuilder/react-intersection-observer/pull/731
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v9.16.0...v10.0.0
v9.16.0
- ci: drop semantic release flow by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/719
- Correctly detect global testing framework by @thebuilder in https://github.com/thebuilder/react-intersection-observer/pull/720
Full Changelog: https://github.com/thebuilder/react-intersection-observer/compare/v9.15.1...v9.16.0