Release that adds support for bridgeless mode, enhances KeyboardToolbar component, adds onSelectionChange handler, improves precision of onMove handler on iOS and contains many other fixes and improvements 😎
🐛 Bug fixes
👍 Improvements
- added
KeyboardToolbarcallbacks (7d2ccb5) - added
KeyboardToolbarblur (b9da9ad) - added support for
bridgless(590ff6e) - eliminate one frame delay in
onMovehandler on iOS (27da1d0) - use
KeyboardAnimationas common interface for an animation driver (54a0473) - added
onSelectionChangehandler (810efdb) - consume
onChangeTextevents from delegate (427c26c)
🔢 Miscellaneous
- mention that
react-native-reanimatedis a mandatory dependency right now (0c90ac8) - add
avoid keyboardkeyword, update SEO keywords, fix flaky docs e2e tests (a3538f9) - spellcheck integration (64b2e21)
- remove unused
ReanimatedChatFlatlistdirectory from FabricExample app (acacd10) - added
ModalExample(ddc6c37) KeyboardAwareScrollView+FlatListintegration in documentation (065e4db)- added an ability to show video demos in documentation (990574c)
- add API to footer in documentation (2060506)
- docs for 1.12.0 (4cabd4d)
- blogpost for
1.12.0(3be37df)
🚨⚠️🚨 Caution 🚨⚠️🚨
This release doesn't have any breaking changes, but the fix added in d7d2ecd got reverted (because global layout animation is overwriting animation managed by onMove handler - i. e. with this fix in place it's not possible to synchronize keyboard movement and animation driven by onMove handler). The proposed solution is to use useKeyboardHandler hook, for example:
const useReanimatedKeyboardAnimation = () => {
const height = useSharedValue(0);
useKeyboardHandler({
onMove: (e) => {
height.value = e.height;
},
}, []);
return { height };
}Check example of js code to see how it should be handled now 👀