Skip to content

Update dependency blume to v1.7.0 - #688

Merged
timmo001 merged 1 commit into
distro/arch-omarchy-quattrofrom
dot-renovate/timmo001/blume-1.x
Sep 18, 2026
Merged

timmo001 merged 1 commit into
distro/arch-omarchy-quattrofrom
dot-renovate/timmo001/blume-1.x

Conversation

@timmo001

Copy link
Copy Markdown
Owner

This PR contains the following updates:

Package Change Age Confidence
blume (source) 1.6.5 → 1.7.0 age confidence

Release Notes

haydenbleasel/blume (blume)

v1.7.0

Compare Source

Minor Changes
  • 78aadc8: Bundle Mermaid and the EPUB generator only for sites that use them. Both were dynamic imports, so they never loaded on a page that didn't need them, but they were still built on every blume build — over 3 MB of client chunks (ELK, Cytoscape, KaTeX, every diagram type) that most sites never serve, and most of the client build's memory. The generated runtime now decides at generation time whether any page has a mermaid fence and whether export.epub is on, and leaves the libraries out of the module graph otherwise; the dev server also stops pre-bundling them for sites that don't need them.
  • 51eb2ac: Leave collapsed sidebar sections out of the page. In group and page display modes, a section that isn't open on the current page no longer ships its rows in that page's HTML; the empty disclosure or panel fetches a prerendered fragment on first open (prefetched on hover or focus, and kept for the visit), so a large site's pages carry only the open section instead of every section on every page. Group ids are now stable across tab-scoped views of the sidebar.
Patch Changes
  • ede3c94: Cache rendered OG cards between builds. Each card is stored under node_modules/.cache/blume/og, keyed by everything that decides its pixels (title, description, branding, palette, fonts, and the Blume version), so a rebuild renders only the cards whose inputs changed and reads the rest back from disk. The build log reports how many cards were reused, and cards no page asks for any more are pruned after each build.
  • a43c1d9: Paint code-block language icons from the theme instead of inlining an SVG in every block. A block now carries data-icon="<slug>" and the theme masks the brand path onto it, with one rule per language the site's Markdown uses, so a page with twenty TypeScript blocks no longer repeats the same 1 kB logo twenty times. Set icons rendered by the Icon component are deduplicated the same way, through a per-page sprite.
  • 7b7d585: Prerender pages concurrently. The build now renders up to eight pages at once (one per available CPU below that), so the main thread renders the next page while a page's OG card renders on a native thread and its HTML is written to disk, instead of idling behind each page's off-thread work. A 1,400-page site's route generation phase runs in roughly half the time.
  • 903eec0: Render the sidebar's group rows (collapsible summaries, flat headings, drill-in buttons, and the links inside them) through theme utility classes, as page rows already are, so a sidebar with many groups adds a few dozen bytes per group to every page instead of several hundred.
  • 7b7d585: Shrink the sidebar's per-page cost. Every page's HTML carries the whole sidebar, so on a large site the sidebar was most of every page: each row now renders as a single theme utility class (blume-nav-link) instead of a dozen Tailwind classes, a bare row drops its inner spans, and groups that don't contain the current page are rendered once per build and reused across pages. A 1,400-page site's pages go from about 570 kB to under 190 kB each, and the build's HTML output shrinks and renders accordingly.
  • 4005c27: Load the curated Google fonts that ship as variable fonts (every preset except IBM Plex Mono, IBM Plex Serif, and Space Mono) as one weight range, so each page declares one @font-face per style instead of one per weight — the same font files, a quarter of the inline font CSS. A configured "100..900" range now reaches Astro in the form it understands; it previously loaded nothing for that weight.
  • 071e35d: Fix blume dev and blume build failing on Windows with Cannot find module '@astrojs/mdx' under Bun's isolated linker. The hidden runtime's node_modules link is now a directory symlink (falling back to a junction where symlinks need elevated privileges), because Windows can't follow the relative symlinks Bun writes into Blume's dependency directory when they're reached through a junction.

v1.6.6

Compare Source

Patch Changes
  • 2c373ef: Stop repeating API in generated descriptions when the name already says it. API reference overview and operation meta descriptions no longer turn a spec titled Example API (or Payments APIs, Example API v2) into Example API API, and the generated /openapi.json title no longer doubles the word for a site titled the same way.
  • 520a660: Write the deploy artifacts from the integration's astro:build:done hook instead of after astro build returns: the search index and hosted-provider sync, llms.txt, sitemap.xml, robots.txt, agent-readability.json, the .well-known discovery files, Agent Skills, and the platform _redirects/_headers files now land in the directory Astro reports as its client output during the build. blume build output is unchanged. An ejected app keeps producing all of them from plain astro build — its config tells the hook to scan the project — so blume eject no longer warns that they are lost.
  • a63c10e: Serve the prerendered per-page JSON documents on Cloudflare server builds whose requests run through the Worker: the wrapper answers them from the asset binding (conditional revalidations included) instead of letting Astro hand them to the /api/ catch-all, and .json files stay on the static path under a deployment base or the coarse worker-first fallback.
  • 1197e8b: Opt Cloudflare server builds out of Astro sessions with session: false instead of configuring an in-memory session driver. Blume never reads Astro.session; the driver only existed to keep @astrojs/cloudflare from declaring a SESSION KV binding, which Astro's opt-out now does directly.
  • 1328384: Declare Blume's page front-matter schema on the generated content collections, so entry.data in the runtime is typed and normalized the same way the scan's page metadata is. Custom front-matter keys pass through, and a page the scan already dropped as invalid resolves to defaults instead of failing Astro's content sync.
  • 4f5660b: Honor Accept: text/markdown and send the homepage agent-discovery Link header in blume dev when deployment.base is set. Astro's dev server rewrites the base off the URL before Blume's handler runs, so stripping it a second time left every request unmatched.
  • bbdaa55: Keep the dev server up across page adds, removes, and folder renames. blume dev used to stop and recreate the Astro server on every route-set change; it now asks Astro's content layer to re-sync (refreshContent) and republishes the Markdown-negotiation routes in memory, so the generated config no longer changes with content and Astro never restarts in place for it. A moved page answers under its new route within a second, and editing an <include> partial re-syncs the store the same way instead of touching page mtimes.
  • 6b9f367: Drop the image-size dependency. Its ICNS, HEIF/AVIF, and JXL parsers can be driven into an infinite loop by a crafted file with a zero-sized box or entry, which would hang blume audit or a build, and no patched release exists. The audit's Open Graph image checks now read dimensions through sharp, the image optimizer the build already ships, which covers the same formats and rejects malformed input instead of looping on it. SVG logos for the header and the OG card are measured by a small root-tag parser with the same rules as before: explicit width/height, a viewBox fallback, and CSS units at 96dpi.
  • 7ee1100: Show Blume's config and content errors in the browser error overlay during blume dev on published installs. The dev-server handle was a module-level variable, and the CLI bundle and the copy of the integration Vite loads are separate module instances, so the overlay only ever worked inside the Blume repository itself. The handle now lives on globalThis, like the runtime data registry.
  • 6b26322: Improve Ask AI grounding for conversational follow-ups and long structured pages. A bare follow-up ("Why?", "And then?") retrieves from the earlier user turn, a short follow-up keeps that turn's best match in view behind its own, and a question that names its subject always leads. Excerpts now keep whole Markdown sections — heading, list, and code fence intact — chosen by how well they cover the question rather than by length, and pages are parsed once per endpoint instead of per request. A closing code fence must now be bare, as CommonMark requires, so a same-length fence line with an info string inside an open block no longer ends it.
  • 8d32eb3: Keep <include>-bearing Markdown pages fresh through Astro's documented loader context instead of patching the content store's writes. The collection loader now records a digest of each including page's partials in the collection's meta store and evicts the page's entry when that digest changes, so Astro's glob loader re-renders it on the next sync exactly as it would a new file. Same behavior on a partial edit in dev and on a warm-cache production build; no more replaying the store's private import bookkeeping.
  • e9cd88f: Declare the blume:* virtual modules through Astro's injectTypes hook instead of a generated src/env.d.ts. The declarations now live under .astro/integrations/blume/ and are referenced from Astro's own types.d.ts, so every project that mounts the integration — the hidden runtime and an ejected app alike — gets them without a hand-written file. A project tsconfig.json no longer needs .blume/src/env.d.ts in its include.
  • 3e58b91: Load only the selected CLI command, reducing startup time for every command.
  • f04afce: Read the Vercel function bundle audit's imports with es-module-lexer instead of a text scan, so code samples inside the MCP data chunk (a page quoting import { config } from 'dotenv' or await import('bcryptjs')) no longer fail blume build as missing packages.
  • 3422d29: Read provider secrets through Astro's getSecret() from astro:env/server instead of process.env: the Ask AI endpoint's provider key (and the AI Gateway key, now passed to the gateway provider explicitly), the Mixedbread search endpoint's key, and <GithubInfo>'s GITHUB_TOKEN. Each adapter supplies secrets its own way, so a Cloudflare deployment's Worker bindings now reach these endpoints the same as environment variables do on Node and Vercel.
  • 9dde9cb: Default <html lang> and dir in every document shell to the locale Astro resolves from the URL (Astro.currentLocale), then the site's default locale. A custom pages/ page or a Scalar reference page under /fr/ rendered as lang="en" unless it passed locale itself; the content catch-all still passes the manifest's locale, which also covers fallback pages.
  • 8bbf9a1: Set Astro's trailingSlash: "never" in the generated config instead of hand-splicing a trailing-slash redirect into the Vercel routing config. Blume already treats the slashless URL as the one address for a page (canonicals, sitemap, hreflang), so Astro now enforces it too: blume dev answers /guide/ with a 404 that names the setting, an on-demand server route redirects to /guide, and the Vercel adapter emits the same 308 route from the config that Blume used to splice by hand. Prerendered pages on static hosts are served exactly as before.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@timmo001
timmo001 merged commit 048aa66 into distro/arch-omarchy-quattro Sep 18, 2026
20 checks passed
@timmo001
timmo001 deleted the dot-renovate/timmo001/blume-1.x branch September 18, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant