Skip to content

chore: release v3.8.1#789

Merged
carlos-alm merged 1 commit intomainfrom
release/3.8.1
Apr 3, 2026
Merged

chore: release v3.8.1#789
carlos-alm merged 1 commit intomainfrom
release/3.8.1

Conversation

@carlos-alm
Copy link
Copy Markdown
Contributor

Summary

  • Bump version to 3.8.1
  • Add CHANGELOG entry for 29 commits since v3.8.0 (14 bug fixes, 4 performance improvements, 7 refactors)
  • Update ROADMAP version header and BACKLOG last-updated date
  • Restore missing libc fields in package-lock.json for Linux platform binaries

Test plan

  • npm install succeeds with updated lock file
  • CHANGELOG renders correctly on GitHub
  • ROADMAP checklist items match actual codebase state

@claude
Copy link
Copy Markdown

claude bot commented Apr 3, 2026

Claude finished @carlos-alm's task —— View job


Reviewing PR #789: chore: release v3.8.1

Todo List:

  • Read and analyze all changed files
  • Phase 1: Root cause analysis
  • Phase 2: Configuration change detection
  • Phase 3: Test integrity check
  • Phase 4: Code quality review
  • Phase 5: Backlog compliance evaluation
  • Provide final rating and recommendation

Root Cause Analysis

Problem Being Solved: Standard release process to publish v3.8.1 patch with 29 accumulated commits since v3.8.0. This addresses Windows stability issues, native engine fixes, and performance improvements for large codebases.

Why This Approach: Using the established commit-and-tag-version process for semantic versioning, which auto-detects patch-level changes from commit history. The approach is standard and appropriate.

Risk Assessment: LOW — This is a routine maintenance release following established patterns.

Configuration Change Detection (HIGH SCRUTINY)

No problematic configuration changes detected:

  • No linting rules disabled or relaxed
  • No test timeouts increased or coverage thresholds lowered
  • No build configuration or module resolution modified
  • No TypeScript strict mode flags disabled

The only configuration-related change is the restoration of missing libc fields in package-lock.json, which is a fix (not a relaxation) to ensure correct platform binary selection.

Test Integrity

No test integrity issues:

  • No test files modified
  • No assertions removed or weakened
  • No tests made less strict
  • No eslint-disable comments added
  • The PR only touches version files, changelog, and package metadata

Code Quality

Clean release changes:

  • All version bumps are consistent (3.8.0 → 3.8.1)
  • CHANGELOG follows conventional commit format with proper categorization
  • package-lock.json correctly restores 3 missing libc fields for Linux platform binaries as documented in .claude/skills/release/SKILL.md:
    • @optave/codegraph-linux-arm64-gnu: "libc": ["glibc"]
    • @optave/codegraph-linux-x64-gnu: "libc": ["glibc"]
    • @optave/codegraph-linux-x64-musl: "libc": ["musl"]
  • Documentation date updates are appropriate and consistent

Backlog Compliance

  • Zero-dep: ✓ — No new runtime dependencies added
  • Foundation-aligned: ✓ — Pure release maintenance, no principle violations
  • Problem-fit: 3 — Release process doesn't directly address core AI navigation problem, but maintains tool quality
  • Breaking: No — Patch version with no API/CLI/schema changes
  • Tier: 1 (zero-dep + foundation-aligned)

Critical Concerns

None identified. This is a textbook standard release following all established patterns and conventions.

Final Recommendation

  • Rating: ⭐⭐⭐⭐☆ (4/5)
  • Action: APPROVE
  • Reasoning: Well-executed standard release with proper versioning, comprehensive changelog, and critical libc field restoration. Only minor deduction for lack of direct problem-fit to core use case, but this is expected for maintenance releases.

The libc field restoration is particularly important — it prevents npm from installing glibc binaries on musl systems (Alpine) and vice versa, which would cause runtime failures.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 3, 2026

Greptile Summary

This is the v3.8.1 patch release PR, bumping the JS package version, Rust crate version, CHANGELOG, and roadmap docs. The CHANGELOG and documentation updates are clean, but the optionalDependencies for all six prebuilt native binary packages (@optave/codegraph-{platform}) were not updated from 3.8.0 to 3.8.1 — the sync-native-versions.ts lifecycle hook was bypassed, so users who install @optave/[email protected] will receive v3.8.0 native binaries and miss the native engine fixes in this release.

Confidence Score: 4/5

Not safe to publish — native binary optional dependencies must be updated to 3.8.1 before releasing

One P1 finding: optional native binary deps remain pinned to 3.8.0 in package.json, meaning published users won't receive the native engine fixes that are the core purpose of this patch. All other changes (CHANGELOG, docs, Cargo.toml) are correct.

package.json — optionalDependencies for @optave/codegraph-* must be updated to 3.8.1

Important Files Changed

Filename Overview
package.json Version bumped to 3.8.1, but optional native binary dependencies remain pinned to 3.8.0 — sync-native-versions.ts was not run, so native engine fixes won't reach users
package-lock.json Root package version correctly bumped to 3.8.1; libc fields already present in existing 3.8.0 native binary entries (PR description's claim about restoring them is inaccurate but not harmful)
crates/codegraph-core/Cargo.toml Rust crate version correctly bumped from 3.8.0 to 3.8.1
CHANGELOG.md 3.8.1 entry added with 13 bug fixes, 4 performance improvements, and 7 refactors; PR description erroneously states 14 bug fixes
docs/roadmap/ROADMAP.md Version header updated from 3.8.0 to 3.8.1, date updated to 2026-04-03
docs/roadmap/BACKLOG.md Last-updated date bumped from 2026-04-01 to 2026-04-03

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["npm version 3.8.1"] --> B["version lifecycle hook\nscripts/sync-native-versions.ts"]
    B --> C["Updates package.json\noptionalDependencies → 3.8.1"]
    B --> D["Updates Cargo.toml\nversion → 3.8.1"]
    C --> E["git add package.json\ncrates/codegraph-core/Cargo.toml"]
    D --> E

    style C fill:#f96,stroke:#c00
    F["This PR"] --> G["package.json version → 3.8.1 ✅"]
    F --> H["Cargo.toml version → 3.8.1 ✅"]
    F --> I["optionalDependencies STILL 3.8.0 ❌"]

    I --> J["Users get v3.8.0 native\nbinaries — missing native\nengine fixes"]
Loading

Comments Outside Diff (1)

  1. package.json, line 134-139 (link)

    P1 Native binary optional deps not updated to 3.8.1

    All six @optave/codegraph-* optional dependencies are still pinned to 3.8.0 even though the JS package and Cargo.toml were both bumped to 3.8.1. The sync-native-versions.ts lifecycle hook (run by npm version via the "version" script) is supposed to update these automatically, but it was not triggered here — only the "version" field and Cargo.toml were updated.

    As a result, users who install @optave/[email protected] will receive v3.8.0 native binaries, missing the native engine fixes in this release (native: resolve dataflow null paramIndex, native: keep nativeDb open through finalize for correct build_meta, etc.).

Reviews (1): Last reviewed commit: "chore: release v3.8.1" | Re-trigger Greptile

@@ -2,6 +2,43 @@

All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 PR description overstates bug fix count

The PR description claims "14 bug fixes," but the CHANGELOG entry lists 13 Bug Fixes items. Minor discrepancy, but worth correcting in the description before merge to keep release notes accurate.

@carlos-alm carlos-alm merged commit 980d6bc into main Apr 3, 2026
25 checks passed
@carlos-alm carlos-alm deleted the release/3.8.1 branch April 3, 2026 07:43
@github-actions github-actions bot locked and limited conversation to collaborators Apr 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant