Releases: jniltinho/go-imapsync
Releases · jniltinho/go-imapsync
Release list
v0.1.3
Release v0.1.3
🐛 Fixes
- fix(sync): compare host2 identity keys during
--dry(SELECT + FETCH headers) so remaining vs skipped counts are accurate after a real sync
📦 Package
- linux/amd64:
go-imapsync_0.1.3_linux_amd64.tar.gz - darwin/arm64:
go-imapsync_0.1.3_darwin_arm64.tar.gz - windows/amd64:
go-imapsync_0.1.3_windows_amd64.zip
Full Changelog: v0.1.2...v0.1.3
v0.1.2
Release v0.1.2
✨ New Features
- feat(release): multi-platform packages — linux/amd64, darwin/arm64 (Apple Silicon), windows/amd64
- feat(docs): operator and developer good practices guide (
docs/GOOD_PRACTICES.md)
🔧 Improvements
- chore(ci):
make release-crossbuilds and packages all three targets; Actions uploads every archive on tag push - docs(readme): document pre-built binary matrix and
make release-cross
📦 Package
- linux/amd64:
go-imapsync_0.1.2_linux_amd64.tar.gz - darwin/arm64:
go-imapsync_0.1.2_darwin_arm64.tar.gz - windows/amd64:
go-imapsync_0.1.2_windows_amd64.zip
Full Changelog: v0.1.1...v0.1.2
v0.1.1
Release v0.1.1
✨ New Features
- feat(errors): classify IMAP failures (quota, closed connection, auth, TLS, timeout) with operator-facing reasons and hints
- feat(report): end-of-run error breakdown and “what to do next” guidance
🔧 Improvements
- refactor(sync): abort on OVERQUOTA or repeated closed-connection APPEND failures instead of flooding identical errors
- docs: expand package and API godoc across
cmdandinternal/*packages
📚 Documentation
- docs: add CONTRIBUTING.md (setup, tests, PR expectations)
- docs: CHANGELOG entry for 0.1.1; README link to contributing
📦 Package
- linux/amd64:
go-imapsync_0.1.1_linux_amd64.tar.gz
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Release v0.1.0
✨ New Features
- feat(cli): imapsync-style flags for dual-host sync (
--host1/2, SSL/TLS,--dry,--justfolders,--useheader,--logfile) - feat(imap): dual IMAP sessions with LIST, CREATE, FETCH and APPEND (flags + internal date) via emersion/go-imap/v2
- feat(identity): header-based duplicate detection (default Message-Id + Received)
- feat(security): redacted password type and optional env passwords (
GOIMAPSYNC_PASSWORD1/2) - feat(report): end-of-run summary with exit codes 0/1/2
🔧 Improvements
- refactor(errors): classify quota, closed connection, auth, TLS and timeouts with operator hints; abort on fatal faults instead of error spam
- chore(build): Makefile targets (
build,test,lint,release,docker-build,live-dry) and staticCGO_ENABLED=0binary - chore(ci): GitHub Actions CI + tag release workflow (linux/amd64 tarball)
🧪 Tests
- test: unit coverage for config, identity, secret and report
- test: dual-user TLS memserver integration for imapclient and sync
- test: binary e2e smoke (dry, real transfer, dedup, bad auth, exit codes)
📚 Documentation
- docs: README, CHANGELOG, OpenSpec change
go-imapsync-core - docs: Archify architecture diagrams under
docs/architecture/ - docs: create-release skill rewritten for GitHub +
gh
📦 Package
- linux/amd64:
go-imapsync_0.1.0_linux_amd64.tar.gz
Full Changelog: 54c943b...v0.1.0