Every Chrome Web Store release of GrokMediaDownloader, newest first. Dates are the day the version was built; the store listing usually follows within a few days.
Issue numbers refer to reports on the public GitHub repository.
v2.6.1
Fix
Sturdier activation, an honest progress bar with a time estimate, and scans that survive a closed popup
A maintenance release: no new features, no new permissions. It hardens the 2.6.0 activation flow and fixes a handful of long-running-job problems that only show up on large libraries.
Activation falls back safely. If the license server answers in an unexpected shape, the extension now treats it as unreachable: Lemon Squeezy keys go straight to their original activation path instead of being reported invalid, and GMD- keys get a "try again later" message. This is the client-side defence for the 2026-10-27 incident, which was fixed on the server the same day.
The download progress bar is correct again. It could show 100 % with half the run still to go and then overshoot; it is now done / (done + remaining), capped at 100 %, and the video phase counts native 720p items it used to skip.
New: estimated time remaining next to the percentage ("23% · ~1 h 40 min left"), measured from this run's own pace per phase. Rate-limit cooldowns are excluded from the pace and the cooldowns still ahead are added back. Refreshed every 15 s and kept when the popup is closed and reopened. Six languages.
Delete Old no longer loses its result when the popup closes. The library scan now runs in the Grok tab instead of inside the popup, so you can close the popup during a multi-minute scan and the confirmation is waiting when you reopen it. Nothing is deleted without that confirmation; a result older than an hour is discarded. When the server rejects five deletes in a row (expired session, anti-bot challenge), it stops and shows the server's answer instead of walking through thousands of identical failures.
Large libraries scan more patiently. Library paging retries more times with longer back-off and slows down while Grok is rate-limiting, so a multi-thousand-asset library is less likely to end as a partial list. Prompt recovery no longer gives up when a rate-limit burst or a deleted conversation (404) appears: those are retried or skipped per conversation and never trip the stop-after-five-failures breaker, which is kept for real failures.
Generate List is visibly alive. The System Log gets a heartbeat line every 60 s while a scan runs, and a popup opened mid-scan re-attaches to it with the live phase and progress instead of flickering back to the previous list's "Completed" state. Download history is now also saved on abort, on a rate-limit pause and at the end of a run.
Thanks to Greg Pavlik, a PRO user, for the progress-bar and Delete Old reports. After updating: Chrome applies the update automatically; refresh any open Grok tab. No re-activation is needed.
v2.6.0
Feature release
License activation moves to our own server; existing keys keep working
The only functional change in 2.6.0 is how a PRO key is activated. Downloading, HD Upgrade, Story Mode and the Video Gen Queue are untouched. It is also the first store release since 2.5.6, so it carries the 2.5.7 Delete Old changes listed further down.
Existing keys need nothing. Devices that are already activated keep working. On a new computer or after a reinstall, enter the same key you received by email. Activation now goes to Kario's own license server; if that server cannot be reached, the extension falls back to the original Lemon Squeezy activation by itself.
Device slots are counted sensibly. Each key covers 3 devices. The extension keeps a fixed device id in Chrome sync storage, so reinstalling on the same computer no longer uses up another slot, and removing the extension frees its slot. The popup's license section shows the masked key and "Devices: n / 3". Chrome profiles synced under one Google account share a slot; with sync off, a reinstall gets a new id.
Clear activation errors in all six languages. Invalid key, key for a different product, device limit reached (with n / 3), key disabled after a refund or revocation, and server unreachable each have their own message. The product check runs before a slot is consumed.
Keys in the new GMD-XXXX-XXXX-XXXX-XXXX format are accepted alongside the existing UUID keys.
No new permissions. The license server is called with CORS, so Chrome shows no re-authorisation prompt on update. Traditional Chinese strings now say 啟用 instead of 激活.
Also in this release (2.5.7 changes, not published separately):
Delete Old reads the new media library. It used to scan Grok's old favourites list, which stopped receiving new media in July 2026, so a recent date range came back as "nothing in range". It now scans the same library as whole-library download and lists generated media only, never uploads. Deletion uses the call Grok's own Saved page makes: removing from Saved is a permanent delete, and the post goes with it.
Renamed and simplified. "Remove Old" is now "Delete Old" and "Bulk Remove" is "Bulk Delete", because that is what they do. "Batch Select & Delete", "Remove All", "Last N hours" and the "Also delete posts" checkbox were removed: Grok's Saved page has Select → Delete, and the other options either duplicated it or invited mistakes. Delete Old now takes a date range only (From and/or To).
After updating: Chrome applies the update automatically; refresh any open Grok tab. Existing users do not need to re-activate; if the popup still shows the old version number, restart the browser.
v2.5.6
Fix
Tags come back complete, prompts come back into filenames
Two root causes fixed, both on Grok's side of the fence. Same content as 2.5.5, which the Chrome Web Store did not publish because a bundled (never executed) third-party file referenced a CDN; 2.5.6 removes that file.
Tag download returned one file (issue #13). Grok's August tag migration is incomplete in both directions: the new collection API holds few historical items, the old folder API holds the history, and each has tags the other lacks. Tag lists and tag contents are now the union of both APIs; a tag that returned 2 items now returns 233.
No prompt in filenames, folder names or metadata.json. Since September Grok no longer sends the prompt with the media list. The prompt is now recovered from the conversation that generated the item (videos use their animation prompt or borrow the source image's), with retries, a circuit breaker, and a persistent cache: a whole-library regenerate went from 129 s to 10 s on the second run.
Prompts are only fetched when your filename or metadata settings need them; the popup asks you to regenerate the list after you change those settings.
metadata.json records userId; video filenames match the list, including the short-ID suffix; a tag source that half-fails is marked partial instead of reported as success.
Verified end to end in a real browser: a 61-file tag download and a 206-file seven-day whole-library download, compared file by file against the Grok API.
v2.5.4
Fix
Older tags and full tag contents
The tag list could miss older tags and tag contents could stop after the first page.
Both requests now use the same parameters as Grok's own web app and read every page.
If one page fails mid-way, the items already fetched are kept instead of the whole batch being discarded.
v2.5.3
Fix
Tag pagination and scan diagnostics
Follow-up to 2.5.2 for accounts with many tags.
Tag list and tag content pagination fixes.
Full scan diagnostics in the system log to track down "only the last video was upgraded" reports.
v2.5.2
Fix
Newly created tags appear again
Grok rebuilt tags on its asset model as collections; the old folder API stopped updating, so tags created after the change were invisible to the extension.
Tag list and tag download switched to Grok's current API, with automatic fallback to the old one for accounts not yet migrated.
Tag downloads gained prompt-based filenames, like the whole-library source.
Every HD upgrade response is written to the system log for diagnosis.
v2.5.1
Fix
The default download source was broken, so it changed
Measured on a live account, 11 of the 30 newest library items were missing from the Favorites list, and Grok's own Saved page no longer calls that endpoint at all.
Default source is now the whole library ("All Generated Media"); users who had already picked a source keep their choice.
The download source selector is free for everyone: nobody should be stuck on a source that cannot see their own media.
The free version can scan the whole library for the last 7 days.
Clear hints when the old source is selected, when nothing is found, and when HD upgrade reports nothing to upgrade.
v2.5.0
Feature release
Adapted to Grok's new media backend: whole-library download and 1080p
Grok moved to a conversation-and-asset backend in July 2026 and older versions could no longer see new media. This release (which also ships the never-published 2.4.0 work) rebuilds detection on the new API.
Three download sources: Favorites, Tags, and the new whole library by conversation, each with its own download history, date filters with early stop, and per-conversation folders.
1080p as its own quality tier: downloads take the best available quality, statistics list 1080p separately, and upgrades move one tier at a time (SD → HD, 720p/HD → 1080p). 1080p upgrades are opt-in and stop immediately if the account has no access.
HD upgrade for the whole library, not just favorites, with a quality breakdown before you confirm and a stop button during the scan.
Naming: image filenames use the real generation prompt, videos use their source image's prompt, folders use yyyymmdd_prompt_shortid, and the "Grok native" mode matches its documented format.
Scan results are stable between runs; memory stays flat on libraries of 15,000+ items.