Prepare for v2.4.3 hotfix

This commit is contained in:
guoling
2026-10-15 19:36:56 +08:00
parent 2d654ef733
commit 522cf55fa1
43 changed files with 130 additions and 72 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ org.gradle.jvmargs=-Xmx1536m
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
VERSION_NAME_PREFIX=2.4.2
VERSION_NAME_PREFIX=2.4.3
#VERSION_NAME_SUFFIX=-SNAPSHOT
VERSION_NAME_SUFFIX=
+30
View File
@@ -1,4 +1,34 @@
# MMKV Change Log
## v2.4.3 / 2026-10-16
This is a bugfix release based on v2.4.2, focused on encryption, expiration, imports, and file recovery. It also adds Android KMP initialization without an explicit Context and non-expired-key enumeration on Apple platforms.
### Changes for All Platforms
* **Fix:** Prevented IV reuse when repeatedly updating an encrypted store containing a single key.
* **Fix:** Loaded expiration state before the first read or write after reopening a store, and honored expiration in read-only reads, key lists, and counts.
* **Fix:** Fixed lock-order deadlocks in `importFrom()` ([#1688](https://github.com/tencent/mmkv/issues/1688)) and `removeStorage()`. Callers must still prevent concurrent use of an instance being removed.
* **Fix:** Preserved source values when importing into encrypted stores, rejected self-import, and counted only successful imports.
* **Fix:** Corrected unsigned protobuf value-length decoding and hardened key/value length checks, payload growth, expiration migration, and encryption removal against oversized or unrepresentable data.
* **Fix:** Corrected file-size validation, undersized-file handling, read-only recovery, and cached restore mapping checks; required complete whole-file reads and zero-fill writes.
* **Fix:** Corrected small-buffer moves and resets to avoid truncation errors and unaligned access.
### Kotlin Multiplatform
* **Fix:** Restored Android string-write interoperability with the native Java API.
* **Feature:** Added Android `MMKV.initialize()` without an explicit Context using AndroidX App Startup. Explicit Context initialization remains available.
### iOS/macOS
* **Fix:** Made `enumerateKeys:` safe when callbacks read expired values.
* **Feature:** Added `enumerateNonExpiredKeys:` to filter expired keys at the start of enumeration.
### HarmonyOS NEXT
* **Fix:** Validated ArrayBuffer slice ranges, backing-buffer bounds, and typed-array alignment before accessing memory.
### Flutter
* **Fix:** Prevented an Android plugin detach crash when `libmmkv.so` is unavailable for the device ABI ([#1687](https://github.com/tencent/mmkv/pull/1687)).
### POSIX/Linux
* **Fix:** Completed short and interrupted file-copy operations, including Linux `sendfile()` transfers.
## v2.4.2 / 2026-08-21
This is a hotfix release based on v2.4.1. It adds targeted encrypted-write and backup/restore checks, fixes Kotlin Multiplatform consistency issues, and repairs native package build/link regressions.
+1 -1
View File
@@ -34,7 +34,7 @@
#include <vector>
#include <unordered_map>
constexpr auto MMKV_VERSION = "v2.4.2";
constexpr auto MMKV_VERSION = "v2.4.3";
#ifdef DEBUG
# define MMKV_DEBUG
+8 -8
View File
@@ -8,18 +8,18 @@ same build.
Confirm that these versions match:
```text
Core/MMKVPredef.h v2.4.2
Android/MMKV/gradle.properties 2.4.2
KMP/gradle.properties 2.4.2
MMKV*.podspec 2.4.2
Core/MMKVPredef.h v2.4.3
Android/MMKV/gradle.properties 2.4.3
KMP/gradle.properties 2.4.3
MMKV*.podspec 2.4.3
```
The release tag `v2.4.2` must exist before publishing because the standalone
The release tag `v2.4.3` must exist before publishing because the standalone
KMP native build fallback resolves MMKV Core from that tag.
## 2. Publish the Android dependency locally
The KMP Android target depends on `com.tencent:mmkv:2.4.2`.
The KMP Android target depends on `com.tencent:mmkv:2.4.3`.
Use one workspace-local repository for both the Android dependency and the KMP
publications. The commands below keep Gradle's project caches under the ignored
KMP build directory without changing `GRADLE_USER_HOME`.
@@ -61,7 +61,7 @@ KMP/gradlew -p KMP :mmkv:connectedAndroidDeviceTest \
```
Before release, also install the sample as an external consumer of
`com.tencent:mmkv-kmp:2.4.2` on physical Android and iOS devices. Opting into
`com.tencent:mmkv-kmp:2.4.3` on physical Android and iOS devices. Opting into
the sample with `MMKV_USE_PUBLISHED=true` disables its unpublished desktop
target and replaces `project(":mmkv")` with the root KMP coordinate:
@@ -220,7 +220,7 @@ After Maven Central synchronization, test a clean project without
```kotlin
commonMain.dependencies {
implementation("com.tencent:mmkv-kmp:2.4.2")
implementation("com.tencent:mmkv-kmp:2.4.3")
}
```
+9 -9
View File
@@ -11,7 +11,7 @@ Add the MMKV KMP package to your shared module:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.tencent:mmkv-kmp:2.4.2")
implementation("com.tencent:mmkv-kmp:2.4.3")
}
}
}
@@ -23,7 +23,7 @@ Android consumers should have AndroidX enabled in `gradle.properties`:
android.useAndroidX=true
```
Supported targets in v2.4.2:
Supported targets in v2.4.3:
* Android
* `iosArm64`
@@ -38,16 +38,16 @@ iOS 14.
For this experimental release, consumers should depend only on the root artifact:
```text
com.tencent:mmkv-kmp:2.4.2
com.tencent:mmkv-kmp:2.4.3
```
Gradle uses Kotlin Multiplatform metadata to select the target artifact:
```text
com.tencent:mmkv-kmp-android:2.4.2
com.tencent:mmkv-kmp-iosarm64:2.4.2
com.tencent:mmkv-kmp-iossimulatorarm64:2.4.2
com.tencent:mmkv-kmp-iosx64:2.4.2
com.tencent:mmkv-kmp-android:2.4.3
com.tencent:mmkv-kmp-iosarm64:2.4.3
com.tencent:mmkv-kmp-iossimulatorarm64:2.4.3
com.tencent:mmkv-kmp-iosx64:2.4.3
```
Do not add the target-specific artifacts directly.
@@ -139,7 +139,7 @@ by the same native instance become invalid immediately. The caller must ensure
that no operation is running and no reference is used afterward. Discard every
reference before reopening the same ID.
Android delegates to the native `com.tencent:mmkv:2.4.2` AAR. iOS embeds MMKV
Android delegates to the native `com.tencent:mmkv:2.4.3` AAR. iOS embeds MMKV
Core through the C bridge in the published native KLIBs, so consumers do not
need CocoaPods, Swift Package Manager, or a source build.
@@ -158,7 +158,7 @@ cd KMP
```
`MMKV_USE_MAVEN_LOCAL=true` is needed when the matching
`com.tencent:mmkv:2.4.2` Android artifact has been published only to Maven
`com.tencent:mmkv:2.4.3` Android artifact has been published only to Maven
Local.
Release maintainers should also follow [PUBLISHING.md](./PUBLISHING.md).
+3 -3
View File
@@ -12,14 +12,14 @@ kotlin.native.cacheKind.iosArm64=none
kotlin.native.cacheKind.iosSimulatorArm64=none
# Published KMP wrapper coordinates
MMKV_VERSION=2.4.2
VERSION_NAME=2.4.2
MMKV_VERSION=2.4.3
VERSION_NAME=2.4.3
GROUP=com.tencent
POM_ARTIFACT_ID=mmkv-kmp
# Native iOS cbridge fetch overrides used when building outside this monorepo.
# MMKV_GIT_REPOSITORY=https://github.com/Tencent/MMKV.git
# MMKV_GIT_TAG=v2.4.2
# MMKV_GIT_TAG=v2.4.3
# MMKV_GIT_BRANCH=<branch>
# MMKV_GIT_COMMIT=<commit>
+1 -1
View File
@@ -29,7 +29,7 @@ plugins {
id("signing")
}
val mmkvVersion = (findProperty("MMKV_VERSION") as? String) ?: "2.4.2"
val mmkvVersion = (findProperty("MMKV_VERSION") as? String) ?: "2.4.3"
val publishVersion = (findProperty("VERSION_NAME") as? String) ?: mmkvVersion
val baseArtifactId = (findProperty("POM_ARTIFACT_ID") as? String) ?: "mmkv-kmp"
val publishedGroup = (findProperty("GROUP") as? String) ?: "com.tencent"
+1 -1
View File
@@ -23,7 +23,7 @@ project(mmkv-kmp)
# Set the version of MMKV to use. Can be overridden by Gradle via
# -DMMKV_VERSION=v<x.y.z>. Defaults to the in-repo value when run standalone.
set(MMKV_VERSION "v2.4.2" CACHE STRING "MMKV version to fetch when built outside the monorepo")
set(MMKV_VERSION "v2.4.3" CACHE STRING "MMKV version to fetch when built outside the monorepo")
set(MMKV_GIT_REPOSITORY "https://github.com/Tencent/MMKV.git" CACHE STRING "MMKV git repository to fetch when built outside the monorepo")
set(MMKV_GIT_TAG "${MMKV_VERSION}" CACHE STRING "MMKV git tag, branch, or commit to fetch when built outside the monorepo")
@@ -40,7 +40,7 @@ class MMKVSmokeTest {
@Test
fun releaseVersionMatchesPublishedVersion() {
MMKVTestEnv.initialize()
assertEquals("v2.4.2", MMKV.version())
assertEquals("v2.4.3", MMKV.version())
}
@Test
+1 -1
View File
@@ -7,7 +7,7 @@ plugins {
}
val usePublishedMMKV = providers.gradleProperty("MMKV_USE_PUBLISHED").orNull == "true"
val mmkvVersion = providers.gradleProperty("VERSION_NAME").getOrElse("2.4.2")
val mmkvVersion = providers.gradleProperty("VERSION_NAME").getOrElse("2.4.3")
kotlin {
androidTarget {
@@ -5,7 +5,7 @@ import com.tencent.mmkv.kmp.MMKVNameSpace
import kotlin.random.Random
fun verifyMMKVConsumer() {
check(MMKV.version() == "v2.4.2")
check(MMKV.version() == "v2.4.3")
val id = "published-consumer-${Random.nextLong()}"
val kv = MMKV.mmkvWithID(id)
+2 -2
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "MMKV"
s.version = "2.4.2"
s.version = "2.4.3"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."
s.description = <<-DESC
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
"DEFINES_MODULE" => "YES",
}
s.dependency 'MMKVCore', '~> 2.4.2'
s.dependency 'MMKVCore', '~> 2.4.3'
end
+2 -2
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "MMKVAppExtension"
s.version = "2.4.2"
s.version = "2.4.3"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."
s.module_name = "MMKVAppExtension"
@@ -34,7 +34,7 @@ Pod::Spec.new do |s|
"GCC_PREPROCESSOR_DEFINITIONS" => "MMKV_IOS_EXTENSION",
}
s.dependency 'MMKVCore', '~> 2.4.2'
s.dependency 'MMKVCore', '~> 2.4.3'
end
+1 -1
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "MMKVCore"
s.version = "2.4.2"
s.version = "2.4.3"
s.summary = "MMKVCore for MMKV. MMKV is a cross-platform key-value storage framework developed by WeChat."
s.description = <<-DESC
+2 -2
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "MMKVWatchExtension"
s.version = "2.4.2"
s.version = "2.4.3"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."
s.module_name = "MMKVWatchExtension"
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
'EXCLUDED_ARCHS[sdk=watchos*]' => 'armv7k',
}
s.dependency 'MMKVCore', '~> 2.4.2'
s.dependency 'MMKVCore', '~> 2.4.3'
end
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* Use these variables when you tailor your ArkTS code. They must be of the const type.
*/
export const HAR_VERSION = '2.4.2';
export const HAR_VERSION = '2.4.3';
export const BUILD_MODE_NAME = 'release';
export const DEBUG = false;
export const TARGET_NAME = 'default';
+4
View File
@@ -1,4 +1,8 @@
# MMKV for HarmonyOS NEXT Change Log
## v2.4.3 / 2026-10-16
* Keep up with MMKV Core v2.4.3 encryption, expiration, import, and file-recovery fixes.
* Validate ArrayBuffer slice ranges, backing-buffer bounds, and typed-array alignment before accessing memory.
## v2.4.2 / 2026-08-21
* Keep up with MMKV Core v2.4.2 hotfix and data-safety fixes.
* **Fix:** Corrected the one-year expiration constant.
+2 -2
View File
@@ -1,6 +1,6 @@
[![license](https://img.shields.io/badge/license-BSD_3-brightgreen.svg?style=flat)](https://github.com/Tencent/MMKV/blob/master/LICENSE.TXT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent/MMKV/pulls)
[![Release Version](https://img.shields.io/badge/release-2.4.2-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Release Version](https://img.shields.io/badge/release-2.4.3-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Platform](https://img.shields.io/badge/Platform-%20HarmonyOS%20NEXT-brightgreen.svg)](https://github.com/Tencent/MMKV/wiki/home)
MMKV is an **efficient**, **small**, **easy-to-use** mobile key-value storage framework used in the WeChat application. It's now available on **HarmonyOS NEXT**.
@@ -37,7 +37,7 @@ Or, you can add it to your project manually.
```json
"dependencies": {
"@tencent/mmkv": "~2.4.2",
"@tencent/mmkv": "~2.4.3",
}
```
* Then run
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@tencent/mmkv",
"version": "2.4.2",
"version": "2.4.3",
"description": "The official OpenHarmony package of MMKV. An efficient, small mobile key-value storage framework developed by WeChat.",
"main": "Index.ets",
"author": {
+1 -1
View File
@@ -7,7 +7,7 @@
"license": "BSD 3-Clause",
"dependencies": {
"@tencent/mmkv": "file:../MMKV",
// "@tencent/mmkv": "~2.4.2",
// "@tencent/mmkv": "~2.4.3",
"libentry.so": "file:./src/main/cpp/types/libentry",
}
}
+5 -5
View File
@@ -1,6 +1,6 @@
[![license](https://img.shields.io/badge/license-BSD_3-brightgreen.svg?style=flat)](https://github.com/Tencent/MMKV/blob/master/LICENSE.TXT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent/MMKV/pulls)
[![Release Version](https://img.shields.io/badge/release-2.4.2-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Release Version](https://img.shields.io/badge/release-2.4.3-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Platform](https://img.shields.io/badge/Platform-%20Android%20%7C%20iOS%2FmacOS%20%7C%20Kotlin%20Multiplatform%20%7C%20Windows%20%7C%20POSIX%20%7C%20HarmonyOS%20NEXT-brightgreen.svg)](https://github.com/Tencent/MMKV/wiki/home)
中文版本请参看[这里](./README_CN.md)
@@ -9,7 +9,7 @@ MMKV is an **efficient**, **small**, **easy-to-use** mobile key-value storage fr
# MMKV for Kotlin Multiplatform
The v2.4.2 Kotlin Multiplatform package is experimental and currently targets
The v2.4.3 Kotlin Multiplatform package is experimental and currently targets
Android and iOS. Its API and artifact layout may change in a future release.
Add it to the shared module:
@@ -17,7 +17,7 @@ Add it to the shared module:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.tencent:mmkv-kmp:2.4.2")
implementation("com.tencent:mmkv-kmp:2.4.3")
}
}
}
@@ -46,8 +46,8 @@ Add the following lines to `build.gradle` on your app module:
```gradle
dependencies {
implementation 'com.tencent:mmkv:2.4.2'
// replace "2.4.2" with any available version
implementation 'com.tencent:mmkv:2.4.3'
// replace "2.4.3" with any available version
}
```
+4 -4
View File
@@ -3,14 +3,14 @@ MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列
## Kotlin Multiplatform 指南
v2.4.2 的 Kotlin Multiplatform 包为实验性功能,目前支持 Android 与 iOS;
v2.4.3 的 Kotlin Multiplatform 包为实验性功能,目前支持 Android 与 iOS;
后续版本可能调整 API 或产物结构。在共享模块中引入:
```kotlin
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.tencent:mmkv-kmp:2.4.2")
implementation("com.tencent:mmkv-kmp:2.4.3")
}
}
}
@@ -39,8 +39,8 @@ kotlin {
```gradle
dependencies {
implementation 'com.tencent:mmkv:2.4.2'
// replace "2.4.2" with any available version
implementation 'com.tencent:mmkv:2.4.3'
// replace "2.4.3" with any available version
}
```
从 v2.0.0 起, MMKV **去掉了 32-bit 架构的支持**、API level 22 及以下的支持, 如有这类需求,请使用 v1.3.x LTS 版本。
+5
View File
@@ -1,4 +1,9 @@
# MMKV for Flutter Change Log
## v2.4.3 / 2026-10-16
* Keep up with MMKV native libraries v2.4.3, including encryption, expiration, import, and file-recovery fixes.
* Android: Prevent a plugin detach crash when the native library is unavailable for the device ABI ([#1687](https://github.com/tencent/mmkv/pull/1687)).
* HarmonyOS NEXT: Validate ArrayBuffer slice bounds and typed-array alignment.
## v2.4.2 / 2026-08-21
* Keep up with MMKV native libraries v2.4.2 and their hotfix/data-safety fixes.
* **Fix:** Corrected the one-year expiration constant.
+2 -2
View File
@@ -1,6 +1,6 @@
[![license](https://img.shields.io/badge/license-BSD_3-brightgreen.svg?style=flat)](https://github.com/Tencent/MMKV/blob/master/LICENSE.TXT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent/MMKV/pulls)
[![Release Version](https://img.shields.io/badge/release-2.4.2-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Release Version](https://img.shields.io/badge/release-2.4.3-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Platform](https://img.shields.io/badge/Platform-%20Android%20%7C%20iOS-brightgreen.svg)](https://github.com/Tencent/MMKV/wiki/home)
MMKV is an **efficient**, **small**, **easy-to-use** mobile key-value storage framework used in the WeChat application. It's currently available on **Android** and **iOS**.
@@ -26,7 +26,7 @@ Add the following lines to `pubspec.yaml` on your app module. Then run `flutter
```yaml
dependencies:
mmkv: "^2.4.2"
mmkv: "^2.4.3"
```
If you already include MMKV native lib in your App, you need to upgrade to version newer than v2.0.0.
@@ -52,7 +52,7 @@ android {
}
dependencies {
implementation('com.tencent:mmkv:2.4.2')
implementation('com.tencent:mmkv:2.4.3')
constraints {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
+6 -6
View File
@@ -1,6 +1,6 @@
name: mmkv
description: An efficient, small mobile key-value storage framework developed by WeChat. Works on Android & iOS.
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv
@@ -13,19 +13,19 @@ dependencies:
sdk: flutter
ffi: ^2.0.0
mmkv_ios:
'>=2.4.2 <2.5.0'
'>=2.4.3 <2.5.0'
# path: ../mmkv_ios
mmkv_android:
'>=2.4.2 <2.5.0'
'>=2.4.3 <2.5.0'
# path: ../mmkv_android
mmkv_ohos:
'>=2.4.2 <2.5.0'
'>=2.4.3 <2.5.0'
# path: ../mmkv_ohos
mmkv_win32:
'>=2.4.2 <2.5.0'
'>=2.4.3 <2.5.0'
# path: ../mmkv_win32
mmkv_linux:
'>=2.4.2 <2.5.0'
'>=2.4.3 <2.5.0'
# path: ../mmkv_linux
mmkv_platform_interface:
'>=2.4.0 <2.5.0'
+4
View File
@@ -1,4 +1,8 @@
# MMKV Platform Android Change Log
## v2.4.3 / 2026-10-16
* Keep up with native lib v2.4.3.
* Prevent a plugin detach crash when `libmmkv.so` is unavailable for the device ABI ([#1687](https://github.com/tencent/mmkv/pull/1687)).
## v2.4.2 / 2026-08-21
Keep up with native lib v2.4.2.
+1 -1
View File
@@ -34,6 +34,6 @@ android {
}
dependencies {
implementation 'com.tencent:mmkv:[2.4.2, 2.5)'
implementation 'com.tencent:mmkv:[2.4.3, 2.5)'
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
name: mmkv_android
description: Android platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_android
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
environment:
+3
View File
@@ -1,4 +1,7 @@
# MMKV Platform iOS Change Log
## v2.4.3 / 2026-10-16
* Keep up with native lib v2.4.3 encryption, expiration, import, and file-recovery fixes.
## v2.4.2 / 2026-08-21
* Keep up with native lib v2.4.2.
* Fix Swift Package Manager linkage and Dart FFI symbol export ([#1676](https://github.com/tencent/mmkv/issues/1676)).
+2 -2
View File
@@ -5,7 +5,7 @@
Pod::Spec.new do |s|
s.name = 'mmkv_ios'
s.version = '2.4.2'
s.version = '2.4.3'
s.summary = 'MMKV is a cross-platform key-value storage framework developed by WeChat.'
s.description = <<-DESC
The MMKV, for Flutter.
@@ -22,7 +22,7 @@ Pod::Spec.new do |s|
s.osx.dependency 'FlutterMacOS'
s.ios.deployment_target = '13.0'
s.osx.deployment_target = '10.15'
s.dependency 'MMKV', '>= 2.4.2', '< 2.5'
s.dependency 'MMKV', '>= 2.4.3', '< 2.5'
s.osx.framework = 'FlutterMacOS'
# Flutter.framework does not contain a i386 slice.
@@ -6,7 +6,7 @@ let mmkvDependency: Package.Dependency
if let localPath = Context.environment["MMKV_LOCAL_PACKAGE_PATH"], !localPath.isEmpty {
mmkvDependency = .package(name: "MMKV", path: localPath)
} else {
mmkvDependency = .package(url: "https://github.com/Tencent/MMKV.git", from: "2.4.2")
mmkvDependency = .package(url: "https://github.com/Tencent/MMKV.git", from: "2.4.3")
// mmkvDependency = .package(url: "https://github.com/Tencent/MMKV.git", branch: "dev")
}
+1 -1
View File
@@ -1,7 +1,7 @@
name: mmkv_ios
description: iOS platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_ios
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
environment:
+4
View File
@@ -1,4 +1,8 @@
# MMKV Platform Linux Change Log
## v2.4.3 / 2026-10-16
* Keep up with native lib v2.4.3.
* Complete short and interrupted file copies, including Linux `sendfile()` transfers.
## v2.4.2 / 2026-08-21
Keep up with native lib v2.4.2.
+1 -1
View File
@@ -9,7 +9,7 @@ project(${PROJECT_NAME} LANGUAGES CXX)
# Set the version of MMKV to use. This should match the version used in the
# mmkv_flutter plugin.
set(MMKV_VERSION "v2.4.2")
set(MMKV_VERSION "v2.4.3")
include(FetchContent)
FetchContent_Declare(mmkv
+1 -1
View File
@@ -1,7 +1,7 @@
name: mmkv_linux
description: Linux platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_linux
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
environment:
+4
View File
@@ -1,4 +1,8 @@
# MMKV Platform OHOS Change Log
## v2.4.3 / 2026-10-16
* Keep up with native lib v2.4.3.
* Validate ArrayBuffer slice bounds and typed-array alignment in the native library.
## v2.4.2 / 2026-08-21
Keep up with native lib v2.4.2.
+2 -2
View File
@@ -1,13 +1,13 @@
{
"name": "mmkv_ohos",
"version": "2.4.2",
"version": "2.4.3",
"description": "Please describe the basic information.",
"main": "index.ets",
"author": "",
"license": "Apache-2.0",
"dependencies": {
"@ohos/flutter_ohos": "file:./har/flutter.har",
"@tencent/mmkv": ">=2.4.2 <2.5"
"@tencent/mmkv": ">=2.4.3 <2.5"
// "@tencent/mmkv": "file:/Users/lingol/Developer/mmkv/OpenHarmony/MMKV/build/default/outputs/default/MMKV.har"
},
"devDependencies": {},
+1 -1
View File
@@ -1,7 +1,7 @@
name: mmkv_ohos
description: OHOS platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_ohos
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
environment:
+4
View File
@@ -1,4 +1,8 @@
# MMKV Platform Windows Change Log
## v2.4.3 / 2026-10-16
* Keep up with native lib v2.4.3.
* Require complete whole-file reads and zero-fill writes in the native library.
## v2.4.2 / 2026-08-21
Keep up with native lib v2.4.2.
+1 -1
View File
@@ -1,7 +1,7 @@
name: mmkv_win32
description: Windows platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_win32
version: 2.4.2
version: 2.4.3
homepage: https://github.com/Tencent/mmkv
environment:
+1 -1
View File
@@ -14,7 +14,7 @@ cmake_policy(VERSION 3.14...3.25)
# Set the version of MMKV to use. This should match the version used in the
# mmkv_flutter plugin.
set(MMKV_VERSION "v2.4.2")
set(MMKV_VERSION "v2.4.3")
include(FetchContent)
FetchContent_Declare(mmkv
+2 -2
View File
@@ -622,7 +622,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 2.4.2;
MARKETING_VERSION = 2.4.3;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx appletvos appletvsimulator";
@@ -681,7 +681,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 2.4.2;
MARKETING_VERSION = 2.4.3;
MTL_ENABLE_DEBUG_INFO = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx appletvos appletvsimulator";
TVOS_DEPLOYMENT_TARGET = 13.0;