diff --git a/CHANGELOG.md b/CHANGELOG.md index 58c4dc559..817cf7d3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ +# 6.5.1 + +Version 6.5.1.0 + +XFTP client: +- backwards compatible file header decoding. + +# 6.5.0 + +Version 6.5.0.17 + +SMP agent: +- improve subscriptions + - reduce memory usage and retries during initial subscription (#1758) + - fix race resulting in pending subscriptions never subscribed (#1756) + - batch processing of subscription results and errors (#1652) + - reduce memory usage of active subscriptions. +- drop message after N reception attempts (#1762) +- fix possible deadlocks of queue overloading when processing messages (#1713) +- improved APIs for short link management and creation. +- support multiple link owners in link data (#1701) + +SMP server: +- store messages in PostgreSQL (#1622). +- reduce memory usage with PostgreSQL database - do not use queue cache (#1637) +- fix in-memory server not restoring queue/service associations after 2+ restarts (#1618) + +XFTP server: +- support PostgreSQL database. +- add server page. +- support uploads from web clients. + +Servers: +- better socket leak prevention during TLS handshake, NetworkError type to bette diagnose connection errors (#1619) +- use "=" as default INI key-value separator (#1767) + # 6.4.4 Servers: diff --git a/apps/xftp-server/XFTPWeb.hs b/apps/xftp-server/XFTPWeb.hs index dfef690be..a9ee55e15 100644 --- a/apps/xftp-server/XFTPWeb.hs +++ b/apps/xftp-server/XFTPWeb.hs @@ -31,8 +31,8 @@ xftpWebContent = $(embedDir "apps/xftp-server/static/xftp-web-bundle/") xftpMediaContent :: [(FilePath, ByteString)] xftpMediaContent = $(embedDir "apps/xftp-server/static/media/") --- xftpFilePageHtml :: ByteString --- xftpFilePageHtml = $(embedFile "apps/xftp-server/static/file.html") +xftpFilePageHtml :: ByteString +xftpFilePageHtml = $(embedFile "apps/xftp-server/static/file.html") xftpGenerateSite :: XFTPServerConfig s -> Maybe ServerPublicInfo -> Maybe TransportHost -> FilePath -> IO () xftpGenerateSite cfg info onionHost path = do @@ -44,7 +44,7 @@ xftpGenerateSite cfg info onionHost path = do filePage xftpDir xftpWebContent filePage mediaDir xftpMediaContent createDirectoryIfMissing True fileDir - -- B.writeFile (fileDir "index.html") $ render xftpFilePageHtml substs + B.writeFile (fileDir "index.html") $ render xftpFilePageHtml substs where filePage dir content_ = do createDirectoryIfMissing True dir diff --git a/simplexmq.cabal b/simplexmq.cabal index d43259fd9..6637a0002 100644 --- a/simplexmq.cabal +++ b/simplexmq.cabal @@ -1,7 +1,7 @@ cabal-version: 1.12 name: simplexmq -version: 6.5.0.15 +version: 6.5.1.0 synopsis: SimpleXMQ message broker description: This package includes <./docs/Simplex-Messaging-Server.html server>, <./docs/Simplex-Messaging-Client.html client> and diff --git a/src/Simplex/FileTransfer/Types.hs b/src/Simplex/FileTransfer/Types.hs index 86ecdc5d5..ff70b8f13 100644 --- a/src/Simplex/FileTransfer/Types.hs +++ b/src/Simplex/FileTransfer/Types.hs @@ -46,6 +46,7 @@ import Simplex.Messaging.Encoding import Simplex.Messaging.Encoding.String import Simplex.Messaging.Parsers import Simplex.Messaging.Protocol (XFTPServer) +import Simplex.Messaging.Util (safeDecodeUtf8, (<$$>)) import System.FilePath (()) type RcvFileId = ByteString -- Agent entity ID @@ -65,7 +66,8 @@ data FileHeader = FileHeader instance Encoding FileHeader where smpEncode FileHeader {fileName, fileExtra} = smpEncode (fileName, fileExtra) smpP = do - (fileName, fileExtra) <- smpP + fileName <- safeDecodeUtf8 <$> smpP + fileExtra <- safeDecodeUtf8 <$$> smpP pure FileHeader {fileName, fileExtra} type DBRcvFileId = Int64