Skip to content
← Offset

Changelog

Every Offset release, newest first, for both editions. Updates are free for every license; download them from your account or pull them from GitHub.

  1. v1.0.1

    Latest

    Documentation only; no change to pages, sections or styles.

    Astro

    • README: lists every script that runs in the browser (the light/dark switch, the logo strip's pause button and the sections that rise in were missing), explains how the light/dark switch remembers a choice and how to remove it, and adds a Motion section: the marquee logo strip and the reveal, and that reduced motion stops both.

    Next.js + Sanity

    • README: lists every script that runs in the browser (the light/dark switch, the logo strip's pause button and the sections that rise in were missing), explains how the light/dark switch remembers a choice and how to remove it, and adds a Motion section: the marquee logo strip and the reveal, and that reduced motion stops both.
  2. v1.0.0

    The first release.

    Astro

    • Pages: home, work (every project), a case-study page per project, services (disciplines with deliverables, process, FAQ), studio (story, figures, values, team, timeline, open roles), a journal with pagination and a page per post, contact (form beside the studio addresses, FAQ), privacy and terms shells, a thank-you page for forms, and a 404 page.
    • Case studies: one MDX file per project with a typed front matter (client, year, services, cover, facts, live link, outcomes, client quote, gallery, order, featured). Each page gets a case header, the story in a readable column, a gallery mosaic, the outcomes in figures, the quote and the next two projects.
    • Presets: Offset (ink and white, light and dark), Riso (warm paper with a red-orange action, light) and Night (near-black with a coral action, dark), switched with one import in src/styles/global.css. Self-hosted fonts under the SIL Open Font License; Offset sets headings and text from one Archivo file using its width axis.
    • Content: collections for projects, journal posts (Markdown and MDX), authors and site settings (navigation, footer, announcement bar, form endpoints); page copy in typed data files.
    • Journal: prose styles for headings, lists, quotes, code (coloured by the preset), images with captions and tables; reading time, author box, related posts, RSS feed.
    • SEO: titles, descriptions, canonical links, Open Graph images for every page, case study and post (the home page uses the drawn studio card), JSON-LD for the organisation, the website, case studies, journal posts and FAQs, a sitemap and robots.txt.
    • Forms: contact and newsletter forms that post without JavaScript to an endpoint you choose, with a honeypot field against bots; an optional Cloudflare Worker handler that fails closed and never logs what visitors send.
    • Deploying: ready for Cloudflare Workers (static assets), Netlify and Vercel.
    • Demo images: covers, galleries, journal covers, client logos, team portraits and the social card, all drawn by pnpm draw-demo; no stock photos, real people or real brands.

    Next.js + Sanity

    • Pages: home, work (every project), a case-study page per project, services (disciplines with deliverables, process, FAQ), studio (story, figures, values, team, timeline, open roles), a journal with pagination and a page per post, contact (form beside the studio addresses, FAQ), privacy and terms shells, a thank-you page for forms, and a 404 page.
    • Case studies: one project document per case study (client, year, services, cover, wide image, facts, live link, outcomes, client quote, gallery, order, "Show on the home page") with a rich-text body. Each page gets a case header, the story beside its headings, a gallery mosaic, the outcomes in figures, the quote and the next two projects.
    • Sanity: a Studio (studio/) with a page builder of 26 section types (work, services, gallery and case header among them), each with its layouts and tones and an optional anchor; projects in their order; journal posts with a rich-text body (headings, lists, quotes, links, captioned images, tables, highlighted code with a file name) and authors; one Site document for the announcement bar, header, footer and organisation. The Presentation tool previews drafts on the site. pnpm seed imports the demo content and images into a new dataset.
    • Next.js: App Router and React Server Components; pages generated ahead of time and refreshed in the background (a minute at most, or at once with the publish webhook); the read token server-only; a Content-Security-Policy.
    • Presets: Offset (ink and white, light and dark), Riso (warm paper with a red-orange action, light) and Night (near-black with a coral action, dark), switched with two lines. Self-hosted fonts under the SIL Open Font License, through next/font; Offset sets headings and text from one Archivo file using its width axis.
    • SEO: titles, descriptions, canonical links, Open Graph images for every page, case study and post (the home page uses the drawn studio card), JSON-LD for the organisation, the website, case studies, journal posts and FAQs, a sitemap, robots.txt and an RSS feed.
    • Forms: contact and newsletter forms that post without JavaScript to the site's own handler, which forwards each submission to FORWARD_URL, fails closed without it, drops honeypot hits and never logs what visitors send.
    • Deploying: Vercel, or Cloudflare Workers through OpenNext.
    • Demo images: covers, galleries, journal covers, client logos, team portraits and the social card, all drawn for the theme; no stock photos, real people or real brands.