See full changelog here.
Commits:
- XFTP modules structure
- core: SimpleX File Transfer protocol type (#587)
- FileStore (#589)
- add XFTP to ProtocolType
- Merge branch 'master' into xftp
- Merge branch 'master' into xftp
- Merge branch 'master' into xftp
- update protocol/store to include file digest
- files: file description types (#631)
- Merge branch 'master' into xftp
- Merge branch 'master' into xftp
- files: file description parsing & serialization, tests (#633)
- Merge branch 'xftp' of github.com:simplex-chat/simplexmq into xftp
- files: server and client spike - basic upload/download (#591)
- Merge branch 'master' into xftp
- Merge branch 'master' into xftp
- xftp: cli client draft (#635)
- xftp: cli - verify file digest (#640)
- xftp: cli - option to pass servers, choose servers randomly (#641)
- XFTP: CLI tests, output command results, info command (#642)
- Merge branch 'master' into xftp
- XFTP error type
- Merge branch 'master' into xftp
- xftp: only receive correct number of bytes
- xftp: download chunks to separate files
- xftp: validate digests of file chunks in client and server
- xftp: refactor
- faster lazy secret_box
- add unpadded AES encryption
- fix comment (#645)
- Merge branch 'master' into xftp
- xftp: tests with 2 servers and 2 clients
- xftp: add server to client encryption layer with cryptobox (#646)
- xftp: FDEL and FACK commands (#648)
- xftp: sender file description (#647)
- xftp: cli - delete file command, acknowledge received chunks (#649)
- xftp: write secret_box auth tag to the end of the file, for efficiency of ecryption/decryption (#650)
- xftp: expire files on the server, track/limit used storage (#651)
- xftp: server store log (#652)
- xftp: add basic auth (#653)
- xftp: more store log tests (#654)
- unpadded AES-GCM encryption now requires 12 bytes IV (#656)
- xftp: server - retry on duplicate ids (#655)
- Merge branch 'master' into xftp
- ci: add xftp server (#657)
- 5.0.0-beta.0
- xftp: increase timeouts for file uploads, show progress (#658)
- xftp: add quota param to server CLI, restrict chunk sizes (#659)
- 5.0.0-beta.1
- xftp cli: use 3 chunk sizes (256kb, 1mb, 4mb) (#660)
- xftp: server stats (#661)
- v5.0.0-beta.2
- update cGet to not throw exception if returned string is shorter (trying to fix HTTP2), fix test (#663)
- Correct minor Docker syntax error (#662)
- xftp: download timeout, reconnect CLI on timeouts, verbose logging (#664)
- xftp: remove file description that cannot be used (#665)
- xftp: constrain supported file size to 1gb
- xftp: use SHA256 digest for file chunks to reduce file description size (#666)
- v5.0.0-beta.3
- xftp: update http2 to remove workarounds with padding and delay (#667)
- update http2 library
- retryInterval functions pass current interval to the action, to resume with the same interval on restart (improve battery consumption) (#670)
- xftp: agent receive file (#637)
- Merge branch 'master' into xftp
- xftp agent: update chunk delay (#671)
- xftp: resume file reception and decryption on agent restart (#673)
- xftp: agent send file design wip (#674)
- xftp: server types for any protocol (#672)
- xftp: agent error handling (#675)
- xftp: agent command entities (#676)
- xftp: cleanup complete & error files tmp paths; remove save path before decrypting if exists (#677)
- 5.0.0-beta.4
- xftp: add random bytestring entity id for rcv files (#681)
- xftp: experimental send api wip (#682)
- update http2 to 4.1 (#680)
- xftp: fix experimental send api description paths (#683)
- 5.0.0-beta.5
- rename FileParty constructors
- xftp: agent API for xftp commands and events (#684)
- Support for building ARM docker images (#679)
- xftp: pass save path to agent (#685)
- xftp: use agent servers in experimental send, refactor decryption (#686)
- xftp: streaming file encryption/decryption to avoid memory spikes (#687)
- xftp: move delay to replica (#688)
- xftp: reconnect XFTP client on replica retry (#689)
- use different constraint for non-error functions (#690)
- add sha512 (#691)
- Merge branch 'master' into xftp
- add stateTVar imports for compatibility with older hackage index in nix builds
- add stateTVar import
- import stateTVar
- xftp: add command to delete rcv file; agent manages save path (#692)
- Merge pull request #584 from simplex-chat/xftp
- store retry intervals to resume from the same interval on restart (#693)
- xftp: relative file paths, worker management (#694)
- Remove duplicated serverIdentity field (#491)
- xftp: send events for file sending/receiving progress (#697)
- support down migrations (#696)
- catch errors in cleanup manager (#698)
- xftp: agent to expire rcv files older than 2 days (#699)
- xftp: notify about errors on rcv files retry; process snd files errors (#700)
- xftp: re-create output file if decryption restarts (#701)
- update http2
- xftp: implement server command to add file recipients (#702)
- use Int64 for time calculations (#706)
- ci: disable 2 tests on linux only, switch to ubuntu 20 and 22 (#705)
- update http2
- xftp: agent API to set and test servers (#704)
- xftp: fix file reception on 32 bit platforms (#708)
- update preset xftp servers
- xftp: recoverable send - spike (#707)
- xftp: transform SndFile to recipient descriptions; non optional chunk digest (#710)
- xftp: use fs path when encrypting file and uploading chunks (#711)
- xftp: client function to create new chunk (#712)
- xftp: agent client functions to upload file and add recipients (#713)
- xftp: choose server when creating chunk, retrying with different servers (#714)
- xftp: use recoverable send implementation instead of experimental, fix query, tests (#716)
- xftp: send progress events (#717)
- xftp: restore snd files, expire snd files in agent (#718)
- xftp: api to delete snd files internally, cleanup snd files, tests (#719)
- xftp: delete snd files on servers (#722)
- xftp: test additional recipient IDs are requested when number of recipients exceeds maximum per request (#723)
- xftp: wait for agent in foreground in XFTP workers without delaying suspension (#721)
- Merge pull request #709 from simplex-chat/xftp-send
- move assertForeground (#724)
- xftp: use chunk digest as entity id for transport session (#725)
- report ratchet decryption errors from agent (#720)
- support ipv6 (#715)
- xftp: test file deletion restores after restart (#727)
- 5.0.0 (#728)