Skip to content

Releases: simplex-chat/simplexmq

v2.2.0

07 Jun 11:00
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • add 2.1.1 to changelog
  • fix getDeviceNtfToken (#376)
  • update script to send test notifications
  • ntf subscription diagram (#377)
  • support stopping and resuming agent (#385)
  • fix sockets/threads/memory leak (#388)
  • v2.2.0

v2.1.1

25 May 05:43
b67c3e5
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • make server compatible with old ini files (#372)
  • create/verify agent schema during tests (#374)
  • gracefully close sockets on client disconnection (#373)
  • server: CLI warning when deleting server configuration (#371)
  • version 2.1.1 (#375)

v2.1.0

11 May 12:14
8dda99d
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • server: configuration to expire inactive clients in ini file (#369)
  • v2.1.0 (#370)

v2.0.0

03 May 13:38
964daf5
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • notifications server rfc/schema (#332)
  • Merge branch 'master' into notifications-server
  • notifications: protocol, server (#335)
  • Merge branch 'master' into notifications-server
  • ntf server implementation, updated ntf protocol, ntf client based on refactored protocol client, bare-bones SMP agent to manage ntf connections (to connect to ntf server) (#338)
  • Merge branch 'master' into notifications-server
  • ntf-server CLI, re-use SMP server CLI as a library (#347)
  • agent schema/methods/types/store methods for notifications tokens (#348)
  • Merge branch 'master' into notifications-server
  • Merge branch 'master' into notifications-server
  • Merge branch 'master' into notifications-server
  • APNS/HTTP2 push client for notifications server (#350)
  • interval notifications (TCRN command) (#352)
  • test notification token with agent and notifications server (#353)
  • Merge branch 'master' into notifications-server
  • Merge branch 'master' into notifications-server
  • rename Subscriptions.hs/Store.hs
  • Merge branch 'master' into notifications-server
  • use cpp-options
  • primary tokens (#356)
  • change log level to error
  • remove comments, add EOL
  • Merge pull request #334 from simplex-chat/notifications-server
  • update swift flag
  • registerNtfToken returns token status
  • Merge pull request #361 from simplex-chat/ep/ntf-token-status-2
  • ToJSON instance for NtfTknStatus (#362)
  • batch all connections in DOWN/UP agent messages (#363)
  • prevent servers from reconnecting when the agent is closed (#364)
  • close socket on connection exception (#365)
  • limit concurrency when resubscribing, method to resubscribe if not subscribed (#368)
  • disconnect inactive clients (#366)
  • log server stats (#367)
  • fix: disconnect socket
  • v2.0.0 (#360)

v1.1.0

21 Apr 14:05
0a2cad2
Compare
Choose a tag to compare

See full changelog here.

Commits:

  • configure systemd service restart and increase file descriptors limit for Linode script (#320)
  • make sending confirmation asynchronous (#327)
  • make smp servers configurable for running agent (#326)
  • use TCP keep-alive instead of SMP protocol PING (#330)
  • fix keep-alive options to work on mobile (#331)
  • core: tcp keep-alive parameters for windows (#336)
  • add "SMP server on Linux" section to README (#337)
  • resubscribe concurrently when subscription is resumed (#339)
  • refactor/optimize server queue/message store (#340)
  • use TMap for subscription maps (#341)
  • PING error now throws error to restart SMPClient for more reliable re-connection (#342)
  • increase TCP timeout to 5 sec
  • add pragmas and vacuum db (#343)
  • vacuum in each connection to enable auto-vacuum (#344)
  • catch db connection error (#345)
  • Revert "catch db connection error"
  • remove manual vacuum (#346)
  • Add Flag (#349)
  • rename cabal flag
  • add swift flag to package.yaml
  • increase PING timeout, add PING failure count
  • typo
  • fix END from disconnected clients incorrectly removing the subscriptions, remove previous PING changes that attempted to solve the problem of lost subscriptions (#351)
  • function to run TCP server without TLS (#354)
  • message TTL and periodic expiration; setting to prevent creation of the new queues (#355)
  • SMP confirmation timeout recovery rfc (#357)
  • version 1.1.0 (#358)

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