Commit Graph

71 Commits

Author SHA1 Message Date
guoling f23e95c652 support using MMKVCore at Apple platform in pure C++ code 2025-02-14 19:43:48 +08:00
guoling ead3e4668f add experimental disk corrupt detech on Android/Linux 2025-01-15 11:55:21 +08:00
guoling aad8e484c0 add iOS/macOS/Win32 disk failure protection 2025-01-13 18:11:22 +08:00
guoling d26fa06b2e remove guardForBackgroundWriting() for we are iOS 13+ 2025-01-06 15:58:04 +08:00
guoling d069d7c56a NameSpace for Android complete 2025-01-06 15:58:03 +08:00
guoling 147f89dba7 migrate legacy mmap ID to normal ID 2025-01-06 15:58:01 +08:00
guoling 89b56922e8 1. NameSpace almost work on iOS
2. Upgrade to iOS 13, watchOS 6
3. Dont mkPath() on ReadOnly mode
2025-01-06 15:54:38 +08:00
guoling 0bd466efe3 support correct filename on custom root path 2024-12-24 19:29:07 +08:00
guoling ba4f343de5 protect from invalid value size of auto-key-expire mmkv #1440 2024-11-28 22:31:05 +08:00
guoling 8b8188d536 add log & error & content change callback for flutter & ArtTS 2024-09-12 18:50:33 +08:00
guoling 6688793f59 check getMMKVWithID result and throw exception #1399 2024-09-09 20:43:06 +08:00
guoling 47d3c0893a add readonly support 2024-09-06 19:44:11 +08:00
guoling dcdd4e6d1e use random size holder to make encryption resilient from brute force cracking 2024-07-17 11:28:17 +08:00
guoling 912f8a4ccf fix override bug on encrypted mmkv #1351 2024-07-16 18:38:38 +08:00
guoling 01790453fe use std::string_view to represent key type 2024-05-11 14:44:17 +08:00
guoling 346e8f0f40 fix some testcase error 2024-04-29 14:32:37 +08:00
guoling b990c2bd14 prepare to add vector<T> encode/decode support 2024-04-28 18:49:34 +08:00
guoling db61c3ea60 fix typo 2024-04-28 15:43:13 +08:00
guoling 4cb1891c36 support x64 in windows #1254 2024-04-19 15:29:51 +08:00
MrWander 8aec6da927 bugfix: trim sigbus 2024-03-08 14:00:13 +08:00
guoling d7310af125 include <unistd.h> for unlink() #1233 2024-02-05 19:58:21 +08:00
guoling 3561cee217 rename macro with MMKV prefix to avoid conflict #1215 2023-12-29 11:13:47 +08:00
guoling 962cf09f9c test removeStorage() on Win32 2023-12-06 16:06:00 +08:00
guoling ee1e77be8e test removeStorage() on Android 2023-12-06 14:31:21 +08:00
guoling d3c9e6af28 add removeStorage() 2023-12-06 12:25:35 +08:00
guoling 33b4f108c6 make override much more robust & efficient #1151, #1160 2023-12-01 17:09:05 +08:00
guoling 7de66922e0 add protection in partialLoadFromFile() #1190 2023-11-27 19:24:57 +08:00
guoling 02e07a7c2b make expectCapacity more consistent 2023-11-21 19:43:32 +08:00
guoling c1d5874f57 add CompareBeforeSet for golang 2023-11-16 15:48:26 +08:00
guoling d6fb4a971e Fix several potential crash due to the MMKV file not being valid 2023-11-16 12:44:55 +08:00
guoling 63bfbe9329 msync() on metafile is needed even when keepSpace #1183 2023-10-10 16:20:34 +08:00
Guo Ling 38259ee936 Merge pull request #1183 from kaitian521/fix_crash
add clearAll with keeping file disk space
2023-10-09 11:04:54 +08:00
lishaokai eb9d8c1497 add clearAll with keeping file disk space 2023-10-08 14:07:13 +08:00
guoling 34411268da add catch(...) for each try-catch 2023-09-19 15:04:23 +08:00
guoling 8f312220d0 remove unnecessary std::move 2023-09-15 14:48:20 +08:00
lishaokai 72b59356a9 compare value before set/encode for the same key 2023-09-12 20:36:10 +08:00
lishaokai e0f5321a9a override from beginning of file when dict is empty 2023-08-28 17:42:12 +08:00
Lishaokai c962b68934 Do not append to file when dic.size()==1 && new key in dict 2023-08-23 11:23:58 +08:00
guoling cffee7369c add filterExpire param for count() & allKeys() for flutter 2023-08-10 15:42:44 +08:00
Lishaokai 6a0d0721e0 accurate avgItemSize & avoid of file expand when inserting k-v for the first time #1120 2023-07-29 14:01:13 +08:00
lishaokai 0617e46f7b Avoid of unnecessary msync when inserting key-value for the first time #1109 2023-07-12 17:57:01 +08:00
guoling 6fee34fae7 add filterExpire param for count() & allKeys() #1096 2023-06-20 14:29:34 +08:00
guoling acff50113a add auto-key-expiration for Win32 2023-05-26 18:00:40 +08:00
guoling 852ea1e6c8 add Expire constant 2023-05-26 17:25:20 +08:00
guoling 18598823d6 fix compile error on Xcode 2023-05-24 20:10:51 +08:00
guoling 927d95fd68 add auto-expiration testcase for POSIX 2023-05-24 19:50:57 +08:00
guoling 10b98c06cd fix POSIX compile error 2023-05-24 19:24:18 +08:00
guoling c9f1d7aa92 support auto key expiration: works on iOS 2023-05-24 17:46:46 +08:00
guoling 3e3bb8f6bb fix warning on some compiler #1077 2023-05-16 10:52:11 +08:00
guoling 7211057b80 fix backup bug #1061 2023-04-11 20:42:41 +08:00