All Versions
33
Latest Version
Avg Release Cycle
49 days
Latest Release
97 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v1.0.22 Changes
June 10, 2019v1.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, 2019v1.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, 2019v1.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()
, orvoid apply()
that comes withSharedPreferences.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, 2019v1.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.
- ๐ Fix a bug that defaultValue was not returned while decoding a
-
v1.0.17 Changes
January 25, 2019v1.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 interfaceMMKVHandler
, update your implementation withwantLogRedirecting()
&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 facingSystem.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, 2019v1.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, 2018v1.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. - Storing NSString/NSData/NSDate directly by calling
-
v1.0.14 Changes
November 30, 2018v1.0.14 / 2018-11-30
๐ iOS / macOS
What's new
- ๐ Setting
nil
value to reset a key is supported now. - ๐ Rename
boolValue(forKey:)
tobool(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.
- ๐ Setting
-
v1.0.13 Changes
November 09, 2018v1.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
andclose
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. Useremove
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 oflibc++_shared.so
that doesn't agree with MMKV.
โ Addimplementation '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
andclose
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. Useremove
instead. - MMKV's file size might expand unexpectly large in some case.
- ๐ Special chars like