Repository navigation
chore(release): 0.8.0 - #24
Merged
Merged
Conversation
Bump the workspace from 0.7.2 to 0.8.0 for the v0.8.0 tag. This is a breaking release for the `jieba` FTS tokenizer. 6949471 adapted to upstream zvec embedding cppjieba's default dictionary and HMM model into libzvec_c_api as LZ4-compressed arrays, which deleted four C-API functions and, with them, the corresponding Rust surface: ConfigBuilder::jieba_dict_dir set_default_jieba_dict_dir / get_default_jieba_dict_dir the ZVEC_RUST_JIEBA_DICT_DIR build-time env the data/jieba_dict staging in zvec-rust-build and in the prebuilt SDKs A dictionary directory is now resolved by the engine itself as per-field extra_params["jieba_dict_dir"] > ZVEC_JIEBA_DICT_DIR > the embedded default, so code that called any of the removed APIs has to be updated; code that relied on the default keeps working with no files on disk. 0.8.0 also matches the upstream v0.8.0 series the vendor submodule tracks (currently v0.8.0-beta2 = 8397071). Also new since 0.7.2: `Collection::try_close` (6120ca9), which reports a failed native close instead of leaving it to the `Drop` warning, and an aarch64-pc-windows-msvc prebuilt (ec4ae91). The two historical notes about releases up to v0.7.2 stamping macOS 14.0 on Apple Silicon are left as they are. Verified locally: `cargo fmt --all -- --check`, `cargo clippy --workspace --all-targets -- -D warnings`, unit tests 119 + 8, and `cargo publish --dry-run` for zvec-rust-build and zvec-rust-sys. The zvec-rust dry-run fails only on `zvec-rust-sys = "^0.8.0"` not being on crates.io yet, which publish-crates.yml resolves by publishing the -sys crate first and waiting for it to appear.
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.
Bump the workspace from
0.7.2to0.8.0so thev0.8.0tag can be cut.release.ymlandpublish-crates.ymlboth verify thatzvec-sys/Cargo.toml,zvec/Cargo.tomlandzvec-build/Cargo.tomlmatch the tag before doing anything, so this has to land onmainfirst.Why 0.8.0 (breaking)
#21 (
6949471) adapted to upstream zvec embedding cppjieba's default dictionary and HMM model intolibzvec_c_apias LZ4-compressed arrays. That deleted four C-API functions and, with them, the corresponding Rust surface:ConfigBuilder::jieba_dict_dirset_default_jieba_dict_dir/get_default_jieba_dict_dirZVEC_RUST_JIEBA_DICT_DIRbuild-time envdata/jieba_dictstaging inzvec-rust-buildand in the prebuilt SDK tarballsA dictionary directory is now resolved by the engine itself as per-field
extra_params["jieba_dict_dir"]>ZVEC_JIEBA_DICT_DIR> the embedded default. Code that called any of the removed APIs has to be updated; code that relied on the default keeps working with no dictionary files on disk.0.8.0also lines up with the upstream v0.8.0 series the vendor submodule tracks — currentlyv0.8.0-beta2=8397071= upstreammainHEAD.Also new since 0.7.2
Collection::try_close(feat(collection): report native close failures through try_close #19,6120ca9) — reports a failed native close instead of leaving it to theDropwarning on stderr.aarch64-pc-windows-msvcprebuilt (chore(vendor): track zvec 60956b1; ci(prebuilt): add Windows ARM64 #18,ec4ae91).Changes
Cargo.tomlworkspace.package.version0.7.2 → 0.8.0zvec/Cargo.tomlzvec-rust-sysrequirement 0.7.2 → 0.8.0Cargo.lockREADME.md,README_CN.mdzvec-rust/zvec-rust-buildsnippets →"0.8.0"The two historical notes about releases up to v0.7.2 stamping macOS 14.0 on Apple Silicon are deliberately left alone — they describe past releases and are still true.
Validation
Local, macOS arm64:
cargo publish -p zvec-rust --dry-runfails locally withfailed to select a version for the requirement zvec-rust-sys = "^0.8.0"— expected, since the-syscrate is not on crates.io yet.publish-crates.ymlhandles this by publishingzvec-rust-build→zvec-rust-sys→ waiting for it to appear →zvec-rust.cargo package --listconfirms no native artifacts are shipped:zvec-rust-syspackages 8 files (111.4 KiB) andzvec-rust27, all Rust sources plus READMEs. The C library reaches users through the prebuilt tarballs thatbuild-prebuilt.ymlattaches to the GitHub Release.Release sequence after this merges
git tag v0.8.0 && git push origin v0.8.0→release.ymlcallsbuild-prebuilt.yml(8 targets), verifies the manifests against the tag, then creates the GitHub Release with the tarballs.publish-crates.ymlwithtag: v0.8.0. Step 2 must come after step 1: the-sysbuild script resolves the prebuilt SDK fromreleases/download/v0.8.0/..., which does not exist until the Release is created.