PolishPal
Back to Home

Changelog

A history of updates, fixes, and new features. For the full commit history, see our GitHub commits.

AddedFixedChangedRemoved
v4.0.0September 25, 2026
  • Changed

    Full visual redesign: a friendlier, app-like look with rounded Fredoka headings, Nunito body text, tactile buttons and bordered tiles

  • Changed

    New colour palette inspired by Łowicz papercuts (wycinanki): Polish crimson as the brand colour, with each blog topic and grammar category getting its own colour

  • Added

    Homepage lesson path showing the course in order, plus live pronunciation buttons on the hero phrase card

  • Added

    Blog posts now end with a short "start lesson 1" card and show the article summary under the title

  • Added

    Quiz feedback bar that pops in after each answer with the correct answer and explanation

  • Fixed

    Blog images inside paragraphs no longer cause a hydration error

  • Removed

    Dark mode and the theme switcher: the site is now light mode only

v3.0.0July 17, 2026
  • Changed

    Complete site redesign — moved from a dashboard-oriented sidebar layout to a content-first design with a horizontal top navigation bar

  • Added

    Mintlify-style mega menu: "Learn" dropdown (2×2 grid: Lessons, Grammar, Quizzes, Progress), "Blog" dropdown (categories + lazy-loaded latest posts), "About" simple dropdown

  • Added

    Responsive mobile drawer menu with accordion-style expandable sections for Learn, Blog, and About

  • Changed

    Homepage completely rewritten as a proper landing page (hero, stats strip, 3-column features, how-it-works steps, latest blog posts, FAQ, final CTA) — no longer a personal dashboard

  • Added

    FAQPage schema on the homepage for Google rich result eligibility

  • Changed

    Footer redesigned as a 3-column layout: brand + CC0 license, Learn links, Company links

  • Removed

    Left sidebar and bottom mobile nav replaced by the new top navigation bar

  • Added

    Editor's Picks / highlighted posts system — tick the "Highlight this post" checkbox in the CMS to feature a post in a dedicated section on the blog page and below the TOC on every single post

  • Added

    Google AdSense auto ads scoped to blog pages only (/blog and /blog/*) — homepage, lessons, grammar, and quizzes are ad-free

  • Added

    ads.txt file at /ads.txt for Google AdSense publisher verification

v2.1.1July 10, 2026
  • Changed

    Blog list page container widened to max-w-5xl for a more spacious editorial feel

  • Changed

    Blog list page and filtered/paginated view now have sticky left and right ad sidebars (w-[160px], visible at 2xl breakpoint) — fully managed via /polaris/ads using slot keys blog-sidebar-left and blog-sidebar-right

  • Changed

    Blog sidebar ads positioned at 25vh offset and sticky at 30vh so they appear in the mid-screen zone rather than pinned to the top edge

  • Changed

    Single post layout changed to 3-column: left sticky ad sidebar (post-sidebar slot) | centered max-w-2xl article | right TOC

  • Fixed

    Single post TOC and left ad sidebar were not sticky — caused by items-start on the flex container collapsing aside height; removed items-start so asides stretch to article height

  • Fixed

    Single post left and right sidebars were pushed to page edges because center column used flex-1 (consumed all space); changed to w-full max-w-2xl with justify-center so sidebars hug the article

  • Changed

    Section dividers and borders throughout the blog page softened — dark mode uses gray-700/800 instead of near-white; light mode uses gray-100/200 instead of bold gray-900 lines

  • Changed

    Category sections now show 6 posts per section (1 lead feature + 5 stacked mini-cards) for better left/right column balance

v2.1.0July 10, 2026
  • Added

    IndexNow CMS page (/polaris/indexnow) — bulk-submit any combination of blog posts, lessons, grammar pages, quizzes, and static pages to Bing/Yandex/other search engines with one click

  • Added

    IndexNow auto-submit on publish — when a post is saved as published or toggled to published, its URL is automatically submitted to IndexNow in the background

  • Added

    IndexNow key file hosted at /c1c02929ad4d4c7ba63a4561cc5e83b5.txt for domain ownership verification

  • Changed

    Blog page redesigned with Atlantic/every.to-inspired editorial layout — compact max-width container (max-w-4xl), left/right breathing margins, bold masthead, 2-column hero with numbered "More Stories" list, Atlantic-style thick-rule section headers per category, and lead feature + stacked mini-card layout for each category section

  • Changed

    Category filter pills updated to minimal black border / filled style matching editorial aesthetic

  • Changed

    Culture Picks slider now contained within the max-width grid with rounded corners rather than full-width bleeding

v2.0.1July 6, 2026
  • Fixed

    Blog category sections now always show all posts — previously, if the newest post in a category became the hero or a side story, the entire section appeared empty

  • Fixed

    Multi-category posts (e.g. tagged as both Culture and Arts) now appear in every category section they belong to, not just the Culture slider

  • Changed

    Content Visualizer now auto-clusters posts under pillars — posts in the same category as a pillar group automatically without needing a manual assignment; tag and keyword overlap breaks ties between multiple pillars in the same category

v2.0.0July 5, 2026
  • Added

    Automatic content backup system — every save and edit creates a snapshot before overwriting; deletion always saves a pre-delete copy that is kept forever

  • Added

    Daily full-site backup at 02:00 UTC via Vercel Cron — all posts saved as a single JSON snapshot

  • Added

    Backups CMS page (/polaris/backups) — browse all backups by type, filter by slug, preview JSON, and restore any post to any past state in one click

  • Added

    "Backup All Now" button for on-demand full-site manual snapshots

  • Added

    Multi-category support for blog posts — assign more than one category per post; first selected is the primary

  • Added

    New blog categories: Polish Music, Memes & Pop Culture, Arts

  • Added

    Culture Picks slider on the blog front page — auto-populated from the culture category with prev/next arrows and brand-blue background

  • Added

    Blog posts included in the global header search with grouped results (Blog / Lessons / Grammar / Quizzes)

  • Added

    Per-quiz SEO metadata — each quiz gets its own title, description, and Open Graph tags

  • Added

    Ad slot in the blog hero right column (300×250)

  • Added

    Live word/character/reading-time/paragraph/sentence/H2/H3 counters in the post editor

  • Added

    Search box in Link Manager with live result count

  • Added

    Google AdSense verification meta tag

  • Fixed

    Author avatar now shows the PolishPal logo on all posts, including older ones, without any database change

  • Fixed

    External outbound links are dofollow by default; nofollow is opt-in only via title="nofollow"

  • Fixed

    Dark mode border lines changed from white to gray-700/800; light mode lines softened to gray-200

  • Changed

    Blog front page redesigned as a newspaper layout — 3-column masthead grid, category sections, and "Coming soon" placeholder for empty categories

  • Added

    Referrer spam blocking — 403 returned for known spam domains (rankchief.shop, skyrocketlink.shop)

v1.9.0June 29, 2026
  • Changed

    New brand color (#242EF7) across the whole site — softer periwinkle canvas, rounder cards, and pill-style active navigation

  • Changed

    Logo and favicon recolored to match the new brand

  • Added

    Advertisement slots managed from the CMS — image banners, ad-network embeds, or a default "Advertise here" placeholder linking to the contact page

  • Added

    Magazine-style blog front page: lead story, Latest column, and a Culture Picks section

  • Added

    Collapsible in-article table of contents on mobile (desktop keeps the sidebar TOC)

  • Removed

    Legacy markdown blog files and dead code removed — the Supabase CMS is the single source of truth

v1.8.0June 28, 2026
  • Added

    Content Visualizer — a pillar → cluster "pyramid" showing how posts relate, with green/orange flags for whether cluster posts actually link to their pillar

  • Added

    Search-intent tagging on posts (informational / commercial / transactional / navigational)

  • Added

    Mark a post as a "pillar" — Link Genius and agents now prioritize internal links to pillar posts

  • Added

    Visible SEO score on every post in the list (color-coded) with a "worst-first" sort to spot pages to improve

  • Added

    Link Manager now shows inbound anchor text + source URL — see exactly which keywords point to each page

v1.7.0June 28, 2026
  • Added

    Application Passwords — REST API keys so agents/apps can publish posts without logging into the CMS

  • Added

    Sorting & search in Posts, Comments, and Link Manager

  • Added

    Link Manager dofollow/nofollow badges (green/orange) for external links

  • Added

    "Latest from the Blog" section on the homepage

  • Added

    Custom 404 page (returns a proper 404 status, not a soft 200)

  • Added

    llms.txt — a curated index that helps AI assistants understand and cite the site

  • Changed

    Cookie Policy updated to document the admin login cookie (cms_session)

v1.6.0June 27, 2026
  • Added

    Custom CMS at /polaris — write, edit, and publish blog posts from the browser

  • Added

    Markdown editor with live preview, formatting toolbar, and word/reading-time counter

  • Added

    RankMath-style SEO panel — focus keyword, density, title/meta length, and live score

  • Added

    Link Genius — keyword-based internal link suggestions across lessons, grammar, quizzes, and posts

  • Added

    Image uploads auto-converted to WebP and stored in Supabase Storage

  • Added

    Secure cookie-based CMS login; comment moderation folded into the CMS

  • Changed

    Blog content migrated from repo files to the Supabase database (instant publishing)

v1.5.0June 27, 2026
  • Added

    Share box on every lesson and grammar page — Facebook, X, Bluesky, Reddit, Instagram, and copy link

  • Added

    "Download PDF" button on lessons and grammar topics (clean, content-only export)

  • Added

    New PolishPal logo — a speech bubble with the Polish "Ł", in calm blue-indigo

  • Changed

    Favicon regenerated to match the new logo

  • Changed

    Logo color switched from red to blue-indigo to suit the language-learning niche and match the site brand

v1.4.0June 26, 2026
  • Added

    Blog section with 11 articles covering grammar, pronunciation, culture, and learning tips

  • Added

    About page with project background story

  • Added

    Contact page with GitHub issue templates

  • Added

    Editorial policy explaining content review process

  • Added

    Privacy policy and cookie policy pages

  • Added

    Changelog page (you're reading it!)

  • Added

    Mobile hamburger menu for Blog and About navigation

  • Changed

    All blog images converted from JPG to WebP for faster loading

  • Changed

    Canonical URLs updated to www.polishpal.pl

  • Fixed

    Sidebar "PolishPal" changed from h1 to span to avoid duplicate h1 tags

v1.3.0June 25, 2026
  • Added

    Supabase integration for shared star ratings and comments

  • Added

    Comment moderation dashboard with hide/delete/stats

  • Added

    Threaded comment replies (2 levels deep)

  • Added

    URL spam detection — comments with links are blocked automatically

  • Added

    30-second rate limiting on comments per author

  • Changed

    Dark mode toggle moved from bottom nav to top bar on mobile

v1.2.0June 24, 2026
  • Added

    Accessibility panel: dyslexia font, high contrast, monochrome, big cursor, reading guide

  • Added

    Collapsible sidebar on desktop

  • Added

    Right-side contextual sidebars with progress and study tips

  • Added

    Text-to-speech (TTS) for Polish vocabulary, dialogues, and grammar examples

  • Added

    SEO: JSON-LD schemas (WebSite, Course, Article, FAQ, Breadcrumb), OG tags, Twitter cards

  • Added

    Sitemap.xml and robots.txt for search engines

v1.1.0June 23, 2026
  • Added

    15 grammar reference topics with color-coded tables

  • Added

    Frequency adverb visual bar chart (zawsze → nigdy)

  • Added

    Znać vs wiedzieć vs umieć comparison guide

  • Added

    Instrumental, Accusative, and Genitive case reference pages

  • Added

    Full-text search across all lessons, grammar, and quizzes (⌘K shortcut)

  • Added

    Dark mode with three-way toggle (light/dark/system) and flash prevention

  • Fixed

    Matching quiz bug where duplicate values caused wrong selections

  • Fixed

    Nested button hydration error in PhraseList component

v1.0.0June 22, 2026
  • Added

    16 structured lessons from 37 real university lectures (A0–A1)

  • Added

    16 interactive quizzes with multiple choice, fill-in-blank, and matching

  • Added

    Progress tracking with lesson completion, quiz scores, and streaks

  • Added

    Responsive design with mobile bottom nav and desktop sidebar

  • Added

    CC0 1.0 Universal public domain dedication