Skip to main content
/ CHANGELOG
latest 2026.09.25 (561)

Changelog

Release notes for this site, generated from the commit history. One release per day that shipped something visible.

$(click to copy command)git log --format=release | head -27⌘C
  1. 2026.09.25
    build 561
    • fixblog: align the RAG post's vault stories with the vault config0b82c6c
    • fixadapt dependency updates to Astro 7 markdown and preview859a3ec
    • fixcontent: say Astro 7 and drop the literal "--" in the shell hint5168ad0
    • fixblog: correct LazyGraphRAG and GraphRAG cost claims in RAG post1cb316c
    • fixblog: apply audit style findings to the RAG postf60b4e5
    • fixblog: address remaining review findings in the RAG post6a1e215
    • fixblog: address remaining review findings in the network post30c6ede
    • fixblog: tighten style of the network post in both languagesb96664c
    • fixblog: polish the Russian RAG post after review85d670f
    • fixblog: correct RAG post facts and em-dash rendering83c0c21
  2. 2026.09.05
    build 526
    • fixa11y: restore Lighthouse accessibility 100 on the home page6a1997c
    • featprojects: show real release data from GitHub per projectd88e259
    • featchangelog page generated from conventional commits1d00955
    • featui: one reveal order for every panel: frame, rule, contentc31779f
    • featblog: figure captions open with a FIG field code82e3e8e
    • featblog: show the machine-readable twins in the post header1bcc3e5
    • featblog: set post and index titles in Piazzolla140eaeb
    • featblog: monochrome syntax highlighting for code blocks4f62625
    • featblog: remember reading position and offer to resume987e575
    • featui: vim-style status line replaces progress chrome34294c5
    • featui: split hero, sticky project index, cleaner navb415228
    • perfship blog metadata to islands, stop hero layout shiftd71c8a2
    • fixsettings: render persisted preferences only after mount7c24912
  3. 2026.08.02
    build 481
    • fixblog: sync corrected Russian diagramsedecbc7
  4. 2026.07.27
    build 454
    • fixtypes: pin the bridge API to TypeScript 6.0.2f39eb11
    • fixtypes: make Astro entry types explicit69d2317
  5. 2026.07.11
    build 439
    • featdesign: elevate typography, motion, and operator texture site-wided778c07
    • fixui: resolve full visual UI/UX audit findings across the sitecb047fe
  6. 2026.07.07
    build 426
    • featblog: add network-isnt-broken-just-here post with diagrams17c23a8
  7. 2026.06.21
    build 423
    • fixblog: readable code blocks in light theme53275f0
    • fixblog: build network-isnt-broken-just-here without mobile figures85d3536
    • featblog: add network-isnt-broken-just-here (en + ru)e347b99
  8. 2026.06.20
    build 420
    • featseo: strengthen GEO/AI-crawler discoverability across the site2a68ce1
  9. 2026.06.19
    build 419
    • fixa11y: give the experience view-all link an accessible name7298681
    • fixa11y: meet 44px touch target on contact links49f77ce
    • fixa11y: drop inappropriate role=group on terminal formfd21144
    • fixa11y: resolve label-in-name on view-all links (WCAG 2.5.3)e19ff21
    • fixa11y: give every standalone page a single h11953720
    • fixblog: stop infinite render loop on posts with imagesc2c03c9
    • fixgithub: correct cache-HIT header, align tests with Cache APIcc6ebdc
    • fixseo: json-ld, og/twitter meta, hreflang, robots, rssa3c3f25
    • perfcache API for github routes, font preload, lighter motionbaec9a9
    • fixsecurity: auth hardening, hashed sessions, proxy fixes6ddf13a
    • fixdesign: demote font-mono; remove glass and scale motiond1a2195
    • fixa11y: aria state, dialog, labels, focus, contrast1a2263d
    • fixcontent: seed recurses en/ru, add lang schema, validation66cbf4b
  10. 2026.05.23
    build 368
    • fixci: restore useInView import and replace dropped lucide brand icons687db22
  11. 2026.05.18
    build 338
  12. 2026.05.17
    build 324
    • featprojects: add Heimdall83fe3cd
    • featprojects: rename bite-size-reader to Ratatoskr37ef4b3
    • perfreduce complexity hotspotsa3e607e
  13. 2026.04.24
    build 318
    • fixaddress project audit findings860dfbc
  14. 2026.04.19
    build 317
    • fixog: cache-bust default card URL to evict Telegram preview cachef0f1ce7
    • fixog: render default card instead of blank placeholder5e00414
    • fixdecorations: make zero-event activity bars visibleb5bad7a
    • fixblog: remove picture flicker and mobile horizontal overflow086b75b
    • fixcontent: shrink rag mobile figures to content sizeaa0c561
    • fixblog: sync picture source media with site theme class1f70c49
    • fixblog: satisfy tsc strict checks in ImageLightbox3b6483e
    • featblog: migrate post figures to astro:assets with BlogFigure63b96bb
    • featblog: lightbox thumbnail strip and ?fig=N deep-linking9ae51e1
    • perfblog: inject width/height on post images for zero CLSa66a209
    • fixcontent: re-self-close <source> / <img> in RAG post after resync76ec13b
    • perfblog: preload neighbour figures in the lightbox23053f4
    • fixblog: pick the right picture variant for viewport × theme859b39e
    • featblog: prefer sibling Figure caption over alt in the lightbox424bd24
    • featcontent: regenerate rag article with mobile image sourcesf7a76f2
    • featblog: mouse pan at natural image size in the lightbox90cabb2
    • featblog: follow site theme for lightbox image variant0839732
    • featblog: return focus to the triggering image on lightbox closeea09e4e
    • featblog: swipe to navigate images in the lightbox11c08e4
    • featblog: click-to-zoom lightbox for article images2a5019d
    • fixcontent: self-close <source> and <img> in RAG post MDX4a97733
    • featcontent: publish rag-breaks-earlier-than-people-think (EN + RU)9c8eea6
  15. 2026.04.18
    build 291
    • featblog: piazzolla prose, toc sidebar, wider reading columnb8b763c
    • perffonts: harden cyrillic fallback chain89dea48
    • perfdecorations: defer GitHub fetches until after window.load7e0b5e0
    • feathero: enrich BuildStats and LatestRelease sidebar widgetseb86fb2
    • feathero: enrich LatestPost and Activity sidebar widgetsaa4832d
    • perfloading: preload Geist + lift katex from critical CSSb1b3d2a
    • fixmotion: remove banned geometry reveals and pulse loops1415844
    • fixseo: clean robots.txt and make Link header hreflang absolute661bd85
    • fixtheme: drop border-radius from focus ring for sharp corners62bb82e
    • perfdecorations: defer hero sidebar GitHub fetches to idle05bd7f2
    • perfhero: paint LCP identity panel from SSR HTML11b49d8
    • fixseo: use absolute URLs for hreflang RSS alternates6f64e50
    • fixhome: remove phantom trailing space below blog-statsf0c26a7
    • featagents: expose site tools via WebMCP and a JSON site index0fe2a8a
    • featseo: declare Content-Signal preferences in robots.txta3d2052
    • featseo: add Link response headers for agent discovery2a64659
    • fixprojects: key project links by href to avoid React collision0db1f1d
    • featsite: swap favicon to swiss-style 4 mark5aacccb
    • feattheme: default site to light theme8db7e79
    • featskills: adapt logo-generator for claude + codexf8ae6fa
    • featblog: copy-as-markdown button and reading polishf88858b
    • featblog: improve article reading screen UX1d8f3fa
    • featseo: emit self-referential hreflang on all posts26ca231
    • featseo: generate per-post OG images at build time5220d68
    • featseo: noindex admin routesa922a07
    • featseo: add SoftwareApplication JSON-LD for projectsd8a7623
    • featseo: add raw-markdown route for Russian blog postsc720723
    • featseo: add og:locale and og:site_name3290bba
    • featseo: use ISO dates and enrich BlogPosting JSON-LD557d4ec
    • featseo: add RSS feeds for en and ru blog posts1ba670b
    • featseo: add per-bot robots.txt directives62405da
    • fixadmin: inject react-refresh preamble for dev-mode renderingdc1ec74
    • featanalytics: server-side pageview fallback from the Worker44455b5
  16. 2026.04.17
    build 241
    • featanalytics: drop CF beacon, wire custom events, tighten tracker9e7c1c4
    • fixapi: return empty result on GitHub proxy failureebb9c83
    • featanalytics: serve Umami tracker via first-party cloaked path23342ec
    • fixhome: show full release URL in LatestReleasePanel7154e9c
    • fixhome: drop content-visibility placeholder on null-prone sectionsb82b3da
    • fixblog: remove duplicate language switcher on article pages0113ca7
  17. 2026.04.16
    build 219
    • featblog: add arXiv links and LaTeX math to article6e7dcdf
    • fixhero: add padding to sidebar panels and truncate release URL33862c4
    • featui: animated checkmark, terminal cursor, tag glow trails1b0b9a2
    • featui: nav sliding indicator, scroll gradient, 404 flicker2f69e7b
    • featcursor: add spring smoothing and reactive sizing to cursor glow1f65938
    • featnav: add radial wipe theme switch and sliding language indicator44d4b2a
    • fixblog: merge EN/RU posts in home preview6fa4aa7
    • fixblog: language switcher, list links, CSP font-src7909b2c
    • feathome: replace tag heatmap with GitHub activity calendar8686637
    • fixblog: show post content, replace CPU widget, clean footer21264da
    • fixhero: fix panel padding, truncation, and undefined roleCountd18e9b4
    • fixhero: fix infinite re-render in VisitorContext7bd75b0
    • feathome: replace fake widgets with real GitHub data4a4607b
    • feathero: replace static boot block and sidebar with real data784de1f
    • fixblog: remove broken skeleton loader from blog list pagesde56ab6
    • fixe2e: simplify blog list hydration test348f095
    • fixe2e: update tests for published blog contentf6c748d
    • featanalytics: add Cloudflare Web Analytics and Umami tracking54bc73f
    • fixarch: security hardening, indexes, build robustnessded227d
    • featblog: add first article -- RAG breaks earlier than people think12f8be7
    • fixui: empty blog state, a11y focus, hero cleanupe362997
    • featskills: add design skills and signal-deck systemcd8d0d9
    • fixsecurity: patch hono vulnerabilities in accesslint-mcp4fa56c2
    • fixsecurity: patch hono vulnerabilities in cms-mcp50ea0e4
  18. 2026.04.15
    build 187
    • featblog: add GFM, LaTeX math, and figure support to MDX pipelinef7e591a
  19. 2026.04.11
    build 175
    • featdecorations: add five real-data homepage widgets87a13fa
    • featterminal: gibson-cyberpunk texture and density upgradeda45c17
    • feathero: replace fake system widgets with real data sourcesce8980a
    • fixlogin: wrap request.json() in try/catch to return 400 on bad JSON4665091
    • featlinks: add app store placeholder in parity with google playbba153f
    • fixdecor: remove infinite scale pulse on booted iOS simulator labels295f02b
    • fixdecor: slow NetworkGraph update interval from 500ms to 3s0ac93dd
    • fixadmin-handler: log unhandled errors with clearer 500 messagea71d5f3
    • fixauth: distinguish bad requests from server errors in passkey verify3df6fab
    • fixhero: bump name heading to text-2xl for visible prominenceb3fb9bd
    • fixlayout: alternate content and decorative sections on the homepagef9a39ba
    • fixa11y: raise /40 opacity to /70 on informational UI text for WCAG AA267a843
    • fixmotion: respect in-app reduceMotion for homepage section reveals2bd664a
    • featauth: enforce per-session capability scoping in withAdmin2534c23
    • fixauth: stop refreshing setup-token lifetime in register-options2b19642
    • fixtests: resolve TypeScript errors under noUncheckedIndexedAccessb61d141
    • fixe2e: realign data assertions and stabilize blog filterf81e6be
    • fixpatch basic-ftp CRLF injection vulnerabilities95817b5
  20. 2026.04.08
    build 150
    • fixbump astro group and patch defu prototype pollution vulnerabilityc35b0b0
  21. 2026.04.06
    build 136
    • fixclose missing bracket in html tag in MainLayout.astro8bdb32f
  22. 2026.04.04
    build 135
    • feati18n: add site-wide EN/RU language switch with blog translations00d80b7
    • fixsecurity: add headers, HttpOnly cookies, safe SQL86150f8
    • perffonts: self-host JetBrains Mono, drop Google Fonts515383e
    • fixresolve React hydration mismatches in Nav and ReorderableGroupdafc028
  23. 2026.04.03
    build 130
    • fixe2e: resolve strict mode violation for duplicate name texted9c460
    • fixtests: align tests with withAdmin, passkey, and schema changesc1f2d2d
    • featadd favicon with terminal prompt designc9a0961
    • featauth: add passkey (WebAuthn) authentication for admin panel8a81aca
    • featmcp: add CMS server for file-based content management48d1229
    • fixa11y: raise footer and nav label contrast to pass WCAG AA7d2abfe
    • fixa11y: raise functional text contrast and bump accent for WCAG AA5b2d9c0
    • fixp3 polish (reduced-motion, throttle, clipboard, DRY types)4e7398e
    • fixsecurity: require Origin or X-Requested-With on mutations57d20ff
    • fixapi: add jsonError helper and set Content-Type on all errors9de3dd3
    • fixtypes: resolve TypeScript errors in production code57523f9
    • fixsecurity: add URL/email/date validation to Zod schemas62f3ccf
    • perfdefer non-critical island hydration to client:idle1758fe3
    • fixa11y: raise contrast on functional project text elements04e13c4
    • featadd ErrorBoundary to key React islandsb357b83
    • fixapi: add in-memory cache to GitHub repos endpoint63af121
    • fixseo: add canonical URL, OG image, and Twitter Card meta tags9fe6dd5
    • fixhydration: add useClientValue hook for SSR-safe valuesbf6c757
    • fixparallax, toolchain config, theme toggle polish238abdd
    • feathero: add visible heading, CTAs; trim sections and fonts47ef892
    • fixa11y: raise text opacity to meet WCAG AA contrastfc7e8b7
    • fixhydration: use useSyncExternalStore for Date valuesaa55671
    • fixtheme: unwrap Zustand persist format in inline scriptsf507fb2
    • perfasync font loading, lazy-load shortcuts dialog, inline cursor glow7e5e69e
  24. 2026.04.02
    build 102
    • fixdeploy: add custom domain route to wrangler configb4b353d
    • fixmigrate API routes from locals.runtime.env to cloudflare:workers7d27554
    • fixci: remove deprecated --commit-dirty flag from wrangler deployc15f7bc
    • fixsecurity: use single-pass HTML entity decoding (CodeQL #1)d1a0df4
    • fixsecurity: patch tmp symlink vulnerability (GHSA-13)17a58ab
    • perfadd resource hints, prefetch, and optimize hydration5570ab7
    • fixa11y: add skip link, ARIA states, form labels, headings222614e
    • featadd content-visibility, safe area insets, and font optimization87c3030
    • featsecurity: add rate limiting, CSRF protection, and session rotationc20873f
    • featenhance mobile layout, touch feedback, and typography408afb9
    • fiximprove mobile responsiveness across public site and admin panelcf6b0f4
    • fixupdate project-specific skills with correct paths and workflow4eba767
    • featauto-generate blogData.ts from MDX content files0f1efe8
    • fixdeploy: switch to worker deploy using Astro-generated wrangler.jsonf33b535
    • fixdeploy: configure pages_build_output_dir to fix 404 on deploy5ea238d
    • fixci: set wranglerVersion to 4 for deploy action6a12df5
  25. 2026.04.01
    build 77
    • fixpin vite to v7 via overrides to prevent build failure38cb369
  26. 2026.03.30
    build 68
    • featadd custom sub-agents for automated code quality workflowsd5ddb35
    • featadd project-specific Claude Code skillsc38dc8a
    • fixresolve build and lint issuesb6e16af
    • featExperience: add animated count-up on numeric metrics71a0a6e
    • featTerminal > OutputBlock: add click-to-copy on output blocksab629dd
    • featadd subtle cursor glow effectf374741
    • featExperience: add SVG connection lines between matching tags2770587
    • featadd global keyboard shortcuts with help overlay3fff4d9
    • featTerminal > Cmd: add per-character typing reveal on command prompts6550fb4
    • featDecorations: add scroll-driven reactive system load7435382
    • featadd LLM discoverability and structured data7f2fef1
    • featDecorations: add draggable panel reordering with Alt+drag1facf04
    • featTerminal: expand into site exploration tool030c807
  27. 2026.03.28
    build 35
    • perflazy-load decorative components with React.lazyeb2904e
    • fixadd server-side session cleanup on logoute4e3203
    • fixresolve all TypeScript compilation errorsc77b912
    • featadd 12 animation and visual style improvements7d91e6c
    • fixadd Zod input validation to admin API routes6da279d
    • fixresolve all ESLint errors across codebase0d4ae8c
    • featadopt new dependency features and fix deprecated APIs2056f0a
    • featadd Astro View Transitions for SPA-like navigation9b8c0f5
    • featintegrate TanStack Query with Cloudflare D1 backendb0c88d4
    • featadd taste-skill design skills for Claude Code and Codexc3d846b
    • featadd Impeccable design skills for Claude Code and Codex3b4c1b6
    • featintegrate MotionConfig for reduce-motion and SSR-safe scroll863a919
    • featmigrate from React SPA to Astro with React islands architecture6c140f7
    • featadd project files from Figma Make exportefe30e2
interactive shell — try: help, ls posts/, cat ratatoskr, open blog, neofetch

© Nikita Pochaev