Skip to content
DevMeme

DevMeme · Changelog

What shipped

DevMeme changes daily — this is the receipt. Each update covers everything that landed the day before, straight from the commit log (125 changes).

The bigger changes, explained

Commit subjects say what moved. These say what it means for you.

covering Sunday, July 26 · 2 changes

  • feat(meme) F1() racing mode — one-frame prev/next paging 1682bd1
  • fix(meme) stop leaking the deep-dive article abstract onto meme pages c7e6219

covering Saturday, July 25 · 3 changes

  • seo(sitemap) regenerate after deep-dive SEO backfill — lastmod for 6709 /deepdive URLs, +212 tags b7cd66f
  • docs(meili) sorted search is global only because the sort ranking rule leads fd0af91
  • seo(feed) crawlable /?page=N over the home feed + sitemap d8ce617

covering Friday, July 24 · 12 changes

  • chore(seo) add the 9 /changelog release notes to the sitemap d7da730
  • docs(dates) owner directive — publishedAt stays null for pipeline memes 63dc228
  • fix(feed) homepage chronology broke at card 31 606fafb
  • feat(changelog) hand-written release notes at /changelog/<slug> 32cb824
  • feat(seo) distinct OG card for deep-dive articles 977958a
  • docs(cache) corpus-wide content refresh needs a deploy, not per-path invalidation 053aaf4
  • fix(deepdive) article comments = jokes + reader rows, not reader only 02a89d3
  • feat(seo) deepdive articles link to deep dives, not memes 7357466
  • fix(seo) deepdive dates — one rule for metas, JSON-LD, and the visible line 0c98285
  • feat(seo) deepdive articles consume generated sidecar fields (P4) 695cbde
  • chore(seo) regenerate sitemap from prod Meili — +6676 /deepdive article URLs (24319 total) a1b18c6
  • feat(deepdive) decouple deep dives onto /deepdive/{slug} article pages 36cac0f

covering Thursday, July 23 · 4 changes

  • feat(seo) prefix meme titles with DevMeme e13731b
  • fix(search) SSR ?q= must rank by relevance (idx:desc default misaligned client paging) 19160a3
  • feat(search) SSR-honor ?q= on / + browser-cache /api/memes (kills back-nav grid flash) b8013e4
  • chore remove stale skill wording 2a7b253

covering Wednesday, July 22 · 10 changes

  • feat(seo) per-surface sitemap facet gating + full-corpus regeneration c170444
  • feat(browse) per-surface taxonomy counts (memeCountMobile) + honest /categories total 5830b35
  • fix(test) complete redis/client module mocks 9fa2a45
  • fix(deploy) refuse same-SHA redeploy, bound asset union to previous build manifest 4682137
  • docs(meilisearch) per-surface taxonomy counts (memeCount/memeCountMobile) + pipeline cross-links ab435d3
  • chore remove Superpowers tooling aa1d17c
  • chore clear absorbed agent notes 6ca9344
  • feat(deploy) blue-green deploy with per-build Redis cache generations 7ece594
  • fix(deploy) ship origin/main tip; local tree state is not a gate 7d6b396
  • fix(sw) stop intercepting images; browser HTTP cache owns /media/* cb157a7

covering Tuesday, July 21 · 14 changes

  • fix(auth) render header identity from session snapshot on swap f2e6e11
  • docs(growth) pause Reddit suggestions per owner directive b050ff6
  • docs(growth) catalog TinyLaunch-class publish platforms for DevMeme 038907f
  • docs refresh frontend README b6eeb94
  • feat(api) expose native parity read contracts 0eddde8
  • fix(sync) reconcile rejected local mutations 7f33889
  • feat(sync) preserve timestamped mutation intent 9d3f0d4
  • fix(auth) bound native auth Redis outages e86ab85
  • feat(native) add bound auth handoff contracts 0c6161c
  • fix(auth) bound Redis session outages 0fbb7c6
  • feat(auth) accept validated native bearer sessions 1af36f2
  • fix scan view buckets without redis keys 07de7bb
  • fix distinguish unavailable sessions 7038f13
  • feat add Android client contract 1df530b

covering Monday, July 20 · 1 change

  • perf main search debounce 250ms -> 33ms (~2 frames); runId+abort guards handle response races 92287b0

covering Sunday, July 19 · 8 changes

  • copy kill 'Gallery' — nav/footer say Latest, CTAs 'Browse the latest memes', legal prose 'collection' 3a8d1ed
  • feat persist deep-dive collapse choice in localStorage 0bf7f98
  • fix view-transition morph parity for JS-rendered cards + modern-CSS micro-interaction batch c4a81f2
  • docs lock in every-link prefetch + warm-cache contract so future agents don't regress it 63ee715
  • fix Gate-2 findings — UNLINK rotation, compact prefetch parity, 4MiB cap, TTL re-warm, O(1) stats 59dde7f
  • fix(page-cache) new-entry store no longer recalculates the whole cache 1f67726
  • feat aggressive full-page prefetch + full-corpus deploy cache warm 46ee439
  • docs(growth) DevMeme brand rules + 2026-07-19 link execution status 221af6e

covering Saturday, July 18 · 3 changes

  • fix stop prefetch storm starving clicks and images 30ecdcb
  • fix pointer guard re-defers queued commits when a new press is held 3e4455c
  • fix restore desktop card clicks c65b3a0

covering Friday, July 17 · 9 changes

  • docs(seo) record compact dual-index canonical policy 016cca5
  • feat desktop-UA 302 guard off /compact, crawler bypass on device redirects, SW compact caching mobile-only (v9) b3e4ff0
  • feat(seo) drop desktop rel=alternate mobile pairing (consolidation signal) 4d4ed1f
  • feat(seo) compact pages self-canonical — separate indexable URL family, compact-family schema + client swipe metadata 51e6f79
  • feat(seo) sitemap emits compact twin for every pairable desktop URL 721a965
  • chore gitignore agent comms + local key files 685a5dc
  • docs record executed static-sitemap migration plan 3601dfd
  • content(seo) tighten search-guide copy, drop duplicated friday-deploy FAQ 62e8a36
  • docs(growth) consolidate growth/SEO research sprawl into single operating plan d2c9cf3

covering Thursday, July 16 · 4 changes

  • feat(seo) add editorial field guide foundation 04955e0
  • feat collapsible deep-dive explanation, map stays visible f658a88
  • fix(seo) mark homepage sitemap hourly fbb8f88
  • ui restore Telegram source link 4a4468f

covering Wednesday, July 15 · 9 changes

  • docs clarify PM2-only deploy cb4efc4
  • chore remove obsolete PM2 migration scaffolding 70f70a9
  • fix start PM2 child on module import eefabfd
  • fix load PM2 child env before imports eb0bfd8
  • feat run DevMeme as fixed PM2 cluster 7b401a0
  • feat(seo) serve committed static sitemap 364d8ba
  • docs define external review gates e16d453
  • docs specify three-month changelog ac50b75
  • Change of footer 1dd66bc

covering Tuesday, July 14 · 4 changes

  • fix share canonical meme links only 5903250
  • seo preserve compact slug after hydration 2883ef1
  • seo redirect meme aliases to slugs 29acc28
  • ui hide Telegram source link 1e014ad

covering Monday, July 13 · 6 changes

  • seo complete freshness and crawler verification 7a61c5c
  • seo improve result quality and trust signals 81c6f31
  • seo synchronize compact swipe metadata c29a744
  • seo render compact feeds in server html 7033f5b
  • seo harden facet crawl contracts ef559d5
  • seo align desktop and compact canonical signals fb97bfe

covering Sunday, July 12 · 10 changes

  • seo fix image alt and document caches 2ca3963
  • profile authored comments — desktop section + /profile/comments page + compact screen b81cf94
  • comments unify compact drawer with desktop — one flat list, all authors equal c480ba0
  • auth guest vote/reply prompts centered sign-in modal — controls stay visible 20c158c
  • hide trending rank badge for now (render-gated with false &&, not removed); flip unit assertions 93543a1
  • feat /changelog — daily digest of last 2 weeks from git log (unlinked, direct URL only) 8a15dc0
  • decommission new.devme.me: apex devme.me is production — drop alias from allowedDomains/CSRF example, flip script defaults + living docs (nginx now 301s new.devme.me → devme.me) fc9ca2a
  • og redesign default share card — dark brand, brag messaging (actually explained, L1-L4 depths, deadpan stats) 67883f8
  • analytics Microsoft Clarity tag (qz3eu0y36m, same project as old prod) in both layouts, prod-only f349c39
  • fix keep disabled communities response private a80f6ff

covering Saturday, July 11 · 12 changes

  • comments hover-reveal branch controls — resting rows are pure content afbbccd
  • comments density pass from full padding audit 10bb5ca
  • comments kill dead vertical band under rows — branch controls + rating into meta line 0f45eec
  • comments votes inline in actions row; auth-gate user controls signed-out 514f00c
  • fix rollback deletes replies deepest-first (UserComment parent relation forbids deleting a parent with live children, P2014) 4826c06
  • revert bot filtering from importer — extraction layer (root repo src/extraction) owns source cleanliness; importer trusts the JSONs b2f141b
  • seo compact pages are first-class in sitemap — self-canonical /compact/* (drop cross-canonicals to desktop + noindex on compact categories/tags), sitemap emits desktop+compact twin per entry, add /privacy + /terms, communities prepared but commented out, drop desktop rel=alternate mobile links 58158fd
  • feat skip group-bot pollution on import — bot authors (isBot flag / *bot username) and /command@bot invocations; no pseudo users for bots e32020a
  • gitignore generated brag-output dirs 1146f54
  • fix desktop comment thread UI: drop L2/L3 depth badges, icon-only Reply/Focus, single-rail indent, compact vote rail, no '-' rating placeholder, reply-count pluralization 84225ae
  • fix channel pseudo-user is dev_meme (real channel), not devmemez (stale June plan name) c01f44d
  • feat one-time Telegram discussion comments import as UserComment rows 0c03fe3

covering Friday, July 10 · 14 changes

  • fix compact profile visual scale 6966a1b
  • prioritize compact profile activity 3c5560f
  • fix compact account connection copy d2caf65
  • fix compact profile visual hierarchy 5bfe451
  • record compact staging verification 59bcd4c
  • focus compact auth sheets 2c7dd83
  • refresh compact launch evidence matrix d767860
  • clarify saved fallback thumbnails cb9fb39
  • align compact behavior documentation df2ee19
  • make compact trending context honest 9cc8a2e
  • polish compact meme interactions 4e7fff9
  • unify compact profile and saved flows 6459b1c
  • refine compact discovery browsing fecde44
  • polish compact navigation and theme ffc49d1