v0.41.0-alpha
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) — recursivenode_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.