GitPedia
ammarahm-ed

ammarahm-ed/react-native-mmkv-storage

An ultra fast (0.0002s read/write), small & encrypted mobile key-value storage framework for React Native written in C++ using JSI

30 Releases
Latest: 6mo ago
v12.0.1Latest
ammarahm-edammarahm-ed·6mo ago·December 4, 2025
GitHub

📋 What's Changed

  • Fix nvalid bin path in package.json by @ammarahm-ed in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/381
  • [Fix Exception in HostFunction unknown on iOS ](https://github.com/ammarahm-ed/react-native-mmkv-storage/commit/2ecfdebadcba21ea707c40544c0b8f0a48bab57e)https://github.com/ammarahm-ed/react-native-mmkv-storage/issues/363
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v12.0.0...v12.0.1
v12.0.0
ammarahm-edammarahm-ed·9mo ago·August 25, 2025
GitHub

📋 What's Changed

  • Support 16 KB page-size on Android (NDK r27 + MMKV v1.3.14) by @JacobFJ in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/379
  • remove __turboModuleProxy from jest mock by @paulschreiber in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/370

New Contributors

  • @JacobFJ made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/379
  • @paulschreiber made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/370
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.11.0...v12.0.0
v0.11.0
ammarahm-edammarahm-ed·1y ago·November 3, 2024
GitHub

📋 What's Changed

  • Add support for new architecture by @ammarahm-ed in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/367
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.10.3...v0.11.0
v0.10.3
ammarahm-edammarahm-ed·1y ago·August 21, 2024
GitHub

What's New

  • Upgrade to MMKV v1.3.9
  • Upgrade example app to react-native 0.75.2
  • Added [useMMKVRef](https://rnmmkv.vercel.app/#/usemmkvref) hook

📋 What's Changed

  • removed unnecessary move by @polishchlieb in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/328
  • chore: fix broken docs link by @Mookiies in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/330
  • fix: Encryption typings by @Mookiies in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/331
  • chore(docs): fixed typo in docs for getKeys by @JeneaVranceanu in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/333
  • chore: allowing higher patch version of mmkv pod by @normanzb in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/334
  • Fix detox 0.71 error duplicated libc++_shared.so for Android builds by @ayush-shta in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/336
  • fix detox 0.72 error duplicated libfbjni.so for Android builds by @claired4l in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/340
  • chore: grammar fix, transcation to transaction by @giacomocerquone in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/344
  • + 3 more

New Contributors

  • @polishchlieb made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/328
  • @JeneaVranceanu made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/333
  • @normanzb made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/334
  • @ayush-shta made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/336
  • @claired4l made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/340
  • @giacomocerquone made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/344
  • @sidferreira made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/351
  • @josephyanks made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/343
  • + 2 more
v0.9.0
ammarahm-edammarahm-ed·3y ago·March 10, 2023
GitHub

💥 Breaking Change

  • Works only on react native 0.71.x and above.

📋 What's Changed

  • docs: update usage of MMKVLoader in readme by @unfernandito in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/274
  • Update flipper doc by @pnthach95 in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/278
  • Update README.md by @pfcodes in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/288
  • fix: API of getItem and setItem now match AsyncStorage by @mmmoussa in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/293
  • Fix apollo interface wrapper by @cdaleas in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/302
  • Add supports for RN 0.71 by @focux in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/305

New Contributors

  • @pfcodes made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/288
  • @mmmoussa made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/293
  • @cdaleas made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/302
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.8.0...v0.9.0
v0.8.0
ammarahm-edammarahm-ed·3y ago·July 28, 2022
GitHub

📋 What's Changed

  • Update MMKV from 1.2.10 to 1.2.13 by @andrei-tofan in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/257
  • Removed conditional imports in ObjC files by @amrfarid140 in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/259
  • fix: incorrect default iOS keychain accessibility level by @JoniVR in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/263
  • Fixed README.md typos by @TheYuriG in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/267
  • [fix: incomplete implementation of transaction manager](https://github.com/ammarahm-ed/react-native-mmkv-storage/commit/eefda9a3231232a9a6217dd887bc62594f3f7db5)
  • Fix mmkv causing a crash when app is closed

📦 Flipper Support 🎉

  • ![](https://github.com/pnthach95/flipper-plugin-react-native-mmkv-storage/raw/main/docs/example.gif)
  • You can install it directly from plugin manager:
  • ![](https://github.com/pnthach95/flipper-plugin-react-native-mmkv-storage/raw/main/docs/manager.png)

💥 BREAKING CHANGE

  • ```js
  • export const encryptedStorage = new MMKVLoader()
  • .setAccessibleIOS(IOSAccessibleStates.WHEN_UNLOCKED)
  • .withInstanceID('encrypted')
  • .withEncryption()
  • .initialize();
  • ```

New Contributors

  • @amrfarid140 made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/259
  • @TheYuriG made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/267
  • [pnthach95](https://github.com/pnthach95/flipper-plugin-react-native-mmkv-storage/commits?author=pnthach95)
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.7.6...v0.8.0
v0.7.6
ammarahm-edammarahm-ed·4y ago·May 22, 2022
GitHub

📋 What's Changed

  • Fix useMMKVStorage typings and falsy values persistance by @douugbr in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/254
  • Added support for RN 0.69

New Contributors

  • @douugbr made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/254
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.7.5...v0.7.6
v0.7.5
ammarahm-edammarahm-ed·4y ago·May 11, 2022
GitHub

Fix: set `defaultValue` parameter in `useMMKVStorage` hook optional

v0.7.4
ammarahm-edammarahm-ed·4y ago·May 11, 2022
GitHub

📋 What's Changed

  • Fix: check for undefined on pathname when checking for chrome debugger by @hosseintalebi in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/250
  • Use RCTBridgeModule's bridge property instead of [RCTBridge currentBridge] by @cltnschlosser in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/249
  • Fix `removeItem` breaking `useMMKVStorage` hook #252
  • Fix `useMMKVStorage` hook not returning same default value as get/set functions #252

New Contributors

  • @hosseintalebi made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/250
  • @cltnschlosser made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/249
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.7.3...v0.7.4
v0.7.3
ammarahm-edammarahm-ed·4y ago·May 8, 2022
GitHub

📋 What's Changed

  • fix: useMMKVStorage nextValue as a function by @tony-sanchez in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/247

New Contributors

  • @tony-sanchez made their first contribution in https://github.com/ammarahm-ed/react-native-mmkv-storage/pull/247
  • Full Changelog: https://github.com/ammarahm-ed/react-native-mmkv-storage/compare/v0.7.2...v0.7.3
v0.7.2
ammarahm-edammarahm-ed·4y ago·April 29, 2022
GitHub

What's New

  • 1. Remote Debugging with in-memory adapter
  • 2. Add type assertions when setting values to storage #240

🐛 What's Fixed

  • 4. Fix CI issues when building project on android #242
  • 5. Fix `useMMKVStorage` hook not updating when removing a value or setting it to null/undefined #163 @autoreleasefool

📋 What's Changed

  • The default `MMKVStorage.Loader` import has been deprecated in favor of direct importing. @unfernandito
  • Before:
  • ```js
  • import MMKVStorage from "react-native-mmkv-storage";
  • const MMKV = new MMKVStorage.Loader().initialize();
  • ```
  • Now more simple and clear:
  • ```js
  • + 3 more
v0.7.1
ammarahm-edammarahm-ed·4y ago·April 13, 2022
GitHub

📋 Changes

  • fix: add missing types on async functions
v0.7.0
ammarahm-edammarahm-ed·4y ago·April 12, 2022
GitHub

What's New

  • 1. Migrate codebase to typescript
  • 2. Add support for RN 0.68 #230
  • 3. Add new builder function `withPersistedDefaultValues`. Use it to persist default value passed to hook
  • 4. Added in-memory storage adapter which can be used for testing with jest.
  • 5. Run example app with local symlinks
  • 6. Expo support in docs
  • 7. Add support for type generics in `useMMKVStorage` hook

🐛 What's Fixed

  • 2. [fix: incorrect return type for hooks](https://github.com/ammarahm-ed/react-native-mmkv-storage/commit/f94d10fd111569244ffa83fdc10a62c1f1367795)
  • 3. Fix mmkv not init on main thread on iOS
v0.6.12
ammarahm-edammarahm-ed·4y ago·February 1, 2022
GitHub

📋 Changes

  • Fix build failing on android when upgrading from 0.6.10
v0.6.11
ammarahm-edammarahm-ed·4y ago·January 29, 2022
GitHub

📋 Changes

  • Fix #195 & #141
  • Change theme of documentation to improve readability
v0.6.10
ammarahm-edammarahm-ed·4y ago·January 21, 2022
GitHub

📋 Changes

  • Fixed auto linking in React Native 0.67.x
v0.6.9
ammarahm-edammarahm-ed·4y ago·January 15, 2022
GitHub

What's New

  • Fixed migration from 0.3.7 to 0.6.x
  • Fixed `defaultValue` not passed as a param when using a mutator function in `setValue`.
v0.6.8
ammarahm-edammarahm-ed·4y ago·January 8, 2022
GitHub

1. Fix multiple META-INF/MANIFEST.MF path error during detox build #199 Thanks to @andreialecu and @gersomvg 2. Fixed support for android API 21 & 22. #196

v0.6.7
ammarahm-edammarahm-ed·4y ago·December 29, 2021
GitHub

📋 Changes

  • Fix google developer console security warning/app review rejection #194
  • Fix typescript compilation errors @hatem-72
  • Fix multiple `META-INF/MANIFEST.MF` path error @gersomvg
  • Fix migration issue when upgrading from v0.4.4
  • Refactor C++ code on android @waqar144
  • Add notice about the `Map` data type not being supported @DysphoricUnicorn
  • Fix return type for `getKeys` @Mookiies
  • Update docs related to `useIndex`/`useMMKVStorage` hooks
v0.6.6
ammarahm-edammarahm-ed·4y ago·October 18, 2021
GitHub

📦 Auto linking on android

  • Thanks to @retyui. Now you can simply link library with your project with a single command.
  • ```
  • `npx mmkv-link`
  • ```

🐛 Fixed

  • Fixed build issues on android, especially on older versions of react-native.
  • Added missing dependencies to `setNewValue` function in `useMMKVStorage` hook
v0.6.5
ammarahm-edammarahm-ed·4y ago·October 7, 2021
GitHub

📋 Changes

  • Fix build failing on RN 0.66
v0.6.4
ammarahm-edammarahm-ed·4y ago·September 22, 2021
GitHub

📋 Changes

  • Add support for monorepo projects
  • Fix falsy value not being set in hook #163 Thanks to @pnthach95
v0.6.3
ammarahm-edammarahm-ed·4y ago·September 21, 2021
GitHub

📋 Changes

  • Remove fixed cmake version from build.gradle
v0.6.2
ammarahm-edammarahm-ed·4y ago·September 21, 2021
GitHub

📋 Changes

  • Fix build failing on App Center, App Circle & Gitlab etc. #160
  • Simplify cmake build
v0.6.1
ammarahm-edammarahm-ed·4y ago·September 18, 2021
GitHub

📋 Changes

  • Trigger `useMMKVStorage` change when `removeItem` is called
  • move `getAllMMKVInstanceIDs` and `getCurrentMMKVInstanceIDs` to module level
  • `hasKey` functions in indexer are now synchronous
  • Allow changing when `key` and/or `storage` in `useMMKVStorage` hook at runtime
  • Add `clearMemoryCache` function
  • Add `getKey` function to get encryption key of current MMKV instance
  • Prevent a possible crash when sending incorrect parameters to `create` function.
  • Do not recompile jsi.cpp from source on Android
  • + 7 more

What's new

  • Transactions
  • ```js
  • storage.transactions.register("object","onwrite",(key,value) => {
  • //do something
  • })
  • ```
  • Remember that these are not events but functions. If you register the same type of function twice, the later will take precedence.
  • useIndex
  • + 3 more
v0.6.0
ammarahm-edammarahm-ed·5y ago·June 9, 2021
GitHub

🐛 Fixed

  • 1. Null exception while migrating if value for key is null
  • 2. `create` function not imported correctly.
  • 3. Trigger useMMKVStorage change when removeItem is called Thanks @frw
  • 4. improved types definition for useMMKVStorage hook Thanks @Thanaen
v0.5.9
ammarahm-edammarahm-ed·5y ago·May 27, 2021
GitHub

What's new

  • 1. The library now exports a simple `create` function which you can use to create a `useMMKVStorage` hook.
  • 2. The `useMMKVStorage` hook now supports setter functions. #98 Thanks to @SaltedBlowfish

🐛 What's fixed

  • 1. useMMKVStorage return value if it exists on init #105 by @vokhuyetOz
  • 2. Minor fixes in the docs.
v0.5.8
ammarahm-edammarahm-ed·5y ago·May 7, 2021
GitHub

1. Fixed unable to access storage after calling `clearStore` #95

v0.5.7
ammarahm-edammarahm-ed·5y ago·April 30, 2021
GitHub

1. Fix return type on useMMKVStorage hook to pass ts typecheck script #92 @mateosilguero & @mmapplebeck 2. Removed console.log from `useMMKVStorage` hook 3. Convert `removeItem` & `clearStore` methods to sync.

v0.5.6
ammarahm-edammarahm-ed·5y ago·April 28, 2021
GitHub

Fixed build failing on android #91