This repository was archived by the owner on Dec 2, 2025. It is now read-only.
Releases: oxen-io/session-ios
Releases · oxen-io/session-ios
2.8.0
Repository Deprecated - Releases Out of Date
This repository is deprecated. However, Session iOS is still actively developed here. This is in line with announcements from Session and the OPTF, indicating that the OPTF has handed over the stewardship of the Session Project to the Session Technology Foundation, a Swiss-based foundation dedicated to advancing digital rights and innovation.
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
BackgroundPollerwould 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
BackgroundPollercould 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