Changelog

Sparkle for Instagram

v1.5.1

2026-10-13 Current

🛠 Fixes & Improvements

  • Support for Instagram version 451.0.0
  • Hidden tabs stay hidden when you swipe between tabs

v1.5.0

2026-10-12

✨ What's new?

  • Support for Instagram version 450.1.0

Languages

  • Sparkle now comes with Japanese and Polish, both reviewed by native speakers. A pack installed for either one is retired automatically, so the reviewed version takes over
  • Export Strings: the share button on the language sheet exports any listed language as a zip, English to start a translation or another language to correct it

Notifications

  • Instagram style: notifications can use Instagram's own toast instead of the Sparkle pill, with Instagram's icons, a progress ring with Cancel for downloads, and a result tint when Glow is on
  • Notification settings are reorganised into style, appearance, behavior, Notify Me About and Haptics pages

Stories

  • Keep Seen Locally: with Manually Mark Seen on, a story you watch is marked seen on your device only. Its ring turns grey and the tray sorts it as seen, without a seen receipt being sent. A Seen Locally list lets you restore a person's stories to unseen
  • Hide the AI Restyle button on stories and the AI effects tool in the story camera

Reels

  • Auto Scroll: choose whether reels auto scroll is on or off at every launch (Default / On / Off), on accounts where Instagram offers it
  • Hide Visual Search Button on reels

General & Interface

  • Pin Recipients in Share Sheet: hold a person or group in the share sheet to pin them to the top of the list, per account
  • Hide Emoji Bar above the comment composer
  • Hide Meta Promotions: Meta Verified offers and suggested Facebook pages in the feed get their own toggle, separate from Hide Suggested Threads
  • A new Liquid Glass Sparkle app icon, with default, dark and clear variants

Sideloading

  • Shares from the share sheet and links from the Safari extension open in this install, even with another copy of Instagram on the device
  • The Safari extension is rewritten as Open in Sparkle, with a banner, an Open button and its own settings

🛠 Fixes & Improvements

  • Downloads retry and then switch to another video source when Instagram's servers refuse a file, instead of failing with "missing media response"
  • Trimming from the expanded preview renders at the download quality you chose, not the playback quality
  • Saving a single frame keeps full quality on AV1 videos
  • Marking a story seen (eye button, like or reply) also marks that person's earlier stories seen, not just the one on screen
  • Hide Suggested Reels also hides the new single suggested reels in the feed, and feed filters work on Instagram's newer feed
  • Sparkle's alerts match Instagram's own dialogs, with stacked buttons and at most one emphasized action
  • The follows-you badge no longer shows another account's answer after switching accounts, and picks up follow changes
  • Copied share links for posts, reels, stories and profiles keep only the parameters the link needs, so Instagram's newer tracking tags are stripped too
  • Sharing from Edits to a sideloaded Instagram now explains why it cannot arrive and what to do instead
  • The DM long-press menu rows are back, and Message Preview no longer marks chats seen
  • Confirm Reels Refresh and the DM bottom swipe work again
  • On Instagram 410: Sparkle uses the classic Instagram blue, and replying to a story is now possible again
  • The Saved tab on your profile, the in-feed story tray and the Instants action menu date are fixed on recent Instagram versions
  • The story viewer search button stays off the comments header

v1.4.0

2026-09-24

✨ What's new?

  • Support for Instagram version 448.0.0

Languages

  • Download languages from Settings, or import a pack from a file or a link
  • Installed packs update themselves when Sparkle updates, so new strings arrive translated
  • Eight new languages: Spanish (Latin America), Persian, Filipino, Swiss German, Indonesian, Thai, Traditional Chinese and Lithuanian, for 24 in total

Stories & Reels

  • Playback Controls: a floating panel to change the speed, scrub and pause, growing out of its button, with Liquid Glass on iOS 26 and later
  • Stop Looping Reels: a reel stops on its last frame with Instagram's own paused state, and plays from the start on the next play
  • Manually Mark Seen becomes Off / On Tap / Toggle. In Toggle, the eye button turns seen receipts on for the rest of the story session
  • Optionally confirm before marking a story seen
  • Hide the "Audio unavailable" message on stories
  • Story hide toggles have their own settings section

Messages

  • Hide Chats: hidden chats are muted and leave the inbox and every list built from recent conversations, like the share sheet. Hold the inbox title to show them again
  • Friends Map location: choose where friends see you, with a map picker, place search, saved places and an optional Friends Map button

Instants

  • Manually Mark Seen: Instants stay unseen and in the tray while you watch them, and the eye button releases the one on screen
  • Advance on Eye Button: move on to the next Instant after marking one seen
  • Hide Instants in Inbox: an alternative to the official Hide Instants setting

General & Interface

  • Open Links In: send links Instagram would open in its own browser to an in-app Safari view or the Safari app, with redirects unwrapped and click-tracking parameters removed
  • Links in captions, reel captions and comments are tappable
  • Square Grid for profiles and Explore
  • Scroll Edge Style: Off / Default / Soft / Hard replaces the Progressive Blur toggle, applied live to the top edge only
  • The stkn tracking parameter is removed from shared links

Profile & Reposts

  • A Saved tab on your own profile
  • The reposted bubble's sheet shows the date it was reposted at

Media & Downloads

  • Downloads keep running in the background until the queue drains, including FFmpeg merges and conversions
  • Picture in Picture for expanded videos (off by default)
  • Trim, crop and photo edit saves appear in Download History, and every entry shows its real file size
  • Select Gallery items with a two-finger drag in list view

Tools

  • Debug Button (Tools > Diagnostics): a floating button that builds an element, screen or view hierarchy report for bug reports. On-screen text is left out unless you include it

🛠 Fixes & Improvements

  • Story Preview works again on Instagram 447 and later, including when Instagram withholds it for the account
  • Message previews open the thread again instead of Instagram Plus's upsell
  • Swiping comments away sideways drives Instagram's own sheet dismissal
  • The deleted messages log no longer gets the app killed while a large DM backlog syncs
  • Muting or unmuting a story lasts for the whole viewer session, and closing the viewer still restores Feed and Reels audio
  • Start Reels Muted (previously Disable Auto-Unmuting Reels) writes Instagram's own sound state instead of blocking unmute events, so reels reliably start muted and the volume buttons, ringer and headphones behave normally again. It now applies to every account
  • Long-pressing Explore opens the copied post/reel link on its own page instead of the feed
  • The feed's send button responds to taps in its center again when Hold Send to Copy Link is on
  • Encoding settings behave as labeled: max resolution limits the shorter side and never enlarges, and rows that did nothing are gone
  • Copied download links follow the photo and video quality settings
  • Less lag around Instants and deep in the app, and when messages are unsent
  • A paused expanded video stays paused when you return to it
  • Video controls in the expanded preview line up with the toolbar, which now fits within the width on iOS 27
  • The reels action button no longer renders as a black shape when its menu opens
  • The mentions badge matches the brightness of HDR stories
  • The story viewer search button is in place as soon as the viewer list opens
  • The bottom seen button fades out while the sticker/GIF sheet is open in a chat
  • Clearing the cache runs in the background
  • Short info sheets and lists no longer scroll as if there were more content below
  • Fixed a crash when tapping a swatch in the story color picker
  • Story Preview works on posts and profiles even with Long Press to Expand on
  • Hiding feed ads no longer removes the loading spinner from a short feed, so more posts keep loading
  • Even spacing in the visited profiles subtitle and around profile indicators when a name wraps

v1.3.1

2026-09-02

🛠 Fixes & Improvements

  • Support for Instagram version 445.0.0
  • Active status and typing updates work again on 445, which renamed the realtime presence callback
  • The reels viewer comment bar is back to its proper size on 445
  • Sideloaded installs: downloading, converting and trimming media work again. AltStore and SideStore only re-sign frameworks directly inside the app bundle, so the FFmpeg frameworks moved into Sparkle.bundle in v1.3.0 kept an ad-hoc signature and failed to load
  • FFmpeg frameworks now carry Sparkle's own spk.* names, so they can never replace the libavutil and libavcodec frameworks Instagram ships
  • About shows the app's real bundle identifier instead of Instagram's

v1.3.0

2026-09-01

✨ What's new?

  • Support for Instagram version 444.0.0

Languages

  • Sparkle is now translated into 16 more languages, downloaded from the release page and imported in Settings as language packs
  • Import several packs at once from the Files picker, see each one's coverage in the list, and remove one with a swipe
  • A pack overrides a shipped catalog of the same language, so a translator can preview their corrections on device
  • New Help Translate entry and a contributor guide for anyone who wants to improve a language

Interface

  • Tab Editor: the launch tab, icon order, swipe behavior, per-tab hiding and messages-only mode collapse into one screen that stages the whole bar with a live preview and applies it in a single action
  • Saved is its own tab entry now rather than a Reels replacement, borrowing a hidden tab's slot in the custom layout
  • Hiding the tab bar generalizes from messages-only to any single-tab configuration, and is refused where it would leave no way into Sparkle settings
  • App Font: import an .otf, .ttf or .ttc and set both Instagram and Sparkle in it, previewed face by face with alphabet and figure lines before you pick

Stories

  • Hide Recent Highlights: resurfaced highlights are dropped from the tray, from tapping forward, and from swiping sideways, since all three read a different list
  • Filter your viewer list (Don't Follow You / You Follow / You Don't Follow / Starred) and star the people you look for
  • Mention Count Badge: how many unique accounts a story mentions, redacted along with the glyph by Hide UI on Capture
  • Story Audio Button: mute or unmute a story from the viewer, restoring the previous audio state on close so Feed and Reels stay isolated

Messages

  • Activity notifications: online, offline, typing and read events from tracked users, with per-account lists, group-aware context and their own settings page
  • Audio and upload rows expand as native submenus instead of opening an action sheet over the thread
  • Look up a GIF's real name and channel from the comment and Direct menus (off by default, since each uncached lookup tells giphy.com which GIF is on screen)

Instants

  • Confirm a recorded video before Instagram sends it, with the camera feed preserved if you cancel. Photo instants remain unsupported
  • Toggle instant auto-save for an account straight from the action menu, which also saves the instant already on screen

Media

  • Select Text in Photos: Sparkle's own select-text button and Copy All capsule replace VisionKit's, with real Liquid Glass on iOS 26 and the info overlay stepping aside while text is highlighted

Reels

  • Hide Viewer Comment Bar: removes the bottom comment field from the reels viewer

Settings

  • Contextual information sheets opened from section headers, in place of long footers, and included in settings search
  • Sparkle's own lists use Instagram's follow control, gaining the Requested and Follow back states the previous two-state button could not express

🛠 Fixes & Improvements

  • Rootful packages install to /Library again. A makefile variable overrode the build environment, so both build paths produced rootless packages and the "rootful" debs in v1.1.0 and v1.2.0 unpacked to /var/jb
  • Inbox seen menu and message preview unlock work again on Instagram 442, which ships a second inbox controller behind a server experiment
  • The reels header hides again on the navigation bar the viewer actually uses, and comes back when the preference is turned off instead of staying gone until relaunch
  • Explore and recent-search hiding repaired
  • Reels opened from a profile scroll freely instead of hitting the doom-scroll cap, which now applies only to the Reels home and tab feeds
  • Stories get marked as seen again
  • A story no longer lists the same account several times over on a reshare, and follow state is no longer read off a localized button title
  • Fixed a crash around message reactions
  • Gallery backups that need a schema migration import again, including pre-rename stores. The backup file itself is never modified
  • Gallery import rows update when a thumbnail finishes off screen, and retry after a render that came back empty
  • Clearing finished download history is scoped to the current account
  • Unfollowing asks for confirmation again now that the follow controller moved to Swift, and every prompt is worded from the account's actual state instead of announcing an unfollow as a follow
  • Instants act on the media actually on screen, and keep their expanded order across sessions
  • Notifications reach the right account on sideloaded multi-account installs instead of arriving generic or claiming the account is logged out
  • Uploaded audio shows its real waveform instead of a static pattern
  • Copied links no longer carry the igsi tracking parameter
  • FFmpeg frameworks are signed correctly for each output path, and bundle resources resolve per file so encoding still works on development installs
  • Bundled resources stay readable when the package is installed as root

v1.2.0

2026-08-08

✨ What's new?

  • Support for Instagram version 441.0.0

Gallery

  • Import media into the Gallery from Files or a Regram Media Vault, with editable metadata and paste-link autofill
  • Show Files From Subfolders: browse the whole Gallery in one grid/list without opening a folder
  • Saved posts and reels open on their own page over the Gallery, instead of resolving into the feed and costing you your place
  • Sort, filter and scoped search (This Folder / All Folders) in the Gallery picker, plus proper empty states
  • Pinch to zoom into videos in the full-screen preview

Editors

  • Crop, pan/zoom, rotate and flip a video's framing, applied in the same pass as the trim rather than a second encode
  • Drag inside the trim selection to slide it along the timeline, and drag away from the track to scrub at 1/2, 1/4 or 1/10 speed

Instants

  • Upload a photo or video as an instant, from Photos, Files or the Gallery
  • Browse the instants you've saved, grouped by person, from a new camera view button

Downloads

  • Auto-save stories, view-once DM media and instants to the Gallery or Photos as you view them, with per-surface allow lists
  • Refined photo quality tiers (Max / High / Medium / Low) with 4K web fetching
  • Save Photos-destination downloads into a custom album

Messages

  • Refined messages-only mode: hide the other tabs, prevent the camera swipe, and reach Settings from the inbox header
  • See message previews by long-pressing a chat (Instagram Plus)
  • Hide the flag button in messages

Stories

  • Use videos as story stickers, picked from Photos or the Sparkle Gallery
  • Story action buttons match the native header's EDR tint on HDR content

Feed & Profile

  • Profiles open as a real Instagram push, with Instagram's own spring animation and swipe-back from anywhere
  • Profile Analyzer: swipe to delete a single logged change
  • Profile Analyzer: changes group as Latest / Previous by scan boundary, so they stop moving the moment you look at them
  • Reels action button uses HDR when needed

Interface & General

  • See a post's date in the action button menu
  • Reels doom-scroll and limits options are now available in global settings

🛠 Fixes & Improvements

  • Fixed a long-standing freeze that made the whole app crawl after navigating a few screens deep
  • Much faster Gallery: opening an item is instant, picker scrolling is smooth, and photos are no longer retained for the session
  • Notifications on sideloaded installs arrive right away instead of up to a minute late and no longer duplicate
  • Story preview and inbox refresh work again on the latest Instagram
  • Instants download and auto-save at full resolution instead of a screen-sized re-encode
  • Poll vote counts are now redacted by Hide UI on Capture
  • Safe Mode now explains why it turned on, and offers to turn itself off
  • Injected nav buttons now adopt the live effect from Instagram's own glass bubble instead of approximating it with a guessed tint, so they blend in far better
  • Failed encodes report the actual reason instead of dumping the log into the pill
  • Duplicate detection now applies to video thumbnails
  • Expanding a story opens the item that is actually on screen
  • The Seen button stays pinned above the composer when a GIF or sticker tray opens
  • DM thread names resolve outside the thread view controller, so lists no longer show "Unknown Chat"
  • Missing header button in messages-only mode on 410.1.0
  • Keychain access groups and bundle identity normalized for duplicate app sideloading
  • The in-app browser no longer crashes when copying text
  • Settings import parses ZIP64 archives, so exports rezipped by macOS or Files work
  • Various UI polish: glass button tinting, notification pill handling & more

v1.1.0

2026-07-13

✨ What's new?

  • Support for Instagram version 438.0.0

Messages

  • Action button for media shared in chats (download/save from the DM media viewer)
  • Last-active timestamps in chats, with device-aware time/date formatting
  • Auto-mark seen when you start typing
  • Choose where the Seen button sits, and nudge it aside to peek

Stories

  • Search your story viewer list
  • Peek stories without appearing on the viewer list (Instagram Plus)
  • Hide Instagram Plus button in story viewer list

Feed & Profile

  • Feed header shortcut to Gallery, Profile Analyzer & more
  • Subtle following indicator on profiles (icon, text or both)
  • Clear visited profiles in Profile Analyzer, plus a polished dashboard & empty states

Interface & General

  • Metadata overlay on expanded photos
  • Pill-shaped tab bar on iOS 18 and earlier
  • Optional haptics when opening settings
  • Reset any configurable settings group back to its defaults
  • New multi-step first-run onboarding and What's New sheet

🛠 Fixes & Improvements

  • Sharper video downloads on the default encoding preset
  • Cleaned-up links no longer escape special characters
  • No more duplicate comment-like confirmations
  • Clearing download history now reclaims its storage
  • Action buttons & enhanced media resolution are on by default
  • TestFlight popup hidden by default (toggle hidden on jailbroken installs)
  • Reset All Settings is now scoped per account
  • Nav buttons now appear correctly on iOS 15
  • Menu icons render correctly on iOS 16
  • Various UI polish: notification pill spacing, profile title clamping & more

v1.0.0

2026-07-09

Initial release.