Repository navigation
v0.0.10
HushTumblr 0.0.10 has 55 patches for Tumblr 47.0.0.108. It's built on Morphe patcher 2.3.0, so it needs Morphe Manager 2.5.0 or newer.
Nine patches are new. Hide your own reblogs and Hide liked posts keep your own activity out of the dashboard, and Hide Featured posts drops the staff picks Tumblr pushes into it. Collapse long posts cuts anything longer than about a screen down to a Read more row you can open in place. Share video links, Sharper images, Line between posts, App font and Sanitize sharing links are the others, and every new switch starts off except Sanitize sharing links. Dark background color now covers blog and tag pages too and can take its color from your wallpaper. The bundle is signed from this release on, so Morphe Manager shows who signed it and won't load one signed with a different key.
Coming from 0.0.9, update Morphe Manager to 2.5.0 or newer first. Then patch Tumblr 47.0.0.108 with the default selection and install it over your current build, and your settings stay. Coming from stock Tumblr, uninstall it first, then install the patched app and sign in with your email.
What's new
- The patches move from 46.8.1.100 to Tumblr 47.0.0.108, the newest release. Every patch applies to it, so that's the version to patch.
- The bundle is built on Morphe patcher 2.3.0 now, the one that comes with Morphe Manager 2.5.0 and Morphe Desktop 2.1.0. Update Manager to 2.5.0 or newer before you add this release, since older Manager builds can't load it.
- Dark background color now reaches blog and tag pages. Those pages paint their owner's color, so a cream blog or a teal tag used to show through the gaps between black posts. A blog's title or link color that wouldn't show on the new background turns white or near black. The screens where you edit your own blog's colors still show the real ones.
- New Line between posts switch on the Interface page, off by default. It draws a thin line in the gap between posts, so it's easier to see where one ends on a black background.
- New Hide Featured posts switch on the Feed page, off by default. It takes out the posts Tumblr's staff push into your dashboard under a Featured header. A post goes only when Tumblr marks it both ways, with the Featured icon and the menu choice Tumblr gives its own promotions, so a regular post with a similar header stays. Quick setups' Quiet choice turns it on too.
- New Hide your own reblogs switch on the Feed page, off by default. It takes the reblogs you made out of your dashboard, so you don't scroll past your own reblogs between the posts of people you follow. The rest of Tumblr still shows them, your blog and a post you open by itself included.
- New Hide liked posts switch on the Feed page, off by default. It takes posts you've already liked out of your dashboard, so the ones that come back around don't cost you scrolling. A post you like while it's on screen stays put until the feed loads it again. Everywhere else still shows them, so a liked post you open from a link or a notification is still there.
- A post you open by itself, from a link or a notification, now loads with Hide reblogs or Hide posts with words on. Those switches clear a feed, so they took out the very post you asked for and the page stayed empty. The same post in a feed later is still hidden as usual.
- New Match my wallpaper switch under Dark background color, off by default. On Android 12 or newer it takes the dark background from your wallpaper's colors, so there's no color code to pick when patching. A new wallpaper shows after Tumblr restarts.
- New Share video links switch on the Posts page, off by default. Long-press a video in a post and you can share its direct link or copy it. Before, a long press on a video did nothing at all. The same menu can also save the video into your Downloads folder, with a toast once it's in. Android 10 and newer don't ask for storage access for that. Android 8 and 9 ask first, and the save starts by itself once you allow it.
- New Sharper images switch on the Posts page, off by default. Tumblr loads photos in posts at 640 pixels across at most, and smaller on a slow connection, so they look soft on most phones. With the switch on, a photo loads from the larger copy Tumblr already keeps, up to twice the width it's shown at (usually the 1280 one), and a slow connection gets the same copy. It uses more data. GIFs go up too, but never past the pixel count of a 1280 by 960 one, since a playing GIF keeps a few frames in memory. Very large photos stay capped as well.
- New Collapse long posts switch on the Posts page, off by default. A long post can take several screens of scrolling. With the switch on, a post longer than about a screen gets cut in your timelines with Tumblr's own Read more row under it, the same one you see when an author cuts their post. Tap it and the whole post opens right where it is in the timeline, so you don't lose your place, and it stays open as you scroll on. That holds on tag pages too, where Tumblr fades long posts out by itself, so the post you opened isn't cut again there. A post Tumblr always cuts still opens on its own page. A post that runs only a little over stays whole. A long entry in a reblog trail gets cut the same way, and its Read more opens the post on its own page like an author's cut does. Asks keep Tumblr's layout. The Collapsed post length row under the switch moves the cut to about half a screen or two screens with a tap, and a settings file carries your pick.
- New Sanitize sharing links switch on the Privacy page, on by default. Tumblr adds
?source=shareto the post and blog links you share or copy, which tells it the visit came from a share. With the switch on, the link goes out without that tag and still opens the same post. A link is otherwise left exactly as Tumblr made it. Quick setups' Privacy choice turns it on too. - Hide ads now takes sponsored banners out of your feeds too, the takeover banners a sponsor pays for and the Sponsored Day ones. Tumblr's own banners without a sponsor, like Answer Time, stay. When a sponsor has paid for the header at the top of Explore, that header stays empty instead, the same as when it doesn't load, so its takeover ad can't open from it.
- New App font patch, off by default. Turn it on under Interface and Tumblr's own font gives way to your phone's, or to a .ttf or .otf file you pick there. Fonts a post's author picked stay as they are, and a change shows after a restart.
- Flipping a switch near the bottom of a settings page doesn't make the page jump anymore, so a second tap in the same spot can't land on the switch next to the one you meant. Two things moved it. The restart row appearing above slid the list down, and while a switch saved, its shorter "Saving the setting" line let the rows above drop into the gap and stay there.
- Hide the Follow button now reaches the reblog trail too. Each blog quoted in a reblog has its own header with a Follow button, and those kept showing while the one at the top of the post was gone.
- The patch bundle is signed now. Morphe Manager shows "Signed by 0859 9c9b 1bd2 9cac" on the HushTumblr source and remembers that key, so a later bundle signed with any other key, or not signed at all, gets refused instead of loaded.
- Hide ads now also turns off the full-screen ad Tumblr can show when you open a blog, whether you get there from the dashboard, a reblog, a notification or a message. The pause Tumblr keeps between those ads is left alone, since switching it off would only take the pause away.
- When something in HushTumblr settings can't finish, what to do next now stays under the row you tapped. It used to be a toast that faded after a few seconds, and Android 12 and later show only two lines of one, so large text got cut off. This covers links no app can open, Android's app settings not opening, switches and tab moves that didn't save, a Resume or Quick setup that didn't run, font files that couldn't be used and refused exports or imports. The diagnostic report and Clear diagnostic data rows work the same way now, so the folder a full report went to stays readable. A link you can't open comes with a Copy link button.
- A failed tab move or import keeps what you tried, so trying again picks up where it stopped. The import preview also gets a Choose another file button for when the file itself was the problem. Notes under rows come back when Android rebuilds the screen (say, after you rotate the phone), and a result that lands after you've closed settings or switched apps shows under its row once you're back. One that lands while the screen is being rebuilt shows on the new one, and one for a row on another settings page waits there until you open it. Hiding Quick setups says right under that page's row where to get it back. A Tab order tap while a change is still saving opens the list once the save is done instead of doing nothing.
- A settings page opened with a keyboard or D-pad starts at the top again. The "HushTumblr is paused" line used to sit just above the view, so the switches under it read as on.
- With a keyboard, D-pad or mouse, the settings home page comes back where you left it after Back or a cleared search, even when a section heading or the status card sat at the top. It used to land one row further down, with that heading pushed out of view.
- A switch, font file or Quick setup that waits for a restart now says so right under that row. The note goes once you undo that change or nothing's waiting anymore, and a change the next start makes anyway (Pause while safe mode already pauses) doesn't get one. Screen readers read it once from there, and again only if you go back to it. The Tab order list shows "Saving changes" under it while a slow save runs, then where the tab went and whether Tumblr needs a restart, and the dialog keeps its size while those come and go. Android 16 is phasing out the pop-up announcements these used, and those were gone the moment they were spoken.
- Hide ads now keeps Tumblr's ad networks (Google Mobile Ads, Meta Audience Network, Vungle and Nimbus) from starting when Tumblr launches. They woke up at every cold start and wrote their files before any HushTumblr switch was read. Disable analytics does the same for LiveRamp's identity tracker. Turn either switch off, or pause HushTumblr, and they start again after a restart.
- With Hide hashtags on, a Tumblr TV video whose only text was its tags doesn't keep a lone "... more" under the blog name anymore. Tapping it opened nothing. A video with a description still gets its label.
- With Hide note counts on, each comment in a post's notes drops its own like and reply counts too, and TalkBack doesn't read them out either. The Reply and like buttons still work.
- New Keep Blaze posts option under Hide ads on the Feed page, off by default. With it on, posts someone paid to promote with Blaze stay in your dashboard while network ads and other sponsored cards still go. Your word and post type filters still apply to those posts.
- The Words to hide and Allowed words editors can test your list on a made-up post now. Type some post text, trail text, tags or a summary under Try it on a post and it tells you whether the word filter would hide that post. It names the word that did it and where it was, or the allowed word that kept the post. It uses the same whole-word matching and the same Match switches as your dashboard, and tags work typed with commas or the way a post shows them (#art #cats). Nothing typed there is saved, and it's empty again each time you open the editor.
- With Mute posts locally on, a post's menu on the dashboard can also hide one blog's reblogs or its originals. A reblog offers "Hide reblogs from" that blog and an original offers "Hide originals from" it, so you can keep someone's own posts while their reblogs go, or the other way around. The rule only works on your dashboard and its tabs. Explore, their blog page and search still show those posts, and so does a post you open by itself. It goes in the same private list as your muted posts, for this account only, and Manage muted posts shows it as its own row you can tap to remove. A post Tumblr doesn't say enough about to tell which kind it is always stays.
- Disable analytics now really keeps Crashlytics crash reports off. The patch already set Firebase's manifest flag for that, but Tumblr turns crash collection back on by itself every time it starts, and its call wins over the flag. With the switch on, that call now leaves collection off. Turn the switch off, or pause HushTumblr, and Tumblr's own setting is back after a restart.
- The README's Help explains how to keep a patched copy next to your regular Tumblr with Morphe's Clone app patch. You sign in to the copy with your email and it keeps its own HushTumblr settings, but
Fix push notificationsonly covers the regular app.
Behind the scenes
- The check that every GitLab mirror in a source notice still answers doesn't fail anymore when GitLab says "too many requests". It spaces its requests out, waits as long as GitLab asks (a minute at most) and tries again, so only a mirror that's really gone fails it.
- The build runs on Gradle 9.8.2 with Gson 2.15.0, Guava 33.8.0 and Commons Lang 3.21.0. None of them fixes a known advisory here, so it's upkeep. The release check accepts the 9.8.2 wrapper now.
- Device runs don't stop anymore when another session happens to read the shared lease file at the same moment. Opening or releasing the lease waits a few seconds and tries again, and a missing lease or one someone else holds still stops the run.
- The source census reads ReVanced's GitLab mirror in three GraphQL questions now. Over REST it took a request for every branch and watched path, 70 of them for that mirror's 35 branches, and GitLab allows an address with no token about 60 an hour. Each comparison is asked once a run too. Forks that GitLab has renamed while they wait to be deleted stay out of the census, because a scanner keeps making and deleting them faster than any census could record them.
- A release walk now waits for Android's verifier to finish on both the clean reference and the exact build that got installed, and both files have to hash the same before and after it runs. Publishing refuses evidence that's old or partial. It also refuses evidence that doesn't match, down to one verifier message too many or too few.
- A release walk now checks each required destination instead of trusting its screen count. Login screens, wrong search results, duplicate or missing routes, recorded problems and invalid timestamps can't earn a full PASS. Shorter exploratory walks remain partial.
- Release walks now prove which APK was installed. Patch runs keep the input, bundle, patch selection and signing identity beside the signed output. The walker checks the installed bytes before and after its run, and publishing refuses evidence that's missing or doesn't match this build.
scripts/walk-app.ps1scrolls the Hush settings list with slow drags now, down first and then back up, and stops once the list stops moving. Quick swipes flung the list past rows that slid under its pinned header, so a walk on a phone could miss settings pages that were there all along.scripts/patch-for-device.ps1can now sign a gate run it reuses with the BKS key Morphe makes. Plainapksigner.batcan't open that keystore, so the script falls back to apksigner's own jar with BouncyCastle loaded. When both fail, the error shows what each one said.- Changelog entries don't open with a "Tumblr:" label anymore. HushTumblr only patches Tumblr, so it repeated itself on every line. The release scripts stopped adding or asking for it, and drop it from any bullet that still has one when a release is cut.
- The build signs the bundle when
MORPHE_SIGNING_KEYholds the private key, and refuses a key that isn't the onemorphe-signing.pubpublishes. Without it the build still works and says the bundle is unsigned.release.ps1loads the key fromHUSHTUMBLR_BUNDLE_SIGNING_KEYfor the build alone, won't build a release without it, and checks the bundle came out signed by the published key. The release push gate signs its bundle with the same key, so the two still match byte for byte. The index now carries that key aspublic_key. - Device patching and the release gate know the resource ids of Tumblr 47.0 now. Rebuilding Tumblr's resource table renames four ids and rewrites one string, just as it did on 46.8, but those sit at new ids in 47.0, so every patch run stopped at the resource check after the move.
- The build uses the Morphe settings plugin 2.1.0 now, which brings Kotlin 2.4.21 with it. The old plugin brought 2.4.10, which has the Kotlin build cache flaw (CVE-2026-53914), so the build had to force Kotlin up to 2.4.20 itself. That force is gone. The new plugin also signs the bundle it builds when
MORPHE_SIGNING_KEYis set, and the release copy is still re-signed after its timestamp is pinned, so it verifies againstmorphe-signing.pubas before. - A release that stopped partway through
gh release createpicks up where it left off. The rerun checks the draft's commit, its title and tag, and every file already uploaded, sends the rest, then publishes it with fresh notes as a full release. A draft that doesn't match, an upload another run may still be sending, or a published release with the same tag gets refused before anything on GitHub changes.
Reports this release answers
- #7 Colors taken from your wallpaper, and a way to use your phone's font or one you pick.
- #8 Dark background color on blog and tag pages.
- #9 Opening a reblog from a link or a notification while Hide reblogs is on.
- #10 An optional line between posts.
- #11 Sharing a video's direct link.
- #13 A switch to hide your own reblogs.
The .mpp download is a patch bundle, not a Tumblr APK. Installation instructions. SHA256SUMS.txt is signed with the HushTumblr release key, fingerprint 2143 368A A5CE 6E5D FFEA 79CF BBC1 3768 83CF 3AB4. How to check a download.
Validation
All 1244 extension tests, 146 patch tests and 168 tests against the real Tumblr 47.0.0.108 build passed for this release, none skipped. The bundle attached here was patched onto a real Tumblr 47.0.0.108 build with Morphe's desktop patcher, and all 55 patches applied without forcing. release-receipt-0.0.10.json records that result, the build's hashes and what patching changed in the app's manifest.
Before release, this exact bundle patched Tumblr 47.0.0.108 for a signed-in Galaxy S22 Ultra on Android 16, and the app got a walk from end to end. It opened the dashboard, Explore, a search, a tag page, a blog, your likes, the HushTumblr settings and all ten of its pages, and Tumblr didn't crash once.