Skip to content

Commit

Permalink
prepare for v1.3.6
Browse files Browse the repository at this point in the history
  • Loading branch information
lingol committed Jul 5, 2024
1 parent 2eb44af commit c44ce1f
Show file tree
Hide file tree
Showing 23 changed files with 89 additions and 43 deletions.
2 changes: 1 addition & 1 deletion Android/MMKV/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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=1.3.5
VERSION_NAME_PREFIX=1.3.6
#VERSION_NAME_SUFFIX=-SNAPSHOT
VERSION_NAME_SUFFIX=

Expand Down
8 changes: 4 additions & 4 deletions Android/MMKV/mmkv/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ configurations {

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.annotation:annotation:1.7.1'
javadocDeps 'androidx.annotation:annotation:1.7.1'
implementation 'androidx.annotation:annotation:1.8.0'
javadocDeps 'androidx.annotation:annotation:1.8.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test:runner:1.6.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'

compileOnly project(':mmkvannotation')
}
6 changes: 3 additions & 3 deletions Android/MMKV/mmkvdemo/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ repositories {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':mmkv')
// implementation 'com.tencent:mmkv:1.3.5'
// implementation 'com.tencent:mmkv-static:1.3.5' // this is identical to 'com.tencent:mmkv'
// implementation 'com.tencent:mmkv-shared:1.3.5'
// implementation 'com.tencent:mmkv:1.3.6'
// implementation 'com.tencent:mmkv-static:1.3.6' // this is identical to 'com.tencent:mmkv'
// implementation 'com.tencent:mmkv-shared:1.3.6'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
# MMKV Change Log
## v1.3.6 / 2024-07-05
### Changes for All platforms
* The Core library now upgrades the C++ standard from C++17 to C++20 to make the most of morden C++ feature such as `Concept` & unordered containers with `std::string_view` as key. From now on, if you build MMKV by source (iOS, Windows, POSIX, etc), you will need a C++ compiler that supports the C++20 standard. If you only use MMKV in binary (Android, OHOS, etc), this upgrade of the C++ compiler is not required.
* The key type changes from `std::string` to `std::string_view`, to avoid unnecessary string construction and destruction when the key is a raw string.

### Android
* Use the latest ashmem API if possible.
* Use the latest API to get the device API level.

### Flutter
* MMKV will try to load libmmkv.so before Dart code, to reduce the error of loading library in Android.

### HarmonyOS NEXT
* Fix a bug that a `String` value might get truncated on encoding.
* MMKV returns `undefined` when a key does not exist, previously a default value of the type (`false` for `boolean`, `0` for `number`, etc) is returned.
* Add the feature to encode/decode a `float` value.
* Add the feature to encode/decode a `TypedArray` value.
* Support encoding a part of an `ArrayBuffer`.

### iOS/macOS
* Hide the default `NSObject.initialize()` from Swift/ObjC to prevent potential misuse.

### POSIX
* Support encode/decode `std::vector<T>` or `std::span<T>` values, with T as primitive types.
* Fix a compile error on Linux env.
* Fix a compile error on the GNU compiler.
* Fix a compile error with some old version of zlib (on CentOS).

### Python
* Python now runs on Windows. Check out the latest [wiki](https://github.com/Tencent/MMKV/wiki/python_setup) for instructions.

### Windows
* Support encode/decode `std::vector<T>` or `std::span<T>` values, with T as primitive types.
* Python now runs on Windows. Check out the latest [wiki](https://github.com/Tencent/MMKV/wiki/python_setup) for instructions.

## v1.3.5 / 2024-04-24
### HarmonyOS NEXT
* This is the first official support of HarmonyOS NEXT.
Expand Down
2 changes: 1 addition & 1 deletion Core/MMKVPredef.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include <vector>
#include <unordered_map>

constexpr auto MMKV_VERSION = "v1.3.6-beta3";
constexpr auto MMKV_VERSION = "v1.3.6";

#ifdef DEBUG
# define MMKV_DEBUG
Expand Down
12 changes: 6 additions & 6 deletions OpenHarmony/MMKV/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# MMKV for HarmonyOS NEXT Change Log

## v1.3.6-beta3 / 2024-06-28
* Add encode / decode `float` interface.
* Add encode / decode all `TypedArray` interface.
* Fix a bug when transforming a JavaScript string to a native string, the last char might lost.
* Fix a bug when decoding an non-existent value of primitive types, `undefined` is not returned.
* Fix a bug when encoding a TypedArray with only a view of a ArrayBuffer, it will not be encoded correctly.
## v1.3.6 / 2024-07-05
* Fix a bug that a `String` value might get truncated on encoding.
* MMKV returns `undefined` when a key does not exist, previously a default value of the type (`false` for `boolean`, `0` for `number`, etc) is returned.
* Add the feature to encode/decode a `float` value.
* Add the feature to encode/decode a `TypedArray` value.
* Support encoding a part of an `ArrayBuffer`.

## v1.3.5 / 2024-04-24
Fix a bug in `MMKV.initialize()` that fails to handle the optional parameter _logLevel_.
Expand Down
2 changes: 1 addition & 1 deletion OpenHarmony/MMKV/oh-package.json5
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tencent/mmkv",
"version": "1.3.6-beta3",
"version": "1.3.6",
"description": "The official OpenHarmony package of MMKV. An efficient, small mobile key-value storage framework developed by WeChat.",
"main": "Index.ets",
"author": "guoling",
Expand Down
2 changes: 1 addition & 1 deletion OpenHarmony/entry/oh-package.json5
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"license": "BSD 3-Clause",
"dependencies": {
"@tencent/mmkv": "file:../MMKV"
// "@tencent/mmkv": "1.3.6-beta2",
// "@tencent/mmkv": "1.3.6",
}
}

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -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-1.3.5-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Release Version](https://img.shields.io/badge/release-1.3.6-brightgreen.svg)](https://github.com/Tencent/MMKV/releases)
[![Platform](https://img.shields.io/badge/Platform-%20Android%20%7C%20iOS%2FmacOS%20%7C%20Windows%20%7C%20POSIX%20%7C%20HarmonyOS%20NEXT-brightgreen.svg)](https://github.com/Tencent/MMKV/wiki/home)

中文版本请参看[这里](./README_CN.md)
Expand Down Expand Up @@ -28,8 +28,8 @@ Add the following lines to `build.gradle` on your app module:

```gradle
dependencies {
implementation 'com.tencent:mmkv:1.3.5'
// replace "1.3.5" with any available version
implementation 'com.tencent:mmkv:1.3.6'
// replace "1.3.6" with any available version
}
```

Expand Down
4 changes: 2 additions & 2 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列

```gradle
dependencies {
implementation 'com.tencent:mmkv:1.3.5'
// replace "1.3.5" with any available version
implementation 'com.tencent:mmkv:1.3.6'
// replace "1.3.6" with any available version
}
```
更多安装指引参考 [Android Setup](https://github.com/Tencent/MMKV/wiki/android_setup_cn)
Expand Down
5 changes: 5 additions & 0 deletions flutter/mmkv/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# MMKV for Flutter Change Log
## v1.3.6 / 2024-07-05
* Android: MMKV will try to load libmmkv.so before Dart code, to reduce the error of loading library in Android.
* Android: Use the latest ashmem API if possible.
* Android: Use the latest API to get the device API level.

## v1.3.5 / 2024-04-24
* Migrate to federated plugins to avoid the iOS rename headache. From now on, no more renaming from `mmkv` to `mmkvflutter` is needed.
* Bump iOS Deployment Target to iOS 12.
Expand Down
2 changes: 1 addition & 1 deletion flutter/mmkv/example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ android {
}

dependencies {
implementation('com.tencent:mmkv:1.3.4')
implementation('com.tencent:mmkv:1.3.6')

constraints {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
Expand Down
8 changes: 4 additions & 4 deletions flutter/mmkv/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: mmkv
description: An efficient, small mobile key-value storage framework developed by WeChat. Works on Android & iOS.
version: 1.3.5
version: 1.3.6
homepage: https://github.com/Tencent/mmkv
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv

Expand All @@ -14,11 +14,11 @@ dependencies:
path_provider: ^2.0.1
ffi: ^2.1.0
mmkv_ios:
^1.0.1
^1.0.2
# path: ../mmkv_ios
mmkv_android:
# ^1.0.1
path: ../mmkv_android
^1.0.2
# path: ../mmkv_android
mmkv_platform_interface:
^1.0.0
# path: ../mmkv_platform_interface
Expand Down
3 changes: 3 additions & 0 deletions flutter/mmkv_android/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# MMKV Platform Android Change Log

## v1.0.2 / 2024-07-05
Keep up with native lib v1.3.6.

## v1.0.1 / 2024-04-24
Keep up with native lib v1.3.5.

Expand Down
2 changes: 1 addition & 1 deletion flutter/mmkv_android/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ android {
}

dependencies {
implementation 'com.tencent:mmkv:1.3.5'
implementation 'com.tencent:mmkv:1.3.6'
}
}
2 changes: 1 addition & 1 deletion flutter/mmkv_android/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: mmkv_android
description: Android platform implementation of MMKV.
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_ios
version: 1.0.1
version: 1.0.2
homepage: https://github.com/Tencent/mmkv

environment:
Expand Down
3 changes: 3 additions & 0 deletions flutter/mmkv_ios/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# MMKV Platform iOS Change Log
## v1.0.2 / 2024-07-05
Keep up with native lib v1.3.6.

## v1.0.1 / 2024-04-24
Keep up with native lib v1.3.5.

Expand Down
2 changes: 1 addition & 1 deletion flutter/mmkv_ios/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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: 1.0.1
version: 1.0.2
homepage: https://github.com/Tencent/mmkv

environment:
Expand Down
4 changes: 2 additions & 2 deletions iOS/MMKV.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "MMKV"
s.version = "1.3.5"
s.version = "1.3.6"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."

s.description = <<-DESC
Expand Down Expand Up @@ -32,7 +32,7 @@ Pod::Spec.new do |s|
"CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF" => "NO",
}

s.dependency 'MMKVCore', '~> 1.3.5'
s.dependency 'MMKVCore', '~> 1.3.6'

end

12 changes: 6 additions & 6 deletions iOS/MMKV/MMKV.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down Expand Up @@ -539,7 +539,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down Expand Up @@ -749,7 +749,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down Expand Up @@ -794,7 +794,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down Expand Up @@ -843,7 +843,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down Expand Up @@ -891,7 +891,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.3.4;
MARKETING_VERSION = 1.3.6;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++17";
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
"-framework",
Expand Down
4 changes: 2 additions & 2 deletions iOS/MMKVAppExtension.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "MMKVAppExtension"
s.version = "1.3.5"
s.version = "1.3.6"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."
s.module_name = "MMKVAppExtension"

Expand Down Expand Up @@ -31,7 +31,7 @@ Pod::Spec.new do |s|
"GCC_PREPROCESSOR_DEFINITIONS" => "MMKV_IOS_EXTENSION",
}

s.dependency 'MMKVCore', '~> 1.3.5'
s.dependency 'MMKVCore', '~> 1.3.6'

end

2 changes: 1 addition & 1 deletion iOS/MMKVCore.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "MMKVCore"
s.version = "1.3.5"
s.version = "1.3.6"
s.summary = "MMKVCore for MMKV. MMKV is a cross-platform key-value storage framework developed by WeChat."

s.description = <<-DESC
Expand Down
4 changes: 2 additions & 2 deletions iOS/MMKVWatchExtension.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "MMKVWatchExtension"
s.version = "1.3.5"
s.version = "1.3.6"
s.summary = "MMKV is a cross-platform key-value storage framework developed by WeChat."
s.module_name = "MMKVWatchExtension"

Expand Down Expand Up @@ -31,7 +31,7 @@ Pod::Spec.new do |s|
"GCC_PREPROCESSOR_DEFINITIONS" => "MMKV_IOS_EXTENSION",
}

s.dependency 'MMKVCore', '~> 1.3.5'
s.dependency 'MMKVCore', '~> 1.3.6'

end

0 comments on commit c44ce1f

Please sign in to comment.