Releases: hilli/imapsync-go
Releases · hilli/imapsync-go
Release list
v0.2.0
Changelog
- d40582c: Add a brake: --max-bytes-per-second and --max-messages-per-second (@hilli)
- 68dc685: Add a dedup command that cleans one account on its own (@hilli)
- 14595f4: Bump go version (@hilli)
- c7ee736: Design: duplicate handling (@hilli)
- f1ab3d7: Group messages that may be copies of one another (@hilli)
- 3143d5b: Notice when the destination has lost copies we recorded making (@hilli)
- 212d516: Remove messages a destination folder holds more than once (@hilli)
- 639b25e: Remove the claims the governor work left behind, and pin the two that rotted (@hilli)
- 17ce056: Skip source messages that repeat one already copied (@hilli)
- 3faee04: Stop naming a specific version in the release instructions (@hilli)
v0.1.1
v0.1.0
Changelog
- 4dad85e: Add dependabot config (Jens Hilligsøe jens@hilli.dk)
- 2935a13: build: make the thing releasable without remembering how (Jens Hilligsøe jens@hilli.dk)
- b0c06e6: consent once, and let the run mint its own tokens (Jens Hilligsøe jens@hilli.dk)
- fd22e27: correct what Google's publishing status decides (Jens Hilligsøe jens@hilli.dk)
- 69e786e: docs(m4): cut parallel folder STATUS, and say why (Jens Hilligsøe jens@hilli.dk)
- 573ab49: feat(m0): add skeleton, config loading and probe command (Jens Hilligsøe jens@hilli.dk)
- f1915b7: feat(m1): add the IMAP operations a sync needs (Jens Hilligsøe jens@hilli.dk)
- 4110cc6: feat(m1): add the SQLite state store (Jens Hilligsøe jens@hilli.dk)
- 68181a5: feat(m1): add the one-way sync engine (Jens Hilligsøe jens@hilli.dk)
- 863a021: feat(m1): add the sync command (Jens Hilligsøe jens@hilli.dk)
- b76d29d: feat(m1): derive a stable identity from message headers (Jens Hilligsøe jens@hilli.dk)
- d97832e: feat(m1): map source folders onto destination folders (Jens Hilligsøe jens@hilli.dk)
- 4dbbd88: feat(m2): add the byte budget, and cut spooling to disk (Jens Hilligsøe jens@hilli.dk)
- 04b33ab: feat(m2): add the connection pool (Jens Hilligsøe jens@hilli.dk)
- 405e9f3: feat(m2): sync many folders at once, and share each folder between connections (Jens Hilligsøe jens@hilli.dk)
- 1241cd2: feat(m3): classify failures by what to do about them, not whether to retry (Jens Hilligsøe jens@hilli.dk)
- 869cdeb: feat(m3): survive the network instead of abandoning the folder (Jens Hilligsøe jens@hilli.dk)
- 74a4e57: feat(m3): try failed folders again, and say something while working (Jens Hilligsøe jens@hilli.dk)
- b223b31: feat(m4): skip folders nothing has touched, and keep flags in step (Jens Hilligsøe jens@hilli.dk)
- 019cc6b: feat: --delete2 reaches mail it did not copy, as imapsync's does (Jens Hilligsøe jens@hilli.dk)
- 39007b0: feat: a local store that speaks IMAP, so mail can be backed up to a directory (Jens Hilligsøe jens@hilli.dk)
- be84be5: feat: add --source-search and --dest-search, narrower than imapsync's --search2 (Jens Hilligsøe jens@hilli.dk)
- 508bafc: feat: add Search to the IMAP operations, by UID and never by sequence number (Jens Hilligsøe jens@hilli.dk)
- 866f7a5: feat: add the predicate that decides which messages a run wants (Jens Hilligsøe jens@hilli.dk)
- ec78bcd: feat: apply message selection filters, and make the APPENDLIMIT claim true (Jens Hilligsøe jens@hilli.dk)
- f384899: feat: follow the source when mail leaves it, with a valve on the pipe (Jens Hilligsøe jens@hilli.dk)
- d37a9b8: feat: give up connections a server will not hold (Jens Hilligsøe jens@hilli.dk)
- 47b11d9: feat: measure message age from the Date: header, as imapsync does (Jens Hilligsøe jens@hilli.dk)
- 7a54d67: feat: parse IMAP SEARCH keys, so a search can be checked before it is sent (Jens Hilligsøe jens@hilli.dk)
- 538175a: feat: run imapsync's command lines (Jens Hilligsøe jens@hilli.dk)
- eae9655: feat: subscribe to the folders this tool creates (Jens Hilligsøe jens@hilli.dk)
- adba8f3: feat: sync to and from a directory, using the sync command that already exists (Jens Hilligsøe jens@hilli.dk)
- 4b15e18: fix(config): accept unencoded email addresses as usernames (Jens Hilligsøe jens@hilli.dk)
- dfff282: fix(imapx): stop sending LIST-EXTENDED syntax to servers without it (Jens Hilligsøe jens@hilli.dk)
- cf91af2: fix(m3): do not abandon the record of a copy that already happened (Jens Hilligsøe jens@hilli.dk)
- aedde22: fix(sync): verify TLS per side, and report skips the caller did not ask for (Jens Hilligsøe jens@hilli.dk)
- 5d1bbb9: fix: a number the source cannot back with a message is not a failure (Jens Hilligsøe jens@hilli.dk)
- 1fe9a49: fix: a watermark that means "copied" cannot also be read as "deleted" (Jens Hilligsøe jens@hilli.dk)
- 5814535: fix: narrow the pool at the moment a real run needs it to (Jens Hilligsøe jens@hilli.dk)
- d10f112: fix: stamp a message once, not once per sync (Jens Hilligsøe jens@hilli.dk)
- 9e36ea7: fix: stop probe reporting our own cap as the server's ceiling (Jens Hilligsøe jens@hilli.dk)
- dbe029d: gitignore: keep captured sample messages out of the repository (Jens Hilligsøe jens@hilli.dk)
- 739fd26: give a token a way in from the config and the command line (Jens Hilligsøe jens@hilli.dk)
- 96fe5d8: imapx: do not believe a SEARCH that disagrees with EXISTS (Jens Hilligsøe jens@hilli.dk)
- 584f87e: lint: clear the backlog, two of which were real (Jens Hilligsøe jens@hilli.dk)
- ab3afb9: make the credential something the dial path can ask again (Jens Hilligsøe jens@hilli.dk)
- 1c8dbbb: merge: M2, concurrent sync across many connections (Jens Hilligsøe jens@hilli.dk)
- 9c0320a: merge: M3, surviving long runs against servers nobody controls (Jens Hilligsøe jens@hilli.dk)
- 3011d4f: merge: M4, not looking at what has not moved (Jens Hilligsøe jens@hilli.dk)
- e8d3a26: merge: numbers the source cannot back with a message (Jens Hilligsøe jens@hilli.dk)
- e13c2a0: pool: let the width climb back while the server is not refusing (Jens Hilligsøe jens@hilli.dk)
- c696e40: pool: replace a connection the server closed while it sat idle (Jens Hilligsøe jens@hilli.dk)
- 311749f: pool: wait out a capacity refusal instead of failing the folder (Jens Hilligsøe jens@hilli.dk)
- 1aa7b2a: read the message map into the map it was about to become (Jens Hilligsøe jens@hilli.dk)
- 5377279: report a server that returns a message with no header (Jens Hilligsøe jens@hilli.dk)
- d77ce7e: report: say what the run actually did, and what width it settled on (Jens Hilligsøe jens@hilli.dk)
- 2e5aa1e: say plainly what is verified, and stop claiming Gmail is (Jens Hilligsøe jens@hilli.dk)
- 3451f1b: say what the run report's rate counted (Jens Hilligsøe jens@hilli.dk)
- cff569c: show the server's verdict when it refuses SASL without asking anything (Jens Hilligsøe jens@hilli.dk)
- d2fc525: speak XOAUTH2, and re-mint a token the server stopped accepting (Jens Hilligsøe jens@hilli.dk)
- 4ac36ba: sync: actually read the concurrency block (Jens Hilligsøe jens@hilli.dk)
- 05c67c9: sync: hand back the whole pair, so delete2 stops being ignored too (Jens Hilligsøe jens@hilli.dk)
- 71a5156: test(state): prove the store survives the concurrency M2 will produce (Jens Hilligsøe jens@hilli.dk)
- 82ba750: tidy: go-sasl is a direct dependency (Jens Hilligsøe jens@hilli.dk)