• Added a new CheckForAppUpdates job which runs at most once every 24 hours
• Updated the job failure logs to include the error that caused the failure
• Updated the network instance to use 'single_path_mode' when not executing within the main app
• Updated the logger to append extension logs when resuming instead of only during startup
• Updated the export logs behaviour to append the previously rotated log data if the latest log file is too short (to ensure we get more useful info when debugging)
• Updated to the latest libSession commit to resolve a couple of edge-cases
• Added a script to extract the app group during the build and load it in at runtime (fallback to the current one)
• Updated the 'App Store Release' scheme to 'App_Store_Release' to fix build issues on some machines
• Fixed some broken unit tests
• Updated the code to stop sending legacy PNs outside of legacy group conversations
• Updated the logger logic to clean things up and use the local date/time (with time zone info) to ease debugging user reports
• Fixed an issue where messages in a community could incorrectly accept disappearing message settings
• Fixed an issue where duplicate messages could be sent in some cases
• Fixed an issue where the conversation might not scroll to the bottom after sending an attachment
• Fixed an issue where attachment encryption was happening in a db write thread
• Revert logic to stop voice messages from playing when their associated message disappears
• Updated the libSession build script to pass through the build type (so we get debug libSession builds when doing debug builds)
• Fixed a couple of issues in libSession around recovering network connectivity
• Fixed a bug where a disappearing voice message wouldn't stop playing
• Fixed a bug where the conversation screen was never freed from memory
• Fixed an issue with an earlier change where the openGroupManager cache would access itself while modifying itself causing a crash
• Fixed an index out of bounds issue with the mnemonic
• Attempt to fix a crash due to failing to hash SignalAttachment
• Attempt to fix a crash due to list data change inconsistencies
• Ensuring we are shutting down the network when resetting app data
• Updated the broken unit tests
• Fixed an issue where SOGS pollers could be started multiple times
• Avoid checking if blinded conversations exist in the config (will always return false)
• Updated some logs to provide more timing information
• Fixed a rare crash which could occur when receiving a network response
• Updated to the latest libSession (contains some libQuic fixes)
• Bumped version number
• Reworked some of the C API conversions to try to prevent invalid cases
• Tweaked the threading around libSession networking callbacks to minimise Swift code blocking libSession threads
• More logging tweaks
• Fixed an issue where voice messages wouldn't stop playing when deleting a message or leaving a conversation
• Fixed an issue where the notification extension was handling errors and finishing while within a database transaction
• Fixed an issue where the ShareExtension may not have been able to send LinkPreviews
• Fixed an issue where displaying or logging the paths weren't maintaining the correct order
• Tweaked some of the logging behaviours
• Updated to the latest libSession
• Updated the code to use the new logger
• Fixed a bug in the build script where changes to external libSession dependencies wouldn't result in a rebuild
• Fixed a bad memory crash which could occur when returning from the background
• Fixed an issue where config messages were incorrectly getting double wrapped in protobuf wrappers
• Removed the 'runOnceTransient' behaviour (no longer have jobs that run before the user exists)
• Removed the session id from the message snippet in the conversation list
• Fixed an issue where the SyncPushTokensJob might not run because the paths hadn't been built yet
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
• Fixed an issue where the message status wouldn't update to the failed state if the MessageSendJob timed-out
• Fixed an issue where network issues could result in a backlog of TypingIndicator messages that failed to send (don't bother retrying them)
• Fixed an issue where concurrent jobs might not retry correctly if other jobs don't complete or the retry was triggered from the wrong queue
• Fixed an issue where the input view could disappear in some cases
• Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
• Moved the message request footer UI into it's own view
• Fixed an issue where paths wouldn't get built for a new isntall
• Fixed an issue where a couple of LibSession+Networking errors weren't getting logged correctly
• Fixed a log that could be thrown incorrect for a unique constraint failure
• Fixed an annoying startup warning due to thread priorities