All Versions
33
Latest Version
Avg Release Cycle
49 days
Latest Release
97 days ago

Changelog History
Page 3

  • v1.0.22 Changes

    June 10, 2019

    v1.0.22 / 2019-06-10

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ›  Fix a bug that MMKV will corrupt while adding just one key-value, and reboot or clear memory cache. This bug was introduced in v1.0.21.

    Android

    What's new

    • ๐Ÿ›  Fix a bug that MMKV will corrupt while adding just one key-value, and reboot or clear memory cache. This bug was introduced in v1.0.21.

    Win32

    What's new

    • ๐Ÿ›  Fix a bug that MMKV will corrupt while adding just one key-value, and reboot or clear memory cache. This bug was introduced in v1.0.21.
  • v1.0.21 Changes

    June 06, 2019

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ›  Fix a bug that MMKV might corrupt while repeatedly adding & removing key-value with specific length. This bug was introduced in v1.0.20.

    Android

    What's new

    • ๐Ÿ›  Fix a bug that MMKV might corrupt while repeatedly adding & removing key-value with specific length. This bug was introduced in v1.0.20.

    Win32

    What's new

    • ๐Ÿ›  Fix a bug that MMKV might corrupt while repeatedly adding & removing key-value with specific length. This bug was introduced in v1.0.20.
  • v1.0.20 Changes

    June 05, 2019

    v1.0.20 / 2019-06-05

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ›  Fix a bug that MMKV might crash while storing key-value with specific length.
    • ๐Ÿ›  Fix a bug that -[MMKV trim] might not work properly.

    Android

    What's new

    • Migrate to AndroidX library.
    • ๐Ÿ›  Fix a bug that MMKV might crash while storing key-value with specific length.
    • ๐Ÿ›  Fix a bug that trim() might not work properly.
    • ๐Ÿ›  Fix a bug that dead-lock might be reported by Android mistakenly.
    • Using RegisterNatives() to simplify native method naming.

    Win32

    • ๐Ÿ›  Fix a bug that MMKV might crash while storing key-value with specific length.
    • ๐Ÿ›  Fix a bug that trim() might not work properly.
    • ๐Ÿ›  Fix a bug that clearAll() might not work properly.
  • v1.0.19 Changes

    April 22, 2019

    v1.0.19 / 2019-04-22

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ‘Œ Support Swift 5.
    • โž• Add method to get all keys -[MMKV allKeys];
    • โž• Add method to synchronize to file asynchronously -[MMKV async].
    • Fix a pod configuration bug that might override target project's C++ setting on CLANG_CXX_LANGUAGE_STANDARD.
    • Fix a bug that DEFAULT_MMAP_SIZE might not be initialized before getting any MMKV instance.
    • ๐Ÿ›  Fix a bug that openssl's header files included inside MMKV might mess with target project's own openssl implementation.

    Android

    What's new

    • ๐Ÿ‘Œ Support Android Q.
    • โž• Add method to synchronize to file asynchronously void sync(), or void apply() that comes with SharedPreferences.Editor interface.
    • ๐Ÿ›  Fix a bug that a buffer with length of zero might be returned when the key is not existed.
    • Fix a bug that DEFAULT_MMAP_SIZE might not be initialized before getting any MMKV instance.
  • v1.0.18 Changes

    March 14, 2019

    v1.0.18 / 2019-03-14

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ›  Fix a bug that defaultValue was not returned while decoding a NSCoding value.
    • ๐Ÿ›  Fix a compile error on static linking MMKV while openssl is static linked too.

    Android

    What's new

    • Introducing Native Buffer. Checkout wiki for details.
    • ๐Ÿ›  Fix a potential crash when trying to recover data from file length error.
    • Protect from mistakenly passing Context.MODE_MULTI_PROCESS to init MMKV.

    Win32

    • ๐Ÿ›  Fix a potential crash when trying to recover data from file length error.
  • v1.0.17 Changes

    January 25, 2019

    v1.0.17 / 2019-01-25

    ๐ŸŽ iOS / macOS

    What's new

    • ๐ŸŒฒ Redirect logging of MMKV is supported now.
    • ๐ŸŒฒ Dynamically disable logging of MMKV is supported now.
    • โž• Add method migrateFromUserDefaults to import from NSUserDefaults.

    Android

    What's new

    • ๐ŸŒฒ Redirect logging of MMKV is supported now.
    • ๐ŸŒฒ Dynamically disable logging of MMKV is supported now.
      โšก๏ธ Note: These two are breaking changes for interface MMKVHandler, update your implementation with wantLogRedirecting() & mmkvLog() for v1.0.17. (Interface with default method requires API level 24, sigh...)
    • Add option to use custom library loader initialize(String rootDir, LibLoader loader). If you're facing System.loadLibrary() crash on some low API level device, consider using ReLinker to load MMKV. Example can be found in mmkvdemo.
    • ๐Ÿ›  Fix a potential corruption of meta file on multi-process mode.
    • ๐Ÿ›  Fix a potential crash when the meta file is not valid on multi-process mode.

    Win32

    • ๐ŸŒฒ Redirect logging of MMKV is supported now.
    • ๐ŸŒฒ Dynamically disable logging of MMKV is supported now.
    • ๐Ÿ›  Fix a potential corruption of meta file on multi-process mode.
  • v1.0.16 Changes

    January 04, 2019

    v1.0.16 / 2019-01-04

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ‘ Customizing root folder of MMKV is supported now.
    • ๐Ÿ‘ Customizing folder for specific MMKV is supported now.
    • โž• Add method getValueSizeForKey: to get value's size of a key.

    Android

    What's new

    • ๐Ÿ‘ Customizing root folder of MMKV is supported now.
    • ๐Ÿ‘ Customizing folder for specific MMKV is supported now.
    • โž• Add method getValueSizeForKey() to get value's size of a key.
    • ๐Ÿ›  Fix a potential crash when the meta file is not valid.

    Win32

    ๐Ÿš€ MMKV for Windows is released now. Most things actually work!

  • v1.0.15 Changes

    December 13, 2018

    v1.0.15 / 2018-12-13

    ๐ŸŽ iOS / macOS

    What's new

    • Storing NSString/NSData/NSDate directly by calling setString/getSring, setData/getData, setDate/getDate.
    • ๐Ÿ›  Fix a potential crash due to divided by zero.

    Android

    What's new

    • Fix a stack overflow crash due to the callback feature introduced by v1.0.13.
    • ๐Ÿ›  Fix a potential crash due to divided by zero.

    Win32

    ๐Ÿš€ MMKV for Win32 in under construction. Hopefully will come out in next release. For those who are interested, check out branch dev_win32 for the latest development.

  • v1.0.14 Changes

    November 30, 2018

    v1.0.14 / 2018-11-30

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ‘ Setting nil value to reset a key is supported now.
    • ๐Ÿ“‡ Rename boolValue(forKey:) to bool(forKey:) for Swift.

    Android

    What's new

    • Parcelable objects can be stored directly into MMKV now.
    • ๐Ÿ‘ Setting null value to reset a key is supported now.
    • ๐Ÿ›  Fix an issue that MMKV's file size might expand unexpectly large in some case.
    • ๐Ÿ›  Fix an issue that MMKV might crash on multi-thread removing and getting on the same key.
  • v1.0.13 Changes

    November 09, 2018

    v1.0.13 / 2018-11-09

    ๐ŸŽ iOS / macOS

    What's new

    • ๐Ÿ‘ Special chars like / are supported in MMKV now. The file name of MMKV with special mmapID will be encoded with md5 and stored in seperate folder.
    • Add callback for MMKV error handling. You can make MMKV to recover instead of discard when crc32 check fail happens.
    • โž• Add trim and close operation. Generally speaking they are not necessary in daily usage. Use them if you worry about disk / memory / fd usage.
    • ๐Ÿ›  Fix an issue that MMKV's file size might expand unexpectly large in some case.

    Known Issues

    • ๐Ÿšš Setting nil value to reset a key will be ignored. Use remove instead.

    Android

    What's new

    • Add static linked of libc++ to trim AAR size. Use it when there's no other lib in your App embeds libc++_shared.so. Or if you already have an older version of libc++_shared.so that doesn't agree with MMKV.
      โž• Add implementation 'com.tencent:mmkv-static:1.0.13' to your App's gradle setting to integrate.
    • ๐Ÿ‘ Special chars like / are supported in MMKV now. The file name of MMKV with special mmapID will be encoded with md5 and stored in seperate folder.
    • Add callback for MMKV error handling. You can make MMKV to recover instead of discard when crc32 check fail happens.
    • โž• Add trim and close operation. Generally speaking they are not necessary in daily usage. Use them if you worry about disk / memory / fd usage.

    Known Issues

    • ๐Ÿšš Setting null value to reset a key will be ignored. Use remove instead.
    • MMKV's file size might expand unexpectly large in some case.