Releases: simplex-chat/simplexmq
v0.5.0
See full changelog here.
Commits, chronological:
-
update DigitalOcean image manifest and init script to install the latest server release, add docs (#195)
-
remove build matrix and create release in the end of build to avoid downtime in binary availability (#196)
-
URI syntax for SMP queues and connection requests (#210)
-
merge protocol changes from v5 (#211)
-
support permanent connection link ("contact") in SMP agent protocols (#143)
-
add CONF/LET for invitations, use REQ/ACPT only with contact connections (#212)
-
use base64url encoding for public key in connection requests; only allow accepting invitations that were not accepted (#213)
-
SimpleX protocols and network overview (#215)
-
RJCT / rejectContact to reject contact requests (#214)
-
delete contact connection with DEL command (#218)
-
prepare v0.5.0 - update versions, changelog (#219)
-
0.5.0
v0.4.1
v0.4.0
See CHANGELOG.md for the details.
-
SMP server linode StackScript (#147)
-
turn off smp server websockets support in linode script (#149)
-
add linode deployment recipe, modify smp-server-linode script (#151)
-
update script link (#152)
-
agent entity types (#148)
-
database migrations (#153)
-
broadcast commands (#154)
-
groups agent protocol (#142)
-
add DigitalOcean SMP server Droplet recipe, extend readme (#150)
-
remove digitalocean deployment until ready (#157)
-
introduction protocol (#156)
-
remove entities, remove broadcasts (#158)
-
SMP agent: functional API (#159)
-
pass migration as parameter (to use in simplex-chat) (#161)
-
SQLiteStore connection pool (#162)
-
refactor message meta to MsgMeta type (#164)
-
upgrade stack resolver to lts-18.0 (#165)
-
ask client for confirmation of sender; make establishment of connection asynchronous (#163)
-
remove connection ID parameter from agent functions (#166)
-
fix markdown error in crypto rfc (#167)
-
add tests for establishing connection asynchronously; retrieve correct key for activation on restart (#169)
-
add digital ocean deployment instruction (#168)
-
use explicit immediate transactions in all functions that change db (#170)
-
commit simplexmq.cabal to remove stack DEPRECATED warning (#172)
-
create cfg dir before server initialization (#173)
-
decrease initial delay for HELLO retries on online activation (#174)
-
Remove introductions, rename CONF/LET to REQ/ACPT (#175)
-
agent lock to avoid running subscriber and client processing in parallel; remove check that the connection is active when delivering a message (#176)
-
funding.yml (#177)
-
reconnect server and resubscribe connections after disconnection (#178)
-
asynchronous message sending to allow accepting messages when agent (or server) is offline (#179)
-
support 3072 bits RSA key size (#180)
-
refactor with RecordWildCards (#181)
-
add SMP queue quota to server config (and use TBQueue for messages) (#182)
-
change type of agent sendMessage result to AgentMsgId (#183)
-
fix error handling of sending pending messages; set block size to 8192 (#184)
-
set block size to 4096 bytes (#185)
-
export withAgentLock and do not acquire agent lock in functional API (#186)
-
ACK command, ackMessage, do not send ACK to SMP server on MSG (after the initial handshake) (#187)
-
SMP block size via config, the client can override size set by the server (#188)
-
do not allow "," and ";" separators in smp-server hostname (#189)
-
move tryError to Simplex.Messaging.Util (#191)
-
update protocols (#190)
-
Merge branch 'master' into v4
-
Merge pull request #160 from simplex-chat/v4
-
v4 (#192)
-
update version (0.4.0) and changelog (#193)
-
0.4.0
v0.3.2
v0.3.1
-
docs: correct agent protocol abnf (#128)
-
move SMP server from agent commands NEW/JOIN to agent config (#129)
-
agent: send CON to user when the 1st party responds HELLO; fix REPLY vulnerability (#130)
-
sqlite busy stress test (#131)
-
package and module docs, remove Simplex.Markdown (moved to simplex-chat), rename Agent.Transmission to Agent.Protocol (#133)
-
agent: change sqlite busy retry handling; set journal_mode = WAL (#132)
-
update package categories (#134)
-
reduce transaction retry back-off factor to 1.25 (31 retries) (#136)
-
reduce transaction retry back-off factor to 1.125 (#137)
-
reorganize sqlite store test suite (#138)
-
0.3.1 (#135)
v0.3.0
- tests: block on tcp server creation (#99)
- standard X509/PKCS8 encoding for RSA keys (#98)
- change missing IDs message status syntax (#100)
- improve error handling (#101)
- return error on creation of duplicate connection (#102)
- chat: add connection errors in chat, fix catch (#103)
- binary X509 encoding for RSA key send during transport handshake (#105)
- sign and verify agent messages (#106)
- set different default server (#107)
- store log (#108)
- test: SMP server store log (#109)
- Updated ChatHelpInfo (#112)
- reduce help size (#113)
- save keys as binary to db, remove legacy encoding (#114)
- agent: verify msg integrity based on previous msg hash and id (#110)
- reserve block size (32 bit) and protocol (16 bit) in client handshake (#116)
- mitigate timing attack to determine if queue exists (#117)
- agent sqlite: store msg hashes and integrity (#118, #119, #120)
- update SMP version (#123)
- only allow correct key and signature sizes, improve timing mitigation (#121)
- simplify KeyHash type, store key hash in DB as binary (#122)
- base64 encode keyhash in DB (#126)
- SimplexMQ readme, remove chat client (#125)
- build SMP server on tags (#127)
- 0.3.0
v0.2.0
-
SMP agent implementation (#1)
-
agent store: add positive updateQueueStatus tests for snd and rcv conns (#10)
-
agent store: add createMsg (#14)
-
agent store: move SQLite Types -> Util (#30)
-
agent sqlite: rework schema, make methods transactional, enable foreign keys (#34)
-
crypto: clean up magic numbers (#40)
-
crypto (#33)
-
crypto rfc: clean up e2e (#41)
-
agent: save messages (#45)
-
agent tests (#8)
-
ci: cache dependencies (#11)
-
SMP client library (#9)
-
SMPClient returns errors via ExceptT (#13)
-
receiving messages and remaining client functions (#15)
-
tests: randomize db file name to fix io errors (#16)
-
Receive messages (#17)
-
agent store: add update queue methods (#19)
-
agent store: add getReceiveQueue
-
correct variable name
-
parse agent messages with attoparsec (#18)
-
Sending messages end to end (#21)
-
sql quasi-qouter (#26)
-
Logging (#24)
-
reorganize Protocol and Agent Store (#25)
-
subscriptions (#27)
-
suspend and delete connection (#28)
-
handle TCP disconnections (WIP) (#29)
-
Refactor END notifications (#31)
-
message management (#32)
-
chat prototype (#35)
-
fix ghc version in build (#36)
-
Sign / verify SMP commands (#37)
-
use cryptographic key pairs for encryption keys (#39)
-
E2E message encryption (#38)
-
dog-food: distinguish self from contacts (#42)
-
add instructions on how to run chat client to README (#43)
-
terminal UI (#44)
-
add Dockerfile for building chat executable and instructions on running it (#48)
-
remove GADT syntax from existential wrappers (#49)
-
add mutex to prevent ansi codes appearing in the output (#50)
-
chat: fix welcome line (#51)
-
agent sqlite: move sql queries closer to parameters (#53)
-
agent sqlite: merge SQLite and SQLite.Util (#54)
-
add *.session.sql to .gitignore - for saving db queries (#52)
-
agent store: settle naming of Rcv and Snd entities (#55)
-
add chat history instructions to README (#56)
-
agent store: accept internal ts and return internal id (#58)
-
SMP heartbeat to maintain the connection (#59)
-
Separate db connection for each TCP client connection (#60)
-
improve rsa encryption (#61)
-
Types.hs -> Protocol.hs (#62)
-
check that sqlite library is compiled with threadsafe code (#63)
-
agent store: explain use for various message Ids (#66)
-
agent store: organize sender and broker fields into tuples (#67)
-
agent store: make newtypes for msg internal Ids (#68)
-
chat: subscribe to all connections on startup (#70)
-
Windows terminal editing (#71)
-
simplify installation instruction (#72)
-
readme: note on docker (#73)
-
agent sqlite: initialize database in home directory by default (#74)
-
agent sqlite: enable FKs in all db connections (#75)
-
automate releases (#76)
-
enforce windows terminal mode to basic, warning message (#77)
-
remove terminal mode "simple" (#78)
-
Support windows terminal in basic mode (#80)
-
Markdown (#81)
-
refactor chat terminal (#83)
-
automate changelogs (#84)
v0.1.0
SMP protocol server implementation without encryption.