Skip to content

v0.41.0-alpha

Choose a tag to compare

@calionauta calionauta released this 16 Jun 23:25

What's in

3 fixes in 1 commit (b234626) since v0.40.0-alpha:

1. sync.exclude now recurses into subdirectories (user config)

Previously, user-supplied patterns in config.yaml (agents_config.<agent>.sync.exclude) used a bare fnmatch() call. So exclude: ["node_modules/"] only matched the literal node_modules filename — not node_modules/foo.js or a/node_modules/b.js. The hardcoded EXCLUDE_PATTERNS had special-case recursion for pattern.endswith('/') but the user list did not.

Refactored to a single _matches_pattern() helper used by both lists. Now supports:

  • node_modules/ (with slash) — recursive
  • node_modules (bare name) — recursive (convenience)
  • **/name (any depth) — recursive
  • *.bak, **/*.lock — standard globs as before

Backups using sync.all_files + sync.exclude now correctly exclude heavy subdirs.

2. Nested .git/ directories excluded by default

Added .git/ to EXCLUDE_PATTERNS. Stops nested VCS metadata from leaking into backups (e.g. agentmemory-snapshots/.git/ was being copied into the private repo, creating git-in-git).

3. CHANGELOG updated

Added the v0.40.0-alpha and v0.41.0-alpha entries that were missing (last entry was v0.32.0-alpha from 12 days ago, with 7 intermediate alpha tags undocumented).

Tests

559/559 passing (was 551; +8 new in TestExcludePatternMatching).

Known limitations

  • PyPI release artifacts not yet uploaded (awaiting PyPI credentials). Install from git: pipx install git+https://github.com/renatocaliari/agent-sync.git@v0.41.0-alpha.