Conversation
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.
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
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.
…eHolder 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.
Add static library option for MMKVAppExtension in SPM
Fix Android and iOS KMP API parity, empty-byte handling, handler behavior, and runtime version metadata. Harden standalone native interop and Maven Central publication, add smoke tests and publishing documentation, and validate the published package on a physical iPhone.
Add Android source JARs, support the existing repository credentials and file-based Gradle signing for KMP, and avoid shared signature outputs across target publications.
Document KMP in the root readmes and complete the v2.4.1 release settings. Automatically transfer completed Gradle maven-publish uploads from the OSSRH Staging API to Central Portal, removing the manual curl step while keeping user-managed review as the default.
Member
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.