From 0c84bf66939ad48e34e7d7b6e6f020f503bff5ea Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sat, 10 Jan 2026 09:08:13 +0900 Subject: [PATCH 1/5] docs: update NEWS --- NEWS | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 7d7d5b2b..f817f6dc 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,10 @@ -What's New in libchewing (unreleased) +What's New in libchewing 0.11.0 (January 10, 2026) --------------------------------------------------------- * Features - cli: Now outputs and reads dictionary metadata in source file - cli: Detects mismatched phrase word count and syllable count + - cli: Ignores empty line or line starts with # when processing dictionary - editor: Support optional sorting candidates by frequency. Previously the candidates are always sorted by their order in the dictionary. @@ -32,8 +33,8 @@ What's New in libchewing (unreleased) - rust: new sqlite-bundled feature can be used to build with bundled sqlite to simplify the build configuration on Windows - cli: will try to migrate to new schema when dumping chewing.sqlite3 file - - Use less heuristic when calculating phrase segmentation score - - Dictionary data are built directly from the libchewing-data repository + - Use less heuristic when calculating phrase segmentation score. + - Reimplement scoring algorithm to use conditional probability. - cli: init-database will no longer normalize the frequency of single word phrase to zero. - autolearn: new phrases with break words inside will be learned both with @@ -45,6 +46,7 @@ What's New in libchewing (unreleased) * Dictionary - Default symbols.dat now includes commonly used emojis. + - Dictionary data are built directly from the libchewing-data repository * Build - Bump MSRV to 1.88 From e3ba260a21391286b0950dcbcc41376be7326c9e Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sat, 10 Jan 2026 09:09:20 +0900 Subject: [PATCH 2/5] chore(release): bump version to 0.11.0 --- CMakeLists.txt | 2 +- Cargo.lock | 6 +++--- Cargo.toml | 2 +- capi/Cargo.toml | 4 ++-- capi/src/version.rs | 4 ++-- doc/chewing-cli.1 | 4 ++-- fuzzer/Cargo.toml | 4 ++-- tests/testhelper/Cargo.toml | 2 +- tools/Cargo.toml | 4 ++-- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a19d7a69..59e012d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.24.0...3.31.6) project(libchewing LANGUAGES C) -set(CMAKE_PROJECT_VERSION 0.11.0-alpha.7) +set(CMAKE_PROJECT_VERSION 0.11.0) find_package(Git) if(Git_FOUND) diff --git a/Cargo.lock b/Cargo.lock index 77f30895..ee7b333a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,7 +97,7 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chewing" -version = "0.11.0-alpha.7" +version = "0.11.0" dependencies = [ "der", "log", @@ -107,7 +107,7 @@ dependencies = [ [[package]] name = "chewing-cli" -version = "0.11.0-alpha.7" +version = "0.11.0" dependencies = [ "anyhow", "chewing", @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "chewing_capi" -version = "0.11.0-alpha.7" +version = "0.11.0" dependencies = [ "chewing", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index 1c8613d0..d546d772 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "chewing" description = "The Chewing (酷音) intelligent Zhuyin input method." documentation = "https://docs.rs/chewing" license = "LGPL-2.1-or-later" -version = "0.11.0-alpha.7" +version = "0.11.0" rust-version = "1.88.0" edition = "2024" diff --git a/capi/Cargo.toml b/capi/Cargo.toml index 8326f9a8..517dd9e2 100644 --- a/capi/Cargo.toml +++ b/capi/Cargo.toml @@ -2,7 +2,7 @@ name = "chewing_capi" description = "The Chewing (酷音) intelligent Zhuyin input method." license = "LGPL-2.1-or-later" -version = "0.11.0-alpha.7" +version = "0.11.0" rust-version = "1.88" edition = "2024" @@ -10,7 +10,7 @@ edition = "2024" crate-type = ["rlib", "staticlib"] [dependencies] -chewing = { version = "0.11.0-alpha.7", path = ".." } +chewing = { version = "0.11.0", path = ".." } env_logger = { workspace = true } log = { workspace = true } diff --git a/capi/src/version.rs b/capi/src/version.rs index e4328b67..d1adbe26 100644 --- a/capi/src/version.rs +++ b/capi/src/version.rs @@ -6,7 +6,7 @@ pub const CHEWING_VERSION_PATCH: c_int = 0; #[unsafe(no_mangle)] pub extern "C" fn chewing_version() -> *const c_char { - c"0.11.0-alpha.7".as_ptr() + c"0.11.0".as_ptr() } #[unsafe(no_mangle)] @@ -26,5 +26,5 @@ pub extern "C" fn chewing_version_patch() -> c_int { #[unsafe(no_mangle)] pub extern "C" fn chewing_version_extra() -> *const c_char { - c"alpha.7".as_ptr() + c"".as_ptr() } diff --git a/doc/chewing-cli.1 b/doc/chewing-cli.1 index 23a6510b..7ef576df 100644 --- a/doc/chewing-cli.1 +++ b/doc/chewing-cli.1 @@ -1,6 +1,6 @@ .ie \n(.g .ds Aq \(aq .el .ds Aq ' -.TH chewing-cli 1 "chewing-cli 0.11.0-alpha.7" +.TH chewing-cli 1 "chewing-cli 0.11.0" .SH NAME chewing\-cli \- Tools of the Chewing (酷音) intelligent Zhuyin input method. .SH SYNOPSIS @@ -25,4 +25,4 @@ Display information about the dictionary chewing\-cli\-dump(1) Dump the dictionary entries into tsi.src formatted stream .SH VERSION -v0.11.0\-alpha.7 +v0.11.0 diff --git a/fuzzer/Cargo.toml b/fuzzer/Cargo.toml index c69ef862..0b9789ae 100644 --- a/fuzzer/Cargo.toml +++ b/fuzzer/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -chewing = { version = "0.11.0-alpha.7", path = ".." } -chewing_capi = { version = "0.11.0-alpha.7", path = "../capi" } +chewing = { version = "0.11.0", path = ".." } +chewing_capi = { version = "0.11.0", path = "../capi" } env_logger = { workspace = true } log = { workspace = true } diff --git a/tests/testhelper/Cargo.toml b/tests/testhelper/Cargo.toml index 380a9220..fa61f3e0 100644 --- a/tests/testhelper/Cargo.toml +++ b/tests/testhelper/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" crate-type = ["cdylib"] [dependencies] -chewing = { version = "0.11.0-alpha.7", path = "../.." } +chewing = { version = "0.11.0", path = "../.." } [features] sqlite = ["chewing/sqlite"] diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 11572a42..893b7e3f 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -2,12 +2,12 @@ name = "chewing-cli" description = "Tools of the Chewing (酷音) intelligent Zhuyin input method." license = "LGPL-2.1-or-later" -version = "0.11.0-alpha.7" +version = "0.11.0" edition = "2024" [dependencies] anyhow = "1.0.0" -chewing = { version = "0.11.0-alpha.7", path = ".." } +chewing = { version = "0.11.0", path = ".." } clap = { version = "4.4.18", features = ["derive"] } [dependencies.clap_mangen] From c551395cae281b7a9d88ffde94e38d4fea648e96 Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sat, 10 Jan 2026 09:11:39 +0900 Subject: [PATCH 3/5] chore(release): regenerate chewing.h --- capi/include/chewing.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/capi/include/chewing.h b/capi/include/chewing.h index c1a2017c..eb10a3ce 100644 --- a/capi/include/chewing.h +++ b/capi/include/chewing.h @@ -271,8 +271,8 @@ struct ChewingContext *chewing_new2(const char *syspath, struct ChewingContext *chewing_new3(const char *syspath, const char *userpath, const char *enabled_dicts, - void (*logger)(void *data, int level, const char *fmt, ...), - void *loggerdata); + void (*logger_fn)(void *data, int level, const char *fmt, ...), + void *logger_data); /** * Returns the default comma separated dictionary names. @@ -785,10 +785,10 @@ int chewing_get_phoneSeqLen(const struct ChewingContext *ctx); * * This function should be called with valid pointers. */ -void chewing_set_logger(struct ChewingContext *ctx, void (*logger)(void *data, - int level, - const char *fmt, - ...), void *user_data); +void chewing_set_logger(struct ChewingContext *ctx, void (*logger_fn)(void *data, + int level, + const char *fmt, + ...), void *logger_data); /** * Starts a userphrase enumeration. From 4d5874445c883f3f61c7d387600d86a872b93bad Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sat, 10 Jan 2026 09:13:16 +0900 Subject: [PATCH 4/5] chore(deps): update dependencies --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ee7b333a..9e298b22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,9 +81,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "cc" -version = "1.2.51" +version = "1.2.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" +checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3" dependencies = [ "find-msvc-tools", "shlex", @@ -250,9 +250,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "find-msvc-tools" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" +checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41" [[package]] name = "foldhash" @@ -348,9 +348,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.179" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libsqlite3-sys" From a6a8fa4abd3f215e3ba89a7b61702eaf8ca68f5c Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sat, 10 Jan 2026 09:25:53 +0900 Subject: [PATCH 5/5] test: fix chewing_version test --- tests/test-config.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test-config.c b/tests/test-config.c index 37d5cc32..27d2b3e9 100644 --- a/tests/test-config.c +++ b/tests/test-config.c @@ -767,7 +767,11 @@ void test_runtime_version() ok(version != NULL, "chewing_version returns a version string"); - sprintf(buf, "%d.%d.%d-%s", major, minor, patch, extra); + sprintf(buf, "%d.%d.%d", major, minor, patch); + if (strlen(extra) != 0) { + strcat(buf, "-"); + strcat(buf, extra); + } ok(strcmp(buf, version) == 0, "chewing_version can be created from components"); }