An Android client for the microblogging server Mastodon

Overview

Translate - with Weblate OpenCollective Build Status

Tusky

Tusky is a beautiful Android client for Mastodon. Mastodon is an ActivityPub federated social network. That means no single entity controls the whole network, rather, like e-mail, volunteers and organisations operate their own independent servers, users from which can all interact with each other seamlessly.

Get it on F-Droid Get it on Google Play

Features

  • Material Design
  • Most Mastodon APIs implemented
  • Multi-Account support
  • Dark, light and black themes with the possibility to auto-switch based on the time of day
  • Drafts - compose toots and save them for later
  • Choose between different emoji styles
  • Optimized for all screen sizes
  • Completely open-source - no non-free dependencies like Google services

Testing

The nightly build from master is available on Google Play.

Support

Check out our FAQs, your question may already be answered. If you have any bug reports, feature requests or questions please open an issue or send us a toot at [email protected]!

For translating Tusky into your language, visit https://weblate.tusky.app/

Head of development

This app was developed by [email protected]. The current maintainer is [email protected].

Development chatroom

https://riot.im/app/#/room/#Tusky:matrix.org

Comments
  • Handshake failed

    Handshake failed

    I can't connect to the Mastodon instance i use. I have the message: "This app could not obtain authentication from that server instance"

    i have in the adb logcat the following message when i click on the Login with Mastodon button: I run the app on Android 7. The server used is https://social.targaryen.house it use strict tls version, you can see here: https://tls.imirhil.fr/https/social.targaryen.house

    04-03 01:11:05.560 1477-1477/com.keylesspalace.tusky W/System.err: javax.net.ssl.SSLHandshakeException: Handshake failed
    04-03 01:11:05.561 1477-1477/com.keylesspalace.tusky W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:429)
    04-03 01:11:05.562 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:267)
    04-03 01:11:05.562 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:237)
    04-03 01:11:05.562 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:148)
    04-03 01:11:05.563 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:186)
    04-03 01:11:05.563 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
    04-03 01:11:05.563 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
    04-03 01:11:05.564 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
    04-03 01:11:05.564 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
    04-03 01:11:05.564 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
    04-03 01:11:05.565 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
    04-03 01:11:05.565 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
    04-03 01:11:05.565 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
    04-03 01:11:05.566 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    04-03 01:11:05.566 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
    04-03 01:11:05.567 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
    04-03 01:11:05.567 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
    04-03 01:11:05.567 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
    04-03 01:11:05.568 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179)
    04-03 01:11:05.568 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:129)
    04-03 01:11:05.569 1477-1477/com.keylesspalace.tusky W/System.err:     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
    04-03 01:11:05.569 1477-1477/com.keylesspalace.tusky W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    04-03 01:11:05.569 1477-1477/com.keylesspalace.tusky W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    04-03 01:11:05.570 1477-1477/com.keylesspalace.tusky W/System.err:     at java.lang.Thread.run(Thread.java:776)
    04-03 01:11:05.571 1477-1477/com.keylesspalace.tusky W/System.err: 	Suppressed: javax.net.ssl.SSLHandshakeException: Handshake failed
    04-03 01:11:05.572 1477-1477/com.keylesspalace.tusky W/System.err: 		... 24 more
    04-03 01:11:05.573 1477-1477/com.keylesspalace.tusky W/System.err: 	Caused by: javax.net.ssl.SSLProtocolException: SSL handshake terminated: ssl=0x7646f11a40: Failure in SSL library, usually a protocol error
    04-03 01:11:05.574 1477-1477/com.keylesspalace.tusky W/System.err: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x76460766e0:0x00000001)
    04-03 01:11:05.574 1477-1477/com.keylesspalace.tusky W/System.err: error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:764 0x7657bf2f76:0x00000000)
    04-03 01:11:05.574 1477-1477/com.keylesspalace.tusky W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
    04-03 01:11:05.575 1477-1477/com.keylesspalace.tusky W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
    04-03 01:11:05.575 1477-1477/com.keylesspalace.tusky W/System.err: 		... 23 more
    04-03 01:11:05.576 1477-1477/com.keylesspalace.tusky W/System.err: Caused by: javax.net.ssl.SSLProtocolException: SSL handshake terminated: ssl=0x7646f11a40: Failure in SSL library, usually a protocol error
    04-03 01:11:05.577 1477-1477/com.keylesspalace.tusky W/System.err: error:1000042e:SSL routines:OPENSSL_internal:TLSV1_ALERT_PROTOCOL_VERSION (external/boringssl/src/ssl/s3_pkt.c:610 0x76460766e0:0x00000001)
    04-03 01:11:05.577 1477-1477/com.keylesspalace.tusky W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
    04-03 01:11:05.577 1477-1477/com.keylesspalace.tusky W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
    04-03 01:11:05.578 1477-1477/com.keylesspalace.tusky W/System.err: 	... 23 more 
    
    bug 
    opened by Schoumi 70
  • Caching toots - attempt 2

    Caching toots - attempt 2

    I've tried to rebase #663 but it was branched from another branch and it is too old so I failed. Instead I've cherry-picked last 5 commits from that branch which seem to contain useful changes. I did not try it yet because I'm out of energy already but it can be useful for someone to inspect or fix.

    opened by charlag 43
  • 2019 Emoji Update

    2019 Emoji Update

    Since Emoji 12 came out some months ago, the Emoji fonts need an update.
    However this was not possible with the old code, so I added an update mechanism.
    Additionally, I also finally added support for the current Noto Emoji set.

    The update mechanism works as follows:

    For every font there is a version string specified and the fonts will be saved under <font-name><version>.ttf.
    If no font file is found that includes a version string with a version code which is at least as much as the currently specified version of the font, it will show the font as not installed anymore and the user will be able to download it again; if that's been successful, it will delete all font files that have an older version code in their name.
    Users will of course still be able to use their own preferred font by simply appending a very large version code (e.g. BlobmojiCompat99.0.0.ttf).

    The version codes are not supposed to be included in the downloadable version; the app will simply the latest available version and tag it as a new one; while this allows a faster deployment for updated fonts, it might be possible that a font is downloaded twice.

    Current issues are:

    • I'm currently not able to test it, since I don't have a Mastodon account anymore
    • I don't have the Twemoji font ready yet and I'm not sure whether the 12.0 update is already available for the EmojiCompat version of Noto Emoji (I won't build that one myself; Google probably knows better how to build a font for their own library) - for testing purposes you could temporarily change the download URL (if you want to test an Emoji 12 font, I have added it to Blobmoji some days ago).
    • The updating mechanism is not very good. To change the emoji font to one where an update is available, the update needs to be downloaded first. It might even cause crashes if the app is not restarted, because the old font which is still used is deleted - however I don't think this will happen.
    opened by C1710 34
  • Add autocompletion for custom emoji

    Add autocompletion for custom emoji

    Closes #398.

    Maybe it'd be a good idea to add more tests?

    I don't have much Android experience, so I might not be doing everything in the best way.

    autocompletion of "hello :masto", showing ":masto_ball:" and ":mastodon:" as suggestions, with high-resolution previews of the emoji in question

    (Don't worry about the low resolution of the ":mastodon:" emoji, that's just what it looks like on that instance.)

    opened by autumnontape 32
  • Option to use Emojione instead of system emoji

    Option to use Emojione instead of system emoji

    Particularly on older phones that don't get the latest OS updates, the newer emoji characters render as sad little boxes. The art style and visual meaning of the emoji can also be lost in translation between icon sets sometimes.

    The Mastodon web client uses EmojiOne

    enhancement 
    opened by dpogue 32
  • "Gaslight nazis" mode, for nazi instances

    Heya! I'd like to see Tusky add a "gaslight nazis" mode, a ML-based mode where all toots are replaced with pro-human-rights messages and can't be boosted or liked (because you don't know what the original toot said). This would be a good alternative to redirecting gab users to another website. It would generate posts like:

    "Trans rights!"

    "Queer trans POC are good! <3"

    "I love my gay parents! ! !"

    (etc)

    and deterministically replace the posts' contents with one of these messages. note that the original sender details would still be kept.

    Thank you <3


    • Tusky Version:

    • Android Version:

    • Android Device:

    • Mastodon instance (if applicable):

    • [x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.

    opened by SoniEx2 31
  • Theming improvements

    Theming improvements

    These patches make easier to add new themes in future. It also leverages UiModeManager functionalities to allow automatic switching between day and night mode based on local sunset/~rise times.

    I've tested these patches on Oreo 8.1 and they work flawlessly.

    opened by remi6397 31
  • Push notifications support via UnifiedPush

    Push notifications support via UnifiedPush

    Fixes #793.

    This is an implementation for push notifications based on UnifiedPush for Tusky. No push gateway (other than UP itself) is needed, since UnifiedPush is simple enough such that it can act as a catch-all endpoint for WebPush messages. When a UnifiedPush distributor is present on-device, we will by default register Tusky as a receiver; if no UnifiedPush distributor is available, then pull notifications are used as a fallback mechanism.

    Because WebPush messages are encrypted, and Mastodon does not send the keys and IV needed for decryption in the request body, for now the push handler simply acts as a trigger for the pre-existing NotificationWorker which is also used for pull notifications. Nevertheless, I have implemented proper key generation and storage, just in case we would like to implement full decryption support in the future when Mastodon upgrades to the latest WebPush encryption scheme that includes all information in the request body.

    For users with existing accounts, push notifications will not be enabled until all of the accounts have been re-logged in to grant the new push OAuth scope. A small prompt will be shown (until dismissed) as a Snackbar to explain to the user about this, and an option is added in Account Preferences to facilitate re-login without deleting local drafts and cache.

    opened by PeterCxy 30
  • [Feature] Add support for collapsible statuses when they exceed 500 characters

    [Feature] Add support for collapsible statuses when they exceed 500 characters

    Description

    Supports showing a button to collapse/expand long posts. Fixes #748.

    Features

    • Toggleable by the user
    • Limit set to 500 characters (like Pleroma and other existing implementations)
    • It works in:
      • Timelines
      • Notifications
    • It works by:
      • Showing a custom button below the content
      • Hiding the button if the post is CW-ed until content is shown

    Concerns

    The way it was implemented has proven to be potentially expensive if more and more features will be added overtime to the timeline. This is mostly the fault of the current design within Tusky, which reloads layouts rather than just content.

    A possible solution would be to redesign the core data models to store a full and a compressed version of the content but that would require extensive rewrite of several parts of the codebase which would not need to know about it, again, due to how Tusky's codebase is designed.

    It has not proven to be an issue on my Nexus 6 (Lineage OS 15.1), OnePlus 3 (Lineage OS 15.1) and Moto G (1st gen, LineageOS 14.1) yet so I did not want to enforce the feature so deep into the internals of the application.

    Screenshots

    Screenshot of the feature being shown in all themes, for both timelines and notifications

    Video of the feature is available on Imgur, due to restrictions with file types allowed on GitHub.

    opened by HellPie 30
  • Move translations to a dedicated utility

    Move translations to a dedicated utility

    Managing translations by hand is doable for now (e.g. #212) but it's quickly going to get out of hand. We should figure out what translation management service works best for such open source projects and migrate the actual translations process there. Besides saving a lot of work and mess this will also make it easier for non developers to contribute.

    opened by alerque 28
  • [Friendica] Navigation to hashtags / profiles doesn't work?

    [Friendica] Navigation to hashtags / profiles doesn't work?

    Using Tusky for talking to Friendica, it seems both hashtags (#) and accounts (@ mentions) are somehow "mixed up": They appear as links in the app but they don't toggle profile or hashtag view in the app (as they do while using Mastodon) but apparently are full HTTP URIs pointing to (profiles) the user profile URL on its home instance or (hashtags) an URL to search the particular friendica instance for these hashtags. Sample:

    tempFileForShare_20220808-112409

    In this case, for my instance, clicking on "photo" will get me to https://instance/search?tag=photo . Is there some way in Tusky to work around this? Seems it's a Friendica specialty yet still it would be cool to have this work well. :)


    • Tusky Version: 19.x Test

    • Android Version: Samsung M51

    • Android Device: Android 12

    • Mastodon instance (if applicable): Friendica loma.ml

    • [x ] I searched or browsed the repo’s other issues to ensure this is not a duplicate.

    opened by kr428 27
  • Support /api/v1/instance and /api/v2/instance

    Support /api/v1/instance and /api/v2/instance

    Start to split the API code in to v1 and v2 interfaces.

    Migrate the getInstance() function (rename to instance() for consistency with most other API functions) to v1, and create a v2 equivalent. At the moment they're identical because they return the same type.

    Modify InstanceInfoRepository to prefer the v2 call, falling back to v1 if that fails (then the cache, or defaults, per previous behaviour).

    Create factory methods for InstanceInfo and InstanceEntity to keep related code together, ditto for defaults.

    Update consumers and tests.

    Fixes https://github.com/tuskyapp/Tusky/issues/3146

    opened by nikclayton 1
  • notifications for mentions that have been edited to no longer mention you look like generic

    notifications for mentions that have been edited to no longer mention you look like generic "new post" notifications

    if someone mentions you and then edits the post to no longer mention you, the notification stays (which i think makes sense) but changes to look like a "new post" notification (like when you've tapped the bell on someone's profile), with a "🏠 name just posted" header, a low contrast profile picture and text, and no buttons for reply, boost, fav, etc

    I think this is misleading and could very easily lead to confusion

    The mastodon web interface displays those like regular mentions, which is not ideal imo but still less confusing than turning them into a different type of notification

    I think tusky should either do the same thing the web interface does, or, even better, add a "name mentioned you" header to the notification if the post doesn't visibly mention you

    Before edit: a normal mention notification Same post and same notification, after edit: a "new post" notification

    I had to close tusky between those screenshots so the notification would update

    Response from /api/v1/notifications with a mention that has been edited to no longer be a mention.
    [
      {
        "id": "2160090",
        "type": "mention",
        "created_at": "2023-01-08T10:10:20.582Z",
        "account": {
          "id": "19739",
          "username": "codl",
          "acct": "[email protected]",
          "display_name": "codl 🎨",
          "locked": false,
          "bot": false,
          "discoverable": true,
          "group": false,
          "created_at": "2018-01-18T00:00:00.000Z",
          "note": "<p>good drawer</p><p>late 20s, they/them. </p><p>i occasionally draw smut (always under a CW)</p><p>hello!</p>",
          "url": "https://donphan.social/@codl",
          "avatar": "https://media.chitter.xyz/accounts/avatars/000/019/739/original/d31af8db90358626.png",
          "avatar_static": "https://media.chitter.xyz/accounts/avatars/000/019/739/original/d31af8db90358626.png",
          "header": "https://media.chitter.xyz/cache/accounts/headers/000/019/739/original/2579c8abef490e17.jpeg",
          "header_static": "https://media.chitter.xyz/cache/accounts/headers/000/019/739/original/2579c8abef490e17.jpeg",
          "followers_count": 347,
          "following_count": 50,
          "statuses_count": 741,
          "last_status_at": "2023-01-08",
          "emojis": [],
          "fields": [
            {
              "name": "main account",
              "value": "<span class=\"h-card\"><a href=\"https://chitter.xyz/@codl\" class=\"u-url mention\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">@<span>[email protected]</span></a></span>",
              "verified_at": null
            },
            {
              "name": "elsewhere",
              "value": "<a href=\"https://www.deviantart.com/codl\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">deviantart.com/codl</span><span class=\"invisible\"></span></a> <a href=\"https://codll.tumblr.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">codll.tumblr.com/</span><span class=\"invisible\"></span></a> <a href=\"https://cohost.org/museumofcodl\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">cohost.org/museumofcodl</span><span class=\"invisible\"></span></a>",
              "verified_at": null
            }
          ]
        },
        "status": {
          "id": "109653040856691519",
          "created_at": "2023-01-08T10:10:20.000Z",
          "in_reply_to_id": null,
          "in_reply_to_account_id": null,
          "sensitive": false,
          "spoiler_text": "",
          "visibility": "direct",
          "language": "en",
          "uri": "https://donphan.social/users/codl/statuses/109653040839184950",
          "url": "https://donphan.social/@codl/109653040839184950",
          "replies_count": 0,
          "reblogs_count": 0,
          "favourites_count": 0,
          "edited_at": "2023-01-08T10:11:22.000Z",
          "favourited": false,
          "reblogged": false,
          "muted": false,
          "bookmarked": false,
          "content": "<p>actually i have changed my mind and no longer want to talk to you. i have edited out the mention</p>",
          "reblog": null,
          "account": {
            "id": "19739",
            "username": "codl",
            "acct": "[email protected]",
            "display_name": "codl 🎨",
            "locked": false,
            "bot": false,
            "discoverable": true,
            "group": false,
            "created_at": "2018-01-18T00:00:00.000Z",
            "note": "<p>good drawer</p><p>late 20s, they/them. </p><p>i occasionally draw smut (always under a CW)</p><p>hello!</p>",
            "url": "https://donphan.social/@codl",
            "avatar": "https://media.chitter.xyz/accounts/avatars/000/019/739/original/d31af8db90358626.png",
            "avatar_static": "https://media.chitter.xyz/accounts/avatars/000/019/739/original/d31af8db90358626.png",
            "header": "https://media.chitter.xyz/cache/accounts/headers/000/019/739/original/2579c8abef490e17.jpeg",
            "header_static": "https://media.chitter.xyz/cache/accounts/headers/000/019/739/original/2579c8abef490e17.jpeg",
            "followers_count": 347,
            "following_count": 50,
            "statuses_count": 741,
            "last_status_at": "2023-01-08",
            "emojis": [],
            "fields": [
              {
                "name": "main account",
                "value": "<span class=\"h-card\"><a href=\"https://chitter.xyz/@codl\" class=\"u-url mention\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">@<span>[email protected]</span></a></span>",
                "verified_at": null
              },
              {
                "name": "elsewhere",
                "value": "<a href=\"https://www.deviantart.com/codl\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">deviantart.com/codl</span><span class=\"invisible\"></span></a> <a href=\"https://codll.tumblr.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">codll.tumblr.com/</span><span class=\"invisible\"></span></a> <a href=\"https://cohost.org/museumofcodl\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">cohost.org/museumofcodl</span><span class=\"invisible\"></span></a>",
                "verified_at": null
              }
            ]
          },
          "media_attachments": [],
          "mentions": [],
          "tags": [],
          "emojis": [],
          "card": null,
          "poll": null
        }
      }
    ]
    

    TLDR: the notification's type is still mention but my account is not in status.mentions


    • Tusky Version: Tusky Test 20.0-0328c4e8
    opened by codl 0
  • Add trending tags

    Add trending tags

    Related to #2109.

    This adds the ability to add a trending tab to the bottom navigation bar.

    Includes a new custom view for graphing. This could perhaps be made nicer with an external library.

    Only hashtags are supported currently, there are two other trending APIs that could eventually be added.

    • [x] Fix failed checks
    • [x] Add error handling (see airplane mode)
    • [x] Black theme, graph background should be black

    image

    opened by DavidEdwards 1
  • Reduce horizontal swipe sensitivity in timelines

    Reduce horizontal swipe sensitivity in timelines

    Fixes https://github.com/tuskyapp/Tusky/issues/2725, fixes https://github.com/tuskyapp/Tusky/issues/2112, fixes https://github.com/tuskyapp/Tusky/issues/2530, fixes https://github.com/tuskyapp/Tusky/issues/2200, fixes https://github.com/tuskyapp/Tusky/issues/2176, fixes https://github.com/tuskyapp/Tusky/issues/2112, fixes https://github.com/tuskyapp/Tusky/issues/1912, fixes https://github.com/tuskyapp/Tusky/issues/1718, fixes https://github.com/tuskyapp/Tusky/issues/1336

    opened by nikclayton 0
Releases(v20.0)
  • v20.0(Nov 30, 2022)

    • New App icon by Dzuk
    • You can now follow hashtags. Click on a hashtag and then on the icon in the toolbar. (Mastodon 4.0+)
    • Instance rules are now shown during the login process in order to comply with Play Store policies
    • Support for Android 13
      • themeable app icon
      • app language can be set via system settings as well
    • new dropdown in the compose view to set the language of a post
    • Tusky now respects more instance defaults. This is useful if you use Tusky with Pleroma or a heavily customized instance.
    • The media tab in profiles now respects sensitive media, loads smoother and supports blurhashes (colorful blur before the actual media preview is loaded).
    • It is now possible to set the focus point of an image before posting
    • New option to show your full username in the main toolbar and while posting (useful if you have multiple accounts with the same profile picture)
    • The default tabs for new logins are now: Home, Notifications, Local, Direct Messages. Already logged in accounts are not affected.
    • The minimum supported Android verison is now 6
    • A lot of bugfixes
    • translation improvements

    Contributors to this release: @charlag @mal0ki @Tak @C1710 @mcclure @BenDundon @kyori19 @jsoref @evant @thebino @wiryadev @colintheshots @fynngodau @viviicat @pt2121 @Donnnno @Gryzor @ and translators on https://weblate.tusky.app/

    Full Changelog: https://github.com/tuskyapp/Tusky/compare/v19.0...v20.0-beta.1

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v20.0.aab(9.75 MB)
    tusky-v20.0.apk(14.16 MB)
    tusky-v20.0.mapping.txt(26.37 MB)
  • v20.0-beta.2(Nov 25, 2022)

  • v20.0-beta.1(Nov 19, 2022)

    • New App icon by Dzuk
    • You can now follow hashtags. Click on a hashtag and then on the icon in the toolbar. (Mastodon 4.0+)
    • Instance rules are now shown during the login process in order to comply with Play Store policies
    • Support for Android 13
      • themeable app icon
      • app language can be set via system settings as well
    • new dropdown in the compose view to set the language of a post
    • Tusky now respects more instance defaults. This is useful if you use Tusky with Pleroma or a heavily customized instance.
    • The media tab in profiles now respects sensitive media, loads smoother and supports blurhashes (colorful blur before the actual media preview is loaded).
    • It is now possible to set the focus point of an image before posting
    • New option to show your full username in the main toolbar and while posting (useful if you have multiple accounts with the same profile picture)
    • The default tabs for new logins are now: Home, Notifications, Local, Direct Messages. Already logged in accounts are not affected.
    • The minimum supported Android verison is now 6
    • A lot of bugfixes
    • translation improvements

    Contributors to this release: @charlag @mal0ki @Tak @C1710 @mcclure @BenDundon @kyori19 @jsoref @evant @thebino @wiryadev @colintheshots @fynngodau @viviicat @pt2121 @Donnnno @Gryzor @ and translators on https://weblate.tusky.app/

    Full Changelog: https://github.com/tuskyapp/Tusky/compare/v19.0...v20.0-beta.1

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v20.0.beta1.aab(9.74 MB)
    tusky-v20.0.beta1.apk(14.14 MB)
    tusky-v20.0.mapping.txt(26.37 MB)
  • v19.0(Jul 11, 2022)

    • Support for Unified Push. To activate the support you will have to relogin into your accounts.
    • The number of responses to a post is now indicated in timelines
    • Images can now by cropped while composing a post.
    • Profiles now show the date when they were created.
    • When viewing a list the title is now displayed in the toolbar.
    • A lot of bugfixes
    • translation improvements

    Contributors to this release: @charlag @mal0ki @Tak @C1710 @mcclure @PeterCxy @Lakoja @karmanyaahm @tsmethurst and translators on https://weblate.tusky.app/

    Full Changelog: https://github.com/tuskyapp/Tusky/compare/v18.0...v19.0

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v19.0.aab(9.68 MB)
    tusky-v19.0.apk(8.95 MB)
    tusky-v19.0.mapping.txt(25.76 MB)
  • v19.0-beta.2(Jul 5, 2022)

  • v19.0-beta.1(Jun 20, 2022)

    • Support for Unified Push. To activate the support you will have to relogin into your accounts.
    • The number of responses to a post is now indicated in timelines
    • Images can now by cropped while composing a post.
    • Profiles now show the date when they were created.
    • When viewing a list the title is now displayed in the toolbar.
    • A lot of bugfixes
    • translation improvements

    Contributors to this release: @charlag @mal0ki @Tak @C1710 @mcclure @PeterCxy @Lakoja @karmanyaahm @tsmethurst and translators on https://weblate.tusky.app/

    Full Changelog: https://github.com/tuskyapp/Tusky/compare/v18.0...v19.0-beta.1

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    app-blue-release.aab(9.68 MB)
    app-blue-release.apk(8.94 MB)
    mapping.txt(25.75 MB)
  • v18.0(May 17, 2022)

    • Support for new Mastodon 3.5 notification types admin.sign_up and update
    • The emoji setting has been completely revamped, supports new emoji sets and selecting a set no longer requires app restart.
    • The bot badge now looks better and adjusts to the selected theme
    • The display of absolute times on posts has been improved to take less space
    • Text can now be selected on the post detail view
    • Removed support for showing identity proofs on profiles. Mastodon no longer supports any identity proof providers so there was no point in having this feature anymore.
    • New translation: Portuguese (Portugal)
    • Fixed a lot of bugs, including one that prevented logins on Android 6 and lower
    • Various minor improvements

    Contributors to this release: @charlag @mal0ki @kyori19 @Tak @ariasuni @C1710 @moddedBear @guntbert @Gryzor and translators on https://weblate.tusky.app/

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v18.0.aab(9.48 MB)
    tusky-v18.0.apk(8.69 MB)
    tusky-v18.0.mapping.txt(29.95 MB)
  • v18.0-beta.1(May 10, 2022)

    • Support for new Mastodon 3.5 notification types admin.sign_up and update
    • The emoji setting has been completely revamped, supports new emoji sets and selecting a set no longer requires app restart.
    • The bot badge now looks better and adjusts to the selected theme
    • The display of absolute times on posts has been improved to take less space
    • Text can now be selected on the post detail view
    • Removed support for showing identity proofs on profiles. Mastodon no longer supports any identity proof providers so there was no point in having this feature anymore.
    • New translation: Portuguese (Portugal)
    • Fixed a lot of bugs, including one that prevented logins on Android 6 and lower
    • Various minor improvements

    Contributors to this release: @charlag @mal0ki @kyori19 @Tak @ariasuni @C1710 @moddedBear @guntbert @Gryzor and translators on https://weblate.tusky.app/

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v18.0.beta1.aab(9.48 MB)
    tusky-v18.0.beta1.apk(8.69 MB)
    tusky-v18.0.beta1.mapping.txt(29.95 MB)
  • v17.0(Apr 14, 2022)

    • "Open as..." is now also available in the menu on account profiles when using multiple accounts
    • Login is now handled in a WebView within the app - this fixes multiple problems that previously occurred with external browsers
    • Support for Android 12
    • new Splashscreen
    • support for the new Mastodon instance configuration API
    • improvements to post rendering so they look more like on Mastodon web
    • using POST /api/v2/media for media upload - this makes media uploads faster and more reliable
    • interface texts have been streamlined to always say "post" instead of "toot" or "status"
    • a lot of bugfixes and other small improvements, including several fixes for issues that caused the timeline to be stuck or have gaps

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @ariasuni @gunchleoc @IhorHordiichuk @vskjefst @cketti @sphoneix22 @xmgz @kyori19 @sveinki @knuxify @realpixelcode @C1710 and translators on https://weblate.tusky.app/

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v17.0.aab(9.26 MB)
    tusky-v17.0.apk(8.45 MB)
    tusky-v17.0.mapping.txt(29.65 MB)
  • v17.0-beta.1(Mar 28, 2022)

    • "Open as..." is now also available in the menu on account profiles when using multiple accounts
    • Login is now handled in a WebView within the app - this fixes multiple problems that previously occurred with external browsers
    • Support for Android 12
    • support for the new Mastodon instance configuration API
    • improvements to post rendering so they look more like on Mastodon web
    • using POST /api/v2/media for media upload - this makes media uploads faster and more reliable
    • interface texts have been streamlined to always say "post" instead of "toot" or "status"
    • a lot of bugfixes and other small improvements, including several fixes for issues that caused the timeline to be stuck or have gaps

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @ariasuni @gunchleoc @IhorHordiichuk @vskjefst @cketti @sphoneix22 @xmgz @kyori19 @sveinki and translators on https://weblate.tusky.app/

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v17.0.beta1.aab(9.28 MB)
    tusky-v17.0.beta1.apk(8.45 MB)
    tusky-v17.0.mapping.txt(30.27 MB)
  • v16.0(Feb 25, 2022)

    Tusky 16.0 is identical to Tusky 16 beta 3

    Changes since Tusky 15.1:

    • The timeline loading logic has been completely rewritten in order to be faster, less buggy and easier to maintain.
    • Tusky can now animate custom emojis in APNG & Animated WebP format. To use the feature, enable emoji animations in the preferences.
    • New option to enable a confirmation dialog before favouriting statuses.
    • The default maximum option length when creating a poll has been extended to 50 to match Mastodon's default.
    • Bugfixes
      • On some instances (e.g. qoto.org) with a custom subscription feature it was not possible to follow users
      • In some cases statuses were not filtered correctly
      • Custom emojis were not supported in announcements
      • and a lot more
    • Support for Android 11
    • New translations: Scottish Gaelic, Galician, Ukrainian
    • Improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @vskjefst @gerazo @kantcer @meskobalazs @xmgz @IhorHordiichuk @knuxify @gunchleoc @NikGreens @Mejans @danialbehzadi @vancha @sleepycrow @sveinki @xSojo @sr093906 @ColinKinlochand @joelchrono12 @la-ninpre @ariasuni @wrott @licaon-kter translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v16.0.aab(9.09 MB)
    tusky-v16.0.apk(8.35 MB)
  • v16.0-beta.3(Feb 21, 2022)

    This release fixes the following problems with Beta 2:

    • Crash on the drafts screen if there are Drafts saved with a previous Tusky version that have attachments
    • Crash because of some malformed translations
    • Home timeline missing boosts and "load more" placeholders in some cases
    • Sometimes Tusky would not open mentions in the app
    • Media was shown with the wrong sensitivity on some screens
    • Sometimes Tusky was showing a detailed status twice after refreshing the view

    Additionally, the default maximum option length when creating a poll has been extended to 50 to match Mastodon's default.

    Source code(tar.gz)
    Source code(zip)
    tusky-v16.0.beta3.aab(9.09 MB)
    tusky-v16.0.beta3.apk(8.35 MB)
  • v16.0-beta.2(Feb 9, 2022)

  • v16.0-beta.1(Feb 8, 2022)

    • The timeline loading logic has been completely rewritten in order to be faster, less buggy and easier to maintain.
    • Tusky can now animate custom emojis in APNG & Animated WebP format. To use the feature, enable emoji animations in the preferences.
    • New option to enable a confirmation dialog before favouriting statuses.
    • Bugfixes
      • On some instances (e.g. qoto.org) with a custom subscription feature it was not possible to follow users
      • In some cases statuses were not filtered correctly
      • Custom emojis were not supported in announcements
      • and a lot more
    • Support for Android 11
    • New translations: Scottish Gaelic, Galician, Ukrainian
    • Improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @vskjefst @gerazo @kantcer @meskobalazs @xmgz @IhorHordiichuk @knuxify @gunchleoc @NikGreens @Mejans @danialbehzadi @vancha @sleepycrow @sveinki @xSojo @sr093906 @ColinKinlochand @joelchrono12 @la-ninpre @ariasuni translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v16.0.beta1.aab(9.08 MB)
    tusky-v16.0.beta1.apk(8.34 MB)
  • v15.1(May 31, 2021)

  • v15.0(May 16, 2021)

    • Follow requests are now always shown in the main menu. This is because Mastodon can restrict users from certain instances from following you immediately, even when your account is not locked.
    • The time picker for scheduling a post has a design consistent with the rest of the app now
    • Various bugfixes
    • A lot of internal refactorings that will help us to make the app faster and more stable in the long run
    • Improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @xmgz @ddarfantasy @IhorHordiichuk @gunchleoc @vskjefst @kyori19 @sveinki @danialbehzadi @kantcer @l2dy @gerazo @Porrumentzio @ashed @xmgz and translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v15.0.aab(8.37 MB)
    tusky-v15.0.apk(7.86 MB)
  • v15.0-beta.1(May 4, 2021)

    • Follow requests are now always shown in the main menu. This is because Mastodon can restrict users from certain instances from following you immediately, even when your account is not locked.
    • The time picker for scheduling a post has a design consistent with the rest of the app now
    • Various bugfixes
    • A lot of internal refactorings that will help us to make the app faster and more stable in the long run
    • Improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @BoFFire @xmgz @ddarfantasy @IhorHordiichuk @gunchleoc @vskjefst @kyori19 @sveinki @danialbehzadi @kantcer @l2dy @gerazo @Porrumentzio and translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v15.0.beta1.aab(8.36 MB)
    tusky-v15.0.beta1.apk(7.83 MB)
  • v14.0(Feb 23, 2021)

    • Add option to be notified when a followed user posts - click the bell icon on their profile! (Mastodon 3.3.0 feature)
    • New Drafts implementation: The draft feature in Tusky has been completely redesigned to be faster, more user friendly and less buggy. You can still access your old drafts via a button on the new drafts screen, but they will be removed in a future update!
    • Wellbeing mode: A new wellbeing mode that allows you to limit certain Tusky features has been added. You can enable the feature in the Preferences.
    • Animated emoji support: Tusky can now animate custom emojis. The feature is off by default, you can enable it in the Preferences.
    • Support for timed mutes: It is now possible to mute users for only a certain time. (Not supported on all servers yet)
    • a lot of bug fixes and small improvements, especially for Pleroma compatibility
    • new translations: Bulgarian, Sorani and Sanskrit
    • improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @a1batross @kantcer @Lafudoci @vskjefst @gerazo @hiohlan @lenchan139 @JuanjoSalvador @garritfra @gisegalaburri @qezwan @Wirehead9 @meskobalazs @bremensaki @sveinki @vachan-maker @TheDavidDelta @ma4ko and translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v14.0.aab(8.11 MB)
    tusky-v14.0.apk(7.48 MB)
  • v14.0-beta.1(Feb 9, 2021)

    • Add option to be notified when a followed user posts - click the bell icon on their profile! (Mastodon 3.3.0 feature)
    • New Drafts implementation: The draft feature in Tusky has been completely redesigned to be faster, more user friendly and less buggy. You can still access your old drafts via a button on the new drafts screen, but they will be removed in a future update!
    • Wellbeing mode: A new wellbeing mode that allows you to limit certain Tusky features has been added. You can enable the feature in the Preferences.
    • Animated emoji support: Tusky can now animate custom emojis. The feature is off by default, you can enable it in the Preferences.
    • Support for timed mutes: It is now possible to mute users for only a certain time. (Not supported on all servers yet)
    • a lot of bug fixes and small improvements, especially for Pleroma compatibility
    • improved translations

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @Tak @a1batross @kantcer @Lafudoci @vskjefst @gerazo @hiohlan @lenchan139 @JuanjoSalvador @garritfra @gisegalaburri @qezwan @Wirehead9 @meskobalazs @bremensaki @sveinki and translators on https://weblate.tusky.app

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v13.0.beta1.aab(8.14 MB)
    tusky-v13.0.beta1.apk(7.45 MB)
  • v13.1(Dec 20, 2020)

    Contributors to this release: @charlag@ @mal0ki @nailyk-fr @gerazo @meskobalazs @ariasuni @kantcer @Wirehead9 @sveinki @ddarfantasy @danialbehzadi and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v13.1.aab(8.10 MB)
    tusky-v13.1.apk(7.36 MB)
  • v13.0(Dec 4, 2020)

    • support for profile notes (Mastodon 3.2.0 feature)

    • support for admin announcements (Mastodon 3.1.0 feature)

    • the avatar of your selected account will now be shown in the main toolbar

    • clicking the display name in a timeline will now open the profile page of that user

    • a lot of bug fixes and small improvements

    • improved translations

    Contributors to this release: @charlag @Tak @mal0ki @nailyk-fr @BoFFire @danialbehzadi @vskjefst @kyori19 @JuanjoSalvador @explorer422 @MrMini1025 @conor-f @Porrumentzio @garritfra @clasick @krkk @ali-demirtas @duggalsu @dkdarshan760 @akarshanbiswas @gerazo @hinaloe @ariasuni @Wirehead9 @tolstoevsky @kantcer and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v13.0.aab(8.02 MB)
    tusky-v13.0.apk(7.29 MB)
  • v13.0-beta.1(Nov 25, 2020)

    • support for profile notes (Mastodon 3.2.0 feature)

    • support for admin announcements (Mastodon 3.1.0 feature)

    • the avatar of your selected account will now be shown in the main toolbar

    • clicking the display name in a timeline will now open the profile page of that user

    • a lot of bug fixes and small improvements

    • improved translations

    Contributors to this release: @charlag @Tak @mal0ki @nailyk-fr @BoFFire @danialbehzadi @vskjefst @kyori19 @JuanjoSalvador @explorer422 @MrMini1025 @conor-f @Porrumentzio @garritfra @clasick @krkk @ali-demirtas @duggalsu @dkdarshan760 @akarshanbiswas @gerazo @hinaloe and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v13.0-beta.1.aab(8.02 MB)
    tusky-v13.0-beta.1.apk(7.29 MB)
  • v12.1(Aug 22, 2020)

    This release fixes bugs and improves translations

    • new setting to hide the top toolbar
    • new translation: Bengali (Bangladesh)

    Contributors to this release: @charlag @Tak @mal0ki @nailyk-fr @BoFFire @test8421 @krkk @aevw @gerazo @hinaloe @Cikarin3 @vskjefst @musashino205 @danialbehzadi @ and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v12.1.aab(7.89 MB)
    tusky-v12.1.apk(7.18 MB)
  • v12.0(Aug 12, 2020)

    • Improved main interface
      • New option to move the main tabs to the bottom of the screen
      • Additional collapsing bar that makes it faster to access the search
    • When muting a user, you can now also decide whether to mute their notifications
    • You can now follow as many hashtags as you want in one single hashtag tab
    • Improved the way media descriptions are displayed so it works even for super long descriptions
    • Bug fixes
      • Uploading large media files works again
      • The bookmark and favorite pages now show more than 20 statuses
      • and more
    • performance improvements and a lot of internal code refactorings
    • New translations: Irish, Hindi, Vietnamese and Thai

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Contributors to this release: @charlag @Tak @mal0ki @nailyk-fr @BoFFire @ariasuni @a1batross @kyori19 @muhaaliss @Retew @SelyanKab @gerazo @PananP @ati3 @Cikarin3 @JuanjoSalvador @retiolus @vskjefst @akarshanbiswas @chaitanya3po @knuxify @tolstoevsky @rexodor @ZiTAL @zzanp @danialbehzadi @wobl42 @testuser51 @dregin and translators on Weblate

    Source code(tar.gz)
    Source code(zip)
    tusky-v12.0.aab(7.81 MB)
    tusky-v12.0.apk(7.16 MB)
  • v12.0-beta.1(Aug 2, 2020)

    • Improved main interface
      • New option to move the main tabs to the bottom of the screen
      • Additional collapsing bar that makes it faster to access the search
    • When muting a user, you can now also decide whether to mute their notifications
    • You can now follow as many hashtags as you want in one single hashtag tab
    • Improved the way media descriptions are displayed so it works even for super long descriptions
    • Bug fixes
      • Uploading large media files works again
      • The bookmark and favorite pages now show more than 20 statuses
      • and more
    • performance improvements and a lot of internal code refactorings
    • New translation: Thai

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Contributors to this release: @charlag @Tak @mal0ki @nailyk-fr @BoFFire @ariasuni @a1batross @kyori19 @muhaaliss @Retew @SelyanKab @gerazo @PananP @ati3 @Cikarin3 @JuanjoSalvador @retiolus @vskjefst @akarshanbiswas @chaitanya3po @knuxify @tolstoevsky @rexodor @ZiTAL @zzanp @danialbehzadi @wobl42 @testuser51 and translators on Weblate

    Source code(tar.gz)
    Source code(zip)
    tusky-v12.0-beta.1.aab(7.84 MB)
    tusky-v12.0-beta.1.apk(7.12 MB)
  • v11.0(May 8, 2020)

    • Notifications about new follow requests when your account is locked
    • New features that can be toggled on the Preferences screen:
      • disable swiping between tabs
      • show a confirmation dialog before boosting a toot
      • show link previews in timelines
    • Conversations can now be muted
    • Poll results will now be calculated based on the number of voters and not on the number of total votes which makes multichoice polls easier to understand
    • A lot of bugfixes, most of them related to composing toots
    • Improved translations

    Contributors to this release: @charlag @Tak @mal0ki @TheLastProject @gerazo @JuanjoSalvador @jordibrus @BoFFire @sveinki @ariasuni @tolstoevsky @knuxify @vskjefst @sveinki @SelyanKab @danialbehzadi @a1batross and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v11.0.aab(8.24 MB)
    tusky-v11.0.apk(7.36 MB)
  • v11.0-beta.1(Apr 29, 2020)

    • Notifications about new follow requests when your account is locked
    • New features that can be toggled on the Preferences screen:
      • disable swiping between tabs
      • show a confirmation dialog before boosting a toot
      • show link previews in timelines
    • Conversations can now be muted
    • Poll results will now be calculated based on the number of voters and not on the number of total votes which makes multichoice polls easier to understand
    • A lot of bugfixes, most of them related to composing toots
    • Improved translations

    Contributors to this release: @charlag @Tak @mal0ki @TheLastProject @gerazo @JuanjoSalvador @jordibrus @BoFFire @sveinki @ariasuni @tolstoevsky @knuxify @vskjefst @sveinki @SelyanKab @danialbehzadi @a1batross

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v11.0-beta.1.aab(8.24 MB)
    tusky-v11.0-beta.1.apk(7.36 MB)
  • v10.0(Feb 25, 2020)

    • You can now bookmark statuses & list your bookmarks in Tusky. This requires Mastodon 3.1 or compatible server software to work.
    • You can now schedule toots with Tusky. Note that the time you select has to be at least 5 minutes in the future.
    • On servers that support it, hidden media will now be displayed as colorful gradient ("blurhash"). You can disable this feature in the preferences.
    • You can now add lists to the main screen.
    • You can now post audio attachments with Tusky.
    • Keybase proofs will now be shown on profiles
    • support for Android 10
    • The Material design has been updated: More rounded corners and slighty different color scheme
    • A lot of other small improvements, bug fixes, internal refactorings and code cleanup.
    • New translations: Islandic, Kabylian and Slovakian

    Contributors to this release: @charlag @Tak @mal0ki @kyori19 @nailyk-fr @ariasuni @viviicat @a1batross @jmontane @danialbehzadi @ati3 @BoFFire @jeroenpraat @sveinki @friederbluemle @vskjefst @JuanjoSalvador @tolstoevsky @simevo @gerazo @knuxify @xSojo @subins2000 @balasankarc @CryptKid @Aditoo17 @Mstrodl @selfisekai @aeta39 @ahangarha and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v10.0.aab(8.33 MB)
    tusky-v10.0.apk(7.54 MB)
  • v10.0-beta.1(Feb 10, 2020)

    • You can now bookmark statuses & list your bookmarks in Tusky. This requires Mastodon 3.1 or compatible server software to work.
    • You can now schedule toots with Tusky. Note that the time you select has to be at least 5 minutes in the future.
    • On servers that support it, hidden media will now be displayed as colorful gradient ("blurhash"). You can disable this feature in the preferences.
    • You can now add lists to the main screen.
    • You can now post audio attachments with Tusky.
    • Keybase proofs will now be shown on profiles
    • support for Android 10
    • The Material design has been updated: More rounded corners and slighty different color scheme
    • A lot of other small improvements, bug fixes, internal refactorings and code cleanup.
    • New translations: Islandic, Kabylian and Slovakian

    Contributors to this release: @charlag @Tak @mal0ki @kyori19 @nailyk-fr @ariasuni @viviicat @a1batross @jmontane @danialbehzadi @ati3 @BoFFire @jeroenpraat @sveinki @friederbluemle @vskjefst @JuanjoSalvador @tolstoevsky @simevo @gerazo @knuxify @xSojo @subins2000 @balasankarc @CryptKid @Aditoo17 @Mstrodl @selfisekai @aeta39 @ahangarha and translators on Weblate

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    tusky-v10.0-beta.1.apk(7.53 MB)
  • v9.1(Oct 1, 2019)

    This release ensures compatibility with Mastodon 3 and improves translations, performance and stability.

    • the deprecated /api/v1/search endpoint will no longer be used
    • videos will now always have the correct aspect ratio while playing
    • filter rules will now also affect polls

    If you like Tusky, consider supporting us on Open Collective! https://opencollective.com/tusky

    Source code(tar.gz)
    Source code(zip)
    app-blue-release.apk(7.20 MB)
A Reddit client for Android

This is a Reddit client on Android written in Java. It does not have any ads and it features clean UI and smooth browsing experience.

null 2.6k Jan 9, 2023
An unofficial open source Reddit client for Android.

RedReader An unofficial, open source Android client for Reddit. Features Free and open-source Software - no ads/tracking Lightweight and fast Swipe po

null 1.4k Jan 7, 2023
Open-source alternative Instagram client on Android.

Instagram client; previously known as InstaGrabber.

Austin Huang 1.1k Jul 23, 2021
A light Sina Weibo client for Android

BlackLight 新浪微博客户端 请注意,当前BlackLight的开发已经被冻结,直到2016年高考后重启。 The development progress has been FROZEN till June 2016. 详细介绍以及Changelog请见Play商店。 https://pl

Paper Airplane Dev Team/纸飞机开发团队 884 Nov 22, 2022
Cnblogs Client for Android - Material Design

Cotable - Yet Another Cnblogs Client for Android Description Cotable = Code + Stable (The Paradise of Coder) The Android client of Cnblogs that named

Steve Lemuel 38 Feb 12, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
A handy Dribbble client for Android.

Notice Gunnner has been deprecated since Dribbble API v1 has been retired on March 26, 2018. Gunnner Gunnner1 is a handy Dribbble client for Android.

Egor Neliuba 60 Feb 12, 2022
An Android client for Pump.io

Impeller - An Android client for Pump.io What is it A client for Pump.io, intended to provide a rich, platform-integrated experience. Runs on Android

Erin 46 Nov 1, 2022
Github client for Android

OctoDroid This application provides access to GitHub and lets you stay connected with your network Download Main features Repository List repositories

Azwan Adli 1.5k Dec 28, 2022
A shadowsocks client for Android

Shadowsocks for Android for Android & Chrome OS (beta) for Android TV (beta) PREREQUISITES JDK 1.8 Android SDK Android NDK Rust with Android targets i

shadowsocks 33.2k Jan 2, 2023
Skooter App - Android client source code

Skooter App STAY CONNECTED. LOCALLY Skooter is a FREE mobile application that acts like a Hyper Local Bulletin Board for your area by showing the most

Prathmesh Ranaut 61 Feb 23, 2022
YouJoin Android Client, a cool app of connection, use Material Design.

YouJoin-Android 简介 这个repo是YouJoin社交平台的Android客户端,代码由本人独立编写,功能和特点包括: 采用Material Design设计 登录注册 即时聊天 个人中心(支持资料编辑、头像上传) 心情动态(支持最多九张图片;支持点赞、评论) 好友关注 附近的人(采

ZZQ 298 Nov 29, 2022
A app client for Github

Git.NB A android app client for Github. 效果图 关于项目 Git.NB现以升级到2.0,功能大有升级,UI大改版本。各种有趣的操作,欢迎下载代码试完。 如果发现有任何问题和建议,随时欢迎Email或者开Issues, 如果有版权问题,立即删除。 使用的开源技术

null 319 Sep 9, 2022
Simple Twitter Client just for tweeting, written in Kotlin with reactive MVVM-like approach

Monotweety Simple Twitter Client just for tweeting. Monotweety is also available at F-Droid compatible repository called IzzyOnDroid F-Droid Repositor

Yasuhiro SHIMIZU 110 Nov 11, 2022
Yet another Twitter unofficial client for Lollipop.

Tweetin Yet another Twitter unofficial client. Just design for Lollipop now!!! Screenshot: How to use the source code? Just import the Tweetin folder

Matthew Lee 177 Aug 24, 2022
Android Stories library - Instagram-like android stories library that supports images from disk or from internet (url)

Android Stories Library Instagram like stories library for Android. Add it in your root build.gradle at the end of repositories: allprojects { reposi

Panagiotis Makris 3 Dec 20, 2022
Library for easy work with Facebook, Twitter, LinkedIn and Google on Android

THIS PROJECT IS NO LONGER MAINTAINED, FEEL FREE TO FORK AND FIX IT FOR YOUR NEEDS There is also an Android Library that is being maintained, CloudRail

Anton Krasov 1k Dec 18, 2022
Easy social network authorization for Android. Supports Facebook, Twitter, Instagram, Google+, Vkontakte. Made by Stfalcon

SocialAuthHelper A library that helps to implement social network authorization (Facebook, Twitter, Instagram, GooglePlus, Vkontakte). Who we are Need

Stfalcon LLC 97 Nov 24, 2022
Youtube-dl for android

youtube-dl-android Android library wrapper for youtube-dl executable. Based on yausername's youtubedl-android but with ability to download binary file

Vikas 97 Dec 30, 2022