Skip to content

fix: rewrite v1.4.0 changelog and add license scan allowlist#15

Merged
carlos-alm merged 2 commits intomainfrom
fix/changelog-and-license-scan
Feb 22, 2026
Merged

fix: rewrite v1.4.0 changelog and add license scan allowlist#15
carlos-alm merged 2 commits intomainfrom
fix/changelog-and-license-scan

Conversation

@carlos-alm
Copy link
Contributor

Summary

Re-applies 2 fixes that were lost when the release/v1.4.0 branch was deleted after PR #13 merged (the commits were pushed after the merge).

  • CHANGELOG.md — rewritten with correct categorization: features, testing, docs, CI/CD, bug fixes (was dumping CI/test/docs work under "Bug Fixes")
  • License compliance workflow — adds explicit LICENSE_ALLOWLIST variable for @img/sharp-* (dual-licensed Apache-2.0 AND LGPL-3.0-or-later via libvips). Uses package-name matching instead of a broad regex, so new LGPL deps will still be caught

Test plan

  • npm run lint — clean
  • License scan should pass (only @img/sharp-* excluded, with justification)

…, multi-repo MCP roadmap

- Node types: Go struct→struct, Rust struct/enum/trait, Java enum,
  C# struct/record/enum, PHP trait/enum, Ruby module — in both WASM
  and native Rust extractors
- Add SYMBOL_KINDS constant and update all kind IN filters across
  queries, builder, export, embedder, cycles, watcher, and MCP
- Add GitNexus column to README comparison table
- Add Phase 2.5 Multi-Repo MCP to ROADMAP
- Add PreToolUse hooks for Read/Grep context enrichment via codegraph deps
- Update CLAUDE.md and README with new node kind documentation

BREAKING CHANGE: Node kinds changed for structs, enums, traits, records,
and modules. Rebuild with `codegraph build --no-incremental`.
Rewrite CHANGELOG.md with correct categorization (features, testing,
docs, CI/CD, bug fixes) instead of dumping everything under bug fixes.

Add explicit package allowlist to license compliance workflow for
@img/sharp-* (dual-licensed Apache-2.0 + LGPL-3.0 via libvips).
New LGPL packages will still be flagged — only reviewed entries pass.
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 22, 2026

Greptile Summary

This PR recovers two sets of changes lost when the release/v1.4.0 branch was deleted: a rewritten CHANGELOG with proper categorization, and an enhanced license compliance workflow.

Major changes:

  • CHANGELOG.md — reorganized v1.4.0 entries into semantic categories (Features, Testing, Documentation, CI/CD, Bug Fixes) instead of dumping everything under "Bug Fixes"
  • License compliance — added LICENSE_ALLOWLIST for @img/sharp-* packages with detailed justification; uses package-name filtering to catch future LGPL dependencies
  • Granular node types — systematic rename across parsers: Go/Rust/C# structs → struct, Rust traits → trait, Rust/Java/PHP enums → enum, C# records → record, Ruby modules → module, PHP traits → trait
  • Query updates — expanded all SQL queries in cycles.js, export.js, watcher.js to include the full set of granular kinds
  • Documentation — added GitNexus comparison to README, documented SYMBOL_KINDS design decision in CLAUDE.md, added Phase 2.5 multi-repo MCP to ROADMAP
  • Claude Code integration — new PreToolUse hook (enrich-context.sh) provides codegraph dependency context for Read/Grep operations

All changes are well-structured and backwards-compatible (database schema unchanged, just kind values).

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • All changes are well-documented recovery of lost work with comprehensive test coverage updates. The license allowlist is properly justified and scoped. The granular node types refactor is systematic across all extractors (both JS and Rust) with matching test updates. No breaking changes to the database schema or API.
  • No files require special attention

Important Files Changed

Filename Overview
CHANGELOG.md Reorganized v1.4.0 entries into proper categories (Features, Testing, Documentation, CI/CD, Bug Fixes)
.github/workflows/shield-license-compliance.yml Added LICENSE_ALLOWLIST for @img/sharp-* with justification comment and filtering logic
.claude/hooks/enrich-context.sh New PreToolUse hook providing codegraph dependency context for Read/Grep operations
src/parser.js Changed kind labels to language-native types: Go/Rust/C# struct, Rust trait/enum, Java/PHP enum, C# record, Ruby module, PHP trait
crates/codegraph-core/src/extractors/rust_lang.rs Updated Rust extractor to use native kinds: struct, enum, trait
crates/codegraph-core/src/extractors/go.rs Changed Go struct extraction from kind 'class' to 'struct'

Last reviewed commit: 9fbb084

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

24 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@carlos-alm carlos-alm merged commit 75a39fa into main Feb 22, 2026
18 checks passed
@carlos-alm carlos-alm deleted the fix/changelog-and-license-scan branch February 22, 2026 07:31
carlos-alm pushed a commit that referenced this pull request Feb 24, 2026
Add readFileSafe helper that retries on transient OS errors
(EBUSY/EACCES/EPERM) from editors performing non-atomic saves.
Replace bare readFileSync calls in builder.js (3 sites) and
watcher.js (1 site).

Add symlink loop detection to collectFiles via realpathSync tracking
of visited directories, preventing infinite recursion from circular
symlinks.

Update architecture.md sections #7, #15, and summary table to
reflect these fixes.

Impact: 5 functions changed, 5 affected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant