Changelog
1.39 - 12th January 2026
- SEO Improvements:
- Added trailing slash redirects for collection pages (/review/, /news/, /portfolio/, /videos/)
- Ensures consistent URL structure aligning with trailingSlash: 'never' policy
- Content Updates:
- Updated Keychron Ultra article title to "Keychron Q Ultra series"
- Updated Reebok weight vest review with 2026 refresh (18 months later update)
- Updated pricing information for Reebok vest (US: $35, Norway: 1600 NOK)
1.38 - 7th January 2026
- Schema & SEO Enhancements:
- Added comprehensive structured data for all page types with BreadcrumbList navigation
- AboutPage schema with detailed Person mainEntity including knowsAbout, contactPoint, and email
- CollectionPage schema for category indexes (/review, /news, /portfolio, /videos) with dynamic ItemList
- BrandPage schema for brand pages (/keychron) with Brand entity and ItemList
- WebPage schema for informational pages (/changelog) with auto-generated dateModified
- All schemas now include BreadcrumbList for improved navigation and SEO
- Technical:
- Created centralized schema system with constants in
/src/lib/schema/constants.ts
- New schema generators:
about.ts, collection.ts, brand.ts, webpage.ts
- Enhanced brand configuration with optional
websiteUrl field
- Fixed AUTHOR_EMAIL constant (removed
mailto: prefix for schema compliance)
- Documentation:
- Updated README with comprehensive schema documentation for all page types
- Added brand page documentation with configuration examples
- Updated project structure to reflect new schema files
1.37 - 7th January 2026
- Features:
- Added comprehensive author bio section at the end of all posts
- Author bio includes photo (linking to /about), name, title, description, and social links
- Added email contact link (kay@kaytomas.com) alongside social media icons
- Technical:
- Enhanced Schema.org Person markup with description, jobTitle, worksFor, and sameAs fields
- Created centralized
generatePersonSchema() function for consistent author data
- Updated review, article, and video schemas to use enhanced author metadata
- Improved SEO with rich author information for search engines
1.36 - 6th January 2026
- Features:
- Added "You may also like" related posts section to blog posts
- Smart matching algorithm prioritizes shared tags, then category, then recency
- Manual override option via frontmatter
relatedPosts array
- Responsive horizontal layout (image left, content right)
- Added
--gradient-heading CSS variable for consistent heading gradients
1.35 - 7th January 2026
- Content:
- Added news article: Keychron Ultra series with 8kHz polling and 4-month battery life
- Features:
- Added gallery caption styling to match image caption formatting
1.34 - 4th January 2026
- Planning:
- Added plan for content file restructure to improve external editor compatibility
1.33 - 2nd January 2026
- Technical:
- Tidied up IndexNow implementation for better reliability
- Updated to Astro 5 compatible configuration (static output)
- Fixed deprecated Vercel adapter import
- Updated IndexNow key from Bing Webmaster Tools verification
- Removed custom API endpoint - GitHub Action now submits directly to IndexNow
- Simplified workflow to fetch sitemap and submit URLs directly
- Added URL logging to GitHub Actions for better visibility
- Cleaned up unused API route and environment variables
1.32 - 2nd January 2026
- Technical:
- Implemented post-deployment IndexNow webhook solution
- Created
/api/indexnow endpoint for URL submission after deployment
- Removed astro-indexnow to avoid timing issues during build
- Changed output mode to 'hybrid' with Vercel serverless adapter
- Added @astrojs/vercel adapter for server-side API routes
- Added GitHub Action to automatically submit URLs to IndexNow after deployment
- IndexNow now triggered automatically via GitHub Actions workflow
- Comprehensive README documentation for IndexNow setup
1.31 - 2nd January 2026
- Content:
- Added comprehensive Review Policy to About page
- Restructured About page with portrait image and improved layout
- Added portrait photo with photographer credit
- Added Review Policy link to footer navigation
- Updated About page content with Prisjakt.no role and refined messaging
1.30 - 29th December 2025
- UI/UX:
- Extended lightbox functionality to all article images, not just galleries
- All standalone images in articles now open in lightbox when clicked
- Added consistent hover effect (scale 1.02) across all clickable images
- Updated caption styling to work with lightbox-wrapped images
- Removed box-shadow from gallery images for cleaner appearance
- Content:
- Updated Keychron M4 review with improved content structure
1.29 - 28th December 2025
- SEO:
- Added IndexNow integration for instant search engine notifications
- Automatically submits all pages to IndexNow on every build
- Supports Bing, Yandex, and other IndexNow-compatible search engines
- ~48 URLs automatically submitted per deployment
- Documentation:
- Added IndexNow section to README with detailed explanation
- Documented build process and automatic URL submission
1.28 - 27th December 2025
- UI/UX:
- Updated main headline to "Real hardware, real opinions" with animated mint/white gradient
- Enlarged section headings (Reviews, News, Videos) to h1 size with gradient effect
- Changed section headings to primary font (system font) and normal case
- Expanded featured hero container width to match full page width (1200px)
- Updated footer credits to mention Astro instead of Claude
1.27 - 27th December 2025
1.26 - 26th December 2025
- Bug Fixes:
- Fixed Open Graph images showing as "[object Object]" in meta tags
- OG and Twitter card images now correctly display full image URLs
- Extract .src property from Astro image objects in PageComponent
- Convert URL object to string in BaseLayout meta tags
- Content:
- Added news article: Samsung Odyssey 3D (6K glasses-free 3D display)
- UI/UX:
- Section titles (REVIEWS, NEWS, VIDEOS) now use Space Grotesk font
- Made section titles clickable links to their respective listing pages
- Added hover effect to section title links
1.25 - 26th December 2025
1.24 - 26th December 2025
- Documentation:
- Merged all README files into one comprehensive document at repository root
- Complete documentation of page types (news, review, portfolio, video)
- Typography system documentation (IBM Plex Sans, IBM Plex Mono, Space Grotesk)
- Color system with hex codes (primary #99ffcc, secondary #ff006e, tertiary #4800fb)
- Schema/structured data logic for all content types
- Custom content fields and components documentation
- Development patterns and content management workflows
- Removed redundant README files from subdirectories
1.23 - 26th December 2025
- SEO Optimization:
- Edited all meta descriptions to be sub 160 chars
- Optimized 23 articles with descriptions over the SEO limit
- Average reduction of ~50% in description length
- Improved search result appearance and click-through rates
1.22 - 25th December 2025
- Content:
- Added article: OG Steam Deck out of production :(
- Styling:
- Reduced blockquote accent line width from 3.75rem to 2.8rem for cleaner appearance
1.21 - 25th December 2025
- SEO Redirects:
- Added 41 WordPress migration redirects to vercel.json
- Tag page redirects (32 entries): old /tag/* URLs redirected to appropriate category pages
- Category redirects: /category/blog to /news
- URL corrections: /reviews to /review
- Sitemap redirects: legacy WordPress sitemap URLs to sitemap-index.xml
- All redirects configured as permanent (301) for proper SEO link equity transfer
1.20 - 25th December 2025
- 404 Page:
- Added custom 404 page with Drew blinking GIF
- Hero-summary styled text with contact information
- Dynamic grid showing 9 most recent posts
- SEO:
- Created vercel.json with normalized redirects (no trailing slashes)
- Added catch-all feed redirect
- Removed duplicate URL variations
1.19 - 25th December 2025
- Content:
- Added 5 older news articles from March 2025 for SEO purposes
1.18 - 25th December 2025
- Content:
- Added 3 new portfolio pages (Steam Deck, 5 Awesome Keyboards, Zowie EC2-CW)
1.17 - 25th December 2025
- Navigation:
- Added Portfolio link to header navigation (alongside Reviews and News)
- Typography & Styling:
- Updated header navigation font to IBM Plex Mono (matching summary badge styling)
- Reduced header navigation font size and spacing for more compact appearance
- Added letter-spacing (0.15em) to header navigation links
- Portfolio:
- Removed "Latest Projects" title from portfolio page grid
- Added custom h3 styling for portfolio posts (IBM Plex Mono font, larger size, increased bottom spacing)
- Portfolio posts now use unified article layout with hero component
1.16 - 18th December 2025
- SEO & Styling:
- Added canonical tags to all pages (without trailing slashes)
- Moved summary blocks to hero section (15% wider than main content)
- Added Space Grotesk font (400 weight) for summaries and blockquotes
- Updated summary styling: removed italics, gradient border, and indent
- Updated blockquote font size to calc(var(--text-m) * 1.1)
1.15 - 17th December 2025
- Framework Update:
- Updated Astro from 5.15.9 to 5.16.6
- Routing:
- Added redirect from /review/red-wing-iron-ranger-8085-tested to /review/red-wing-iron-ranger-8085-review
1.14 - 17th December 2025
- Content Enhancement:
- Added summary blocks to all review articles
- Updated summary block styling with horizontal gradient bottom border
1.13 - 17th December 2025
- Performance Monitoring:
- Added Vercel Speed Insights for real-world performance tracking
- Integrated @vercel/speed-insights package into BaseLayout
1.12 - 17th December 2025
- Font Optimization:
- Self-hosted IBM Plex Mono using Fontsource (weights 400 & 600)
- Removed Google Fonts dependency for better performance and privacy
- Removed IBM Plex Sans and JetBrains Mono (unused fonts)
- Unified all body text, blockquotes, and inline code to use system fonts
- IBM Plex Mono now only external font, used exclusively for captions, author lines, and UI elements
- Reduced font weight variants from 300/400/500/600 to just 400/600
1.11 - 15th December 2025
- Analytics Migration:
- Replaced Plausible analytics with Google Analytics (GA4)
- Added Google Analytics tracking code to BaseLayout
- Updated about page privacy policy to reflect Google Analytics usage
- URL Configuration:
- Set trailingSlash to 'never' for consistent URLs without trailing slashes
- Added redirect from /reviews to /review for SEO
- Cleaned up Astro config for cleaner sitemap generation
- Codebase Cleanup:
- Removed InoreaderStream component and related files
- Removed redirect script planning documentation
- Updated TODO list to reflect launched site status
1.10 - 10th December 2025
- Summary block color and padding tweaks (thx neXib)
1.09 - 10th December 2025
- Added summary block component for articles (experimental design)
- Fixed typos in Keychron M4 article
1.08 - 9th December 2025
- Published Keychron M4 fingertip mouse review
- Improved markdown table styling with centered text, accent border, and refined spacing
1.06 - 2nd December 2025
- Small file cleanup and tweaks
- Added credit1/credit2 fields for contributor attribution
- Increased spacing on author/credit fields for better readability
1.05 - 30th November 2025
- Schema.org Structured Data Fix:
- Fixed review schema positiveNotes and negativeNotes to use proper ItemList format
- Each list item now includes @type, position, and name properties per schema.org spec
- Ensures compatibility with Google Rich Results validation
1.04 - 30th November 2025
- Implemented and testing Plausible analytics
1.03 - 29th November 2025
1.02 - 28th November 2025
- Fixed post release typos and improved mobile hero centering
1.0.1 - 28th November 2025
- Schema Validation Fixes:
- Fixed review schema to follow Google Product snippet guidelines (changed from standalone Review to Product with nested review property)
- Added author URL (https://kaytomas.com/about) to all Person schemas for proper E-E-A-T signals
- Resolves Google Rich Results validation errors
1.0.0 - 28th November 2025
- 🎉 MAJOR RELEASE - Production Ready with SEO Structured Data
- JSON-LD Structured Data Implementation:
- Review Schema.org markup with star ratings (1-5), product info, pros/cons
- VideoObject schema with YouTube integration and thumbnails
- NewsArticle schema with author attribution and rich article cards
- BreadcrumbList schema for improved navigation in search results
- Organization schema with site branding, logo, and social links
- Type-Safe Content Schema (Breaking Changes):
- Implemented discriminated union pattern in content configuration
- Review posts now REQUIRE
rating field (1-5 scale)
- Video posts now REQUIRE
youtubeId field
- Build-time validation ensures all content meets requirements
- All existing content updated to comply (9 reviews, 3 videos validated)
- Schema Generation Infrastructure:
- Created centralized schema utility library (
src/lib/schema/)
- TypeScript interfaces for all Schema.org types
- Automatic pros/cons extraction from reviewProsCons MDX exports
- JSON-LD injected at build time (zero runtime performance cost)
- SEO Benefits:
- ⭐ Star ratings visible in Google search results
- 🎥 Video thumbnails in search results
- 📰 Rich article cards with author info
- 🔗 Breadcrumb navigation
- 👤 E-E-A-T signals with proper author attribution
- 🏢 Organization branding
- Author Updates:
- Changed default author from "Kay Tomas" to "Kay Tomas Bertheussen"
- Updated all content with standardized author name
0.91
- Video page enhancements:
- Replaced hero image thumbnail with embedded YouTube video on video article pages
- Added accessibility attributes (role and aria-label) to video embeds
- Removed "Latest Videos" title from videos index page
- Added tertiary accent color support for "View all" links
- Author field improvements:
- Removed hardcoded "by" prefix from all author displays
- Changed author text to lighter weight (300) with tighter letter spacing (-0.01em)
- Switched to secondary font for more elegant appearance
- Hero component redesign:
- Split hero into two-column layout with title on left, description on right
- Both sections now centered vertically and horizontally
- Added support for HTML in title and subtitle (line breaks with
<br>)
- Implemented conditional gradient system:
- Main page: Tri-color gradient (white → orange → purple) at 180 degrees
- Sub-pages: Two-color gradient (white → orange) at 90 degrees
- Increased subtitle font size for better readability
- Typography and styling:
- Updated date/time separator spacing with padding for better visual balance
- Added gradient to article card titles (19deg angle, white to accent at 60%)
- Rainbow gradient effect added to "ultrathinking" text on about page
- About page:
- Created new about page with site information and AI content disclosure
- Footer "AI usage" link now points to about page anchor (#ai-content)
- "About" and "Changelog" links properly implemented in footer
- Featured article enhancements:
- Added "Featured" tag badge with magenta color (#cc33cc)
- Featured tag appears before category tag on featured article images
- Improved visual hierarchy for featured content
- Footer refinements:
- Reduced brand text size from lg to base
- Changed credits text from bold to normal weight
- Split version info to separate line for better readability
- Added underline styling to version link for clear affordance
0.90
- Content migration complete! All articles migrated from WordPress and manually processed
- Migrated MegaGear Torres Pro review article:
- Successfully migrated complex review with 4 galleries (39 images total)
- Integrated YouTube video embed
- Added ProsAndCons component for structured review format
- Properly formatted disclaimers and affiliate links
- Brand assets implementation:
- Added official logo and favicon from live site
- Replaced text logo with image in header
- Maintained header height for consistent layout
- Social media updates:
- Updated YouTube link to @kaytomascom
- Updated Instagram and X links to @ktbsen
- CSS improvements:
- Enhanced image caption selector using
:has() pseudo-class for better reliability
- Improved caption positioning across all articles
- Site status: Content complete and ready for launch preparation
0.89
- Manual formatting improvements for review articles
- Gallery component updates:
- Moved styles to global.css following architecture pattern
- Changed to 2-column layout on all screen sizes
- Removed rounded corners for cleaner look
- Article typography refinements:
- Tighter list spacing with improved line-height
- Hero description font size increased to 1.40rem
- Added support for line breaks in hero descriptions
- Created comprehensive review template (reviewTemplate.mdx)
0.88
- Typography and spacing refinements:
- Reduced article body text from 1.29rem to 1.125rem (18px) for improved readability
- Reduced content max-width from 700px to 680px for tighter layout
- Reduced article hero top padding from space-10 to space-5 for more compact design
- Component system improvements:
- Created ProsAndCons component for review articles with Verge-style minimal design
- Two-column layout on desktop with vertical divider, single column on mobile
- Customizable labels (prosLabel/consLabel) with defaults
- Uses default bullet points with accent colors for pros/cons titles
- Added MDX compatibility comment to allow component as first content
- Created Disclaimer CSS class for article disclaimers with accent underline
- Styling architecture:
- Moved all component styles to global.css for centralized management
- Moved prose/content styles (links, headings, blockquotes, code) to global.css
- Moved utility styles (.category, .tag) to global.css
- Path aliases:
- Added TypeScript path aliases (@components, @styles, @layouts, @/*) for cleaner imports
- Updated README with path alias documentation and usage examples
- Blockquote redesign:
- Changed to top border (15px wide, 60px length) in accent color
- Removed italic styling, now uses IBM Plex Sans Medium
- Changed to standard white text color (var(--color-text))
- Uses var(--text-lg) on desktop, var(--text-m) on mobile
- Added horizontal padding (1.5rem) for better positioning
- Header navigation updates:
- Removed Videos and Portfolio links (pages kept for future use)
- Changed nav links to uppercase (REVIEWS / NEWS)
- Added accent-colored "/" separator between navigation items
- Documentation:
- Created comprehensive README.md with development patterns
- Documented component/styling architecture pattern
- Added ProsAndCons usage examples with multi-line array formatting
0.87
- Rewrote the whole hero segment of posts and made them french chéf ready!
- Removed link underline styling from header and footer (now only appears in article content)
- Decreased global page margins from 24px/32px to 10px across all breakpoints
- Added hero image caption support with heroImageCaption frontmatter field
- Updated caption styling globally: 10% smaller, lighter weight, custom color (#cccccc), removed italics
- Added decorative quotation mark to hero excerpt in accent color
- Adjusted hero layout spacing and responsive behavior for better visual hierarchy
- Typography improvements:
- Changed all heading colors (h1-h6) to use accent color globally
- Added gradient effect to article h1 titles (white to accent color)
- Adjusted h2 spacing: increased margin-top to space-8, reduced margin-bottom to space-3
- Created new --text-m variable (18px) for better responsive typography scaling
- Added 480px breakpoint for small mobile devices with reduced content font size
- List styling refinements:
- Removed margin-bottom from ul/ol elements for tighter spacing
- Cleaned up list item spacing for better readability
0.86
- Implement video pages with YouTube embed support
- Add video category to content schema with youtubeId and relatedReviewSlug fields
- Create /video/ archive page and /video/[slug] detail pages
- Add Videos link to header navigation (between Reviews and News)
- Integrate astro-embed for responsive YouTube embeds
- Migrate 3 video posts from WordPress:
- Zowie EC2-CW gaming mouse video
- HeyGen AI video translate test
- MegaGear Torres Pro camera bag review
- Add VIDEO_TEMPLATE.md documentation for creating video posts
0.85
- Add comprehensive redirect script plan for WordPress image URLs (REDIRECT_SCRIPT_PLAN.md)
- Update TODO.md to reflect completed tasks:
- GLightbox implementation verified
- All documentation moved to /docs folder
- CHANGELOG path already updated in version utility
0.84
- Migrated 13 articles from WordPress (9 news, 4 reviews):
- News: MX Northern Light, Dune Awakening, Overwatch 2 Stadium, Marathon, BG3 crossplay, DaVinci Resolve 20, BG3 Act 2 mod, ASUS ProArt PA32UCDM, FreeDOS 1.4, Samsung Odyssey 2025
- Reviews: BenQ Zowie EC2-CW, Red Wing Iron Ranger 8085, Reebok weight vest, Xtrfy M4 Wireless
- Enhanced migration script with major improvements:
- Preserve exact content order (text and media elements)
- Extract actual publish dates and update dates from WordPress
- Fix list formatting to prevent extra line breaks
- Auto-remove "KAYTOMAS" suffix from titles
- Process entire list blocks to maintain compact formatting
0.83
- Delete duplicate Silver Pines article (old November version)
- Implement footer component with social links (Bluesky, YouTube, Instagram, X), contact links, and build version display
- Add dynamic version numbering utility (reads from CHANGELOG.md)
- Remove version display from header (now only in footer)
- Update global link styling with accent-colored underlines and configurable offset
- Add
--text-underline-offset variable to design system
0.82
- Add Gallery.astro component for responsive image grids
- Add WordPress migration script (scripts/migrate-article.cjs) with support for:
- WordPress gallery blocks with automatic image downloads
- YouTube embed detection (astro-embed integration)
- Native WordPress video block support with file downloads
- Complete Elementor content extraction
- MDX output with proper imports
- Add video styling to global.css for proper container constraints
- Add comprehensive migration documentation
0.81
- Migrated "Meshify 3", "Sonic Racing Crossworlds", and "Keychron K3 Max" articles.
- Fixed build issues (missing
marked dependency and config conflict).
- Taught the site to speak 'Meshify', 'Sonic', and 'Keychron'. Also fixed the build, because broken sites are so 2024.
0.80
- Fix broken content collections for reviews, news, and portfolio.
- Implement clean URLs for all content types.
- Implement Image Optimization using Astro
<Image /> component.
- Update header link to
/review.
0.79
- Migrate all images to Astro's Image component for automatic optimization and lazy loading.
- Move images to /src/assets/ for proper build-time processing (news WebP, review JPG).
- Remove unoptimized PNG/WebP files from /public (~4.4MB reduction).
- Update Card and NewsGrid components to use imported image assets.
0.78
- Add comprehensive SEO meta tags (Open Graph, Twitter Cards, canonical URLs) and optimize images (PNG → WebP, 97.5% size reduction).
0.77
- Update navigation to match kaytomas.com structure (Reviews → /reviews, add Portfolio link).
0.76
- Add changelog subsite at /changelog with site styling, header, and container layout.
0.75
- Add real review images from kaytomas.com (GeForce Now, Keychron K3 Max, ZOWIE EC2-CW).
0.74
- Refactor to reusable ContentGrid component with configurable columns and add placeholder images for news items.
0.73
- Complete UI/UX redesign with design system, new layout structure, and component library.
0.72
- Add header component with logo, navigation (Home, Blog), and version number linking to changelog.
0.71
- Update index page subtitle to "det er kjempegøy på skolen".
0.70
- Update index page subtitle to "mats mats mats is helping, so are agents".
0.69
- Initial changelog setup and project documentation update.