What's Changed
- Bring release 1.20.7 to dev by @SessionHero01 in #810
- [Automated] Update translations from Crowdin by @stfsession in #811
- [Automated] Update translations from Crowdin by @stfsession in #812
- New group implementation by @SessionHero01 in #4
- Use consolidated member state and add pending removal support by @SessionHero01 in #813
- Infinite group sync issue by @SessionHero01 in #814
- Add missing implementation to delete member's message on swarm by @SessionHero01 in #815
- Fix/ses 2919 delete group by @ThomasSession in #816
- Fix unit tests by @SessionHero01 in #817
- Handle config migration by @SessionHero01 in #818
- Text size changes from discord + consistency fixes by @ThomasSession in #821
- SES-3001 - Note to self vs 1on1 delete by @ThomasSession in #823
- Fix attachment autodownload flooding thread pool by @SessionHero01 in #824
- SES-2966 - Fix group message deletion by @SessionHero01 in #826
- SES-3036 - Thread should not set default creation time to now by @SessionHero01 in #828
- SES-3034 - Fix "you" not showing on group member list by @SessionHero01 in #830
- Added missing joined_at for groups by @SessionHero01 in #829
- SES-2929 - Fix member not having access to old messages by @SessionHero01 in #831
- SES-2966 - fix group message bulk delete by @SessionHero01 in #832
- Add lucide license by @SessionHero01 in #833
- [SES-3073] - Fix error joining communities by @SessionHero01 in #836
- [SES-3050] - Kicked group message state by @SessionHero01 in #837
- [SES-3078] - Pending group invite not restored correctly by @SessionHero01 in #838
- [SES-2966] - Do not delete link previews or audio message while deleting attachment by @SessionHero01 in #839
- [SES-2968] [SES-2929] - Fix up misc kicked and re-invited message syncing issues by @SessionHero01 in #842
- Introducing thread status for groups by @SessionHero01 in #844
- [SES-3089] - Also delete group invite from swarm when rejecting invitation by @SessionHero01 in #843
- [SES-2925] - Clear thread messages before accepting/rejecting group invitation by @SessionHero01 in #849
- [SES-3090] - Only send group messages after keys obtained by @SessionHero01 in #848
- [SES-2966] - Delete the right attachments by @SessionHero01 in #850
- [SES-3093] - Fix 1970 timestamp issue by @SessionHero01 in #847
- Also delete group invitation whenever an invitation is blocked by @SessionHero01 in #851
- Merge Release/1.20.8 back into dev by @AL-Session in #841
- SES-2916 - Remove group config when blocked by @SessionHero01 in #852
- Temporary measure for CI by @SessionHero01 in #853
- SES-3111 - Improve overall networking bottleneck by @SessionHero01 in #855
- [Automated] Update translations from Crowdin by @stfsession in #856
- Use mark_kicked when kicked by @SessionHero01 in #857
- Do not reuse placeholder drawable by @SessionHero01 in #858
- [Automated] Update translations from Crowdin by @stfsession in #859
- SES-3053 Send only the first 32 bytes of admin key as promotion message by @SessionHero01 in #860
- Update min version banner color by @SessionHero01 in #872
- Fix OpenGroup blocking default dispatcher by @SessionHero01 in #873
- Delete a group directly if it's already destroyed by @SessionHero01 in #876
- Warning as a dynamic color (#866) by @SessionHero01 in #877
- Added progress indicator for group editing by @SessionHero01 in #875
- Integrate the group member status change by @SessionHero01 in #874
- [SES-3119] - Clear group messages whenever it's destroyed by @SessionHero01 in #882
- Add a group scope to limit group work concurrency by @SessionHero01 in #881
- [SES-3153] - Fix crash when admin deletes our attachment by @SessionHero01 in #883
- [SES-3154] - Fix group admin unable to delete message with attachments by @SessionHero01 in #884
- Reset last hash on promotion by @SessionHero01 in #885
- [SES-3202] - Fix group unable to poll when accepting invitation by @SessionHero01 in #888
- [SES-3119] - Unread count not cleared by @SessionHero01 in #887
- [SES-3183] - Delete existing expiring settings message when receiving new ones by @SessionHero01 in #891
- [SES-3192] - Fix unable to receive "invite-ad-admin" by @SessionHero01 in #892
- [SES-3196] - Incorrect sorting order for group members by @SessionHero01 in #893
- [SES-3183] - Do not accept 1-to-1 disappearing messages in a group by @SessionHero01 in #895
- [SES-3222] - Add "you" in the list of mention by @SessionHero01 in #896
- [SES-2960] - Control messages for leaving groups by @SessionHero01 in #898
- [SES-2997] - Show "xxx is invited" upon group creation by @SessionHero01 in #899
- [SES-2930] - Show the correct toast message when invitation fails by @SessionHero01 in #900
- [SES-3238] - Fix unable to leave group on home screen by @SessionHero01 in #902
- [SES-2924] - Fix incorrect version of "you were removed" used by @SessionHero01 in #903
- [SES-2960] - Fix issues on group leaving control messages by @SessionHero01 in #904
- Onion paths as a StateFlow by @SessionHero01 in #901
- Add a global state management for internet connectivity by @SessionHero01 in #907
- [SES-3247] - Fixed crash upon launch by @SessionHero01 in #911
- [SES-3200] - Offline control message improvement by @SessionHero01 in #912
- [SES-3248] - Using member names in the control messages wherever possible by @SessionHero01 in #914
- [SES-3251] - Legacy group migration - Part I by @SessionHero01 in #916
- Showing the admin crown for legacy groups by @ThomasSession in #923
- [SES-3251] - Add recreate group UI and show/hide thread/message options accordingly by @SessionHero01 in #919
- Fix a clock drift when the device is in deep sleep by @SessionHero01 in #926
- Update Signature Verification Instructions and Links by @KeeJef in #908
- [SES-3251] - Add additional deprecation state and bring back legacy group creation by @SessionHero01 in #928
- Fix incorrect deprecated state first time accessing it by @SessionHero01 in #931
- Make sure to skip handling legacy group messages post deprecation by @SessionHero01 in #932
- [SES-3270] - Group invitation tweaks by @SessionHero01 in #933
- [SES-3200] - Send rename/promote control message locally by @SessionHero01 in #937
- [SES-3298] - Rekey always to be performed regardless of sharing history or not by @SessionHero01 in #938
- [SES-3248] - Fix group member name not showing by @SessionHero01 in #939
- Fix/ses 3212 deleting all attachments by @ThomasSession in #940
- [SES-3300] - More place to hide message/convo actions based on deprecated state by @SessionHero01 in #942
- [SES-3302] - Add the ability to re-create legacy group for unknown members by @SessionHero01 in #944
- QA fixes for Groups V2 by @ThomasSession in #946
- [SES-3314] - Prevent replay attacks by @SessionHero01 in #945
- Relying on the flag for voice notes and ignoring empty file names as … by @ThomasSession in #947
- [SES-3319] - No promotion retry in the background by @SessionHero01 in #948
- Fix/ses 3326 unpin legacy groups by @ThomasSession in #949
- [SES-3200] - Do not send control message for re-invite/re-promote by @SessionHero01 in #951
- [SES-3300] - Disable select option for post deprecated legacy groups by @SessionHero01 in #950
- Updated time format for deprecated time by @SessionHero01 in #954
- Making sure the unblock banner shows the dialog first by @ThomasSession in #955
- [SES-3340] - Update user config whenever group name changes by @SessionHero01 in #956
- [SES-3352] - Create group as a rollback-able process by @SessionHero01 in #958
- [SES-2970] - Add expired groups handling by @SessionHero01 in #962
- SES-3367 - properly allowing for user name edit in groups by @ThomasSession in #963
- Changes to use load_admin_key by @SessionHero01 in #964
- Fix compile issue by @SessionHero01 in #965
- Rework group poller lifecycle so that it supports polling once by @SessionHero01 in #967
- Subscribe to group config messages by @SessionHero01 in #969
- Fixes for libQuic merge by @mpretty-cyro in #968
- Fixes crash on unexpected key messages by @SessionHero01 in #972
- Avatar reupload config update by @ThomasSession in #971
- [SES-3395] - Fix group notification issue by @SessionHero01 in #973
- Key was changed again in crowdin by @ThomasSession in #974
- [SES-3115] - Missing "xxx NOT SENT" status text by @SessionHero01 in #975
- Make sure we don't set our own profile pic from group messages by @SessionHero01 in #981
- Making sure we don't delete a NTS on restore by @ThomasSession in #982
- [SES-3432] - Remove three dot menu for kicked group by @SessionHero01 in #984
- Fix/groupsv2 fixes by @ThomasSession in #985
- Make sure group keys are pushed before anything else by @SessionHero01 in #987
- [SES-3436] - Make sure everyone can see resend invite option by @SessionHero01 in #988
- [SES-3434] - Fix receiving left groups' notification by @SessionHero01 in #986
- [SES-3427] - Fix problem resuming message send job when upload completes by @SessionHero01 in #990
- Fix/groupsv2 fixes by @ThomasSession in #989
- Disable three dot menu for kicked groups too by @SessionHero01 in #993
- Group poller tweaks by @SessionHero01 in #995
- Polling node rotation by @ThomasSession in #996
- Added code to output libSession logs by @mpretty-cyro in #997
- Enable libsession login by @SessionHero01 in #999
- Update libsession-util to v1.2.1 by @SessionHero01 in #1000
- Fixing logs sharing crashing by @ThomasSession in #1002
- [SES-3491] - Update to network connectivity check by @SessionHero01 in #1005
- Increase version code and update deprecation dates by @SessionHero01 in #1008
- Prepare for release 1.21.0 by @SessionHero01 in #868
New Contributors
- @KeeJef made their first contribution in #908
- @mpretty-cyro made their first contribution in #968
Full Changelog: 1.20.8...1.21.0
Signature of release files
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Signed SHA256 hashes of release files. These are signed using Jason's GPG
key available at:
- the oxen-io/oxen-core repository, at /utils/gpg_keys/Jason.asc
- OpenPGP key servers (Jason Rhinelander <jason@session.foundation>, A88D4262)
- https://imaginary.ca/public.gpg
- https://github.com/jagerman.gpg
f40b3a1ca90cf9f691da9a06fd6b12030ba295899a3e2161bb10b3740ceb1cf4 session-1.21.0-arm64-v8a.apk
839510c22bc73d71d55de55db282dd21172735af138e96dff0091190b5eaea8e session-1.21.0-armeabi-v7a.apk
0e7449a505c858ddd6882c4c4e4645d48cc128d3097b6fb0cf820330196b7e4e session-1.21.0-play-release.aab
ae2116502df3d9e6a92c7310a3826d57121d04c7178a84a1ce31173a869566d8 session-1.21.0-universal.apk
3b6c6a90418cae62f0cc3f7d728060ac87b1f1adea35e53f494a65269f002fc1 session-1.21.0-x86_64.apk
0f19ce12e72d4deb24ccab3e2b0c1183255a60d4307bc41b92366030dde809e5 session-1.21.0-x86.apk
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfPgAsACgkQxJks56iN
QmK1xw//SArPU4LnWfPbAOzpVDETtnjpVLM3n9fzuwE7R1lOfRj5cACQMnG9k78G
5Ik64N2qWjl8uBw+nW8s7kcboubLSlE8c1sF5AE+0bl1ZfpHV3zM6jsWC6qeXS+e
HEgiuYh0kKrw5GN16sElY45NK7/Sgk5Cw1xCZhVfztNIQ/HT+PGtegzQgzwacVuf
sHWyicGND38vjUnE84vS7zEfrdHgoxXDHsCAEGUfGmJGuhobwz76OpPi4CV84mXR
8W/C2XoWA85MjBfP8yzEpPhJu6Px9Gbkm2tlIvYMdVH1281AiN51V4SS5bgjL8M6
NbiLg4ASvMXxkdkZG58i/+xu1NJ3REKwylcVssbLh1nq1dLX17Z7maSfp/Qiyaz1
cn8Tz+W3P2X8wqQSFpnO4ZjcYcIqhBmE2chbN4EoMGFZo6E7vh9gzIMy+s/7g5rm
1xUI6cqF/yQbdncf6e+3rWwnXFD7dC/P389sB6Qrx2rAoE3OW8dzE4oS6sYen186
gpT5g+z8LRH/AdBwQJulE4D2X4PisCoD41ZsPBkLHRrfIFPqav7TryQk0M8vCWdh
4pdkSXG7HJnP7JRvHKgmgGTKgdMJRNGQYW0bU52k+VuZ21dOOefjxE7UfV6X6qju
oXze/cB3ctH0W/H1z9beM7k14zqFNWYTEX0+3L0ca2pIgJ70cQ4=
=AG4T
-----END PGP SIGNATURE-----