Skip to content

Releases: simplex-chat/simplexmq

v0.5.0

08 Dec 18:57
Compare
Choose a tag to compare

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

11 Sep 18:27
Compare
Choose a tag to compare
  • include migrations in the package, update docs, versions (#194)

  • 0.4.1

v0.4.0

11 Sep 11:05
Compare
Choose a tag to compare

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

23 May 11:33
dea1845
Compare
Choose a tag to compare
  • simplex-messaging.md reformulation of key pairs handling part (#141)

  • websockets transport (#139)

  • SMP server CLI commands (#144)

  • upgrade ghc to 8.10.4, stack resolver to 17.12 (#145)

  • 0.3.2 (#146)

v0.3.1

10 May 11:20
44bec88
Compare
Choose a tag to compare
  • 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

04 May 07:41
Compare
Choose a tag to compare
  • 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

09 Apr 14:32
d0b047d
Compare
Choose a tag to compare
  • 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

09 Apr 14:02
Compare
Choose a tag to compare

SMP protocol server implementation without encryption.