1770 Commits

Author SHA1 Message Date
guoling 46bb44d75b upgrade deps 2026-06-03 09:55:32 +08:00
guoling b736535042 tidy docs 2026-06-03 09:55:32 +08:00
guoling 93695ce72c migrate KMP iOS to SPM 2026-06-03 09:55:32 +08:00
guoling 7eb9f5fa47 Fix JVM desktop JNA bool ABI 2026-06-03 09:55:32 +08:00
guoling dc57dd45b5 fix ios leak 2026-06-03 09:55:32 +08:00
guoling 58b321997e fix ios compile error due to CocoaPods not published 2026-06-03 09:55:32 +08:00
guoling e1b24d7a33 Harden KMP release tests and cleanup 2026-06-03 09:55:32 +08:00
guoling 21874201c1 tidy 2026-06-03 09:55:32 +08:00
guoling a12924c235 Add KMP platform parity APIs 2026-06-03 09:55:32 +08:00
guoling 20c8d57dc8 Polish KMP release guards and Android device test 2026-06-03 09:55:32 +08:00
guoling 3c9ee00e07 fix gradle build error 2026-06-03 09:55:32 +08:00
guoling 8b7682e9c6 clean up 2026-06-03 09:55:32 +08:00
guoling 08ad204ca5 Drop KMP workflow files for now 2026-06-03 09:55:32 +08:00
guoling 73867dd54b Merge KMP polish and release readiness 2026-06-03 09:55:32 +08:00
guoling 1c87afd44a Finish KMP release wiring and desktop packaging 2026-06-03 09:55:32 +08:00
guoling 1cde85c73e stash kmp polish work 2026-06-03 09:55:32 +08:00
guoling 5892e0ff3b fix expireDuration overflow bug #1665 2026-06-02 19:06:09 +08:00
guoling 68901025b1 add log 2026-06-02 16:58:56 +08:00
guoling f0b27bc4a1 drop .claude 2026-04-21 14:34:54 +08:00
Guo Ling 815b7d33e2 Merge pull request #1656 from zHElEARN/dev
Add static library option for MMKVAppExtension in SPM
2026-04-13 16:29:24 +08:00
zHElEARN d6876a7089 add the static library MMKVAppExtension-static 2026-04-10 01:16:38 +08:00
guoling de70a23783 Fix oversized key corrupting data due to uint16_t overflow in KeyValueHolder
Keys longer than 65531 bytes cause keySize and computedKVSize (both uint16_t)
to wrap around, silently corrupting the internal offset so that subsequent reads
return garbage. Reject keys exceeding the safe threshold (UINT16_MAX - 4) at
all write and parse entry points.
2026-04-08 16:08:59 +08:00
guoling 316ec96d04 Migrate mmkv Flutter plugin from CocoaPods to SPM #1654
Move source files from darwin/Classes/ to the SPM-compatible layout
under darwin/mmkv_ios/Sources/mmkv_ios/. Add Package.swift with MMKV
dependency from GitHub. Update podspec paths so CocoaPods still works
as a fallback.
2026-03-31 17:26:26 +08:00
guoling 7224f0aa8f Fix -Wmissing-braces 2026-03-27 16:23:03 +08:00
guoling e8168d323a tidy ohos project config 2026-03-25 15:58:11 +08:00
guoling 6a55c88536 enhance random iv 2026-03-25 12:46:48 +08:00
guoling 58920f50e1 update C++ demo code with MMKVHandler 2026-03-25 12:25:12 +08:00
guoling 050d8c874f add NameSpace to c bridge 2026-03-24 19:44:51 +08:00
guoling b90f15a3ef tidy kmp 2026-03-24 17:27:17 +08:00
guoling a380314d5a add desktop for kmp 2026-03-24 17:04:56 +08:00
guoling cd325ff25f fix typo 2026-03-24 15:41:54 +08:00
guoling 3cf58a3777 add win32 & linux support for kmp 2026-03-24 13:29:14 +08:00
guoling 3f2b3999f4 Add universal C interface (cbridge) for MMKV Core
Provide a language-agnostic C99 bridge using standard C types (const char*,
void*, int64_t, etc.) so MMKV Core can be consumed from C-only environments

- Core/cbridge/MMKVBridge.h: pure C header with mmkv_ prefixed API
- Core/cbridge/MMKVBridge.cpp: implementation wrapping MMKV C++ API
- POSIX/demo/demo_c.c: pure C demo exercising all API surface
- CMakeLists.txt updates for core library and demo_c target
2026-03-24 13:28:38 +08:00
guoling e197236714 Add Kotlin Multiplatform (KMP) wrapper for MMKV
KMP module at KMP/ exposes a Kotlin-idiomatic API in commonMain (com.tencent.mmkv.kmp),
with platform-specific implementations:
- androidMain: delegates to the existing com.tencent:mmkv Java library
- darwinMain: uses Kotlin/Native ObjC interop with the MMKV CocoaPod

Includes a Compose Multiplatform sample app (KMP/sample/) that demonstrates
MMKV initialization, encode/decode for all primitive types, named instances,
and key management on both Android and iOS.
2026-03-24 11:02:11 +08:00
guoling b6edcb64dd tidy 2026-03-24 11:02:11 +08:00
guoling a745e6bcaf fix cpp error 2026-03-19 15:41:19 +08:00
guoling 748f883b45 prepare for v2.4.0 2026-03-19 15:25:39 +08:00
guoling a2f49120ae update changelog for v2.4.0 2026-03-18 16:23:10 +08:00
guoling f3ddc30bdc add MMKVHandler.h to CocoaPods public headers and SPM fakeinclude 2026-03-18 16:23:05 +08:00
guoling 9348a93f26 refactor callback system into unified MMKVHandler across all platforms
Replace 4 separate static function pointers (LogHandler, ErrorHandler,
ContentChangeHandler, ContentLoadedHandler) with a single MMKVHandler
abstract class in Core C++. Update all 6 platform wrappers (iOS, Android,
OHOS, Python, Golang, Flutter) to use adapter classes bridging to the new
unified handler. Add onMMKVContentLoadSuccessfully callback to Android,
OHOS, Flutter, Python and Golang where it was previously missing.
2026-03-18 12:40:05 +08:00
guoling d90f664a2e add DefaultMMKVWithConfig() for golang 2026-03-18 12:39:06 +08:00
guoling 588a95ef39 add all-in-one config options to defaultMMKV() for python 2026-03-18 12:39:06 +08:00
guoling d7f2324ae7 add defaultMMKVWithConfig() for ohos 2026-03-18 12:39:06 +08:00
guoling e03452f006 add all-in-one config for golang 2026-03-06 16:17:05 +08:00
guoling 41321fbb6c add new options to python 2026-03-05 16:51:44 +08:00
guoling f4cb2357bc drop oldstyle actual size downgrade support 2026-03-03 20:10:30 +08:00
guoling 0c6d694dad fix iOS leak on getting NameSpace instance 2026-03-03 20:09:09 +08:00
guoling fec30f74c7 robust check on encryption mode #1642 2026-02-24 15:21:51 +08:00
guoling 683382f3d8 add getBytes() with string_view key for ObjC++ 2026-02-24 10:56:18 +08:00
guoling b56ce1004f merge ashmem size with expectedCapacity on Android & OHOS 2026-02-11 12:39:08 +08:00