Releases: oxen-io/session-ios
Releases · oxen-io/session-ios
2.8.0
What's Changed
- Strings Project by @RyanRory in #1023
- Created a ScrollableLabelView component for the ConfirmationModal by @mpretty-cyro in #1026
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.8.0.ipa 836785cd3453eb19263e0fb671d474034b12aaf066144e5483ab2006c16f371d
-----BEGIN PGP SIGNATURE-----
iIIEARYKACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZvNHtAwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKscPgEA24G2vkuW6Qkbldyjpg2B6/JugspeAZddysJX34Kv
SdMA/0sMeAXDVaq+JUgKKPT/w1YURIGVdPwSa+3MVfY8QPcF
=Dzkr
-----END PGP SIGNATURE-----
Full Changelog: 2.7.4...2.8.0
2.7.4
What's Changed
- Reworked the SignalAttachmentItem hash function by @mpretty-cyro in #1010
- Crashes and general improvements by @mpretty-cyro in #1018
- Updated to the latest GRDB (use pre-built framework to cut ~30 sec from build time)
- Updated to the latest libSession
- Added code to calculate swarms locally instead of fetching
- Added a function to compute a message hash
- Increased download/upload min path counts to 2
- When selecting download/upload paths, prioritise paths with fewer pending requests
- Reduced the amount of file I/O used by networking
- Refactored a little code around profile changes to make things more readable
- Refactored code interacting between the app and libSession to be a bit safer
- Removed a delay before starting pollers which is no longer needed
- Fixed a crash which could occur when taking a photo via the app failed
- Fixed a crash which could occur sporadically when the app would try to sync changes for multi-device
- Fixed an issue where creating a legacy group could be blocked by the legacy PN subscription failing (was part of the synchronous request)
- Fixed an issue where legacy group push notifications weren't working
- Fixed an issue where the code would incorrectly use profile data from incoming messages sent from the current user to update it's profile info
- Fixed an issue where saving media would fail silently if the user had rejected the OS permission
- Fixed an issue where you could answer calls without having the mic permission
- Fixed an issue where trying to clear data from the network with no network connection could result in an endless loading state
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.7.4.ipa 4fef8a7cf609a36d856468c8bee494b895979defb72036add49b7a1a3f85b456
-----BEGIN PGP SIGNATURE-----
iIIEARYKACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZuOfZgwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKvbZAD+NbhNyIfS7zHFgb0chHT9o7Cmb/ppslyZ8aFlh2Ms
0YsA/iwZFmyabBDxAfovnoqfeDXxMKl09HqVB2HmYn6nLHYL
=ZjPd
-----END PGP SIGNATURE-----
Full Changelog: 2.7.3...2.7.4
2.7.3
What's Changed
- Reworked deadlock handling, fixed a few other issues by @mpretty-cyro in #1016
- Fixed an issue where the background task to finish sending messages may not have sent the sync message or the main message after and upload
- Fixed an issue where the SessionBackgroundTask was incorrectly reporting a failure to be created
- Fixed an incorrect modal action colour
- Fixed a crash when creating legacy groups
- Updated the code so that we take charge of resolving the deadlock issue instead of relying on GRDB to do it
- Updated the logic to timeout the SessionBackgroundTask with 5 seconds of background time remaining (to ensure we have enough time to suspend the network & database)
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.7.3.ipa f550f469eab8fa50d5eabe3cef9863878a23ec32abc9ac34d065b564eb3e1555
-----BEGIN PGP SIGNATURE-----
iIIEARYKACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZtebrAwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKseFwEAtlBFvBRxIxXJuR+mBnwk1VGDEXEW0j7RNXDshejq
MnoA/0/tamhbfabG+6i+aHIR1WKPt3FR/YvtoHNggA3IudwA
=18hW
-----END PGP SIGNATURE-----
Full Changelog: 2.7.2...2.7.3
2.7.2
What's Changed
- Removed settings data change animations, fixed settings dismiss bug by @mpretty-cyro in #1009
- Added accessibilityIds to thread settings switches by @mpretty-cyro in #1012
- Fixed a legacy group message decryption issue by @mpretty-cyro in #1013
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.7.2.ipa 0c830befe47d08816c6b6e4c6ad132a02c6ead9f5e518194dfe114963d1b5183
-----BEGIN PGP SIGNATURE-----
iIIEARYKACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZs2LSgwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKvP5QEAr7DWGnjtS//gD6g17+qMTL3Z3LrhnHkvu+Nzaq9Y
HOcBAP/pA/P33nZYG6Z0N6YW7Sfvab96CyvB4aplsjAYIaUM
=9e1k
-----END PGP SIGNATURE-----
Full Changelog: 2.7.1...2.7.2
2.7.1
What's Changed
- Deduplicate IP2Country by @bemusementpark in #1001
- Minor theme change by @mpretty-cyro in #1000
- Defensive coding and attempt to fix crash on launch related to IP2Country by @mpretty-cyro in #998
- Fixed a SignalAttachment hash uniqueness issue, fixed attachment UX issues by @mpretty-cyro in #997
- Show message input box when permission changed in a convo by @RyanRory in #995
- Number of fixes and tweaks related to the deadlock issue by @mpretty-cyro in #996
- Cleaning up legacy disappearing messages by @RyanRory in #970
- Removed the incorrect swipe actions from the contacts list by @mpretty-cyro in #1004
- Added code to defer the CheckForAppUpdatesJob when running tests or sim by @mpretty-cyro in #1002
- Replaced Cocoapods with Swift Package Manager for dependency management by @mpretty-cyro in #988
- Networking fixes from
libSession
- Refactored looping path building and recovery logic to be more stable
- Throttled network cache updated to reduce disk I/O
- Tweaked logic to avoid cancelling in progress requests when dropping paths (rapid path drops could result in large requests never getting sent)
New Contributors
- @bemusementpark made their first contribution in #1001
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.7.1.ipa 5b51649accdbb4be6269e309cf3f8a99fc2eeaa2e8b22bae2dd6175880b734d3
-----BEGIN PGP SIGNATURE-----
iIIEARYKACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZsg+8gwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKvRHAD+PLdqGJANsimZ/OdeZAguga3PI9DtvJ0pIahssuOF
v04BAP0ZQ9Dqz1VrFANIB5mf1YgOieks2i1C9NA8QDPM3lcA
=6b+G
-----END PGP SIGNATURE-----
Full Changelog: 2.7.0...2.7.1
Updated Onboarding (2.7.0)
What's Changed
- Release 2.7.0 @mpretty-cyro in #991
- Fixed an issue where attachments in communities weren't downloading
- Fixed an issue where the conversation 'created' timestamp wasn't correctly getting during creation
- Fixed an issue where sending a message to 'Note to Self' may not show the conversation in the conversation list
- Fixed an issue where sharing a message with an attachment might not include the attachment
- Fixed an issue where list paging wouldn't work in some cases after values were inserted into the database after the currently loaded pages
- Fixed an issue where the blocked contacts screen might not show values
- Onboarding Redesign by @RyanRory in #891
- Version 2.6.2 fixes by @mpretty-cyro in #986
- Added commit hash to version info
- Added the ability to copy the file path to the log file when exporting on the simulator
- Updated mention styling to match the latest requirements
- Updated the GeoLite2 country database data, added some basic localisation to it
- Updated the pollers to NOT take the duration of the previous poll into account when scheduling the next poll
- Stopped the notification extension from trying to download profile images
- Fixed an issue where the notification extension could end up in an invalid state if you delete and create a new account in rapid succession
- Fixed an issue where notification processing errors weren't getting handled correctly resulting in the notification extension timing out
- Fixed an issue where duplicate message errors would result in the generic notification being shown
- Fixed an issue where leaving and returning to the app rapidly could leave the app in a state when the database and network are inaccessible
- Fixed an issue where bad nodes might not get dropped from the pool (libSession update)
- Fixed an issue where excessive job failures could result in jobs not running onLaunch or onActive as expected (extended network issues resulted in the default communities not getting fetched)
- Fixed an issue where the PathVC could end up in a weird state after the IP2Country cache gets updated
- Fixed an issue where LinkPreview caching was incorrectly case sensitive
- Fixed an issue where the IP2Country might load it's cache on the wrong thread
- Fixed an issue where the conversation settings button wouldn't appear after accepting a message request until you left and returned to the conversation
- Fixed an issue where the
BackgroundPoller
would fail if a single destination failed- This would suspend the network, then the other pending requests would error and automatically retry, attempting to create a new connection which could loop a number of times rapidly since the network was suspended (ie. could result in a needless CPU spike when doing so)
- Fixed an issue where the
BackgroundPoller
could incorrectly try to write to the database after it had been suspended - Tweaked the notification extension logic flow to be more straight forward
- Tweaked the message request notification behaviour
- Tweaked the PushRegistrationManager to actually be able to timeout
- Optimised the size of the GeoLite2 data bundled with the app (10mb -> 8mb)
- Further notification logging improvements
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.7.0.ipa e8d1db0bcb5c560e0c025c0dbeffb05c51ca4729892982c8ffa5b4bd34d94828
-----BEGIN PGP SIGNATURE-----
iIIEARYIACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZrXjOgwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKsJkwEAxKc5m4bnJqLwuepE+bcO6cpx5sbH5FEAAT44Zi9q
7i4BAIe8S8tDpRfwY6z9JFBdcRPmLbz2Q9o94C4NxlSiRzIP
=BMhX
-----END PGP SIGNATURE-----
Full Changelog: 2.6.3...2.7.0
2.6.3
What's Changed
- Release 2.6.3 by @mpretty-cyro in #992
- libSession changes with version check for the final node in a path, Fixes issues clients had with uploading and downloading attachments, connecting to Communities, and registering for push notifications.
Full Changelog: 2.6.2...2.6.3
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.6.3.ipa 0a2543765776b2fbceb898ac72c3667658687270059d03d231936536b5467f53
-----BEGIN PGP SIGNATURE-----
iIIEARYIACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZqB/pQwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKt9hAEAz5yzSsi2cZtaCWSguyot+UCE4QpF34lVNDWXVbtc
5pgBANYy4/czMGCjZL+sLaQReAmELHxWY9WM535f9vLzlr0H
=INr3
-----END PGP SIGNATURE-----
2.6.2
What's Changed
- Fix release 2.6.1 Issues by @mpretty-cyro in #981
- Removed the SOGS polling from the notification extension (rarely worked and caused network suspension bugs)
- Removed redundant path building from share extension (would build 2 paths when only 1 was needed, wasting time)
- Fixed an ONS lookup issue
- Check for app updates at most every 4 hours (currently just for logging, no associated UI at this stage)
- Logging improvements (more error details, include older logs if the log file was recently rotated)
- Updated libSession attempting to resolve a couple more networking edge-cases
Full Changelog: 2.6.1...2.6.2
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.6.2.ipa 58feff38df7a864b27993f4b5c4f5f84a5d8537fed1f85c090c4ce1769397da7
-----BEGIN PGP SIGNATURE-----
iIIEARYIACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZnOsGAwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKvUggD9E1JLDhXqtxLTkW0LrjIpoqNsyfXX/hRglz26YEPS
xLoBANt87h+zG6z8Y4vz+tBPo/FyxJ2s6xZaIim0wEEbTNwP
=NM7E
-----END PGP SIGNATURE-----
2.6.1
What's Changed
- Tweaks to the build script and building instructions by @mpretty-cyro in #971
- Fix release 2.6.0 issues by @mpretty-cyro in #976
- Fixes for a number of memory issues in libQuic (latest
libSession
) - Fixed an issue where voice messages would keep playing after deleting the message or leaving the conversation
- Fixed an issue where LinkPreviews may not have been able to be sent via the share extension
- Fixed an issue where a number of server timeouts/errors would incorrectly result in paths being dropped and rebuilt
- Fixed an issue where SOGS pollers could be started multiple times
- 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
- Reworked how memory is managed when merging configs in an effort to catch potential memory issues before they happen
- Reworked the libQuic request wrapping to prevent accessing bad memory
- Reworked the libQuic request wrapping to prevent Swift code from blocking the libQuic threads
- Updated the code to avoid checking if blinded conversations exist in the config (will always return false)
- Updated the notification extension to finish it's execution after the transaction has actually completed
- Updated the notification extension to correctly rollback changes on error
- Updated the share extension to properly clean up it's state when cancelled
- Updated the snode cache disk write thread to catch and log errors
- 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
- Updated the 'App Store Release' scheme to 'App_Store_Release' to fix build issues on some machines
- Added a script to extract the app group during the build and load it in at runtime (fallback to the current one)
- Minor updates to logging to try to improve debugging
- Fixes for a number of memory issues in libQuic (latest
Full Changelog: 2.6.0...2.6.1
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.6.1.ipa 2137ac150cc252b14046841ccc67d3d6717f43ecf5c1aed1f064ee9edcfcbc2f
-----BEGIN PGP SIGNATURE-----
iIIEARYIACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZmlSGwwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKssWQEAjuu7UpT1Q6qPhjwvwEACz4/97lLGgQ7Z8ZtEesJF
KOUA+wWhlDyQnrhx7act6QcJrx5BRoanMB3rQc8URAojojkK
=JLJ0
-----END PGP SIGNATURE-----
2.6.0
What's Changed
- Remove YapDatabase Dependency by @mpretty-cyro in #883
- Replace some SignalCoreKit OWSFailDebug calls with OWSLogError by @mpretty-cyro in #958
- Fix silent mode audio by @mpretty-cyro in #951
- Message detail screen (SwiftUI) by @RyanRory in #874
- Fix disappearing messages crash by @RyanRory in #961
- Update Building.md by @mpretty-cyro in #962
- Added new PrivacyInfo plist required by Apple by @mpretty-cyro in #964
- Fixed a few bugs with sync messages by @mpretty-cyro in #959
- Fix/mention automated tests by @mpretty-cyro in #965
- libQuic integration via libSession by @mpretty-cyro in #960
- Updated the code to use libQuic for network requests
- Moved the snode cache and path building into libSession (deleted associated logic)
- Moved reachability detection into libSession (remove Reachability dependency)
- Added logic to include logs from the Notification & Share extension within the device logs to help debugging when they are shared
- Added the ability to define a unique hash for a job for deduplication
- Updated CI scripts to more properly clean up simulator
- Updated a number of errors to be more easily converted to strings
- Updated the app versioning to be at the project level instead of target level
- Updated GRDB and SQLCipher
- Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
- Tweaked the polling logic to split the user, groups and community pollers into separate queues
- Tweaked the logic to restart the open group poller immediately after joining a community (to avoid an edge-case where there could be a long delay before the initial poll is made)
- Tweaked the logic for checking if PNs are susceptible to failure to only dispatch to the main thread once
- Moved the message request footer UI into it's own view
- Moved the ThreadSettingsViewModel code into a separate function to fix a compilation issue
- Removed the session id from the message snippet in the conversation list
- Cleaned up some warnings
- Fixed an issue where the DisappearingMessagesJob was getting run for every individual message process instead of just once after processing all messages from a poll
- Fixed a bug where community invite messages have the wrong author
- Fixed a bug where the title on the disappearing messages settings screen was clipping vertically
- Fixed a bug where tapping on the disappearing messages setting subtitle could incorrectly appear in read-only state for admins
- Fixed a log which contained notification content
- Fixed a log that could be thrown incorrectly for a unique constraint failure
- Fixed an annoying startup warning due to thread priorities
- 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
Signatures
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The following hashes have been signed for verification using keejef's GPG keys
located in the oxen core repository at https://github.com/oxen-io/oxen-core/blob/dev/utils/gpg_keys/KeeJef.asc
SHA256 Hashes
session-2.6.0.ipa a7b83661e6534cc2aadd4b2c3b522ac9e8ccb6c4ac2c8cce42ddc5e6df5bfec2
signatures.asc 192eefffbf57740895ac493cf94e25fcc20d826009f4e98047c3ad0c489dd899
-----BEGIN PGP SIGNATURE-----
iIEEARYIACoWIQT8KCHeNb2DnpPTrnZQ94kLze2QqwUCZkLh4gwca2VlQG94ZW4u
aW8ACgkQUPeJC83tkKvwMAD48qAKJpLCp9xLExEwQfTvMXX63xG8kJPLpZ9xXq3t
xAD+IPXUq47lXmKMgxSE2JsntoZG/oZ5H6AsPfC0Xw5axgA=
=RdXV
-----END PGP SIGNATURE-----
Full Changelog: 2.5.0...2.6.0