Changelog
Sparkle for Instagram
v1.3.1
2026-09-02
Current
🛠 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