Skip to content

Releases: simplex-chat/simplexmq

v1.0.3

26 Feb 14:31
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • update Linode stackscript (#309)
  • update Linode stackscript, amendments
  • split the server dependencies from the agent (#310)
  • update release template
  • JSON encoding of types used in simplex-chat (#311)
  • use aeson fork with the option to encode/decode nullary constructors as empty objects (#312)
  • add "yes to migrations" option (#316)
  • make new smp client attempt to reconnect on network error (#315)
  • remove redundant asynchronous connection code (#317)
  • conditional JSON options for iOS/Android (#318)
  • update condition in cabal
  • flip condition for JSON encoding to make android (tagged objects) default (#319)
  • make CPP condition depend on HOST OS (#321)
  • increase queue sizes (#322)
  • reduce connection handshake expiration to 2 days
  • encode all nullary constructors as objects for sumTypeJSON options
  • reduce server message queue quota to 128 messages (#323)
  • prepare v1.0.3 (#324)
  • 1.0.3

v1.0.2

21 Jan 07:46
495439a
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • bootstrap script to download latest SMP server release for DigitalOcean droplet (#295)
  • cease attempts to send HELLO after timeout (#298)
  • support TLS 1.3 (#300)
  • publish release as prerelease if tag contains 'rc'; update ghc version in build (#303)
  • replace file-embed with QQ (#301)
  • move TLS handshake to a separate thread per-connection (#306)
  • coalesce requests to connect to SMP servers, to have 1 connection per server (#305)
  • switch tls from fork to original repo (#307)
  • 1.0.2

v1.0.1

15 Jan 14:49
7e0bcc7
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • update readme on initialization, fix servers list (#288)
  • explicitely set line buffering in stdout/stderr to log each lines when output is redirected to files (#290)
  • add not up to date warning for DO (#293)
  • v1.0.1 (#294)

v1.0.0

12 Jan 11:26
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • AES encription with auth tag after cypher text (the order in WebCrypto etc.); upgrade GHC to 8.10.7 (#197)
  • SMP commands for notifications (NKEY/NID and NSUB/NMSG) with separate queue ID and key (#199)
  • simplify pending message delivery (#202)
  • update transport protocol to use TLS (#204)
  • change syntax for queue URI and connection request (#205)
  • update SMP protocol to include server signature and encryption keys
  • SMP protocol typo
  • simplify RSA private key types (#207)
  • GADTs for cryptographic keys (#208)
  • update protocol docs (#209)
  • simplex URI request
  • change ports for tests (fix for ports now in use on macOS) (#217)
  • remove BlockArguments extension (#220)
  • Merge pull request #198 from simplex-chat/v5
  • add server signature keys and DH keys for server->recipient msg bodis to SMP commands (server store log and agent tests are skipped)
  • update server store log to save/restore additional keys, use Ed keys in tests instead of RSA
  • add NaCl crypto_box scheme
  • increase SMP queue ID and message ID size to 24 bytes
  • encrypt recipient message bodies with crypto_box
  • Update src/Simplex/Messaging/Agent/Client.hs
  • Merge pull request #221 from simplex-chat/ep/smp-sign-encrypt
  • TLS 1.3 transport (#203)
  • Transaction fields for size, session IDs, refactor (#222)
  • sign server responses
  • create TLS ServerParams once per server run; remove tlsServerParams from agent env (fixes functional agent client for chat) (#223)
  • enable WebSockets over TLS (#225)
  • remove SMP server signing responses (#226)
  • make WebSockets use TLS Context (#227)
  • unencrypted SMP transport over TLS; simplified handshake (#229)
  • use tls-unique as session ID, switch to TLS 1.2 in tls package fork (#230)
  • add CODEOWNERS (#231)
  • overview doc updates (#216)
  • new overview (#235)
  • certificate validation on client side; check stored fingerprint on server start-up; non-optional fingerprint parsing (#234, closes #155)
  • base64url encode fingerprint in agent test (#237)
  • chain of two certificates - offline (identity) and online; switch certificates to v3 (#238)
  • update server recipes - Linode & DigitalOcean (#239)
  • print version on server initialization & start-up (#240)
  • add sessionId and blockSize to the client record used internally (#241)
  • double ratchet algorithm implementation (#236)
  • simple per-queue e2e encryption with NaCl crypto_box (#242)
  • merge migrations, prepare schema for multiple queues per connection (#243)
  • improve crypto key type classes (#246)
  • update DB fields presentations: port, QueueStatus, RcvMsgStatus, SndMsgStatus (#244)
  • binary SMP protocol encoding, split Command type to two types (#245)
  • update overview (#233)
  • add links to overview (#249)
  • refactor server Main.hs (#248)
  • make KeyHash non-optional, verify KeyHash in SMP handshake, use StrEncoding class (#250)
  • amend SMP protocol doc (#232)
  • remove public header from all messages, fix envelope sizes (#251)
  • fix x509 call to be compatible with openssl version 1.1.1 (#253)
  • add deleteMsg to agent store interface (#255)
  • delete received messages after sending ACK to server (#256)
  • change message envelopes and encoding, unify message delivery (#252)
  • remove message statuses and unused timestamps
  • test: HELLO blocking message delivery on the same server
  • test: quota exceeded in one queue should not block delivery in other queues
  • remove message statuses and unused timestamps (#257)
  • Merge branch 'stable' into ep/message-delivery
  • simplify message delivery
  • Merge branch 'master' into ep/message-delivery
  • Merge pull request #259 from simplex-chat/ep/message-delivery
  • delete control messages after ACK to server
  • Merge pull request #263 from simplex-chat/ep/delete-control-messages
  • start with internal message id 1; fix id ordering in tests (#264)
  • rename remaining occurrences of connection alias into connection id (#265)
  • change initial migration date (migrations merged) (#267)
  • integrate double ratchet into agent (#268)
  • preparing v1 release
  • non interactive apt commands in server recipes (#272)
  • remove unnecessary separation of UnliftIO instance for ExceptT (#275)
  • update Linode and DigitalOcean server recipes (#274)
  • disable websockets by default (#277)
  • JSON instances for ConnectionRequestUri (#276)
  • update version and changelog
  • note in readme
  • add IP and FQDN to online certificate (#278)
  • store missing port as empty string instead of NULL (#280)
  • Update CHANGELOG.md
  • initialize server with IP and FQDN; specify FQDN as address if provided (#279)
  • remove Subject Alternative Names from server certificate (#281)
  • link to smp-server by simplexchat StackScript (#282)
  • remove Linode referral link (#283)
  • clarify wording in Linode script comment on server address
  • update readme
  • reduce SMP envelope sizes (#284)
  • update changelog
  • correction to E2E encrypted (double ratchet) envelope size
  • update README instructions on server fingerprint and address (#285)
  • improve message error handling (#286)
  • update changelog

v0.5.2

06 Jan 14:54
Compare
Choose a tag to compare

See full changelog here.
Commits, chronological:

  • server update script

  • fix message delivery when quota exceeded - making it concurrent per queue, not per server (#260)

  • update versions for 0.5.2, changelog (#261)

  • 0.5.2

v0.5.1

17 Dec 12:59
Compare
Choose a tag to compare

See full changelog here.
Commits, chronological:

  • remove client from servers subscribers map after client disconnection (#228)

  • 0.5.1

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)