All Versions
34
Latest Version
Avg Release Cycle
53 days
Latest Release
55 days ago

Changelog History
Page 1

  • v1.2.14 Changes

    August 10, 2022

    ๐Ÿ”„ Changes for All platforms

    • ๐Ÿ›  Fix a bug that MMKV.getXXX() may return invalid results in multi-process mode.

    Android

    • Return [] instead of null on empty StringSet from MMKV.decodeStringSet() methods.
    • โฌ†๏ธ Upgrade Android Compile & Target SDK to 32.

    iOS

    • Protect from the crash in -[MMKV getObject:forKey:] method when the key-value doesn't exist.
  • v1.2.13 Changes

    March 30, 2022

    Android

    • Fix crash on using Ashmem while MMKV_DISABLE_CRYPT macro is defined.

    iOS

    • โž• Add ability to retrieve key existece while getting value, aka -[MMKV getXXX:forKey:hasValue:] methods.

    POSIX

    • โž• Add ability to retrieve key existece while getting value, aka MMKV::getXXX(key, defaultValue, hasValue) methods.

    Win32

    • โž• Add ability to retrieve key existece while getting value, aka MMKV::getXXX(key, defaultValue, hasValue) methods.
  • v1.2.12 Changes

    January 17, 2022

    ๐Ÿ”„ Changes for All platforms

    • ๐Ÿ›  Fix a bug that a subsequential clearAll() call may fail to take effect in multi-process mode.
    • Hide some OpenSSL symbols to prevent link-time symbol conflict, when an App somehow also static linking OpenSSL.

    Android

    • โฌ†๏ธ Upgrade compileSdkVersion & targetSdkVersion from 30 to 31.
  • v1.2.11 Changes

    October 26, 2021

    Android

    • Due to increasing report about crash inside STL, we have decided to make MMKV static linking libc++ by default. Starting from v1.2.11, com.tencent:mmkv-static is the same as com.tencent:mmkv.
    • For those still in need of MMKV with shared linking of libc++_shared, you could use com.tencent:mmkv-shared instead.
    • โž• Add backup & restore ability.

    ๐ŸŽ iOS / macOS

    • โž• Add backup & restore ability.
    • ๐Ÿ‘Œ Support tvOS.
    • ๐Ÿ›  Fix a compile error on some old Xcode.
  • v1.2.10 Changes

    June 25, 2021

    This version is mainly for Android & Flutter.

    Android

    • ๐Ÿ“š Complete JavaDoc documentation for all public methods, classes, and interfaces. From now on, you can find the API reference online.
    • Drop the support of armeabi arch. Due to some local build cache mistake, the last version (v1.2.9) of MMKV still has an unstripped armeabi arch inside. This is fixed.
    • ๐Ÿ”„ Change MMKV.mmkvWithID() from returning null to throwing exceptions on any error.
    • โž• Add MMKV.actualSize() to get the actual used size of the file.
    • ๐Ÿ—„ Mark MMKV.commit() & MMKV.apply() as deprecated, to avoid some misuse after migration from SharedPreferences to MMKV.
  • v1.2.9 Changes

    May 26, 2021

    This version is mainly for Android & Flutter.

    Android

    • Drop the support of armeabi arch. As has been mention in the last release, to avoid some crashes on the old NDK (r16b), and make the most of a more stable libc++, we have decided to upgrade MMKV's building NDK in this release. That means we can't support armeabi anymore. Those who still in need of armeabi can build from sources by following the instruction in the wiki.

    We really appreciate your understanding.

  • v1.2.8 Changes

    May 06, 2021

    This will be the last version that supports armeabi arch on Android. To avoid some crashes on the old NDK (r16b), and make the most of a more stable libc++, we have decided to upgrade MMKV's building NDK in the next release. That means we can't support armeabi anymore.

    We really appreciate your understanding.

    Android

    • Migrate MMKV to Maven Central Repository. For versions older than v1.2.7 (including), they are still available on JCenter.
    • โž• Add MMKV.disableProcessModeChecker(). There are some native crash reports due to the process mode checker. You can disable it manually.
    • ๐Ÿš€ For the same reason described above (native crashed), MMKV will now turn off the process mode checker on a non-debuggable app (aka, a release build).
    • For MMKV to detect whether the app is debuggable or not, when calling MMKV.initialize() to customize the root directory, a context parameter is required now.

    ๐ŸŽ iOS / macOS

    • โฌ†๏ธ Min iOS support has been upgrade to iOS 9.
    • ๐Ÿ‘Œ Support building by Xcode 12.
  • v1.2.7 Changes

    December 25, 2020

    Happy holidays everyone!

    ๐Ÿ”„ Changes for All platforms

    • ๐Ÿ›  Fix a bug when calling sync() with false won't do msync() asynchronous and won't return immediately.

    Android

    • ๐Ÿ›  Fix an null pointer exception when calling putStringSet() with null.
    • Complete review of all MMKV methods about Java nullable/nonnull annotation.
    • โž• Add API for MMKV.initialize() with both Context and LibLoader parammeters.

    Flutter

    • ๐Ÿ›  Fix a crash on the iOS simulator when accessing the default MMKV instance.
    • ๐Ÿ›  Fix a bug on iOS when initing the default MMKV instance with a crypt key, the instance is still in plaintext.

    Golang

    โž• Add golang for POSIX platforms. Most things actually work!. Check out the wiki for information.

  • v1.2.6 Changes

    November 27, 2020

    v1.2.6 / 2020-11-27

    ๐Ÿ”„ Changes for All platforms

    • ๐Ÿ›  Fix a file corruption when calling reKey() after removeKeys() has just been called.

    Android

    • Fix compile error when MMKV_DISABLE_CRYPT is set.
    • Add a preprocess directive MMKV_DISABLE_FLUTTER to disable flutter plugin features. If you integrate MMKV by source code, and if you are pretty sure the flutter plugin is not needed, you can turn that off to save some binary size.

    Flutter

    Add MMKV support for Flutter on iOS & Android platform. Most things actually work!
    Check out the wiki for more info.

  • v1.2.5 Changes

    November 13, 2020

    v1.2.5 / 2020-11-13

    ๐Ÿ”Œ This is a pre-version for Flutter. The official Flutter plugin of MMKV will come out soon. Stay Tune!

    ๐ŸŽ iOS / macOS

    • ๐Ÿ›  Fix an assert error of encrypted MMKV when encoding some <NSCoding> objects.
    • ๐Ÿ›  Fix a potential leak when decoding duplicated keys from the file.
    • โž• Add +[MMKV pageSize], +[MMKV version] methods.
    • โž• Add +[MMKV defaultMMKVWithCryptKey:], you can encrypt the default MMKV instance now, just like the Android users who already enjoy this for a long time.
    • ๐Ÿ“‡ Rename -[MMKV getValueSizeForKey:] to -[MMKV getValueSizeForKey: actualSize:] to align with Android interface.

    Android

    • ๐Ÿ›  Fix a potential crash when getting MMKV instances in multi-thread at the same time.
    • โž• Add MMKV.version() method.