diff --git a/docs-source/src/en/about/changelog.md b/docs-source/src/en/about/changelog.md index ed37a29d..128b2c73 100644 --- a/docs-source/src/en/about/changelog.md +++ b/docs-source/src/en/about/changelog.md @@ -16,7 +16,16 @@ Time zone of version release date: **UTC+8** ::: -### 1.2.1 | 2024.06.20   +### 1.3.0 | 2024.06.25   + +- This is a major update, please refer to [Migrate to YukiHookAPI 1.3.x](https://highcapable.github.io/YukiHookAPI/zh-cn/config/move-to-api-1-3-x) +- The reflection API of `YukiHookAPI` is deprecated, please move to the brand new [KavaRef](https://github.com/HighCapable/KavaRef) +- The limitation of duplicate Hooks has been deprecated, now you can repeat the same method of the Hook +- Deprecated ~~`ModuleAppActivity`~~, ~~`ModuleAppCompatActivity`~~, please use `ModuleActivity` to create your own proxy `Activity` +- `YLog` is now allowed to pass `msg` into any object and will be automatically converted to a string for printing +- `FreeReflection` has been deprecated and has now switched to [AndroidHiddenApiBypass](https://github.com/LSPosed/AndroidHiddenApiBypass) + +### 1.2.1 | 2024.06.20   - Catch exceptions in singleton Hooker to prevent it from blocking the entire process - Add automatic use of "`" in the automatic handler to fix the situation where Kotlin keywords are package names, thanks to [Fengning Zhu](https://github.com/zhufengning) for [PR](https://github.com/HighCapable/YukiHookAPI/pull/70) @@ -56,7 +65,7 @@ Time zone of version release date: **UTC+8** - `constructor()` no longer behaves like `constructor { emptyParam() }` - Added `lazyClass` and `lazyClassOrNull` methods to lazily load `Class` -### 1.1.11 | 2023.04.25   +### 1.1.11 | 2023.04.25   - Fixed a critical issue since `1.1.5` version where the `Member` cache did not take effect and persistent storage eventually caused app out of memory (OOM), thanks to [Art-Chen](https://github.com/Art-Chen) - Remove the direct cache function of `Member` and deprecated ~~`YukiReflection.Configs.isEnableMemberCache`~~, keep the cache function of `Class` @@ -65,7 +74,7 @@ Time zone of version release date: **UTC+8** - Deprecated ~~`YukiHookAPI.Configs.isEnablePrefsBridgeCache`~~ - Deprecated ~~`direct`~~, ~~`clearCache`~~ functions in `YukiHookPrefsBridge` -### 1.1.10 | 2023.04.21   +### 1.1.10 | 2023.04.21   - The `Activity` proxy function adds the function of specifying a separate proxy `Activity` for each proxied `Activity` - Fixed problem that the `contains` and `all` methods in `YukiHookPrefsBridge` did not judge the `native` function @@ -74,7 +83,7 @@ Time zone of version release date: **UTC+8** - Modify part of `HashMap` used for caching to `ArrayMap` to reduce memory consumption - Fix some other possible problems -### 1.1.9 | 2023.04.17   +### 1.1.9 | 2023.04.17   - Change the type of dependent library from **Java Library** (jar) to **Android Library** (aar) - Remove the inspection function of internal methods and parameters through Hook or reflection API @@ -94,7 +103,7 @@ Time zone of version release date: **UTC+8** - Modify the proxy class of the `Activity` proxy function to be dynamically generated to prevent conflicts caused by injecting different modules into the host - Fixed some other possible problems -### 1.1.8 | 2023.02.01   +### 1.1.8 | 2023.02.01   - Fixed the problem that the underlying Hook method cannot update the modified state synchronously when modifying parameters such as `result` during callback, thanks to the [Issue](https://github.com/HighCapable/YukiHookAPI/issues/23) of [Yongzheng Lai](https://github.com/elvizlai) - Move the entry class name file automatically generated by `YukiHookAPI` from `assets/yukihookapi_init` to `resources/META-INF/yukihookapi_init` @@ -108,7 +117,7 @@ Time zone of version release date: **UTC+8** - Fixed the problem that there may be multiple registration lifecycles in `PackageParam.AppLifecycle` - Revert: The 1.1.7 version has been withdrawn due to a serious problem, please update to this version directly (the update log is the same as version 1.1.7) -### 1.1.6 | 2023.01.21   +### 1.1.6 | 2023.01.21   - Fixed the serious problem that `ClassLoader` does not match after `PackageParam` keeps a single instance when there may be multiple package names in the same process when Xposed Module is loaded - When the package name is not distinguished when there are multiple package names in the same process, stop loading the singleton child Hooker and print a warning message @@ -116,7 +125,7 @@ Time zone of version release date: **UTC+8** - Modify the method parameter name `param` of reflection calls in `MethodFinder`, `ConstructorFinder`, `ReflectionFactory` to `args` - Added the function of judging the parameters of the entry class constructor in the automatic processing program of the Xposed Module, the entry class needs to ensure that it does not have any constructor parameters -### 1.1.5 | 2023.01.13   +### 1.1.5 | 2023.01.13   - Standardize and optimize the overall code style - Privatized some APIs called internally @@ -158,7 +167,7 @@ Time zone of version release date: **UTC+8** - Fixed the problem that the debug log data package name processed by `YukiHookLogger` may be incorrect in the (Xposed) Host environment - Fixed the problem that the package name may be incorrect on some systems (in some system apps) when the Xposed Module loads the Resource Hook event -### 1.1.4 | 2022.10.04   +### 1.1.4 | 2022.10.04   - Fixed the issue that `YukiHookDataChannel` may not respond to broadcast events in the system framework, reproduced in A13 - Fixed the issue that `YukiHookDataChannel` could not communicate with Module App in Host App for multiple versions @@ -168,7 +177,7 @@ Time zone of version release date: **UTC+8** - Added `loadApp`, `loadZygote`, `loadSystem`, `withProcess` multi-parameter methods of the same name in `PackageParam` - Fixed some possible bugs -### 1.1.3 | 2022.09.30   +### 1.1.3 | 2022.09.30   - Fixed a fatal bug where the Hook entry class name could not be customized - Added some code notes in `LoggerFactory` and updated special features documentation diff --git a/docs-source/src/zh-cn/about/changelog.md b/docs-source/src/zh-cn/about/changelog.md index 185984a6..092be66a 100644 --- a/docs-source/src/zh-cn/about/changelog.md +++ b/docs-source/src/zh-cn/about/changelog.md @@ -8,7 +8,16 @@ ::: -### 1.2.1 | 2024.06.20   +### 1.3.0 | 2025.06.25   + +- 这是一次重大更新,详情请参考 [迁移到 YukiHookAPI 1.3.x](https://highcapable.github.io/YukiHookAPI/zh-cn/config/move-to-api-1-3-x) +- 弃用了 `YukiHookAPI` 自身的反射 API,现在请迁移到全新的 [KavaRef](https://github.com/HighCapable/KavaRef) +- 弃用了重复 Hook 的限制,现在你可以重复 Hook 同一个方法 +- 弃用了 ~~`ModuleAppActivity`~~、~~`ModuleAppCompatActivity`~~,现在请使用 `ModuleActivity` 创建自己的代理 `Activity` +- `YLog` 现已允许 `msg` 传入任意对象,将自动转换为字符串进行打印 +- `FreeReflection` 已被弃用,现已切换至 [AndroidHiddenApiBypass](https://github.com/LSPosed/AndroidHiddenApiBypass) + +### 1.2.1 | 2024.06.20   - 捕获单例 Hooker 中的异常,防止其阻断整个进程 - 在自动处理程序中添加自动使用 "`" 来修复 Kotlin 关键字为包名的情况,感谢 [Fengning Zhu](https://github.com/zhufengning) 的 [PR](https://github.com/HighCapable/YukiHookAPI/pull/70) @@ -46,7 +55,7 @@ - `constructor()` 的行为不再是 `constructor { emptyParam() }` - 新增 `lazyClass`、`lazyClassOrNull` 方法,可延迟装载 `Class` -### 1.1.11 | 2023.04.25   +### 1.1.11 | 2023.04.25   - 修复从 `1.1.5` 版本开始的一个严重问题,`Member` 缓存未生效且持续存储最终引发 APP 内存溢出 (OOM),感谢 [Art-Chen](https://github.com/Art-Chen) - 移除 `Member` 的直接缓存功能并作废 ~~`YukiHookAPI.Configs.isEnableMemberCache`~~,保留 `Class` 的缓存功能 @@ -55,7 +64,7 @@ - 作废了 ~~`YukiHookAPI.Configs.isEnablePrefsBridgeCache`~~ - 作废了 `YukiHookPrefsBridge` 中的 ~~`direct`~~、~~`clearCache`~~ 方法 -### 1.1.10 | 2023.04.21   +### 1.1.10 | 2023.04.21   - `Activity` 代理功能新增每个被代理的 `Activity` 指定单独的代理 `Activity` 功能 - 修复 `YukiHookPrefsBridge` 中的 `contains`、`all` 方法未判断 `native` 功能的问题 @@ -64,7 +73,7 @@ - 修改部分用于缓存的 `HashMap` 到 `ArrayMap` 以减少内存消耗 - 修复一些其它可能出现的问题 -### 1.1.9 | 2023.04.17   +### 1.1.9 | 2023.04.17   - 将依赖库的类型由 **Java Library** (jar) 修改为 **Android Library** (aar) - 移除通过 Hook 或反射 API 内部方法、参数的检查功能 @@ -84,7 +93,7 @@ - 修改 `Activity` 代理功能的代理类为动态生成,防止不同模块注入宿主后造成冲突 - 修复一些其它可能出现的问题 -### 1.1.8 | 2023.02.01   +### 1.1.8 | 2023.02.01   - 修复底层 Hook 方法在回调时修改 `result` 等参数时时不能同步更新修改后的状态问题,感谢 [Yongzheng Lai](https://github.com/elvizlai) 的 [Issue](https://github.com/HighCapable/YukiHookAPI/issues/23) - 移动 `YukiHookAPI` 自动生成的入口类名称文件 `assets/yukihookapi_init` 到 `resources/META-INF/yukihookapi_init` @@ -98,7 +107,7 @@ - 修复在 `PackageParam.AppLifecycle` 中可能存在多次注册生命周期的问题 - Revert: 1.1.7 版本由于有一个严重问题已经撤回,请直接更新到此版本即可 (更新日志同 1.1.7 版本) -### 1.1.6 | 2023.01.21   +### 1.1.6 | 2023.01.21   - 修复 Xposed 模块装载时可能存在同一个进程多个包名的情况导致 `PackageParam` 保持单例后 `ClassLoader` 不符的严重问题 - 新增同一个进程多个包名的情况下未区分包名时,停止装载单例化的子 Hooker 并打印警告信息 @@ -106,7 +115,7 @@ - 修改 `MethodFinder`、`ConstructorFinder`、`ReflectionFactory` 中反射调用的方法参数名 `param` 为 `args` - 新增 Xposed 模块自动处理程序中判断入口类构造方法参数功能,入口类需要保证其不存在任何构造方法参数 -### 1.1.5 | 2023.01.13   +### 1.1.5 | 2023.01.13   - 规范并优化整体代码风格 - 对部分内部调用的 API 进行了私有化处理 @@ -148,7 +157,7 @@ - 修复 `YukiHookLogger` 处理后的调试日志数据包名可能在 (Xposed) 宿主环境不正确的问题 - 修复 Xposed 模块装载资源钩子 (Resources Hook) 事件时在部分系统上 (部分系统 APP 中) 包名可能不正确的问题 -### 1.1.4 | 2022.10.04   +### 1.1.4 | 2022.10.04   - 修复 `YukiHookDataChannel` 可能不能响应系统框架中响应广播事件的问题,在 Android 13 中复现 - 修复 `YukiHookDataChannel` 长达多个版本在 (Xposed) 宿主环境无法与模块通讯的问题 @@ -158,7 +167,7 @@ - `PackageParam` 中新增 `loadApp`、`loadZygote`、`loadSystem`、`withProcess` 的同名多参数方法 - 修复了一些可能存在的 BUG -### 1.1.3 | 2022.09.30   +### 1.1.3 | 2022.09.30   - 修复一个无法自定义 Hook 入口类名的致命错误 - 添加 `LoggerFactory` 中的部分代码注释文案并更新特色功能文档 diff --git a/gradle.properties b/gradle.properties index 8685cab3..7c622e91 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ project.name=YukiHookAPI project.url=https://github.com/HighCapable/YukiHookAPI project.groupName=com.highcapable.yukihookapi project.yukihookapi-core.moduleName=api -project.yukihookapi-core.version="1.2.1" +project.yukihookapi-core.version="1.3.0" project.yukihookapi-ksp-xposed.moduleName=ksp-xposed project.yukihookapi-ksp-xposed.version=${project.yukihookapi-core.version} project.android.compileSdk=35 @@ -22,7 +22,7 @@ project.samples-demo-module.packageName=${project.groupName}.demo_module project.samples-demo-module.versionName=universal project.samples-demo-module.versionCode=1 # Maven Publish Configuration -SONATYPE_HOST=S01 +SONATYPE_HOST=CENTRAL_PORTAL RELEASE_SIGNING_ENABLED=true # Maven POM Configuration POM_NAME=YukiHookAPI