diff --git a/Cargo.lock b/Cargo.lock index 6d9631e..e7c52fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -108,7 +108,7 @@ dependencies = [ [[package]] name = "astvcs" -version = "0.1.5" +version = "0.1.6" dependencies = [ "base64 0.23.1", "clap", diff --git a/Cargo.toml b/Cargo.toml index 87ea321..702d01c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "astvcs" -version = "0.1.5" +version = "0.1.6" edition = "2024" license = "MIT" diff --git a/docs/RELEASE.md b/docs/RELEASE.md index c2bedb6..28a2d87 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -4,7 +4,7 @@ Copy this outline when drafting a GitHub Release for a new tag. Project overview ## Version -`v0.1.5` (matches `Cargo.toml` `version` and `astvcs --version`) +`v0.1.6` (matches `Cargo.toml` `version` and `astvcs --version`) ## Requirements @@ -22,10 +22,17 @@ Download the platform archive from [GitHub Releases](https://github.com/Cod-e-Co Each archive contains three binaries: `astvcs`, `astvcs-merge-driver`, and `astvcs-diff-driver` (`.exe` on Windows). The `v0.1.0` archives shipped only the main `astvcs` binary. -Verify: `astvcs --version` should print `0.1.5`. +Verify: `astvcs --version` should print `0.1.6`. ## Changelog +### v0.1.6 + +- Add Dependabot for Cargo and GitHub Actions (grouped tree-sitter, cargo-dev, and Actions updates) +- Bump direct crates: clap, base64, ignore, similar, regex, serde, serde_json, tree-sitter +- Bump GitHub Actions used by CI and release workflows +- Serialize identity tests that touch `ASTVCS_AUTHOR_*` so parallel cargo test no longer races env overrides into repo-local identity checks + ### v0.1.5 - Fix wide-list alignment: uniquely pair content-addressed NodeIds before structural LCS so several empty-payload Function siblings plus an EOF append no longer invent false overlaps diff --git a/src/store/identity.rs b/src/store/identity.rs index ba438f2..c8e8337 100644 --- a/src/store/identity.rs +++ b/src/store/identity.rs @@ -218,6 +218,8 @@ mod tests { #[test] fn repo_local_identity_roundtrip() { + let _guard = IDENTITY_TEST_LOCK.lock().unwrap(); + let _env = AuthorEnvGuard::clear(); let dir = TempDir::new().unwrap(); let repo = Repo::init(dir.path()).unwrap(); setup_identity(&repo); @@ -230,19 +232,16 @@ mod tests { #[test] fn env_overrides_repo_config() { let _guard = IDENTITY_TEST_LOCK.lock().unwrap(); + let _env = AuthorEnvGuard::set([ + ("ASTVCS_AUTHOR_NAME", "Env User"), + ("ASTVCS_AUTHOR_EMAIL", "env@example.com"), + ]); let dir = TempDir::new().unwrap(); let repo = Repo::init(dir.path()).unwrap(); setup_identity(&repo); - unsafe { - std::env::set_var("ASTVCS_AUTHOR_NAME", "Env User"); - std::env::set_var("ASTVCS_AUTHOR_EMAIL", "env@example.com"); - } let id = resolve_author_identity(&repo).unwrap(); assert_eq!(id.name, "Env User"); - unsafe { - std::env::remove_var("ASTVCS_AUTHOR_NAME"); - std::env::remove_var("ASTVCS_AUTHOR_EMAIL"); - } + assert_eq!(id.email, "env@example.com"); } #[test]