Releases: simplex-chat/simplexmq
v1.0.3
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
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
v1.0.0
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
v0.5.1
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