CINXE.COM
Releases · session-foundation/session-android · GitHub
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-cba26849680f.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-6c72f46bdea5.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/releases-d27bae89dc62.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["allow_subscription_halted_error","contentful_lp_flex_features_actions","contentful_lp_flex_features_codespaces","contentful_lp_flex_features_code_review","contentful_lp_flex_features_code_search","contentful_lp_flex_features_discussions","contentful_lp_flex_features_issues","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_custom_instructions","copilot_chat_repo_custom_instructions_preview","copilot_chat_show_model_picker_on_retry","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_free_to_paid_telem","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_advanced_search_has_filter","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_advanced_search_nested_ownership_filters","issues_dashboard_no_redirects","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_pro_plus","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issues_react_grouped_diff_on_edit_history","issues_react_feature_preview_is_over","refresh_image_video_src","codespaces_prebuild_region_target_update","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-a757615c9fec.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-952d624642a1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-c20bd0705df8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-62f3e9c52ece.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-e7f74ee74d91.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-4bcbbbfbe1d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-4414ad8b510b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-94dc7a2157c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-b71ef90fbdc7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-52913063a0b9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-10217e4e5a53.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-350730ea92ff.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-4e4deaa097d6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1622bd1e542f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-41b1a8-6444bd9652c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-53aa08c61b34.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.222503a9a3e08280cedb.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>Releases · session-foundation/session-android · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/releases(.:format)" data-turbo-transient> <meta name="route-controller" content="releases" data-turbo-transient> <meta name="route-action" content="index" data-turbo-transient> <meta name="current-catalog-service-hash" content="6f13f31f798a93a6b08d3be0727120e9af35851fac7b9c620d6cf9a70068c136"> <meta name="request-id" content="8A76:159853:91640C:A52999:67F8D14C" data-pjax-transient="true"/><meta name="html-safe-nonce" content="d6ed8c6f814e1c2833564ed8f0c0cb55de8087f82bc8b39859ad47b9667447f7" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4QTc2OjE1OTg1Mzo5MTY0MEM6QTUyOTk5OjY3RjhEMTRDIiwidmlzaXRvcl9pZCI6IjU0OTc2NTI1NTY4OTA0Mjc3MjQiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="849de26d239181ebe7179863054001fc3cbe214691d7ae1b9da11e7300c7549a" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:877708884" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_releases" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/releases/index" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Session Android - A Decentralized, Onion Routed, Private Messenger - Releases · session-foundation/session-android"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/session-foundation/session-android/releases" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/4bcd7e5feb58bcc6a26eaa32e1c853414c46a97132831ac214ca5bc8b134d1a2/session-foundation/session-android" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Releases · session-foundation/session-android" /><meta name="twitter:description" content="Session Android - A Decentralized, Onion Routed, Private Messenger - session-foundation/session-android" /> <meta property="og:image" content="https://opengraph.githubassets.com/4bcd7e5feb58bcc6a26eaa32e1c853414c46a97132831ac214ca5bc8b134d1a2/session-foundation/session-android" /><meta property="og:image:alt" content="Session Android - A Decentralized, Onion Routed, Private Messenger - session-foundation/session-android" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Releases · session-foundation/session-android" /><meta property="og:url" content="/session-foundation/session-android/releases" /><meta property="og:description" content="Session Android - A Decentralized, Onion Routed, Private Messenger - session-foundation/session-android" /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="8a807b4b5230c91ed6b88f4b60302b1a97502f9a36bf34861e12b1c86650d65e" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="e26f9f0ba624ee85cc7ac057d8faa8618a4f25a85eab052c33d018ac0f6b1a46" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="341058c5e8253cd18550c7f0cf40561635ef5b37e8705466d53622f2d1f77bd8" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="1f86c872ba8068adb0349db219286a4217d16ae05bb9d86985d4fdf43c5ed37a" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <link rel="alternate" type="application/atom+xml" title="session-android Release Notes" href="https://github.com/session-foundation/session-android/releases.atom" /> <link rel="alternate" type="application/atom+xml" title="session-android Tags" href="https://github.com/session-foundation/session-android/tags.atom" /> <meta name="go-import" content="github.com/session-foundation/session-android git https://github.com/session-foundation/session-android.git"> <meta name="octolytics-dimension-user_id" content="180616503" /><meta name="octolytics-dimension-user_login" content="session-foundation" /><meta name="octolytics-dimension-repository_id" content="877708884" /><meta name="octolytics-dimension-repository_nwo" content="session-foundation/session-android" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="true" /><meta name="octolytics-dimension-repository_parent_id" content="173877948" /><meta name="octolytics-dimension-repository_parent_nwo" content="oxen-io/session-android" /><meta name="octolytics-dimension-repository_network_root_id" content="2990192" /><meta name="octolytics-dimension-repository_network_root_nwo" content="signalapp/Signal-Android" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="f0da40b1030e666c8711073b78f50e4c796d9b0a"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-2d52c8e72e64.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-2560f573c7ca.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.222503a9a3e08280cedb.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-45d6658f8b6b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsession-foundation%2Fsession-android%2Freleases" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="920a1b9924ec94f20749a39e4745d776e0f5840fcc85b920822ef8b9bcf21435" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"product","tag":"link","label":"github_advanced_security_link_product_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"enterprise","tag":"link","label":"github_advanced_security_link_enterprise_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:session-foundation/session-android" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="oDuHiQOyilMMoEtNSrzhuPfAy9g4KPQEb2057cwAEuVOTbpKYuXDoTHdM9Vn14F_HswwXbXkoyfS0x2NVr2cdw" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="session-foundation/session-android" data-current-org="session-foundation" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-4efad055-4da3-41dd-a32b-033bcbbf7430" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-4efad055-4da3-41dd-a32b-033bcbbf7430" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="QvarydQkh5lumNQ9gUEj5DBzGnurxhAQtEmqsnFITnfnrgz75d6a51CkPacdHOQO7dMJMDHAEEHbXaJAj8CaYQ==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="Z6tSGZAz26/3ZuYV2GfYEcEjKY5DV0ud4i6GhbZgrsbXLsbnvVUNJPoteqRUgbw04H/Mmy6KB7dCdRKO2zfsGg==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="ZzV2R9ihqUaFgOb9MVjHg63yWALJ0KM24+WhPpjyEHukidPYnvOqC1jIzVhmjVlgGD5DJIIbQGqUqvse7pdCEA==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsession-foundation%2Fsession-android%2Freleases" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="920a1b9924ec94f20749a39e4745d776e0f5840fcc85b920822ef8b9bcf21435" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Freleases%2Findex&source=header-repo&source_repo=session-foundation%2Fsession-android" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="920a1b9924ec94f20749a39e4745d776e0f5840fcc85b920822ef8b9bcf21435" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/releases/index;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-bb11f22c-2fa0-4393-b3dd-e0b5d46e137f" aria-labelledby="tooltip-59ca3334-b4fa-4223-95a8-124fb5bc3393" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-59ca3334-b4fa-4223-95a8-124fb5bc3393" for="icon-button-bb11f22c-2fa0-4393-b3dd-e0b5d46e137f" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked color-fg-muted mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/session-foundation/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/session-foundation"> session-foundation </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/session-foundation/session-android">session-android</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> <span class="text-small lh-condensed-ultra no-wrap mt-1" data-repository-hovercards-enabled> forked from <a data-hovercard-type="repository" data-hovercard-url="/oxen-io/session-android/hovercard" class="Link--inTextBlock" href="/oxen-io/session-android">oxen-io/session-android</a> </span> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Fsession-foundation%2Fsession-android" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="d91dc80157c1cd6e3eec4be768a2d58e00940871f989f9d13124b5a4f3305cf3" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-9358ff0f-b8f5-4ce1-ad9c-c17b9b9f7ef5" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fsession-foundation%2Fsession-android" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":877708884,"auth_type":"LOG_IN","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="1d2acea11eefa19eb618d05a6d9c55f5c5f6cad6d0d9549359f124441bca6b84" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="13" data-view-component="true" class="Counter">13</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fsession-foundation%2Fsession-android" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":877708884,"auth_type":"LOG_IN","originating_url":"https://github.com/session-foundation/session-android/releases","user_id":null}}" data-hydro-click-hmac="76e68834bcc4a46833592f52fc6639d015a552ca3d81bb64c00d8821b506b1c1" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="191 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="191" data-view-component="true" class="Counter js-social-count">191</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/session-foundation/session-android" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /session-foundation/session-android" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/session-foundation/session-android/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /session-foundation/session-android/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="323" data-view-component="true" class="Counter">323</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/session-foundation/session-android/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /session-foundation/session-android/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="8" data-view-component="true" class="Counter">8</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/session-foundation/session-android/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /session-foundation/session-android/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/session-foundation/session-android/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /session-foundation/session-android/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/session-foundation/session-android/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /session-foundation/session-android/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/session-foundation/session-android/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/session-foundation/session-android/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /session-foundation/session-android/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-button" popovertarget="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-overlay" aria-controls="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-list" aria-haspopup="true" aria-labelledby="tooltip-b9941ae6-90c7-4c38-a475-2cac031c9aa1" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-b9941ae6-90c7-4c38-a475-2cac031c9aa1" for="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-overlay" anchor="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-button" id="action-menu-96d2bd55-9827-4ceb-a431-5850f55bdc64-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-acc13d18-eeb2-4453-b90b-69d22a018818" href="/session-foundation/session-android" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-b5b05f39-c039-41ef-94ae-f948b4fb340f" href="/session-foundation/session-android/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-1b0c69e0-7160-46e8-9e2c-437c624945dd" href="/session-foundation/session-android/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-40548ec6-498e-4970-8ae2-4d1075b49196" href="/session-foundation/session-android/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3a065bbd-3a32-4534-91c0-02ba5c8003ce" href="/session-foundation/session-android/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-e7b00841-bbdd-4887-ab34-9fcea962015e" href="/session-foundation/session-android/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-b201ed4d-3b73-4995-855d-3dfdec758669" href="/session-foundation/session-android/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>Releases: session-foundation/session-android</h1> <div class="clearfix container-xl px-3 px-md-4 px-lg-5 mt-4"> <div class="d-flex flex-justify-center"> <div class="d-flex flex-column flex-sm-row flex-wrap mb-3 pb-3 col-11 flex-justify-between border-bottom" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <nav aria-label="Releases and Tags" class="mb-2 flex-1"> <a class="js-selected-navigation-item selected subnav-item" aria-current="page" data-selected-links="repo_releases /session-foundation/session-android/releases" href="/session-foundation/session-android/releases">Releases</a> <a class="js-selected-navigation-item subnav-item" data-selected-links="repo_tags /session-foundation/session-android/tags" href="/session-foundation/session-android/tags">Tags</a> </nav> <div class="d-flex flex-column flex-md-row"> <div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative ml-md-2" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-turbo="false" action="/session-foundation/session-android/releases" accept-charset="UTF-8" method="get"> <input id="release-filter" type="search" name="q" class="form-control subnav-search-input width-full" value="" placeholder="Find a release" aria-label="Find a release" > <input type="hidden" name="expanded" value="true"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search subnav-search-icon"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </form> </div> </div> </div> </div> <div hidden id="release_page_title">Releases · session-foundation/session-android</div> <div data-pjax data-hpc> <section aria-labelledby="hd-5336ee27"> <h2 class="sr-only" id="hd-5336ee27">1.22.1</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-04-07T23:22:05Z"> 07 Apr 23:22 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.22.1" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.22.1 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/5db8a18cb8ac283aa5c977052b69873ed9ff41b7/hovercard" href="/session-foundation/session-android/commit/5db8a18cb8ac283aa5c977052b69873ed9ff41b7" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">5db8a18</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-04-03 06:33:18 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-20034e1e-16ae-11f0-9433-655fecbe34ae"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-20034e1e-16ae-11f0-9433-655fecbe34ae"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMi4x" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.22.1" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.22.1" data-view-component="true" class="Link--primary Link">1.22.1</a></span> <span> <a href="/session-foundation/session-android/releases/latest" data-view-component="true" class="Link v-align-text-bottom d-none d-md-inline-block"><span data-view-component="true" class="Label Label--success Label--large">Latest</span></a> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> <a href="/session-foundation/session-android/releases/latest" data-view-component="true" class="Link v-align-text-bottom"><span data-view-component="true" class="Label Label--success Label--large">Latest</span></a> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><p>This release contains mainly crash fixes.</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.22.0...1.22.1"><tt>1.22.0...1.22.1</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 998725a73d8a31b8f537eec7f4f01eb6c4406b589d6e07d33af9cf66b4868c5b session-1.22.1-arm64-v8a.apk 3faf1e5d13fff888ad6a58377dc3dbe8fa6ff0021966a1c90008dde4f960814c session-1.22.1-armeabi-v7a.apk 625167caeb5505df035131c4691c0cb5992c83983d118cda1169e56b7378e0b0 session-1.22.1-play-release.aab 2ecabc168da8fd0175ba53494d181a786e4f0a1adecfd172a1b2cc6e122b8eab session-1.22.1-universal.apk 6b2b2cc80814ed888ab40c830ce70dadc79ddec4272a9a799c36ddff7f832f85 session-1.22.1-universal-huawei.apk 8250c22f8c45a2c7663600b5bd0676b1035935e9434db2f7a4b75e45fdd17229 session-1.22.1-x86_64.apk 63f0c7564dff7af0d9a91746375667f3fc8347de44c896680f240aeea4e20591 session-1.22.1-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfz8iMACgkQxJks56iN QmLJlQ/8Cb++VySFBUMkEHGfiGqKu0ctdcVsXs6HDmQLWjuV1XAdmQyspocX3KZm WJbpKJH6dEAgdb4T7Uw5MMtWS4g+1EKaJKvG9MDRyHG61eihYZwLgYODZvTaikEF IKotZagK7jGZBTmNFUEdgT3McfAjM5E4Nyo3/i2dPJTbjKOU5YXJQ/BIZNn4dEVC 8oeKTHLkx5/v6E1jD9XHRSInMfm7FZbTa/VJ5+7+gh8UBE25BGrBsSFp8ktCYYlM lNgQ4U92FCY6NG5lKBlKWmZ5y/9X9iSHJmsY2oeNymeUxbGNaErbew8YHPtr3ULH wLbVba4mwqTN/fZK6yCZrSHZGZ7eR364qsTcDYwbJJV6oKeDI2Qkz7Jo0E/hjj2o IYb3RqrYbb6YBlA6vYvKkfenA+wkaG5PLDHcmEGp4WJ/Dkz6ly0TSwgFZob0pk8o 9tLyqoa+A80fkc0fI+t4pgGB99hnGj3V/6lTRXbAk4NJb0pIafUhPM1QIwOuWewp U7C3r8k1Ld4bX+K4wNN57oIeByDY/W3zXZI0nV7cjbe72Otmnqb0ZqpPtllCC1Ex B2qYUjqjFmxiFIOWPhVjJvyo3X4zOg0RwVONpAE+RNff0JdqzfSazsu6Hh5bzq9N InhBAkivq7vPxo1PIJqYY/GP+xPhVqgA1lBACCnBTPxYQklfsXw= =Bqb5 -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 998725a73d8a31b8f537eec7f4f01eb6c4406b589d6e07d33af9cf66b4868c5b session-1.22.1-arm64-v8a.apk 3faf1e5d13fff888ad6a58377dc3dbe8fa6ff0021966a1c90008dde4f960814c session-1.22.1-armeabi-v7a.apk 625167caeb5505df035131c4691c0cb5992c83983d118cda1169e56b7378e0b0 session-1.22.1-play-release.aab 2ecabc168da8fd0175ba53494d181a786e4f0a1adecfd172a1b2cc6e122b8eab session-1.22.1-universal.apk 6b2b2cc80814ed888ab40c830ce70dadc79ddec4272a9a799c36ddff7f832f85 session-1.22.1-universal-huawei.apk 8250c22f8c45a2c7663600b5bd0676b1035935e9434db2f7a4b75e45fdd17229 session-1.22.1-x86_64.apk 63f0c7564dff7af0d9a91746375667f3fc8347de44c896680f240aeea4e20591 session-1.22.1-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfz8iMACgkQxJks56iN QmLJlQ/8Cb++VySFBUMkEHGfiGqKu0ctdcVsXs6HDmQLWjuV1XAdmQyspocX3KZm WJbpKJH6dEAgdb4T7Uw5MMtWS4g+1EKaJKvG9MDRyHG61eihYZwLgYODZvTaikEF IKotZagK7jGZBTmNFUEdgT3McfAjM5E4Nyo3/i2dPJTbjKOU5YXJQ/BIZNn4dEVC 8oeKTHLkx5/v6E1jD9XHRSInMfm7FZbTa/VJ5+7+gh8UBE25BGrBsSFp8ktCYYlM lNgQ4U92FCY6NG5lKBlKWmZ5y/9X9iSHJmsY2oeNymeUxbGNaErbew8YHPtr3ULH wLbVba4mwqTN/fZK6yCZrSHZGZ7eR364qsTcDYwbJJV6oKeDI2Qkz7Jo0E/hjj2o IYb3RqrYbb6YBlA6vYvKkfenA+wkaG5PLDHcmEGp4WJ/Dkz6ly0TSwgFZob0pk8o 9tLyqoa+A80fkc0fI+t4pgGB99hnGj3V/6lTRXbAk4NJb0pIafUhPM1QIwOuWewp U7C3r8k1Ld4bX+K4wNN57oIeByDY/W3zXZI0nV7cjbe72Otmnqb0ZqpPtllCC1Ex B2qYUjqjFmxiFIOWPhVjJvyo3X4zOg0RwVONpAE+RNff0JdqzfSazsu6Hh5bzq9N InhBAkivq7vPxo1PIJqYY/GP+xPhVqgA1lBACCnBTPxYQklfsXw= =Bqb5 -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <details-toggle> <details open="open" data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Collapse" aria-expanded="true" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.22.1" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="RM7qrCDYvhjYEAK35_yrqt0cWErCl5o3kDun0Q8u1QMP9HwxzpADpw3FXb1wzQM_AiNAWuIWPMVhkj-hZMy8Ww" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4Mg-LH"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-f687cf" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): SessionHero01, 06:32AM on April 03" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-9ee3ef6e-4f93-45ef-8adb-406a4ec18960" for="reactions--reaction_button_component-f687cf" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-3b0806" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (1): SessionHero01, 06:32AM on April 03" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-a5e77a68-04ef-43c1-bf16-065a2e355643" for="reactions--reaction_button_component-3b0806" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-a15b90" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (1): SessionHero01, 06:32AM on April 03" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-95142a66-7f13-4430-87d1-36e39881fa61" for="reactions--reaction_button_component-a15b90" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-02d09d" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): SessionHero01, 06:32AM on April 03" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-baf93d26-6d12-4635-b5bd-37c0db8b1055" for="reactions--reaction_button_component-02d09d" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">1 person reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-dd1673c1"> <h2 class="sr-only" id="hd-dd1673c1">1.22.0</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-03-30T22:49:33Z"> 30 Mar 22:49 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/171472362?s=40&v=4" alt="@ThomasSession" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ThomasSession">ThomasSession</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.22.0" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.22.0 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/6021c192d8910b21e283d19275512aeb3cb1bc26/hovercard" href="/session-foundation/session-android/commit/6021c192d8910b21e283d19275512aeb3cb1bc26" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">6021c19</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-03-30 22:49:34 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-20085f80-16ae-11f0-9754-95a433626334"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-20085f80-16ae-11f0-9754-95a433626334"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMi4w" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.22.0" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.22.0" data-view-component="true" class="Link--primary Link">1.22.0</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Fix/make file attachment message visible by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743851055" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/854" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/854/hovercard" href="https://github.com/session-foundation/session-android/pull/854">#854</a></li> <li>Feature/lucide icons by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2713965953" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/827" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/827/hovercard" href="https://github.com/session-foundation/session-android/pull/827">#827</a></li> <li>Feature/lucide icons pt2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2769806006" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/863" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/863/hovercard" href="https://github.com/session-foundation/session-android/pull/863">#863</a></li> <li>Set the recovery phrase as being viewed when the user has visited the… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737086034" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/846" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/846/hovercard" href="https://github.com/session-foundation/session-android/pull/846">#846</a></li> <li>Feature/lucide icons pt3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2774066052" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/864" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/864/hovercard" href="https://github.com/session-foundation/session-android/pull/864">#864</a></li> <li>Fixing the position of the reply icon by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2774312535" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/865" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/865/hovercard" href="https://github.com/session-foundation/session-android/pull/865">#865</a></li> <li>Warning as a dynamic color by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2774395152" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/866" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/866/hovercard" href="https://github.com/session-foundation/session-android/pull/866">#866</a></li> <li>Feature/lucide icons pt4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2779038429" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/869" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/869/hovercard" href="https://github.com/session-foundation/session-android/pull/869">#869</a></li> <li>Merge latest changes to groups back to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788891339" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/879" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/879/hovercard" href="https://github.com/session-foundation/session-android/pull/879">#879</a></li> <li>Fix/share external with fingerprint lock by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2776391702" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/867" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/867/hovercard" href="https://github.com/session-foundation/session-android/pull/867">#867</a></li> <li>Fix/attachment filename finetuning by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2800353688" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/886" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/886/hovercard" href="https://github.com/session-foundation/session-android/pull/886">#886</a></li> <li>Fix link preview images so that they have filenames by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2800748371" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/890" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/890/hovercard" href="https://github.com/session-foundation/session-android/pull/890">#890</a></li> <li>fix/voice message upload duration ONLY by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2812192864" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/894" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/894/hovercard" href="https://github.com/session-foundation/session-android/pull/894">#894</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2754916714" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/862" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/862/hovercard" href="https://github.com/session-foundation/session-android/pull/862">#862</a></li> <li>Fix/recovery password copies linebreak by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826104476" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/909" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/909/hovercard" href="https://github.com/session-foundation/session-android/pull/909">#909</a></li> <li>Merge release/1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826113070" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/910" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/910/hovercard" href="https://github.com/session-foundation/session-android/pull/910">#910</a></li> <li>Merge release 1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826371643" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/913" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/913/hovercard" href="https://github.com/session-foundation/session-android/pull/913">#913</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829212383" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/915" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/915/hovercard" href="https://github.com/session-foundation/session-android/pull/915">#915</a></li> <li>Recovery password linebreak / double space removal - QA feedback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831841877" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/918" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/918/hovercard" href="https://github.com/session-foundation/session-android/pull/918">#918</a></li> <li>Konverting MediaSendActivity by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2836792843" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/921" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/921/hovercard" href="https://github.com/session-foundation/session-android/pull/921">#921</a></li> <li>Konverting the MediaSendViewModel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2836946750" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/922" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/922/hovercard" href="https://github.com/session-foundation/session-android/pull/922">#922</a></li> <li>Merge release 1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2841014880" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/927" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/927/hovercard" href="https://github.com/session-foundation/session-android/pull/927">#927</a></li> <li>Merge 1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2841247557" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/930" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/930/hovercard" href="https://github.com/session-foundation/session-android/pull/930">#930</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2841062034" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/929" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/929/hovercard" href="https://github.com/session-foundation/session-android/pull/929">#929</a></li> <li>Making sure we puny-encode data before ons lookup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2846914756" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/936" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/936/hovercard" href="https://github.com/session-foundation/session-android/pull/936">#936</a></li> <li>[SES-3292] Updated photo picker by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2844251609" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/934" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/934/hovercard" href="https://github.com/session-foundation/session-android/pull/934">#934</a></li> <li>Bring 1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2856650199" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/953" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/953/hovercard" href="https://github.com/session-foundation/session-android/pull/953">#953</a></li> <li>Fix/qa 882 mic button by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2849785594" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/943" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/943/hovercard" href="https://github.com/session-foundation/session-android/pull/943">#943</a></li> <li>Feature/username cleanup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2859295930" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/957" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/957/hovercard" href="https://github.com/session-foundation/session-android/pull/957">#957</a></li> <li>Fix/username cleanup --> remove address serialize method by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2859398061" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/959" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/959/hovercard" href="https://github.com/session-foundation/session-android/pull/959">#959</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2861908949" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/960" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/960/hovercard" href="https://github.com/session-foundation/session-android/pull/960">#960</a></li> <li>SES-2145 - Fix re-scroll to bottom after clicking on original message in a reply by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2862074509" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/961" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/961/hovercard" href="https://github.com/session-foundation/session-android/pull/961">#961</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2868023457" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/966" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/966/hovercard" href="https://github.com/session-foundation/session-android/pull/966">#966</a></li> <li>Fix/SES-1789 Message info for send and receive by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2873830818" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/970" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/970/hovercard" href="https://github.com/session-foundation/session-android/pull/970">#970</a></li> <li>fix/QA882 voice message duration on android 9 API 28 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2880049269" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/980" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/980/hovercard" href="https://github.com/session-foundation/session-android/pull/980">#980</a></li> <li>Bring 1.21.0 back to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2883482557" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/991" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/991/hovercard" href="https://github.com/session-foundation/session-android/pull/991">#991</a></li> <li>SES-2113 - Never display a username that matches that user's id. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2883551821" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/992" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/992/hovercard" href="https://github.com/session-foundation/session-android/pull/992">#992</a></li> <li>Release/1.21.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2895614101" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/998" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/998/hovercard" href="https://github.com/session-foundation/session-android/pull/998">#998</a></li> <li>Updated Calls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831548811" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/917" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/917/hovercard" href="https://github.com/session-foundation/session-android/pull/917">#917</a></li> <li>Release/1.21.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2895965413" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1001" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1001/hovercard" href="https://github.com/session-foundation/session-android/pull/1001">#1001</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2899172812" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1004" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1004/hovercard" href="https://github.com/session-foundation/session-android/pull/1004">#1004</a></li> <li>Merge 1.21.0 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2908663478" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1012" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1012/hovercard" href="https://github.com/session-foundation/session-android/pull/1012">#1012</a></li> <li>Feature/calls kee updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2901640821" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1007" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1007/hovercard" href="https://github.com/session-foundation/session-android/pull/1007">#1007</a></li> <li>SES-3506 open document messages on tap by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2908759547" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1013" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1013/hovercard" href="https://github.com/session-foundation/session-android/pull/1013">#1013</a></li> <li>Update AGP and a few essential dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2912406774" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1017" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1017/hovercard" href="https://github.com/session-foundation/session-android/pull/1017">#1017</a></li> <li>Bring 1.21.1 back to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2912633079" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1018" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1018/hovercard" href="https://github.com/session-foundation/session-android/pull/1018">#1018</a></li> <li>Add github action workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2912175453" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1016" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1016/hovercard" href="https://github.com/session-foundation/session-android/pull/1016">#1016</a></li> <li>QA Fix ups by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2915499687" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1020" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1020/hovercard" href="https://github.com/session-foundation/session-android/pull/1020">#1020</a></li> <li>Release/1.21.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923364954" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1023" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1023/hovercard" href="https://github.com/session-foundation/session-android/pull/1023">#1023</a></li> <li>Fix/qa fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923428854" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1024" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1024/hovercard" href="https://github.com/session-foundation/session-android/pull/1024">#1024</a></li> <li>Fix/SES-3278 prevent multimedia send to blinded recipients and tint buttons appropriately by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2856645825" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/952" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/952/hovercard" href="https://github.com/session-foundation/session-android/pull/952">#952</a></li> <li>fix/prevent_button_spam_on_scroll_to_replied_message - and VisibleMessageViews in general by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2880225394" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/983" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/983/hovercard" href="https://github.com/session-foundation/session-android/pull/983">#983</a></li> <li>Fix a potential crash when handling member removal offline by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923437339" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1025" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1025/hovercard" href="https://github.com/session-foundation/session-android/pull/1025">#1025</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923441038" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1026" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1026/hovercard" href="https://github.com/session-foundation/session-android/pull/1026">#1026</a></li> <li>Fix additional play store crashes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2927103634" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1028" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1028/hovercard" href="https://github.com/session-foundation/session-android/pull/1028">#1028</a></li> <li>[SES-3536] - Unable to navigate back on search screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2930343567" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1031" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1031/hovercard" href="https://github.com/session-foundation/session-android/pull/1031">#1031</a></li> <li>[SES-3536] - Fix flashes on search result list by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2933356728" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1032" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1032/hovercard" href="https://github.com/session-foundation/session-android/pull/1032">#1032</a></li> <li>Convert ApplicationContext into kotlin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2933454159" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1033" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1033/hovercard" href="https://github.com/session-foundation/session-android/pull/1033">#1033</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2936741012" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1035" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1035/hovercard" href="https://github.com/session-foundation/session-android/pull/1035">#1035</a></li> <li>Fix more crashes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2936937103" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1036" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1036/hovercard" href="https://github.com/session-foundation/session-android/pull/1036">#1036</a></li> <li>Fix empty state showing up on home screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2937048125" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1038" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1038/hovercard" href="https://github.com/session-foundation/session-android/pull/1038">#1038</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2937124308" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1039" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1039/hovercard" href="https://github.com/session-foundation/session-android/pull/1039">#1039</a></li> <li>Making sure we use the right string for Huawei builds by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2937170375" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1041" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1041/hovercard" href="https://github.com/session-foundation/session-android/pull/1041">#1041</a></li> <li>Feature/release 1.21.3 merge by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2941705037" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1050" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1050/hovercard" href="https://github.com/session-foundation/session-android/pull/1050">#1050</a></li> <li>Bring 1.21.3 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2945399904" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1057" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1057/hovercard" href="https://github.com/session-foundation/session-android/pull/1057">#1057</a></li> <li>Release/1.22.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2950884306" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1060" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1060/hovercard" href="https://github.com/session-foundation/session-android/pull/1060">#1060</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.21.3...1.22.0"><tt>1.21.3...1.22.0</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 2cd3708e4b9a8c1478e67e64f31c436b7501315c2adbbb972c19942047ebfbd4 session-1.22.0-arm64-v8a.apk cac8efb0c6e946d07ea9e4e7b4a551c09efb8e11eaa1721ce18bdaf0190d9f16 session-1.22.0-armeabi-v7a.apk 6bb2b8e10046d66bc6fac8674c078f39336da616bd4434f1b59a906666b46290 session-1.22.0-play-release.aab 9da57b67999475dde53f6aae28299a974f726f4aa75d9fdfa9340324a840aa31 session-1.22.0-universal.apk 98b6edcbeefc48f382e73d7c264499a52e2332962aef274f91dd83291466f1ed session-1.22.0-universal-huawei.apk ab1abcd00ceccb2d53afdab84a540ac488f4c30a126b54e97b042ccd6b8eac42 session-1.22.0-x86_64.apk 4555ec0f975e9243418c985ab56f006d8c96d1f58b91261daf510c4959d99c84 session-1.22.0-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfqttUACgkQxJks56iN QmIfVQ//Zgt3mtvrzNAjv9Yba65yR3ouKMm74GnfPhQbXUA/SzxqJ1pQNkSFQAmC cFfdEn+lhZQeY66RHhquuYbvvkfBhqGI2HH4/aO2G/sDWskMnTbvIZjbQHxMVs6V CD7+90HQwkcz+C6exchH91dLUhMM/RxHDK8If+/ubV0Hsiouk2wLCMIXAh5t1KSk wN0/kH9U1z09+EyPmOwok8WTpqR+wqJCSnP01ukTzR63LfjJr97JgWPG8+u+dxaf S0Hw6JVh1oEG5NHFmms+em5bk7nnMgRA9lGM+lND/tftTUw1tVZDcxcetaN937m/ QQ92FC6mZmftWxinBBXYoSUW5ncW8eAJEjrurcxXR1gcYBCrrT5LPhH2DcyG2wWc aW5AvbsJddw6vc3Cf7veR0dSlKar6+GGM+nT7xby2P4hqAODq5Fu0e0udcXDCKGQ Ct7jlMFpi..."><pre class="notranslate"><code>-----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 2cd3708e4b9a8c1478e67e64f31c436b7501315c2adbbb972c19942047ebfbd4 session-1.22.0-arm64-v8a.apk cac8efb0c6e946d07ea9e4e7b4a551c09efb8e11eaa1721ce18bdaf0190d9f16 session-1.22.0-armeabi-v7a.apk 6bb2b8e10046d66bc6fac8674c078f39336da616bd4434f1b59a906666b46290 session-1.22.0-play-release.aab 9da57b67999475dde53f6aae28299a974f726f4aa75d9fdfa9340324a840aa31 session-1.22.0-universal.apk 98b6edcbeefc48f382e73d7c264499a52e2332962aef274f91dd83291466f1ed session-1.22.0-universal-huawei.apk ab1abcd00ceccb2d53afdab84a540ac488f4c30a126b54e97b042ccd6b8eac42 session-1.22.0-x86_64.apk 4555ec0f975e9243418c985ab56f006d8c96d1f58b91261daf510c4959d99c84 session-1.22.0-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfqttUACgkQxJks56iN QmIfVQ//Zgt3mtvrzNAjv9Yba65yR3ouKMm74GnfPhQbXUA/SzxqJ1pQNkSFQAmC cFfdEn+lhZQeY66RHhquuYbvvkfBhqGI2HH4/aO2G/sDWskMnTbvIZjbQHxMVs6V CD7+90HQwkcz+C6exchH91dLUhMM/RxHDK8If+/ubV0Hsiouk2wLCMIXAh5t1KSk wN0/kH9U1z09+EyPmOwok8WTpqR+wqJCSnP01ukTzR63LfjJr97JgWPG8+u+dxaf S0Hw6JVh1oEG5NHFmms+em5bk7nnMgRA9lGM+lND/tftTUw1tVZDcxcetaN937m/ QQ92FC6mZmftWxinBBXYoSUW5ncW8eAJEjrurcxXR1gcYBCrrT5LPhH2DcyG2wWc aW5AvbsJddw6vc3Cf7veR0dSlKar6+GGM+nT7xby2P4hqAODq5Fu0e0udcXDCKGQ Ct7jlMFpi... </code></pre></div></details></div> <a href="/session-foundation/session-android/releases/tag/1.22.0" data-view-component="true" class="Link">Read more</a> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/AL-Session" class="" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/160798022?s=64&v=4" alt="@AL-Session" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/ThomasSession" class="" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/171472362?s=64&v=4" alt="@ThomasSession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/stfsession" class="" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/185467273?s=64&v=4" alt="@stfsession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > AL-Session, ThomasSession, and 2 other contributors </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.22.0" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="HY9lpNg3bKvLRo6gD7VshlJS-b_9ujqbXwz2IZr7Z8VWtfM5Nn_RFB6T0aqYhMQTjW3hr907nGmupW5R8RkOnQ" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4McvPG"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-4634b7" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (4): ThomasSession, 10:48PM on March 30" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">4</span> </button> <tool-tip id="tooltip-57d81ce4-ee14-4513-87ad-e02a0b293ad9" for="reactions--reaction_button_component-4634b7" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">nick-77, hachikoharuno, tashijayla, and KeeJef reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-93d351" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (1): ThomasSession, 10:48PM on March 30" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-3c5bc9bc-eea2-43d8-8fee-4681d560de31" for="reactions--reaction_button_component-93d351" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-b7e69d" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (2): ThomasSession, 10:48PM on March 30" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-3dfdf238-3a02-4040-ae11-b9836b82a1c5" for="reactions--reaction_button_component-b7e69d" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">nick-77 and tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-4bb189" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): ThomasSession, 10:48PM on March 30" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-2225c01e-7b42-4d99-8e8a-56eff18b0db6" for="reactions--reaction_button_component-4bb189" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="nick-77, hachikoharuno, tashijayla, and KeeJef reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>4 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="nick-77 and tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>2 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">4 people reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-f6167135"> <h2 class="sr-only" id="hd-f6167135">1.21.3</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-03-25T22:43:17Z"> 25 Mar 22:43 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.21.3" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.21.3 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/d8193c469e9beae5dea0017184c22fa9011cc955/hovercard" href="/session-foundation/session-android/commit/d8193c469e9beae5dea0017184c22fa9011cc955" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">d8193c4</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-03-25 22:30:27 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-20148918-16ae-11f0-8381-7a36323f5eff"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-20148918-16ae-11f0-8381-7a36323f5eff"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMS4z" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.21.3" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.21.3" data-view-component="true" class="Link--primary Link">1.21.3</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>[SES-3564] - Fix crash replying on push notification by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2941619972" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1048" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1048/hovercard" href="https://github.com/session-foundation/session-android/pull/1048">#1048</a></li> <li>Fix prod crashes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2941655810" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1049" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1049/hovercard" href="https://github.com/session-foundation/session-android/pull/1049">#1049</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.21.2...1.21.3"><tt>1.21.2...1.21.3</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 7897dc3e15ad4ec60bf8eaf7c204fd1f06429c67474bc689c66ba5e61d6ceac8 session-1.21.3-arm64-v8a.apk ebc74e749ff5f005e124c059de209329799edee25a28d70e1a226ca675996403 session-1.21.3-armeabi-v7a.apk 653dd58f948b36eb9d6d73f050a1bd3b69005804d97789122cc63a03bafd1036 session-1.21.3-play-release.aab e4cefe4134368b86f817c1d75915813aefb67e2f36760a72c66dff11b6a7051b session-1.21.3-universal.apk 0f1aaa794ceb2c7f20d539a23203777c52857a4e8b2e579a554742075fa1a1ce session-1.21.3-universal-huawei.apk f523d4a2b14a17afcb3e2556c59e2fcb64950efa52677f281ae813666857f84d session-1.21.3-x86_64.apk 7a3595536e56f85fe406ebb6dbe22b554d4773996496990c66d00fdbc4ae0d3c session-1.21.3-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfi2xgACgkQxJks56iN QmIjhA//S33+d6KO+gh9qDNZFZ8p8nezwVvTBS6CxPq5YspmT6FpBwBi75mi54Td Q4A2U/XKHvjlLhgV7V4Y6bwERpbvXwAI2UKYM25vBJOKAJQ/CyFCHGHyx6jp/cJ8 JRKL/x4rUcyBYzygAkK9TZwtV5HkJeiv1nL6nGfp5+zKUriyEGT2yqG3fQ9I3+fV fB849JPzdtKa5PnTFplRfKY/E8vhrEvEFqf8afq+7yG1NqB4e0gSQKaQ/fzBnCQc zI4CE7aBbcCVoBaryDO8bjKV1hbBEtgTCQIGgvXgJlrd0yIoLid0ak8939ZjiGEV YTZl6vzuezHptBlRViHoFo7ImDsmg7O2MftO8FWMnXNWln8aisz8ZxArJc8EMBi/ olhPknhge/nXtwCSkWro9BirjHYXq7ZBMroqPhJT/XOTJOcZW4yIr9cbMRGU/Vbe KvVOX1fGtVBMsXi7M9NYrrnWY1bsyVTYJ0SZAdXa4IeeNvxloVgOnubDOeWQNQCH 0bhW9Ccr9zIvEKjvMcRuHrQex9TAhKW1pCgjlaRK9sK3vH6Va5PDYdrtShwBTVnz NE/xhnqfxxejrW/d0RXAtkkuZw5yIleGwax0ZbbtrYgKkjYdFhUeAZatTX0r6MHk G7au0Q5UUIkK4/U1tRO9FI3Qfz9LXIHKi79zCXCnCO8+0BH0NnM= =5Als -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 7897dc3e15ad4ec60bf8eaf7c204fd1f06429c67474bc689c66ba5e61d6ceac8 session-1.21.3-arm64-v8a.apk ebc74e749ff5f005e124c059de209329799edee25a28d70e1a226ca675996403 session-1.21.3-armeabi-v7a.apk 653dd58f948b36eb9d6d73f050a1bd3b69005804d97789122cc63a03bafd1036 session-1.21.3-play-release.aab e4cefe4134368b86f817c1d75915813aefb67e2f36760a72c66dff11b6a7051b session-1.21.3-universal.apk 0f1aaa794ceb2c7f20d539a23203777c52857a4e8b2e579a554742075fa1a1ce session-1.21.3-universal-huawei.apk f523d4a2b14a17afcb3e2556c59e2fcb64950efa52677f281ae813666857f84d session-1.21.3-x86_64.apk 7a3595536e56f85fe406ebb6dbe22b554d4773996496990c66d00fdbc4ae0d3c session-1.21.3-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfi2xgACgkQxJks56iN QmIjhA//S33+d6KO+gh9qDNZFZ8p8nezwVvTBS6CxPq5YspmT6FpBwBi75mi54Td Q4A2U/XKHvjlLhgV7V4Y6bwERpbvXwAI2UKYM25vBJOKAJQ/CyFCHGHyx6jp/cJ8 JRKL/x4rUcyBYzygAkK9TZwtV5HkJeiv1nL6nGfp5+zKUriyEGT2yqG3fQ9I3+fV fB849JPzdtKa5PnTFplRfKY/E8vhrEvEFqf8afq+7yG1NqB4e0gSQKaQ/fzBnCQc zI4CE7aBbcCVoBaryDO8bjKV1hbBEtgTCQIGgvXgJlrd0yIoLid0ak8939ZjiGEV YTZl6vzuezHptBlRViHoFo7ImDsmg7O2MftO8FWMnXNWln8aisz8ZxArJc8EMBi/ olhPknhge/nXtwCSkWro9BirjHYXq7ZBMroqPhJT/XOTJOcZW4yIr9cbMRGU/Vbe KvVOX1fGtVBMsXi7M9NYrrnWY1bsyVTYJ0SZAdXa4IeeNvxloVgOnubDOeWQNQCH 0bhW9Ccr9zIvEKjvMcRuHrQex9TAhKW1pCgjlaRK9sK3vH6Va5PDYdrtShwBTVnz NE/xhnqfxxejrW/d0RXAtkkuZw5yIleGwax0ZbbtrYgKkjYdFhUeAZatTX0r6MHk G7au0Q5UUIkK4/U1tRO9FI3Qfz9LXIHKi79zCXCnCO8+0BH0NnM= =5Als -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.21.3" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="GlDQZsalXeeBzqe7yKjvAmJqJIsaXEMJMPGqhFZAdjZRakb7KO3gWFQb-LFfmUeXvVU8mzrd5fvBWDL0PaIfbg" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4MYbrz"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-5726e9" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): SessionHero01, 10:25PM on March 25" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-92f78a80-5ba3-4394-b945-af7c431b9919" for="reactions--reaction_button_component-5726e9" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-3307c9" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (1): SessionHero01, 10:25PM on March 25" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-336519da-ec5e-4f6b-bfbb-40262bd9e277" for="reactions--reaction_button_component-3307c9" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-dad6c2" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (1): SessionHero01, 10:25PM on March 25" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-4b9b92ac-a6cc-42b9-9cfc-cbf7da584176" for="reactions--reaction_button_component-dad6c2" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-f4d986" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): SessionHero01, 10:25PM on March 25" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-f2a5db2b-ab48-4f7b-9bc6-c8ee3b5d5aad" for="reactions--reaction_button_component-f4d986" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">1 person reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-88c90d3e"> <h2 class="sr-only" id="hd-88c90d3e">1.21.2</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-03-19T21:45:11Z"> 19 Mar 21:45 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.21.2" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.21.2 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/1dc88125c644270a73ce4a5e4c101ae0e2804432/hovercard" href="/session-foundation/session-android/commit/1dc88125c644270a73ce4a5e4c101ae0e2804432" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">1dc8812</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-03-19 21:45:11 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-20188a36-16ae-11f0-804e-4d8d97078eb6"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-20188a36-16ae-11f0-804e-4d8d97078eb6"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMS4y" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.21.2" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.21.2" data-view-component="true" class="Link--primary Link">1.21.2</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><p>This release contains mainly crash fixes.</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.21.1...1.21.2"><tt>1.21.1...1.21.2</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 08c897b99c9c48ca6ad62fafa1af0c667dac654e1622ffd8f42012969c3aee78 session-1.21.2-arm64-v8a.apk 9d66c6c51d8771c8808e1f2233c68f6afc440cbeb3b42cb85c0501dc6b8f3a7e session-1.21.2-armeabi-v7a.apk efe399e2947bd10613168f355061cd510ddfa6761cf967cd0b87ec220c9d62f0 session-1.21.2-play-release.aab 06918b8f008ba0d0755903ef27794da195d371ed5b40cbc6e0853fa4281eaac6 session-1.21.2-universal.apk 70c0b6558e273f02f6ff280c2cdb98541aa48f6cd4d2351066ff806344d44142 session-1.21.2-universal-huawei.apk c3590a1d45e6fe70b86bbb4e7e2d3d085f68f219c9465f176642f511fbbf5e2a session-1.21.2-x86_64.apk 67f7df84243759cfe4e1895b1dde484da851e01a18ac3c988be67e15ba941638 session-1.21.2-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfa5b4ACgkQxJks56iN QmIb4xAAgMrwNVXbfF31JLLF0qHXVFDtvpbIqGoryId1Mxhr8Bz+X2atjwBV3qfR BXsOdcDMBIcQOS5kor11BR8/jvkambS2SGimaZIP9puoYb0RUTDg9/hx00722jzb XIjv2ueO7Cgt+fPWjjGrZKaDxZD7IQM/tzEm8Bn8O/QR1x0iUMls/W67/CB9HaBz TRUoHs9AgqB37hhyL/5ZrLBeOIexn0cKzdLBRTJ+Gqq7S4x5HXJWIKLOV+nzfqK+ 54f1jtbAtEb4M5H0+p78d3r5X/payaXCCL+Q2ZrY2jdwWihWJT6ryjHJHshx3Acd rbwICd1J+q8NF3I9vRRxAKMwFUpVEDj0ic/igfDBV3/BbEZxcvEE7lldx4mCbV9P slkgif9vAlSAwvrvkTFfl2oeNXPV/2KFUVBG7seJiWogSuFmmM0toij9uE+eUh0o NR+/Wnibq9mdg6YQPzD9ZOmgaZ1fvvwkzgdzsfUKBZRUjAsyL1jkZAZ5A0XPMVKM JktDlkyG3ZUtr7yNuFk/QB9AeBcTzqErSZLR6ZK3Y4jueiuzS2Z9Kv1A+dIpOcN9 V8fDWkB00k8YX0LxLVDdnUKE0b6ZG4EzB4y+apSAftFHWbMLFxcAYdFRueMGvtNb EIjZRrt2d1mEsmLUig743bcx250kDds7iY6WWJWYU24/dsZhRvg= =R+Oj -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 08c897b99c9c48ca6ad62fafa1af0c667dac654e1622ffd8f42012969c3aee78 session-1.21.2-arm64-v8a.apk 9d66c6c51d8771c8808e1f2233c68f6afc440cbeb3b42cb85c0501dc6b8f3a7e session-1.21.2-armeabi-v7a.apk efe399e2947bd10613168f355061cd510ddfa6761cf967cd0b87ec220c9d62f0 session-1.21.2-play-release.aab 06918b8f008ba0d0755903ef27794da195d371ed5b40cbc6e0853fa4281eaac6 session-1.21.2-universal.apk 70c0b6558e273f02f6ff280c2cdb98541aa48f6cd4d2351066ff806344d44142 session-1.21.2-universal-huawei.apk c3590a1d45e6fe70b86bbb4e7e2d3d085f68f219c9465f176642f511fbbf5e2a session-1.21.2-x86_64.apk 67f7df84243759cfe4e1895b1dde484da851e01a18ac3c988be67e15ba941638 session-1.21.2-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfa5b4ACgkQxJks56iN QmIb4xAAgMrwNVXbfF31JLLF0qHXVFDtvpbIqGoryId1Mxhr8Bz+X2atjwBV3qfR BXsOdcDMBIcQOS5kor11BR8/jvkambS2SGimaZIP9puoYb0RUTDg9/hx00722jzb XIjv2ueO7Cgt+fPWjjGrZKaDxZD7IQM/tzEm8Bn8O/QR1x0iUMls/W67/CB9HaBz TRUoHs9AgqB37hhyL/5ZrLBeOIexn0cKzdLBRTJ+Gqq7S4x5HXJWIKLOV+nzfqK+ 54f1jtbAtEb4M5H0+p78d3r5X/payaXCCL+Q2ZrY2jdwWihWJT6ryjHJHshx3Acd rbwICd1J+q8NF3I9vRRxAKMwFUpVEDj0ic/igfDBV3/BbEZxcvEE7lldx4mCbV9P slkgif9vAlSAwvrvkTFfl2oeNXPV/2KFUVBG7seJiWogSuFmmM0toij9uE+eUh0o NR+/Wnibq9mdg6YQPzD9ZOmgaZ1fvvwkzgdzsfUKBZRUjAsyL1jkZAZ5A0XPMVKM JktDlkyG3ZUtr7yNuFk/QB9AeBcTzqErSZLR6ZK3Y4jueiuzS2Z9Kv1A+dIpOcN9 V8fDWkB00k8YX0LxLVDdnUKE0b6ZG4EzB4y+apSAftFHWbMLFxcAYdFRueMGvtNb EIjZRrt2d1mEsmLUig743bcx250kDds7iY6WWJWYU24/dsZhRvg= =R+Oj -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.21.2" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="oE7HjzBNe-8E1au_OC2T4nOMo8u4aOBlA8QWhU_uWXDrdFES3gXGUNEA9LWvHDt3rLO725jpRpfybY71JAwwKA" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4MUhMH"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-5cec25" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (5): SessionHero01, 09:44PM on March 19" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">5</span> </button> <tool-tip id="tooltip-a4c2f74a-de58-4918-8ac1-84f34b9e5a12" for="reactions--reaction_button_component-5cec25" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla, vanontom, hachikoharuno, Equinox9x, and SilverTears1 reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-69a860" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (2): SessionHero01, 09:44PM on March 19" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-16cdbc7c-0828-47ac-939d-d2e1b037ce32" for="reactions--reaction_button_component-69a860" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla and username-is-not reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-8adca9" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (2): SessionHero01, 09:44PM on March 19" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-a62e2b16-db2f-4742-bd2e-08a248d9c6c6" for="reactions--reaction_button_component-8adca9" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla and vanontom reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-9ca365" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): SessionHero01, 09:44PM on March 19" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-a63479ee-215b-4537-8ac9-ce12f2b6679e" for="reactions--reaction_button_component-9ca365" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla, vanontom, hachikoharuno, Equinox9x, and SilverTears1 reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>5 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla and username-is-not reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>2 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla and vanontom reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>2 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">6 people reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-38c82a71"> <h2 class="sr-only" id="hd-38c82a71">1.21.1</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-03-17T01:48:18Z"> 17 Mar 01:48 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.21.1" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.21.1 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/222994a17e65e086718048463c13d9938ac97a84/hovercard" href="/session-foundation/session-android/commit/222994a17e65e086718048463c13d9938ac97a84" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">222994a</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-03-17 01:48:18 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-201c1fe8-16ae-11f0-90d6-ef28ba0e21a1"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-201c1fe8-16ae-11f0-90d6-ef28ba0e21a1"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMS4x" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.21.1" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.21.1" data-view-component="true" class="Link--primary Link">1.21.1</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Add resetToken to TokenFetcher by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2902012995" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1009" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1009/hovercard" href="https://github.com/session-foundation/session-android/pull/1009">#1009</a></li> <li>Fix website variant build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2912122821" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1015" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1015/hovercard" href="https://github.com/session-foundation/session-android/pull/1015">#1015</a></li> <li>Move getSwarm into try catch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2918770238" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/1021" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/1021/hovercard" href="https://github.com/session-foundation/session-android/pull/1021">#1021</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.21.0...1.21.1"><tt>1.21.0...1.21.1</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 5d0843eb061d491120af4e9bcab65c45f3363996e051c2bcc2824e4a0330765f session-1.21.1-arm64-v8a.apk 791842b9da23b82a7dc11f53f792ed2d4f0e28fc315c07f6d20cbed6cb23740c session-1.21.1-armeabi-v7a.apk 67c7ae96dfd7afadbd3bd017a9b1ea52a7445aaf8fe26c37b10a2317128a49d2 session-1.21.1-play-release.aab eec872330d970ebb584e76308c82bcee08d06dc5535d64452afb5d86dd622d2f session-1.21.1-universal.apk 35617b6a001773489bc92a1144c3d2c4ae6fa535af0626108e41fadd0042943f session-1.21.1-universal-huawei.apk 6d8e9dede9e5872974b599927d3e22abe7cf8b1401b0bd5dd4fcd027f8d5ce8a session-1.21.1-x86_64.apk daaa5bca1df1bc144c9bd41103f12251e627f6746e6d4d1dec05659c806a4942 session-1.21.1-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfXd9oACgkQxJks56iN QmLhHg//cS5pRAx4blGeCtIqG2cV2oRuN6pDKjAFRysbxe4ZTVVdVkLEmUNvVFrr gf4gXhVUsYqyqzCzOk1/V2aLOTN7mb4CGzuqRaSPEbAfdEX1loktiD2z4RuBpYnL MXU4HemeBSO6bebVb+f2FYhTL7RbrTnf1DGY+kB+cOTU55MsneFlLmnkp1JPirL2 CDwYUWqvukP3USWQhIO05T7Dm9m3rL0xus2ebrlPvHXkUcDlr1oqpe0EhaKIq2GE wsSib67fiDuaji1JWIGG1PAaXRL0C2EZ/XS4917YW8yt82hy9q3VwYqNFX4LsdTl U1AFWYc1m+LDDG9mvRTkuTuSHRYd6wpiPmZ1xePjInCN4efhmH0yqD7GgMcVosrD K6f7P8znC3BImXXBvvwcFt3IP3esj6IAmQixBEhSZT88/Wm/xw3vTw9JxOM6p5EU su8AtHCEDtoA8O9jU0Q3wbUGGikgTUtEq//hYUIkF7JBjrxQGvUYEj1he2z2YIKw 7MB0564asBpiqeUTvuH1rl+adsFIrvpRyPvJqjTedu5BD8FCN4KNQmSJH0wlFMui HNMWkRsf+DMgzn8I3+kp7/ZS1PUmZMGWW9xPk7zgKTHKTejwnwC/28cSO41R7+L6 b4t+usOpfdMQMbbqPb2kenTkd838ohSqoMAi5BN+/yR/BBc0Rkg= =ITEX -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 5d0843eb061d491120af4e9bcab65c45f3363996e051c2bcc2824e4a0330765f session-1.21.1-arm64-v8a.apk 791842b9da23b82a7dc11f53f792ed2d4f0e28fc315c07f6d20cbed6cb23740c session-1.21.1-armeabi-v7a.apk 67c7ae96dfd7afadbd3bd017a9b1ea52a7445aaf8fe26c37b10a2317128a49d2 session-1.21.1-play-release.aab eec872330d970ebb584e76308c82bcee08d06dc5535d64452afb5d86dd622d2f session-1.21.1-universal.apk 35617b6a001773489bc92a1144c3d2c4ae6fa535af0626108e41fadd0042943f session-1.21.1-universal-huawei.apk 6d8e9dede9e5872974b599927d3e22abe7cf8b1401b0bd5dd4fcd027f8d5ce8a session-1.21.1-x86_64.apk daaa5bca1df1bc144c9bd41103f12251e627f6746e6d4d1dec05659c806a4942 session-1.21.1-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmfXd9oACgkQxJks56iN QmLhHg//cS5pRAx4blGeCtIqG2cV2oRuN6pDKjAFRysbxe4ZTVVdVkLEmUNvVFrr gf4gXhVUsYqyqzCzOk1/V2aLOTN7mb4CGzuqRaSPEbAfdEX1loktiD2z4RuBpYnL MXU4HemeBSO6bebVb+f2FYhTL7RbrTnf1DGY+kB+cOTU55MsneFlLmnkp1JPirL2 CDwYUWqvukP3USWQhIO05T7Dm9m3rL0xus2ebrlPvHXkUcDlr1oqpe0EhaKIq2GE wsSib67fiDuaji1JWIGG1PAaXRL0C2EZ/XS4917YW8yt82hy9q3VwYqNFX4LsdTl U1AFWYc1m+LDDG9mvRTkuTuSHRYd6wpiPmZ1xePjInCN4efhmH0yqD7GgMcVosrD K6f7P8znC3BImXXBvvwcFt3IP3esj6IAmQixBEhSZT88/Wm/xw3vTw9JxOM6p5EU su8AtHCEDtoA8O9jU0Q3wbUGGikgTUtEq//hYUIkF7JBjrxQGvUYEj1he2z2YIKw 7MB0564asBpiqeUTvuH1rl+adsFIrvpRyPvJqjTedu5BD8FCN4KNQmSJH0wlFMui HNMWkRsf+DMgzn8I3+kp7/ZS1PUmZMGWW9xPk7zgKTHKTejwnwC/28cSO41R7+L6 b4t+usOpfdMQMbbqPb2kenTkd838ohSqoMAi5BN+/yR/BBc0Rkg= =ITEX -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.21.1" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="FOAHzltm3dM3LVqxR97Vb75pBK8Fgm92aGGKe_MFFkdf2pFTtS5gbOL4BbvQ7336YVYcvyUDyYSZyBILmOd_Hw" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4MQ5Wm"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-cfafb8" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): SessionHero01, 01:47AM on March 17" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-ad0d3924-bf63-4746-af5f-286a814c8876" for="reactions--reaction_button_component-cfafb8" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-242420" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (1): SessionHero01, 01:47AM on March 17" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-f40fb2b5-45c5-4464-9c3c-40189843bdff" for="reactions--reaction_button_component-242420" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-7b48e7" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (1): SessionHero01, 01:47AM on March 17" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-bdafeb8c-35a1-4b1b-8e07-f8929d0ce3c7" for="reactions--reaction_button_component-7b48e7" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-bacbeb" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): SessionHero01, 01:47AM on March 17" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-74ca319a-a67d-4dd6-82b7-91e7f4fc1005" for="reactions--reaction_button_component-bacbeb" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">1 person reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-d380e179"> <h2 class="sr-only" id="hd-d380e179">1.21.0</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2025-03-11T00:16:56Z"> 11 Mar 00:16 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.21.0" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.21.0 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/1228e1aaaedbd8b98f578b44b5b24d0989910059/hovercard" href="/session-foundation/session-android/commit/1228e1aaaedbd8b98f578b44b5b24d0989910059" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">1228e1a</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2025-03-10 23:25:53 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-2020703e-16ae-11f0-9638-b887898c0323"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-2020703e-16ae-11f0-9638-b887898c0323"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMS4w" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.21.0" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.21.0" data-view-component="true" class="Link--primary Link">1.21.0</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Bring release 1.20.7 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2681570672" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/810" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/810/hovercard" href="https://github.com/session-foundation/session-android/pull/810">#810</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2688692744" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/811" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/811/hovercard" href="https://github.com/session-foundation/session-android/pull/811">#811</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2696471586" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/812" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/812/hovercard" href="https://github.com/session-foundation/session-android/pull/812">#812</a></li> <li>New group implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2639428830" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/4" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/4/hovercard" href="https://github.com/session-foundation/session-android/pull/4">#4</a></li> <li>Use consolidated member state and add pending removal support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2700589887" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/813" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/813/hovercard" href="https://github.com/session-foundation/session-android/pull/813">#813</a></li> <li>Infinite group sync issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2700768285" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/814" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/814/hovercard" href="https://github.com/session-foundation/session-android/pull/814">#814</a></li> <li>Add missing implementation to delete member's message on swarm by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2700903458" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/815" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/815/hovercard" href="https://github.com/session-foundation/session-android/pull/815">#815</a></li> <li>Fix/ses 2919 delete group by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2703690218" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/816" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/816/hovercard" href="https://github.com/session-foundation/session-android/pull/816">#816</a></li> <li>Fix unit tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2703817179" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/817" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/817/hovercard" href="https://github.com/session-foundation/session-android/pull/817">#817</a></li> <li>Handle config migration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2703914087" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/818" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/818/hovercard" href="https://github.com/session-foundation/session-android/pull/818">#818</a></li> <li>Text size changes from discord + consistency fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2710017230" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/821" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/821/hovercard" href="https://github.com/session-foundation/session-android/pull/821">#821</a></li> <li>SES-3001 - Note to self vs 1on1 delete by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2710384202" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/823" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/823/hovercard" href="https://github.com/session-foundation/session-android/pull/823">#823</a></li> <li>Fix attachment autodownload flooding thread pool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2710657692" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/824" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/824/hovercard" href="https://github.com/session-foundation/session-android/pull/824">#824</a></li> <li>SES-2966 - Fix group message deletion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2713708359" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/826" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/826/hovercard" href="https://github.com/session-foundation/session-android/pull/826">#826</a></li> <li>SES-3036 - Thread should not set default creation time to now by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2714044851" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/828" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/828/hovercard" href="https://github.com/session-foundation/session-android/pull/828">#828</a></li> <li>SES-3034 - Fix "you" not showing on group member list by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2714194989" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/830" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/830/hovercard" href="https://github.com/session-foundation/session-android/pull/830">#830</a></li> <li>Added missing joined_at for groups by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2714174843" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/829" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/829/hovercard" href="https://github.com/session-foundation/session-android/pull/829">#829</a></li> <li>SES-2929 - Fix member not having access to old messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2716416009" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/831" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/831/hovercard" href="https://github.com/session-foundation/session-android/pull/831">#831</a></li> <li>SES-2966 - fix group message bulk delete by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2716532407" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/832" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/832/hovercard" href="https://github.com/session-foundation/session-android/pull/832">#832</a></li> <li>Add lucide license by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2719041905" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/833" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/833/hovercard" href="https://github.com/session-foundation/session-android/pull/833">#833</a></li> <li>[SES-3073] - Fix error joining communities by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2725686575" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/836" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/836/hovercard" href="https://github.com/session-foundation/session-android/pull/836">#836</a></li> <li>[SES-3050] - Kicked group message state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2725823713" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/837" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/837/hovercard" href="https://github.com/session-foundation/session-android/pull/837">#837</a></li> <li>[SES-3078] - Pending group invite not restored correctly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2729040911" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/838" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/838/hovercard" href="https://github.com/session-foundation/session-android/pull/838">#838</a></li> <li>[SES-2966] - Do not delete link previews or audio message while deleting attachment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2731563974" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/839" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/839/hovercard" href="https://github.com/session-foundation/session-android/pull/839">#839</a></li> <li>[SES-2968] [SES-2929] - Fix up misc kicked and re-invited message syncing issues by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2734442493" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/842" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/842/hovercard" href="https://github.com/session-foundation/session-android/pull/842">#842</a></li> <li>Introducing thread status for groups by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2734723307" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/844" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/844/hovercard" href="https://github.com/session-foundation/session-android/pull/844">#844</a></li> <li>[SES-3089] - Also delete group invite from swarm when rejecting invitation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2734522431" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/843" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/843/hovercard" href="https://github.com/session-foundation/session-android/pull/843">#843</a></li> <li>[SES-2925] - Clear thread messages before accepting/rejecting group invitation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737199402" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/849" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/849/hovercard" href="https://github.com/session-foundation/session-android/pull/849">#849</a></li> <li>[SES-3090] - Only send group messages after keys obtained by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737184773" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/848" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/848/hovercard" href="https://github.com/session-foundation/session-android/pull/848">#848</a></li> <li>[SES-2966] - Delete the right attachments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737242974" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/850" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/850/hovercard" href="https://github.com/session-foundation/session-android/pull/850">#850</a></li> <li>[SES-3093] - Fix 1970 timestamp issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737156682" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/847" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/847/hovercard" href="https://github.com/session-foundation/session-android/pull/847">#847</a></li> <li>Also delete group invitation whenever an invitation is blocked by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2741194548" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/851" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/851/hovercard" href="https://github.com/session-foundation/session-android/pull/851">#851</a></li> <li>Merge Release/1.20.8 back into dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2731820758" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/841" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/841/hovercard" href="https://github.com/session-foundation/session-android/pull/841">#841</a></li> <li>SES-2916 - Remove group config when blocked by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743667834" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/852" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/852/hovercard" href="https://github.com/session-foundation/session-android/pull/852">#852</a></li> <li>Temporary measure for CI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743733493" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/853" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/853/hovercard" href="https://github.com/session-foundation/session-android/pull/853">#853</a></li> <li>SES-3111 - Improve overall networking bottleneck by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743971355" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/855" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/855/hovercard" href="https://github.com/session-foundation/session-android/pull/855">#855</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2746437509" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/856" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/856/hovercard" href="https://github.com/session-foundation/session-android/pull/856">#856</a></li> <li>Use mark_kicked when kicked by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2746474769" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/857" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/857/hovercard" href="https://github.com/session-foundation/session-android/pull/857">#857</a></li> <li>Do not reuse placeholder drawable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2746591708" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/858" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/858/hovercard" href="https://github.com/session-foundation/session-android/pull/858">#858</a></li> <li>[Automated] Update translations from Crowdin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stfsession">@stfsession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2746800053" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/859" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/859/hovercard" href="https://github.com/session-foundation/session-android/pull/859">#859</a></li> <li>SES-3053 Send only the first 32 bytes of admin key as promotion message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2749020326" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/860" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/860/hovercard" href="https://github.com/session-foundation/session-android/pull/860">#860</a></li> <li>Update min version banner color by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788699497" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/872" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/872/hovercard" href="https://github.com/session-foundation/session-android/pull/872">#872</a></li> <li>Fix OpenGroup blocking default dispatcher by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788702038" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/873" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/873/hovercard" href="https://github.com/session-foundation/session-android/pull/873">#873</a></li> <li>Delete a group directly if it's already destroyed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788706722" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/876" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/876/hovercard" href="https://github.com/session-foundation/session-android/pull/876">#876</a></li> <li>Warning as a dynamic color (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2774395152" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/866" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/866/hovercard" href="https://github.com/session-foundation/session-android/pull/866">#866</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788707559" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/877" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/877/hovercard" href="https://github.com/session-foundation/session-android/pull/877">#877</a></li> <li>Added progress indicator for group editing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788705168" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/875" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/875/hovercard" href="https://github.com/session-foundation/session-android/pull/875">#875</a></li> <li>Integrate the group member status change by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788703972" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/874" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/874/hovercard" href="https://github.com/session-foundation/session-android/pull/874">#874</a></li> <li>[SES-3119] - Clear group messages whenever it's destroyed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2794100504" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/882" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/882/hovercard" href="https://github.com/session-foundation/session-android/pull/882">#882</a></li> <li>Add a group scope to limit group work concurrency by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2793959135" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/881" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/881/hovercard" href="https://github.com/session-foundation/session-android/pull/881">#881</a></li> <li>[SES-3153] - Fix crash when admin deletes our attachment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2794584948" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/883" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/883/hovercard" href="https://github.com/session-foundation/session-android/pull/883">#883</a></li> <li>[SES-3154] - Fix group admin unable to delete message with attachments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2797914289" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/884" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/884/hovercard" href="https://github.com/session-foundation/session-android/pull/884">#884</a></li> <li>Reset last hash on promotion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2798150222" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/885" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/885/hovercard" href="https://github.com/session-foundation/session-android/pull/885">#885</a></li> <li>[SES-3202] - Fix group unable to poll when accepting invitation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2800414347" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/888" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/888/hovercard" href="https://github.com/session-foundation/session-android/pull/888">#888</a></li> <li>[SES-3119] - Unread count not cleared by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2800372701" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/887" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/887/hovercard" href="https://github.com/session-foundation/session-android/pull/887">#887</a></li> <li>[SES-3183] - Delete existing expiring settings message when receiving new ones by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2802960221" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/891" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/891/hovercard" href="https://github.com/session-foundation/session-android/pull/891">#891</a></li> <li>[SES-3192] - Fix unable to receive "invite-ad-admin" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2803114289" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/892" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/892/hovercard" href="https://github.com/session-foundation/session-android/pull/892">#892</a></li> <li>[SES-3196] - Incorrect sorting order for group members by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2805573344" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/893" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/893/hovercard" href="https://github.com/session-foundation/session-android/pull/893">#893</a></li> <li>[SES-3183] - Do not accept 1-to-1 disappearing messages in a group by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2814177526" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/895" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/895/hovercard" href="https://github.com/session-foundation/session-android/pull/895">#895</a></li> <li>[SES-3222] - Add "you" in the list of mention by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2816902004" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/896" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/896/hovercard" href="https://github.com/session-foundation/session-android/pull/896">#896</a></li> <li>[SES-2960] - Control messages for leaving groups by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819612279" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/898" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/898/hovercard" href="https://github.com/session-foundation/session-android/pull/898">#898</a></li> <li>[SES-2997] - Show "xxx is invited" upon group creation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819631536" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/899" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/899/hovercard" href="https://github.com/session-foundation/session-android/pull/899">#899</a></li> <li>[SES-2930] - Show the correct toast message when invitation fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819834331" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/900" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/900/hovercard" href="https://github.com/session-foundation/session-android/pull/900">#900</a></li> <li>[SES-3238] - Fix unable to leave group on home screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822023743" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/902" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/902/hovercard" href="https://github.com/session-foundation/session-android/pull/902">#902</a></li> <li>[SES-2924] - Fix incorrect version of "you were removed" used by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822046797" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/903" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/903/hovercard" href="https://github.com/session-foundation/session-android/pull/903">#903</a></li> <li>[SES-2960] - Fix issues on group leaving control messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822108361" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/904" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/904/hovercard" href="https://github.com/session-foundation/session-android/pull/904">#904</a></li> <li>Onion paths as a StateFlow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819894989" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/901" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/901/hovercard" href="https://github.com/session-foundation/session-android/pull/901">#901</a></li> <li>Add a global state management for internet connectivity by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826097595" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/907" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/907/hovercard" href="https://github.com/session-foundation/session-android/pull/907">#907</a></li> <li>[SES-3247] - Fixed crash upon launch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826219859" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/911" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/911/hovercard" href="https://github.com/session-foundation/session-android/pull/911">#911</a></li> <li>[SES-3200] - Offline control message improvement by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826343905" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/912" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/912/hovercard" href="https://github.com/session-foundation/session-android/pull/912">#912</a></li> <li>[SES-3248] - Using member names in the control messages wherever possible by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2828735002" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/914" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/914/hovercard" href="https://github.com/session-foundation/session-android/pull/914">#914</a></li> <li>[SES-3251] - Legacy group migration - Part I by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831486458" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/916" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/916/hovercard" href="https://github.com/session-foundation/session-android/pull/916">#916</a></li> <li>Showing the admin crown for legacy groups by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2837223756" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/923" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/923/hovercard" href="https://github.com/session-foundation/session-android/pull/923">#923</a></li> <li>[SES-3251] - Add recreate group UI and show/hide thread/message options accordingly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2834495273" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/919" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/919/hovercard" href="https://github.com/session-foundation/session-android/pull/919">#919</a></li> <li>Fix a clock drift when the device is in deep sleep by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a href="https://github.com/sessio">https://github.com/sessio</a>...</li> </ul></div> <a href="/session-foundation/session-android/releases/tag/1.21.0" data-view-component="true" class="Link">Read more</a> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/mpretty-cyro" class="" data-hovercard-type="user" data-hovercard-url="/users/mpretty-cyro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/15862619?s=64&v=4" alt="@mpretty-cyro" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/KeeJef" class="" data-hovercard-type="user" data-hovercard-url="/users/KeeJef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/27277414?s=64&v=4" alt="@KeeJef" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/AL-Session" class="" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/160798022?s=64&v=4" alt="@AL-Session" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/ThomasSession" class="" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/171472362?s=64&v=4" alt="@ThomasSession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/stfsession" class="" data-hovercard-type="user" data-hovercard-url="/users/stfsession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/185467273?s=64&v=4" alt="@stfsession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > mpretty-cyro, KeeJef, and 4 other contributors </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="9" data-view-component="true" class="Counter ml-1">9</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.21.0" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="GXpddQtHCsW6RIsjyZBSuY5TkQYTxDjmBw3AOZ3CsQZSQMvo5Q-3em-R1CleofosUWyJFjNFnhT2pFhJ9iDYXg" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4MNgLl"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-d3d16d" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): SessionHero01, 11:20PM on March 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-fc841b23-1a34-4a55-b844-538d6b6f3601" for="reactions--reaction_button_component-d3d16d" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-443777" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (2): SessionHero01, 11:20PM on March 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-417c257e-fad3-4896-bed0-fb5e8ae20f4f" for="reactions--reaction_button_component-443777" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">Aerilym and tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-390b3d" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (1): SessionHero01, 11:20PM on March 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-07785f10-99a5-4de3-9506-27adf58269ff" for="reactions--reaction_button_component-390b3d" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-4871a8" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): SessionHero01, 11:20PM on March 10" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-382cf385-5e8f-4480-8eb3-f8158a8cac4d" for="reactions--reaction_button_component-4871a8" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="Aerilym and tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>2 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">2 people reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-2c550364"> <h2 class="sr-only" id="hd-2c550364">1.20.8</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2024-12-16T06:57:59Z"> 16 Dec 06:57 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.20.8" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.20.8 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/75e2b87278cc378e21b77b27fa1a2aa773d25520/hovercard" href="/session-foundation/session-android/commit/75e2b87278cc378e21b77b27fa1a2aa773d25520" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">75e2b87</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2024-12-12 23:05:34 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-2029ff32-16ae-11f0-80f2-c63195bfc685"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-2029ff32-16ae-11f0-80f2-c63195bfc685"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMC44" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.20.8" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.20.8" data-view-component="true" class="Link--primary Link">1.20.8</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Fix phone call from lock screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2725648590" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/835" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/835/hovercard" href="https://github.com/session-foundation/session-android/pull/835">#835</a></li> <li>Merge Release/1.20.8 back into master by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2731817395" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/840" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/840/hovercard" href="https://github.com/session-foundation/session-android/pull/840">#840</a></li> <li>Prepare for release 1.20.8 (2nd attempt) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2737033261" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/845" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/845/hovercard" href="https://github.com/session-foundation/session-android/pull/845">#845</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AL-Session">@AL-Session</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2725648590" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/835" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/835/hovercard" href="https://github.com/session-foundation/session-android/pull/835">#835</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.20.7...1.20.8"><tt>1.20.7...1.20.8</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 8c7fbe49f8ac3355403cf9b22192257b5740b1b035748805219c5cda1f290c90 session-1.20.8-arm64-v8a.apk 33fc53fa215b9440b110ebedce760151ace0a930e2910e7806f7697f3a66a054 session-1.20.8-armeabi-v7a.apk e7c60b6569e06cdeeede98d76e64d4ee582118cf7f31fca86007869ad0216193 session-1.20.8-play-release.aab 5f4a649b16bedeacd1134f86184d7c0619f322f21b6d582c8e2857a4eb2ff103 session-1.20.8-universal.apk 334f1f134eea08cb0b8ae394844ad9b35ca8b57e039b95ee5ec8dbde9cbe7724 session-1.20.8-universal-huawei.apk 10ba11f1c1c02bf8a124b45852b914cf628577084cd6b41153d786480872e02e session-1.20.8-x86_64.apk 2ee9bbbe5444d5ee84a3a0d2a4681d971d37cc55b345d68816433955ec5709d7 session-1.20.8-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmdfyFkACgkQxJks56iN QmLSIw/+LbriFyO9ma8iwzT11YS5m5klAMtdTW9Xr2ZCfQDKdaZA1GobRGGH4ocu QLgUPaNaw0uMwvSFBALUCCoNZd4gg2MFMK9BNRYeUD1FLS3i1I+y7WqGtEDsy9no pCRIK3sjEe8odesbuBFzIC6ImdH0Z6qQsjahLK52tdOpJ/ILsB2XwonNKCi87A4e 8BpjKAZVPyyzVifUAygJsS/KtOyw0QXIDFKJIWZEMiIX4K8I2qtw2+RLfyrd3kfD SWxhQElVQATd6nP34XAasrgzb4RgDvAskfJslqgEUL889BOzXwLhP6Fgo7nIMJ2E iloLUQo8CyeFCJv4jvGIyFEpEehhJOSOCeyntEXYX4dcdVvJr3uVRFkdRb31FUvG lECsCnlTNZFnATkqibQeILMsrKvcggTEoeK724M2uF6eKepmDMipOFmVBlgU50gW sevZR4rLZJ4mYWjgxQgUbS+KydRVjHAWJKFv5kKrh8QPCbFb8sTrRiI0BulF5psa 7QQ5HAXpOlpmPNfRHi834GMIZmLVABy3MRoFjzdzkYZ+AesI7Bpe/z6Ph5cuNBlO Jv2iiwKtQ8r2jDZyYNNS0xuT9Xq27TNz+u7fR6jvQJncaAON95lXIYyF67kbJgPN QuJkeQgrJO0O7mMT+Oz+hGKwNsDASTm+IMjW3jKvEZpnO9VWBo8= =cFvT -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 8c7fbe49f8ac3355403cf9b22192257b5740b1b035748805219c5cda1f290c90 session-1.20.8-arm64-v8a.apk 33fc53fa215b9440b110ebedce760151ace0a930e2910e7806f7697f3a66a054 session-1.20.8-armeabi-v7a.apk e7c60b6569e06cdeeede98d76e64d4ee582118cf7f31fca86007869ad0216193 session-1.20.8-play-release.aab 5f4a649b16bedeacd1134f86184d7c0619f322f21b6d582c8e2857a4eb2ff103 session-1.20.8-universal.apk 334f1f134eea08cb0b8ae394844ad9b35ca8b57e039b95ee5ec8dbde9cbe7724 session-1.20.8-universal-huawei.apk 10ba11f1c1c02bf8a124b45852b914cf628577084cd6b41153d786480872e02e session-1.20.8-x86_64.apk 2ee9bbbe5444d5ee84a3a0d2a4681d971d37cc55b345d68816433955ec5709d7 session-1.20.8-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmdfyFkACgkQxJks56iN QmLSIw/+LbriFyO9ma8iwzT11YS5m5klAMtdTW9Xr2ZCfQDKdaZA1GobRGGH4ocu QLgUPaNaw0uMwvSFBALUCCoNZd4gg2MFMK9BNRYeUD1FLS3i1I+y7WqGtEDsy9no pCRIK3sjEe8odesbuBFzIC6ImdH0Z6qQsjahLK52tdOpJ/ILsB2XwonNKCi87A4e 8BpjKAZVPyyzVifUAygJsS/KtOyw0QXIDFKJIWZEMiIX4K8I2qtw2+RLfyrd3kfD SWxhQElVQATd6nP34XAasrgzb4RgDvAskfJslqgEUL889BOzXwLhP6Fgo7nIMJ2E iloLUQo8CyeFCJv4jvGIyFEpEehhJOSOCeyntEXYX4dcdVvJr3uVRFkdRb31FUvG lECsCnlTNZFnATkqibQeILMsrKvcggTEoeK724M2uF6eKepmDMipOFmVBlgU50gW sevZR4rLZJ4mYWjgxQgUbS+KydRVjHAWJKFv5kKrh8QPCbFb8sTrRiI0BulF5psa 7QQ5HAXpOlpmPNfRHi834GMIZmLVABy3MRoFjzdzkYZ+AesI7Bpe/z6Ph5cuNBlO Jv2iiwKtQ8r2jDZyYNNS0xuT9Xq27TNz+u7fR6jvQJncaAON95lXIYyF67kbJgPN QuJkeQgrJO0O7mMT+Oz+hGKwNsDASTm+IMjW3jKvEZpnO9VWBo8= =cFvT -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/AL-Session" class="" data-hovercard-type="user" data-hovercard-url="/users/AL-Session/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/160798022?s=64&v=4" alt="@AL-Session" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > AL-Session and SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.20.8" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="K8TBIbO1IK3xMKtTaXdmwSEVkjcUQKCmdbydajG--dBg_le8Xf2dEiTl9Fn-Rs5U_iqKJzTBBlSEFQUaWlyQiA" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4LVP1_"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-651603" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (5): SessionHero01, 11:00PM on December 12, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">5</span> </button> <tool-tip id="tooltip-7e9037ef-aee3-4da6-bd4c-aae250fe84ab" for="reactions--reaction_button_component-651603" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla, FUmeCK, bub0-bub0, Alex-Oz97, and furinada reacted with thumbs up emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla, FUmeCK, bub0-bub0, Alex-Oz97, and furinada reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>5 reactions</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">5 people reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-54e838af"> <h2 class="sr-only" id="hd-54e838af">1.20.7</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2024-11-22T06:18:20Z"> 22 Nov 06:18 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/171472362?s=40&v=4" alt="@ThomasSession" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ThomasSession">ThomasSession</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.20.7" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.20.7 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/5053dafbf3738651042498cdb27c37d657167732/hovercard" href="/session-foundation/session-android/commit/5053dafbf3738651042498cdb27c37d657167732" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">5053daf</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2024-11-22 05:57:19 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-202da8a8-16ae-11f0-9fe7-76af64ad346a"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-202da8a8-16ae-11f0-9fe7-76af64ad346a"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMC43" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.20.7" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.20.7" data-view-component="true" class="Link--primary Link">1.20.7</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>1.20.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666789260" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/14" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/14/hovercard" href="https://github.com/session-foundation/session-android/pull/14">#14</a></li> <li>Bring release 1.20.6 to dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2673930357" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/807" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/807/hovercard" href="https://github.com/session-foundation/session-android/pull/807">#807</a></li> <li>Fix sqlite migration crash by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2681378576" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/808" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/808/hovercard" href="https://github.com/session-foundation/session-android/pull/808">#808</a></li> <li>Release 1.20.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2681433454" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/809" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/809/hovercard" href="https://github.com/session-foundation/session-android/pull/809">#809</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.20.6...1.20.7"><tt>1.20.6...1.20.7</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 4c22417e05d5f7f33ebfd6d269f3f89ca930732ce049ac7206aea6fc4b352d57 session-1.20.7-arm64-v8a.apk c75dbcf9d8ccf807b882fc5448afc00b146fcd3de830b0f3c9bde61940d2d92a session-1.20.7-armeabi-v7a.apk 7437fb8c623e58099450ef8e04bcb7d8ce82dce6ba19f00990d50ae3ef734df2 session-1.20.7-play-release.aab 1ab566e85c3b0838c61701af218a9b8e26b853f008237ec7035d2959f0034463 session-1.20.7-universal.apk f2b9c819e1061fe1391d069f7052d3495f08047b1431bcc0e5a3cec2e2eadee2 session-1.20.7-universal-huawei.apk 57042ad023979371395764e11fd343b1013f5e7129e0821e8d664b1d9d255a82 session-1.20.7-x86_64.apk 36af1bb48fe5fa07006b45c6cd8adcdc9ec0112b66de246c9121028b1f601a4b session-1.20.7-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmdAIcMACgkQxJks56iN QmLE5hAAoGZlYkSQQHJOND4i9pB1cXCrg9GeQ/Bjqzcf4FwwJ7sozRmbxlu5l288 xPphrT7U1JMe7jNasaWb6Zy69DQq0DFVgw2sPT/2kfHqx+gZX8bwmIXr3rtKeSPL XVGwYEhlCjvgIR8YtMsPDFZ4ErLTbPLC0ndNG8TtTP7LC4aN9QdzRZ5df8fPYW+p 7Wc2Yanjr+5+BqbJBT4krvjMD+75nb9YyX/l/sLpkqJacDEEg0Bww2O6bREfmEW7 hCO6A615/wl3O7F5ljFBRDP9No13KPAhpKFbApcVnobxLlv6MHUHV2s485haGetN J0UBsuLJLhzzGFnB3AjbccomM7U1VCG2KTiXsIzyUbYbClTO3EIlP/EN4m2+0bYw rGJPokNkwbD8yLbw4+3Ez/8CuLSVYlkaZI2pxD0J9I6TX9gSqtLFa1PxdHNPoRZS 23nY4scAXhI4F9zM1SN1S934R96l36ea4+sGjL1KwhQTl1hbNilvY+12RbNXvvtf AXsN7ZeEmwpm+/egFtigP92oZfnLWdnsLiuNT/khXWH/TmzQQVygNWEp6En6rSE3 woKkH10FW6E7VC00MXlHOyvTFLdNH2QBbCN7310M8e/dGxyasgHJ9oysfdZE7CPH jSqR6nBxTuURRZcIoie5SYv1wmmkkIySkYtLL3BFJHAwBPugmkk= =wYth -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 4c22417e05d5f7f33ebfd6d269f3f89ca930732ce049ac7206aea6fc4b352d57 session-1.20.7-arm64-v8a.apk c75dbcf9d8ccf807b882fc5448afc00b146fcd3de830b0f3c9bde61940d2d92a session-1.20.7-armeabi-v7a.apk 7437fb8c623e58099450ef8e04bcb7d8ce82dce6ba19f00990d50ae3ef734df2 session-1.20.7-play-release.aab 1ab566e85c3b0838c61701af218a9b8e26b853f008237ec7035d2959f0034463 session-1.20.7-universal.apk f2b9c819e1061fe1391d069f7052d3495f08047b1431bcc0e5a3cec2e2eadee2 session-1.20.7-universal-huawei.apk 57042ad023979371395764e11fd343b1013f5e7129e0821e8d664b1d9d255a82 session-1.20.7-x86_64.apk 36af1bb48fe5fa07006b45c6cd8adcdc9ec0112b66de246c9121028b1f601a4b session-1.20.7-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmdAIcMACgkQxJks56iN QmLE5hAAoGZlYkSQQHJOND4i9pB1cXCrg9GeQ/Bjqzcf4FwwJ7sozRmbxlu5l288 xPphrT7U1JMe7jNasaWb6Zy69DQq0DFVgw2sPT/2kfHqx+gZX8bwmIXr3rtKeSPL XVGwYEhlCjvgIR8YtMsPDFZ4ErLTbPLC0ndNG8TtTP7LC4aN9QdzRZ5df8fPYW+p 7Wc2Yanjr+5+BqbJBT4krvjMD+75nb9YyX/l/sLpkqJacDEEg0Bww2O6bREfmEW7 hCO6A615/wl3O7F5ljFBRDP9No13KPAhpKFbApcVnobxLlv6MHUHV2s485haGetN J0UBsuLJLhzzGFnB3AjbccomM7U1VCG2KTiXsIzyUbYbClTO3EIlP/EN4m2+0bYw rGJPokNkwbD8yLbw4+3Ez/8CuLSVYlkaZI2pxD0J9I6TX9gSqtLFa1PxdHNPoRZS 23nY4scAXhI4F9zM1SN1S934R96l36ea4+sGjL1KwhQTl1hbNilvY+12RbNXvvtf AXsN7ZeEmwpm+/egFtigP92oZfnLWdnsLiuNT/khXWH/TmzQQVygNWEp6En6rSE3 woKkH10FW6E7VC00MXlHOyvTFLdNH2QBbCN7310M8e/dGxyasgHJ9oysfdZE7CPH jSqR6nBxTuURRZcIoie5SYv1wmmkkIySkYtLL3BFJHAwBPugmkk= =wYth -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/ThomasSession" class="" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/171472362?s=64&v=4" alt="@ThomasSession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > ThomasSession and SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.20.7" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="hG2fXSvznffmEGKD5VNrnQriIubkAn-T0iQPuanU78zPVwnAxbsgSDPFPYlyYsMI1d069sSD2WEjjZfJwjaGlA" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4LIeMm"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-f60e6a" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): ThomasSession, 05:52AM on November 22, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-53ffd61a-69b1-480b-b864-7c448b0e4bdd" for="reactions--reaction_button_component-f60e6a" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">Tamtamke84 reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-f840ab" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (2): ThomasSession, 05:52AM on November 22, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-7299aa4c-3856-473c-b417-bc2645729891" for="reactions--reaction_button_component-f840ab" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla and Tamtamke84 reacted with heart emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="Tamtamke84 reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla and Tamtamke84 reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>2 reactions</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">2 people reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-c38752bc"> <h2 class="sr-only" id="hd-c38752bc">1.20.6</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2024-11-20T06:04:26Z"> 20 Nov 06:04 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/180888785?s=40&v=4" alt="@SessionHero01" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/SessionHero01">SessionHero01</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.20.6" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.20.6 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/d81feb87549a988423ebbd06a4ad40fe2154c522/hovercard" href="/session-foundation/session-android/commit/d81feb87549a988423ebbd06a4ad40fe2154c522" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">d81feb8</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2024-11-20 05:53:26 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-2031c672-16ae-11f0-90cb-f6a29a1c1f15"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-2031c672-16ae-11f0-90cb-f6a29a1c1f15"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMC42" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.20.6" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.20.6" data-view-component="true" class="Link--primary Link">1.20.6</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Add fdroid check and fix github release uploads by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666926519" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/15" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/15/hovercard" href="https://github.com/session-foundation/session-android/pull/15">#15</a></li> <li>Prepare for release 1.20.6 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2673855841" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/806" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/806/hovercard" href="https://github.com/session-foundation/session-android/pull/806">#806</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.20.5...1.20.6"><tt>1.20.5...1.20.6</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 24372dbca8b6c1557b3cdaabb742b2741f3ba8f9883fdf37be922d6635aa0064 session-1.20.6-arm64-v8a.apk 44bfd05ab3b8f4ca47a5e35107cdf7d158af3ed8b0221f4b0fe7e14d6ade9861 session-1.20.6-armeabi-v7a.apk 418c3170542aed113bf9d860083a1cf882b5431afb7298dc5b467acc86fc5cf8 session-1.20.6-play-release.aab 2a6e9f516f5b673604527158eed1d1160411c27ef56a545340eea2537f21ea50 session-1.20.6-universal.apk 23732198aa6479ebb55f0fdbd13e68de751484cff5aa05cb9a37707af337ff82 session-1.20.6-universal-huawei.apk 61dcc8f33aa98a766d327fd0396eae6e0078c4f0abc63d0c0c69cfbf2c7f4006 session-1.20.6-x86_64.apk 4e4ffb7e5d2a115b98ae9ee6f01e626d228de978b0f070ecb9867b04df5ccba4 session-1.20.6-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmc9eYsACgkQxJks56iN QmKQRw//QVGpVtx9tISQ6pJbQDQtr8BQ3gq5urCQPU4qQABL/D8j/Xc6VNSq/Nr6 Nt92aoK0W11iF3B2MtwD0UxI9PJfxF9041/I0bMzZY4TougurCKWsAbwd7VEABgl 00IVchAjtpfuThJvHB2D8NkhUAyR4f9BZOyZq7q/XVXEnbFrqyw9fjbMTN+fgLM0 0CjsuPTpZALnwyObmW/NPUIRzsDTituJJGa85oKrndSVvSwsVQ9j3qBs4pRYbha6 7r3Q5hbad5QtJg3rb3zEgGz19KRVs+dW+ke/aKm0rcYeabbCD3Kl/ufVcCwfe4l3 N1+ZqSW0TzoLE8nSMuxh1YYlkoFQoj0UdkiIKVfZwhC44/M66Ztdz254lMPvm/ec gRVHlo7DJiQKofKYL1s1IhDkhvmLulaxdTYI/7OGvhdSlQxUbZE5mJVSwc91YSEj zioxV6psmDdfRUx8OhUaDa6bau3UoEOp51hNg2z4YVwbPS7wGfoLiVxiq8vNTXb9 YhAfzP5+/fY8RjIYQeL+rIfQN17BMq648GiBmhJaKVi+ad3ukkBAAtlYBllJj7XX vQPJImzIBRIVH9KQ2zs4oobB69cr/DR0iz6OwGRwui1wfCJtlwnfeaxQHFihj7hu WL8F+47WPWtPSQ7HoQn4DHohs88aCc+ahVE1yK0O/Wz0JbE6mSk= =DA1m -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 24372dbca8b6c1557b3cdaabb742b2741f3ba8f9883fdf37be922d6635aa0064 session-1.20.6-arm64-v8a.apk 44bfd05ab3b8f4ca47a5e35107cdf7d158af3ed8b0221f4b0fe7e14d6ade9861 session-1.20.6-armeabi-v7a.apk 418c3170542aed113bf9d860083a1cf882b5431afb7298dc5b467acc86fc5cf8 session-1.20.6-play-release.aab 2a6e9f516f5b673604527158eed1d1160411c27ef56a545340eea2537f21ea50 session-1.20.6-universal.apk 23732198aa6479ebb55f0fdbd13e68de751484cff5aa05cb9a37707af337ff82 session-1.20.6-universal-huawei.apk 61dcc8f33aa98a766d327fd0396eae6e0078c4f0abc63d0c0c69cfbf2c7f4006 session-1.20.6-x86_64.apk 4e4ffb7e5d2a115b98ae9ee6f01e626d228de978b0f070ecb9867b04df5ccba4 session-1.20.6-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmc9eYsACgkQxJks56iN QmKQRw//QVGpVtx9tISQ6pJbQDQtr8BQ3gq5urCQPU4qQABL/D8j/Xc6VNSq/Nr6 Nt92aoK0W11iF3B2MtwD0UxI9PJfxF9041/I0bMzZY4TougurCKWsAbwd7VEABgl 00IVchAjtpfuThJvHB2D8NkhUAyR4f9BZOyZq7q/XVXEnbFrqyw9fjbMTN+fgLM0 0CjsuPTpZALnwyObmW/NPUIRzsDTituJJGa85oKrndSVvSwsVQ9j3qBs4pRYbha6 7r3Q5hbad5QtJg3rb3zEgGz19KRVs+dW+ke/aKm0rcYeabbCD3Kl/ufVcCwfe4l3 N1+ZqSW0TzoLE8nSMuxh1YYlkoFQoj0UdkiIKVfZwhC44/M66Ztdz254lMPvm/ec gRVHlo7DJiQKofKYL1s1IhDkhvmLulaxdTYI/7OGvhdSlQxUbZE5mJVSwc91YSEj zioxV6psmDdfRUx8OhUaDa6bau3UoEOp51hNg2z4YVwbPS7wGfoLiVxiq8vNTXb9 YhAfzP5+/fY8RjIYQeL+rIfQN17BMq648GiBmhJaKVi+ad3ukkBAAtlYBllJj7XX vQPJImzIBRIVH9KQ2zs4oobB69cr/DR0iz6OwGRwui1wfCJtlwnfeaxQHFihj7hu WL8F+47WPWtPSQ7HoQn4DHohs88aCc+ahVE1yK0O/Wz0JbE6mSk= =DA1m -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.20.6" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="5uX2oFSd3s2MNi2ZaPHXoZrbRvfRvqTMRy_20Ve9IIWt32A9utVjclnjcpP_wH80ReRe5_E_Aj62hm6hPF9J3Q" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4LGsKA"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-ec7d1b" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (1): SessionHero01, 05:52AM on November 20, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-b24bb75b-b2de-4523-b5c8-9e4047bed7cb" for="reactions--reaction_button_component-ec7d1b" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with thumbs up emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">1 person reacted</div> </div> </div> </div> </div></div> </div> </section> <section aria-labelledby="hd-8da014ab"> <h2 class="sr-only" id="hd-8da014ab">1.20.5</h2> <div class="d-flex flex-column flex-md-row my-5 flex-justify-center"> <div class="col-md-2 d-flex flex-md-column flex-row flex-wrap pr-md-6 mb-2 mb-md-0 flex-items-start pt-md-4"> <div class="mb-2 f4 mr-3 mr-md-0 col-12 pt-1 pt-sm-0"> <relative-time class="no-wrap" prefix="" datetime="2024-11-18T05:39:05Z"> 18 Nov 05:39 </relative-time> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <img src="https://avatars.githubusercontent.com/u/171472362?s=40&v=4" alt="@ThomasSession" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <a class="color-fg-muted wb-break-all" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ThomasSession">ThomasSession</a> </div> <div class="mr-3 mr-md-0 d-flex pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/session-foundation/session-android/tree/1.20.5" data-view-component="true" class="Link Link--muted"><div data-view-component="true" class="css-truncate css-truncate-target"> <svg aria-label="Tag" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="ml-1 wb-break-all"> 1.20.5 </span> </div></a> </div> <div style="position: relative; top: 1px;" class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a data-hovercard-type="commit" data-hovercard-url="/session-foundation/session-android/commit/0dbf51e23475088d739ea74217b0f7a8e1964f24/hovercard" href="/session-foundation/session-android/commit/0dbf51e23475088d739ea74217b0f7a8e1964f24" data-view-component="true" class="Link Link--muted mb-2"><svg aria-label="Commit" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> <code class="f5 ml-1 wb-break-all">0dbf51e</code></a><details class="dropdown dropdown-signed-commit details-reset details-overlay js-dropdown-details d-inline-block ml-1"> <summary class="color-fg-success" > <svg aria-label="Verified commit signature" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </summary> <div class="anim-scale-in" style="position: relative; z-index: 200;"> <div class="dropdown-menu dropdown-menu-s py-0 color-fg-default text-left"> <div class="p-3 signed-commit-header d-flex"> <div class="pr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified mr-2"> <path d="m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </div> <div class="flex-1"> This commit was created on GitHub.com and signed with GitHub’s <strong>verified signature</strong>. </div> </div> <div class="signed-commit-footer p-3 rounded-bottom-2"> <span class="d-block">GPG key ID: <span class="color-fg-muted">B5690EEEBB952194</span></span> <div class="my-1"> </div> <div>Verified <relative-time datetime="2024-11-18 01:03:25 UTC" threshold="PT0S" year="numeric" hour="2-digit" minute="2-digit"></relative-time> </div> <a class="Link--inTextBlock" href="https://docs.github.com/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits">Learn about vigilant mode</a>. </div> </div> </div> </details> </div> <div class="mb-md-2 mr-3 mr-md-0 pt-1 pt-sm-0"> <details class="details-reset details-overlay " id="tag-select-menu-20358226-16ae-11f0-8f51-1cc18987e5a7"> <summary data-view-component="true" class="btn-sm btn text-left"> <i></i><span data-menu-button="">Compare</span><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down ml-2 mr-n1"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </summary> <details-menu class="SelectMenu text-md-left " style="z-index: 500"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a tag to compare</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="tag-select-menu-20358226-16ae-11f0-8f51-1cc18987e5a7"> <svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> </header> <div class="SelectMenu-filter"> <input aria-label="Find a tag" autofocus class="SelectMenu-input form-control" data-ref-filter placeholder="Find a tag" type="text" > </div> <ref-selector type="tag" query-endpoint="/session-foundation/session-android/refs" cache-key="v0:1744268419.0" current-committish="MS4yMC41" default-branch="bWFzdGVy" name-with-owner="c2Vzc2lvbi1mb3VuZGF0aW9uL3Nlc3Npb24tYW5kcm9pZA==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <a href="/session-foundation/session-android/compare/{{ urlEncodedRefName }}...1.20.5" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </a> </template> <template data-target="ref-selector.hiddenCurrentItemTemplate"> <input hidden="hidden" type="radio" value="{{ refName }}" checked="checked" name="" id="" /> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px"> <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <footer class="SelectMenu-footer"><a href="/session-foundation/session-android/tags">View all tags</a></footer> </ref-selector> </div> </details-menu> </details> </div> </div> <div class="col-md-9" > <div data-view-component="true" class="Box"> <div data-view-component="true" class="Box-body"> <div class="d-flex flex-md-row flex-column"> <div class="d-flex flex-row flex-1 mb-3 wb-break-word"> <div class="flex-1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <span data-view-component="true" class="f1 text-bold d-inline mr-3"><a href="/session-foundation/session-android/releases/tag/1.20.5" data-view-component="true" class="Link--primary Link">1.20.5</a></span> <span> <div class="ml-2 d-none d-md-inline"> </div> </span> </div> <div class="mt-3 ml-2 d-md-none"> </div> <div class="ml-2 mt-3 d-md-none"> </div> </div> <div class="d-flex mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> </div> </div> <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h2>What's Changed</h2> <ul> <li>Release/1.20.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2660687564" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/10" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/10/hovercard" href="https://github.com/session-foundation/session-android/pull/10">#10</a></li> <li>Update script to take non-existence build folder into account by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SessionHero01">@SessionHero01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2660849811" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/11" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/11/hovercard" href="https://github.com/session-foundation/session-android/pull/11">#11</a></li> <li>Fix/1.20.4 fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666785273" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/12" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/12/hovercard" href="https://github.com/session-foundation/session-android/pull/12">#12</a></li> <li>Release/1.20.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSession">@ThomasSession</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666788888" data-permission-text="Title is private" data-url="https://github.com/session-foundation/session-android/issues/13" data-hovercard-type="pull_request" data-hovercard-url="/session-foundation/session-android/pull/13/hovercard" href="https://github.com/session-foundation/session-android/pull/13">#13</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/session-foundation/session-android/compare/1.20.4...1.20.5"><tt>1.20.4...1.20.5</tt></a></p> <details><summary><h2>Signature of release files</h2></summary> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-----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 38c006d971c682ea9078ba79f1c3556e8a7d390a83cb89083b372f84b32bfdd5 session-1.20.5.aab ee4e5638e83a941d61251ebdcd70320fadd8e922d95888f043a30fb2baad0242 session-1.20.5-arm64-v8a.apk 73b4e1aef65359944c2b8e0a80b0bb9385928c46cb20d954246479ec264d1be8 session-1.20.5-armeabi-v7a.apk 2627aa7de8335f31df6955e09baadd1016769596b78e25bd3dab5ac0d9ebbfbe session-1.20.5-universal.apk 5f2a4b5541186a20643d1af3f46179cf6dd0053f3a5f7b67b11efdaf84d8c56e session-1.20.5-universal-huawei.apk 8b98a74ba4bac4bab90fb6b8f749e817a7878fe346ba0b56dc1e02761ec196f1 session-1.20.5-x86_64.apk 60bf24ea84799cbceb77b53b0c1f2a02e897c4370d2b4bfc5c1b7a1eeb76102b session-1.20.5-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmc60joACgkQxJks56iN QmJBWg/9GAZw4y+yF0GHiPeBZ02EskyDiBgvUHEnuy++eWzqp2wr53/Cg5nhkkRi b/00IVChvGTcer4ER+u0YqqycfQWrAWSalFVed9DinnLZgYgt0GL54IKmISSVQ1m G3vb1HK0rwqAySdnJSCPqK9D3cmq7B4lg2ep4swXuJSenLIJa3Z7+TrovjFjuNI9 mF++gDLH0y6iiO6FufoREfr3iHzZ5pK6Hx+5roddOQpClic5y/+/XP2yoNghkb/Y HtO86tNff63fR+pV39fnM0rOab/YW8pfkG9utvHptOy3mXwst1oRAW/wkdao/Uou 6Hl39nCZPz/WS4Q8rNgpFIqXxKayMzqAgU01d4Xp8NEd5NSOQsHwadDinRce7unp XUB1Sz/8795PLXEC1wCKX+rzcA8UndQulKON0nnSHjVmdrILq+NMncBfkKGzFq0C dP5bnMB+URwQk4qH/Bze6ZZ/sVlPil8uXoTKv5nHqDjkpu7+pznWoud78EuP1s6i zZABIBFJuzKpNmQUv1XIq+HRjnieH8ewm6HERntDNgf4CyFp4QsesHSpzWJcJf6+ H5TkbLT5eRG3GOoitqKNItsiFKizo7Hxq/aOg7BU21iz6S/LtP04UQmhd2U0TPOG y31N7k8jzmJ2tE85nnEVzqHGaZLdce2EcQrg8mo354H00UCjc68= =MQPz -----END PGP SIGNATURE----- "><pre class="notranslate"><code>-----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 38c006d971c682ea9078ba79f1c3556e8a7d390a83cb89083b372f84b32bfdd5 session-1.20.5.aab ee4e5638e83a941d61251ebdcd70320fadd8e922d95888f043a30fb2baad0242 session-1.20.5-arm64-v8a.apk 73b4e1aef65359944c2b8e0a80b0bb9385928c46cb20d954246479ec264d1be8 session-1.20.5-armeabi-v7a.apk 2627aa7de8335f31df6955e09baadd1016769596b78e25bd3dab5ac0d9ebbfbe session-1.20.5-universal.apk 5f2a4b5541186a20643d1af3f46179cf6dd0053f3a5f7b67b11efdaf84d8c56e session-1.20.5-universal-huawei.apk 8b98a74ba4bac4bab90fb6b8f749e817a7878fe346ba0b56dc1e02761ec196f1 session-1.20.5-x86_64.apk 60bf24ea84799cbceb77b53b0c1f2a02e897c4370d2b4bfc5c1b7a1eeb76102b session-1.20.5-x86.apk -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEZjYdjjyW5Bxty3BRxJks56iNQmIFAmc60joACgkQxJks56iN QmJBWg/9GAZw4y+yF0GHiPeBZ02EskyDiBgvUHEnuy++eWzqp2wr53/Cg5nhkkRi b/00IVChvGTcer4ER+u0YqqycfQWrAWSalFVed9DinnLZgYgt0GL54IKmISSVQ1m G3vb1HK0rwqAySdnJSCPqK9D3cmq7B4lg2ep4swXuJSenLIJa3Z7+TrovjFjuNI9 mF++gDLH0y6iiO6FufoREfr3iHzZ5pK6Hx+5roddOQpClic5y/+/XP2yoNghkb/Y HtO86tNff63fR+pV39fnM0rOab/YW8pfkG9utvHptOy3mXwst1oRAW/wkdao/Uou 6Hl39nCZPz/WS4Q8rNgpFIqXxKayMzqAgU01d4Xp8NEd5NSOQsHwadDinRce7unp XUB1Sz/8795PLXEC1wCKX+rzcA8UndQulKON0nnSHjVmdrILq+NMncBfkKGzFq0C dP5bnMB+URwQk4qH/Bze6ZZ/sVlPil8uXoTKv5nHqDjkpu7+pznWoud78EuP1s6i zZABIBFJuzKpNmQUv1XIq+HRjnieH8ewm6HERntDNgf4CyFp4QsesHSpzWJcJf6+ H5TkbLT5eRG3GOoitqKNItsiFKizo7Hxq/aOg7BU21iz6S/LtP04UQmhd2U0TPOG y31N7k8jzmJ2tE85nnEVzqHGaZLdce2EcQrg8mo354H00UCjc68= =MQPz -----END PGP SIGNATURE----- </code></pre></div></details></div> </div> <div data-view-component="true" class="Box-footer"> <div class="mb-3"> <h3 data-view-component="true" class="mb-2">Contributors</h3> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/ThomasSession" class="" data-hovercard-type="user" data-hovercard-url="/users/ThomasSession/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/171472362?s=64&v=4" alt="@ThomasSession" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/SessionHero01" class="" data-hovercard-type="user" data-hovercard-url="/users/SessionHero01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/180888785?s=64&v=4" alt="@SessionHero01" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div class="mt-2 color-fg-muted" > ThomasSession and SessionHero01 </div> </div> <div class="mb-3"> <details-toggle> <details data-target="details-toggle.detailsTarget" data-view-component="true"> <summary role="button" data-target="details-toggle.summaryTarget" data-action="click:details-toggle#toggle" data-aria-label-closed="Expand" data-aria-label-open="Collapse" aria-label="Expand" aria-expanded="false" data-view-component="true"> <span data-view-component="true" class="f3 text-bold d-inline mr-3">Assets</span> <span title="10" data-view-component="true" class="Counter ml-1">10</span> </summary> <div data-view-component="true"> <include-fragment loading="lazy" src="https://github.com/session-foundation/session-android/releases/expanded_assets/1.20.5" > <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </include-fragment> </div> </details></details-toggle> </div> <div class="d-flex flex-row flex-wrap flex-justify-between js-comment"> <div data-view-component="true" class="comment-reactions js-reactions-container js-reaction-buttons-container social-reactions reactions-container has-reactions d-flex"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-pick-reaction" data-turbo="false" action="/session-foundation/session-android/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="b6lvZOPlyVgKWWPh3lDAtI1_mSUD6Vhfz5oa2nX1fv0kk_n5Da1059-MPOtJYWghUkCBNSNo_q0-M4KqHhcXpQ" autocomplete="off" /> <input type="hidden" name="input[subjectId]" value="RE_kwDONFDGVM4LE9P6"> <div class="js-comment-reactions-options d-flex flex-items-center flex-row flex-wrap"> <button name="input[content]" id="reactions--reaction_button_component-48918c" value="THUMBS_UP react" data-button-index-position="0" data-reaction-label="+1" data-reaction-content="+1" aria-pressed="false" aria-label="thumbs up (2): ThomasSession, 12:58AM on November 18, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji">👍</g-emoji> <span class="js-discussion-reaction-group-count">2</span> </button> <tool-tip id="tooltip-64dec640-8e7d-4a9a-94bf-73bded37f7fb" for="reactions--reaction_button_component-48918c" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla and session11 reacted with thumbs up emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-ed001b" value="HOORAY react" data-button-index-position="3" data-reaction-label="Hooray" data-reaction-content="tada" aria-pressed="false" aria-label="hooray (1): ThomasSession, 12:58AM on November 18, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji">🎉</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-ce65d5ee-83eb-4313-93d3-7be428c3b3f3" for="reactions--reaction_button_component-ed001b" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with hooray emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-2c85dc" value="HEART react" data-button-index-position="5" data-reaction-label="Heart" data-reaction-content="heart" aria-pressed="false" aria-label="heart (1): ThomasSession, 12:58AM on November 18, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji">❤️</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-d7cc21ea-5523-451d-8634-d67f111df00f" for="reactions--reaction_button_component-2c85dc" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with heart emoji</tool-tip> <button name="input[content]" id="reactions--reaction_button_component-2d0d35" value="ROCKET react" data-button-index-position="6" data-reaction-label="Rocket" data-reaction-content="rocket" aria-pressed="false" aria-label="rocket (1): ThomasSession, 12:58AM on November 18, 2024" type="submit" disabled="disabled" data-view-component="true" class="social-reaction-summary-item js-reaction-group-button btn-link d-flex no-underline color-fg-muted flex-items-baseline mr-2"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji">🚀</g-emoji> <span class="js-discussion-reaction-group-count">1</span> </button> <tool-tip id="tooltip-aa5eb208-50e0-4829-8f61-27b988c88559" for="reactions--reaction_button_component-2d0d35" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">tashijayla reacted with rocket emoji</tool-tip> <div class="js-reactions-container"> <details class="dropdown details-reset details-overlay d-inline-block js-all-reactions-popover" hidden> <summary aria-haspopup="true" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content"> <span class="Button-label">All reactions</span> </span> </summary> <ul class="dropdown-menu dropdown-menu-se"> <li class="dropdown-item" aria-label="tashijayla and session11 reacted with thumbs up emoji"> <g-emoji alias="+1" fallback-src="https://github.githubassets.com/assets/1f44d-41cb66fe1e22.png" class="social-button-emoji mr-2">👍</g-emoji> <span>2 reactions</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with hooray emoji"> <g-emoji alias="tada" fallback-src="https://github.githubassets.com/assets/1f389-36899a2cb781.png" class="social-button-emoji mr-2">🎉</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with heart emoji"> <g-emoji alias="heart" fallback-src="https://github.githubassets.com/assets/2764-982dc91ea48a.png" class="social-button-emoji mr-2">❤️</g-emoji> <span>1 reaction</span> </li> <li class="dropdown-item" aria-label="tashijayla reacted with rocket emoji"> <g-emoji alias="rocket" fallback-src="https://github.githubassets.com/assets/1f680-d0ef47fdb515.png" class="social-button-emoji mr-2">🚀</g-emoji> <span>1 reaction</span> </li> </ul> </details> </div> </div> </form> <div data-view-component="true" class="color-fg-muted mt-1">2 people reacted</div> </div> </div> </div> </div></div> </div> </section> <div class="paginate-container d-none d-sm-flex flex-sm-justify-center" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <div role="navigation" aria-label="Pagination" class="pagination"><span class="previous_page disabled" aria-label="Previous page">Previous</span> <em class="current" aria-label="Page 1" aria-current="page">1</em> <a rel="next" aria-label="Page 2" href="/session-foundation/session-android/releases?page=2">2</a> <a class="next_page" aria-label="Next page" rel="next" href="/session-foundation/session-android/releases?page=2">Next</a></div> </div> <div class="paginate-container d-sm-none mb-5" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <div role="navigation" aria-label="Pagination" class="pagination"><span class="previous_page disabled" aria-label="Previous page">Previous</span> <a class="next_page" aria-label="Next page" rel="next" href="/session-foundation/session-android/releases?page=2">Next</a></div> </div> </div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>