Changelog
v1.0.0 (2026-03-10)
Section titled “v1.0.0 (2026-03-10)”Stable Release
Section titled “Stable Release”Velocity reaches 1.0.0 — all Astro 6 beta dependencies replaced with stable releases. No code changes needed; this is a dependency-only upgrade from v0.5.0-beta.
Dependency Changes
Section titled “Dependency Changes”- Astro upgraded from 6.0.0-beta.20 to 6.0.0 (stable)
- @astrojs/mdx upgraded from 5.0.0-beta.12 to 5.0.0 (stable)
- @astrojs/react upgraded from 5.0.0-beta.4 to 5.0.0 (stable)
- @astrojs/check upgraded from 0.9.7-beta.1 to 0.9.7 (stable)
- @astrojs/sitemap bumped to ^3.7.1
CLI Improvements
Section titled “CLI Improvements”- Version-gated migration system — the CLI upgrade flow now uses
fromVersion/toVersionfields to show only migrations relevant to your current version - Protected file notices — upgrade flow warns about files it won’t overwrite (pages, content, config)
- Updated fallback safe list — includes
src/styles/themes/,src/config/nav.config.ts, and deployment configs
Upgrade guide: Beta to v1.0.0 Stable
v0.5.0-beta (2026-03-03)
Section titled “v0.5.0-beta (2026-03-03)”Dependency Changes
Section titled “Dependency Changes”- Astro upgraded from 6.0.0-beta.11 to 6.0.0-beta.20
- @astrojs/mdx upgraded from beta.7 to beta.12
- @astrojs/react upgraded from beta.2 to beta.4
- Vitest upgraded from v2 to v3.2+ (required by Vite 7)
Features
Section titled “Features”- 15 React island components — GoogleMap, FloatingHeader, MobileMenu, ThemeToggle, CookieConsent, SearchDialog, Accordion, Tabs, Toast, and more
- Floating header with scroll-aware show/hide behavior
- Extended theme system —
src/styles/themes/directory for multi-theme support - ClientRouter integration for view transitions
- GoogleMap component with API key support via
astro:env
Improvements
Section titled “Improvements”- Simplified README
- Lint fixes across the codebase
- Version-gated migrations in
velocity-manifest.json
- Astro 6 beta.20 changed image defaults: cropping enabled by default, no upscaling
- Heading ID generation algorithm changed — verify anchor links in MDX content
- Script and style tags now render in definition order
v0.4.5-beta (2026-02-15)
Section titled “v0.4.5-beta (2026-02-15)”Features
Section titled “Features”- Cookie Consent Manager — Full consent banner with Accept All / Decline All / Customize, per-category settings panel via Dialog, Google Consent Mode v2 integration, localStorage persistence with versioned re-consent
- Two consent modes —
consent_mode_v2(cookieless pings with denied defaults) andstrict(full script blocking until consent) - Consent configuration —
src/config/consent.config.tsfor categories, UI text, GCM type mapping, and show delay - New env vars —
PUBLIC_CONSENT_ENABLEDto toggle consent on/off,PUBLIC_PRIVACY_POLICY_URLfor the privacy link
Security
Section titled “Security”- Removed Astro CSP — Auto-hashing of
<style>blocks makes'unsafe-inline'ineffective per the CSP spec. Will revisit when the Astro CSP API is stable. - Simplified security headers — 4 zero-maintenance headers via
vercel.json:X-Content-Type-Options,X-Frame-Options,Referrer-Policy,Permissions-Policy - Dropped
X-XSS-Protection— Deprecated header that can introduce vulnerabilities in older browsers - Kept
checkOrigin: true— CSRF protection via Astro’s origin checking
Bug Fixes
Section titled “Bug Fixes”- Fixed mobile menu backdrop blur —
.mobile-menu-blurwas in a scoped<style>block but applied to elements outside the Header component; changed to<style is:global> - Fixed Analytics race conditions and duplicate event listeners
- Fixed dynamic consent mapping bugs in GCM integration
Upgrade guide: v0.4.x-beta to v0.4.5-beta
v0.4.0-beta (2026-02-12)
Section titled “v0.4.0-beta (2026-02-12)”Dependency Changes
Section titled “Dependency Changes”- Astro upgraded from 6.0.0-beta.9 to 6.0.0-beta.11
- @astrojs/mdx upgraded from beta.5 to beta.7
- @astrojs/check upgraded from 0.9.6 to 0.9.7-beta.1
- Replaced
@resvg/resvg-jswithsharpfor OG image generation — Sharp is already bundled by Astro, removing the need for a platform-specific native binding and its Vite workarounds - Removed stale
image.pngfrom project root
Simplifications
Section titled “Simplifications”- Removed
ssr.externalandoptimizeDeps.excludeentries for@resvg/resvg-jsfromastro.config.mjs
Upgrade guide: v0.3.x-beta to v0.4.0-beta
v0.3.1-beta (2026-02-10)
Section titled “v0.3.1-beta (2026-02-10)”Improvements
Section titled “Improvements”- Standardized component extensibility — Badge, Avatar, AvatarGroup, Skeleton, Table, Pagination, Progress, Alert, Tooltip, and Separator now extend
HTMLAttributesand forwarddata-*,aria-*, and all other HTML attributes via...attrsspread — matching the pattern already used by Button, Input, and Card - Landing page cleanup — Removed deprecated
Navbar.astroandLandingFooter.astro(dead code replaced by Header/Footer in LandingLayout) - Design token consistency — Replaced hardcoded hex colors in Credibility (
#FF5F56,#FFBD2E,#27C93F) and LighthouseScores (#0cce6b) with CSS custom properties (var(--error),var(--warning),var(--success))
Component Counts
Section titled “Component Counts”- Landing: 5 (was 7, removed deprecated Navbar and LandingFooter)
- Total: 55 components across all categories
v0.3.0-beta (2026-02-10)
Section titled “v0.3.0-beta (2026-02-10)”Breaking Changes
Section titled “Breaking Changes”- UI component directory restructure — Components moved from flat
src/components/ui/into 8 subcategory folders:form/,data-display/,feedback/,overlay/,layout/,primitives/,content/,marketing/ - Import paths changed — Direct imports like
import Button from '@/components/ui/Button.astro'no longer work. Use barrel imports:import { Button } from '@/components/ui'
Features
Section titled “Features”- CVA variant system — All UI components now use
class-variance-authorityfor type-safe variant management - New UI components — Switch, Table, Pagination, Progress, Toast, Accordion, Separator, NpmCopyButton, AvatarGroup, Icon
- New pattern components — SearchInput, PasswordInput, StatCard, EmptyState
- Barrel exports — All UI components re-exported from
@/components/uiindex
Component Counts
Section titled “Component Counts”- UI: 31 (was 33, reorganized with subcategories)
- Patterns: 7 (was 3, added SearchInput, PasswordInput, StatCard, EmptyState)
- Hero: 1 (was 2)
- Total: 57 components across all categories
Upgrade guide: Update all direct imports to barrel imports. See upgrade guide for CVA migration details.
v0.2.0-beta (2026-02-08)
Section titled “v0.2.0-beta (2026-02-08)”Breaking Changes
Section titled “Breaking Changes”- pnpm only — Removed
package-lock.json, pnpm is now the sole package manager - Zod migration — Replaced standalone
zodwithastro/zod(Zod 4);z.string().email()is nowz.email() - Removed
astro-seo— Replaced with native<meta>tags inSEO.astro - Removed
env.d.ts— Replaced byastro:envtype-safe environment variables - ESLint
--extremoved — Legacy flag dropped (not supported in ESLint v9) experimental.contentIntellisenseremoved — Flag was stabilized in Astro beta.9
Features
Section titled “Features”- Astro 6.0.0-beta.9 with
@astrojs/mdxv5 and@astrojs/reactv5 betas - Content Security Policy (CSP) with auto-hashed inline scripts and explicit external allowlists
astro:envfor build-time validated, type-safe environment variables- Native SEO component with full Open Graph and Twitter Card meta tags
- Twitter Card meta tags added to SEO component
Bug Fixes
Section titled “Bug Fixes”- Fixed duplicate canonical URL in
BaseLayout.astro - Fixed
ZodError.errors→.issuesfor Zod 4 compatibility - Removed legacy
--extflag from ESLint scripts - Removed stabilized
experimental.contentIntellisenseflag
Upgrade guide: v0.1.0-beta to v0.2.0-beta
v0.1.0-beta (2026-01-30)
Section titled “v0.1.0-beta (2026-01-30)”Initial beta release
Features
Section titled “Features”- Astro 6.0.0-beta.5 with Tailwind CSS v4.0
- 56 components across 7 categories
- Three-tier design token system with OKLCH colors
- Inverted color scheme for dark sections on light pages
- Type-safe routing with
routes.tsconfiguration - Full SEO toolkit:
- Dynamic OG image generation with Satori
- JSON-LD structured data schemas
- Automatic sitemap and robots.txt
- Content collections:
- Blog posts with i18n support
- Pages collection
- Authors (JSON)
- FAQs (JSON)
- 4 layout variants:
- BaseLayout
- PageLayout
- BlogLayout
- LandingLayout
- Dark mode with system preference detection
- API routes for contact and newsletter forms
- Deploy configurations for:
- Vercel
- Netlify
- Cloudflare Pages
Components
Section titled “Components”UI (33)
Section titled “UI (33)”Button, Input, Textarea, Select, Checkbox, Radio, Card, Badge, Alert, Avatar, Skeleton, Icon, Logo, Dialog, Dropdown, Tooltip, Tabs, VerticalTabs, CodeBlock, CTA, SocialProof, NpmCopyButton, TerminalDemo, and more.
Layout (4)
Section titled “Layout (4)”Header, Footer, ThemeToggle, Analytics
Pattern (3)
Section titled “Pattern (3)”ContactForm, NewsletterForm, FormField
Blog (4)
Section titled “Blog (4)”ArticleHero, BlogCard, ShareButtons, RelatedPosts
Landing (7, now 5)
Section titled “Landing (7, now 5)”Hero, Credibility, LighthouseScores, TechStack, FeatureTabs, Navbar, LandingFooter, CTA
SEO (3)
Section titled “SEO (3)”SEO, JsonLd, Breadcrumbs
Hero (2)
Section titled “Hero (2)”Hero variants
Breaking Changes
Section titled “Breaking Changes”None (initial release)
Known Issues
Section titled “Known Issues”- OG image generation may be slow for large sites
- Some Tailwind v4 features are in beta
Roadmap
Section titled “Roadmap”Shipped in v1.0.0
Section titled “Shipped in v1.0.0”Stable Astro 6 release support✅CLI scaffolding tool✅ (create-velocity-astro)Additional component variants✅ (60+ components)
Planned
Section titled “Planned”- Multi-language documentation
- Component playground / Storybook integration
- Premium themes and templates
- E2E test suite with Playwright
- Performance benchmarking dashboard