Changelog

Release notes for packages.

August 2026

  1. fumapress@1.0.0-beta.3

    linkValidationPlugin gained a report option. It still fails the build by default, but can now write dist/fumapress-diagnostics.json instead, so a CI check can annotate a pull request rather than parse an error message.

    linkValidationPlugin({ report: "json" });

    Use "both" to write the file and still fail the build. The file is written on every build, so an empty diagnostics array means validation ran and found nothing, rather than that it never ran.

  2. fumapress@1.0.0-beta.3

    The tags page hardcoded /blog/tags/{tag} for every tag, so a blogPlugin configured with a custom paths.tags linked to a route that was never generated, and localized sites dropped the locale prefix. Both cases returned 404. Links now resolve against the configured tags path and the current locale, matching the tag links already rendered on blog posts.

  3. fumapress@1.0.0-beta.2

    Support the Glass layout

    Added fumapress/layouts/glass, a layout wrapper for the new Glass layout from Fumadocs UI. It accepts the same options as the docs & notebook layouts, and works with built-in plugins (OpenAPI, AsyncAPI, GraphQL, llms.txt).

    press.config.tsx
    import { createGlassLayoutPage } from "fumapress/layouts/glass";
    
    const GlassLayout = createGlassLayoutPage<typeof config.$context>();

    It requires Fumadocs UI v16.12.0 or above, remember to import fumadocs-ui/css/generated/glass.css in your CSS file.

  4. @fumapress/ai@1.0.0-beta.2

    Fix aiPlugin export

    aiPlugin was re-exported as a type-only export, so import { aiPlugin } from "@fumapress/ai" failed at runtime. It is now exported as a value.

    Support the Glass layout

    aiPlugin now binds AI chat to the Glass layout's native aiChat option, the Ask AI trigger is shown in the layout header & sidebar instead of a floating button.

  5. @fumapress/graphql@1.0.0-beta.2

    Add the GraphQL integration

    Generate API docs from your GraphQL schema with @fumadocs/graphql:

    press.config.tsx
    import { createGraphQL, graphqlPlugin } from "@fumapress/graphql";
    
    const graphql = createGraphQL({
      input: [path.resolve("./schema.graphql")],
    });
    
    export default defineConfig({
      content: {
        docs: docs.toFumadocsSource(),
        graphql: await graphql.staticSource({ baseUrl: "/" }),
      },
    }).plugins(graphqlPlugin({ server: graphql }));

July 2026

  1. create-fumapress@0.1.5fumapress@1.0.0-beta.1
  2. @fumapress/notion@1.0.0-beta.0
  3. fumapress@1.0.0-beta.0
  4. fumapress@1.0.0-beta.0
  5. fumapress@1.0.0-beta.0