Changelog
All notable changes to this project, from new features to bug fixes.
[1.58.0] - 2026-07-13
Fixed
- Missing "More palettes to try" and "More gradients to try" sections: Both sections were silently absent on every palette and gradient page in production despite working perfectly on local builds. After an extensive investigation we pinpointed the cause to a subtle quirk in how the server assembles pages for production and fixed it by restructuring how those sections are loaded. They now appear reliably every time.
- "More palettes to try" now appears in a better spot: The section has been moved above the "Explore More" navigation block on palette pages, so you see fresh palette suggestions before the broader site links.
- "Explore More" restored on gradient pages: The "Explore More" navigation section was accidentally missing from gradient detail pages. It has been restored.
- Suggestions are now randomised on every visit: The palette and gradient suggestion sections now shuffle their results each time you load a page, so you always see fresh picks rather than the same first 20 every time.
[1.56.0] - 2026-07-07
Added
- Try a Palette in the Shader: The shader generator now shows 50 hand-picked palettes you can click to try instantly, with a shuffle button for fresh ideas.
- Try with Shader: Every palette page now has a one-click way to send its colours straight into the shader.
- Smoother Shader Loading: You now get a clear progress indicator while the shader warms up, instead of a blank pane.
- External-Link Markers: Links that open in a new tab now show a small arrow, so you always know where a click will take you.
Changed
- Sign-In for Shader Exports: Saving, downloading, and copying shader code now require a free account.
- Better Shader on Every Screen: The shader stays sharp and correctly shaped when you resize your window or rotate your device.
- Clearer Setup Guide: Rewrote the "how to use your shader" guide in plainer, friendlier language.
- Refreshed Footer: A cleaner, more modern footer with tidier spacing and polished social buttons.
- Improved Colour Contrast: Buttons and highlights are now easier to read across the site.
Fixed
- Stronger Security: Tightened account protections, locked down who can send welcome emails, and made the website analyzer safer to use.
- Faster First Paint: Pages now show their content right away instead of a loading spinner while sign-in checks happen in the background.
- Sharper Sidebar Highlighting: The sidebar no longer highlights the wrong item on certain pages.
[1.55.0] - 2026-07-07
Added
- Palette to Shader Generator: Turn any palette into a living, animated shader. Pick from three styles — Mesh, Grain, and Warp — then dial in the intensity, animation speed, and placement. Download it as an image, copy it as ready-to-use React code, open it in fullscreen, or save it to your collection.
[1.54.0] - 2026-06-25
Added
- New Sidebar Navigation: We've added a sleek, collapsible sidebar so every tool and collection is now just one click away — no more digging through menus.
- Quick Search (⌘K): Press ⌘K (or Ctrl+K) anywhere to instantly jump to any palette, tool, or page.
- OKLCH Colour Values: Colours now show modern OKLCH values right alongside HEX, RGB, and HSL — perfect for next-generation, perceptually-uniform design work.
- User Management (Admin): Administrators can now create, view, update, and remove user accounts from a dedicated dashboard.
- Interactive Colour of the Year: Click any Colour of the Year swatch to open it in our full-screen colour viewer.
- Smarter AI: Our AI-powered tools now run on the latest Gemini 3.5 model for faster, higher-quality results.
Changed
- Fresh Homepage Hero: A cleaner, more elegant headline with a stylish serif accent, plus a reorganized layout that brings the palette gallery front and centre.
- Redesigned Superhero Emblems: Gave all our superhero palettes crisp, iconic new emblems.
- Polished Buttons: Improved button hover colours in light mode so everything stays crisp and easy to read.
Fixed
- Fewer Dead Ends: Removed "View Details" links that previously led to a missing page on certain collections.
- Better Narrow & Mobile Screens: Fixed layouts that were pushing content off-screen on portrait or narrow displays.
- Flag Palettes Fixed: Country flag colours now display at the correct size without overlapping their labels.
- Friendlier "My Collection": Your collection now shows a warm sign-in prompt instead of quietly turning you away.
- Dashboard & Superman Tidy-Ups: Resolved overlapping elements on the dashboard preview and straightened out the Superman emblem.
[1.53.0] - 2026-05-13
Added
- DESIGN.md Generator: Introduced a new AI-powered tool to extract your website's visual identity (colours and typography) into a standardized specification for AI agents.
- Enhanced Security: Bolstered the platform's security with rate limiting and CSRF protection for design extraction tools.
- Typography Refresh: Introduced beautiful, editorial typography with the "Instrument" font family for a more premium aesthetic.
Changed
- Tool UI Overhaul: Redesigned the DESIGN.md generator with larger typography, curved branding, and a high-fidelity colour wheel icon.
- Integrated Navigation: Added our "Explore More" component to the bottom of the design tool to help you discover more features easily.
[1.52.0] - 2026-04-15
Added
- Live MapCN Integration: Brought the homepage to life with an interactive, rotating 3D map background that dynamically updates its colours to cycle through preset palettes.
- Follow User Feature: Added the ability for users to follow their favourite palette creators, complete with new "Followers" and "Following" statistics on user profiles.
- Email Notifications: Set up automated email notifications to alert creators when they gain a new follower.
- Admin Launch Manager: Introduced a new dashboard for administrators to view, filter, and manage platform launches.
Changed
- Gallery Hero Redesign: Overhauled the layout of the homepage gallery section to be more modern and trendy, adding a beautiful colour swatch grid and better organized Call-To-Action buttons.
- MapCN Palette Preview Enhancements: Refined the "Try with MapCN" dialog with outside-click dismissal prevention, better accessibility styling, and integrated arrow buttons for seamless palette navigation.
[1.51.0] - 2026-02-08
Added
- New Welcome Experience: We've launched an automated welcome email system powered by Resend to greet new creators the moment they join our community.
- Homepage Redesign: The homepage hero section has been refreshed with a modern look, featuring wider, more accessible buttons and updated copy highlighting our collection of over 2,550 curated palettes and gradients.
- "Unlock Full Potential": A new section on the homepage clearly outlines the benefits of joining kulay, from cloud sync to exclusive tools.
[1.50.0] - 2025-11-26
Fixed
- Critical Generator Crash: Resolved a critical bug that caused the palette generator page to crash when loading a palette from a URL.
- Collection Stability: Fixed a runtime error on the "My Collection" and generator pages that occurred when loading invalid or corrupted palette data, preventing the pages from crashing.
[1.49.0] - 2025-11-25
Added
- Top 10 Colours of 2026: Introduced a new, dedicated page showcasing a curated palette of the top 10 forecasted colours for 2026.
- Massive Gradient Expansion: Added 100 new gradients across ten categories, including "Utility," "Vibrant," "Dark," "Light," and more, to provide even more creative options.
Changed
- Homepage Showcase Update: The homepage hero section has been updated to proudly display the new total of 654 gradients.
- Spelling Correction: Standardized the spelling of "colour" across the new "Top 10 Colours of 2026" feature to maintain our Canadian-English identity.
Fixed
- Critical Gradient Count Error: Resolved a persistent bug where the gallery was not displaying the correct total number of gradients. The count is now accurate.
- Homepage Layout Fix: Corrected the layout for the "Top 10 Colours of 2026" showcase on the homepage to ensure it displays at its intended full width.
[1.48.0] - 2025-11-17
Added
- Festive Song Palettes: Added 10 new holiday palettes inspired by classic songs like "Silent Night" and "White Christmas" to the Holiday Palettes collection.
- Snowfall Animation: A beautiful, animated snowfall effect has been added exclusively to the /holiday-palettes page to enhance the festive spirit. This was built as a modular component for future use.
- Changelog RSS Feed: A new RSS feed for the public changelog is now available at /changelog/rss.
Changed
- Holiday Palette Refresh: To ensure the holiday collection is inclusive and universally festive, palettes with religious connotations have been replaced with neutral, winter-themed ones like "Snowman" and "Winter Village."
- Homepage Showcase Titles: Added thematic emojis to all showcase titles on the homepage for a more engaging UI.
- Clickable Changelog Link: The version number and "changelog" text in the footer are now a clickable link pointing to the /changelog page.
Fixed
- Critical Rendering Bug: Fixed a recurring 'duplicate key' error on the /holiday-palettes page that was caused by multiple palettes having the same ID. All palette IDs are now unique, ensuring the page renders correctly.
- Next.js Dynamic Route Errors: Fixed a persistent build error by correctly implementing an async-friendly pattern on all dynamic server pages (/palettes/[slug], /gradients/[slug], /categories/[slug]).
- TypeScript Type Mismatches: Corrected multiple TS2322 and TS2345 errors across the application by aligning prop types and function arguments, particularly in hooks and the components that consume them.
[1.47.0] - 2025-10-20
Fixed
- .ASE File Generation: Corrected a bug in the Adobe Swatch Exchange (.ase) file generation logic that was causing an extra '0' to be appended to palette names when imported into Photoshop.
[1.46.0] - 2025-10-17
Fixed
- Explore More Layout: Corrected the responsive grid layout for the
ExploreMorecomponent to ensure a consistent 3x3 grid on large screens and a proper fallback on medium and small screens, accommodating the nine items correctly.
[1.45.0] - 2025-10-14
Changed
- Standardized Sign-In Button: Consolidated all "Sign in with Google" buttons into a single, reusable component to adhere to the DRY principle and eliminate UI inconsistencies.
- Corrected Icon Usage: Replaced an invalid, non-existent
UserLockicon with the correctLockicon fromlucide-reacton the Skin Tone Analyzer's "Pro Feature" notice, resolving a critical runtime error. The default icon for the global sign-in button is now a padlock. - Improved Feature Discoverability: Removed the logic that hid authentication-required links from the main navigation. All feature links, such as the "Skin Tone Analyzer," are now always visible to all users, with authentication checks handled on the respective pages.
Fixed
- Critical Runtime Error: Fixed a crash on the
/skin-colourpage caused by an incorrect icon import. - Navigation Link Visibility: Restored the "Skin Tone Analyzer" link to the main navigation for all users, correcting a previous regression where the link was either missing or hidden for logged-out users.
[1.44.0] - 2025-10-13
Added
- Massive Gradient Expansion: Added over 150 new, hand-picked gradients across a wide range of categories, including "Clash," "Analogous," "Vibrant," "Split-Complementary," "Square," and more, significantly increasing the diversity of the collection.
- Rich Complementary Palettes: Added over 90 new complementary palettes with a focus on providing more variety, including collections specifically for "dark," "cool," and "warm" tones.
Changed
- Improved Complementary Algorithm: The algorithm for generating complementary palettes was significantly improved. It now uses a more sophisticated method to create richer, more balanced 5-color palettes with better saturation and lightness adjustments, moving beyond simple hue-flipping.
- Hero Section Stats: The homepage hero section badge has been updated to reflect the latest counts: "Now with 1809 palettes & 504 gradients".
Fixed
- Critical Build Error: Fixed a syntax error that was causing the application build to fail.
- UI Contrast: The text color for the "Sign in with Google" button was explicitly set to black for better contrast and readability on its light background.
[1.43.0] - 2025-10-09
Added
- Dark Complementary Palettes: Added 50 new hand-picked complementary palettes with a focus on darker, richer color combinations to provide more variety and depth to the collection.
[1.42.0] - 2025-10-08
Added
- Interactive Logo Suggestions: Added a new "Try a logo below" section to the HueFinder for Logos page. This feature displays five randomly selected brand logos that users can click to instantly load into the palette generator.
- Logo Refresh: A refresh button was added to the random logo suggestion feature, allowing users to load a new set of random logos on demand.
Changed
- Improved Code Modularity: The random logo suggestion feature was refactored into its own dedicated and reusable component for better code organization.
- Optimized Logo Display: The uploader on the HueFinder for Logos page now requests a higher-resolution image to ensure logos appear crisp and clear.
Fixed
- Critical Next.js Runtime Error: Resolved a recurring error related to dynamic parameter access on server pages.
- Critical Build Timeout Error: Fixed a timeout error that was breaking the main application layout by restoring the default image optimization settings.
- Corrected Data Imports: Fixed multiple data import errors in brand-related components.
[1.41.0] - 2025-10-06
Added
- New Category: Colours of World Cities: Added a new palette collection inspired by the logos and vibes of major cities around the globe.
- Dedicated City Palettes Gallery: A new, dedicated page at /city-palettes showcases the entire world city palette collection.
- Homepage City Showcase: The homepage now features a "Colours of World Cities" carousel to highlight the new palettes.
- SEO: Added the new /city-palettes route and its associated detail pages to the sitemap.xml to improve search engine discoverability.
Changed
- Optimized Version Control: Updated .gitignore to prevent the love-color.json and love-gradient.json files from being included in version control, ensuring local "love" counts are not committed.
Fixed
- Re-enabled img.logo.dev Domain: Corrected the Next.js image configuration (next.config.ts) by re-adding img.logo.dev to the list of allowed remote patterns, fixing the broken brand logos.
[1.40.0] - 2025-10-05
Added
- Massive Brand Palette Expansion: Added over 20 new palettes from iconic global brands to the "HueFinder for Logos" showcase, including luxury auto, fashion, and tech companies.
- Brand Contact Information: A new informational card was added to the /huefinder-logos page, providing a clear email contact for brands to request logo or palette updates.
- Improved Brand Discovery: Added a prominent, sky-blue "Show popular brands and their palettes" button to the homepage hero section to improve discoverability of the brand gallery.
Changed
- Improved Logo Quality: All brand logos in the "HueFinder for Logos" showcase are now sourced from the high-quality img.logo.dev service for a more professional appearance.
- Optimized Brand Showcase: The /huefinder-logos page has been refactored to separate server-rendered static content from client-side interactive elements, significantly improving initial page load performance.
- Enhanced Brand Card Layout: The layout of the brand cards in the /huefinder-logos showcase has been improved with better spacing and a 4-column grid on large screens for a cleaner, more balanced look.
Fixed
- Corrected T-Mobile Logo: Fixed a bug where the T-Mobile logo was not displaying by correcting its domain name in the data source.
- Resolved Critical Runtime Errors: Fixed a recurring TypeError: Cannot read properties of undefined (reading 'map') in both top-20-brands.ts and brand-showcase.tsx by correcting the data import logic from JSON files.
[1.39.0] - 2025-10-03
Added
- 16-Season Color System Guide: A new, dedicated page at /16-season-system provides an expert guide to the 16-season color analysis system.
- Interactive Seasonal Palettes: The new guide features curated 5-color palettes for each of the 16 sub-seasons, complete with descriptions and interactive lightbox previews.
[1.38.0] - 2025-10-02
Added
- Superhero Icons: The "Colours of Superheroes" gallery now features custom, minimalist SVG icons for each hero, enhancing the thematic presentation.
- Community Engagement: Added a humorous call-to-action in the footer inviting users to submit their own superhero icon doodles, fostering community interaction.
- ESPN Logo Credit: Added a credit in the footer to acknowledge ESPN as the source for the NBA and NFL team logos.
Changed
- Standardized Logo/Flag Sizes: The image sizes in the PaletteCard component have been standardized to ensure that country flags and sports logos have a consistent and visually balanced height.
- Improved Card Layout: The layout of the PaletteCard has been refined by moving the image into the CardHeader and adjusting margins to create a tighter, more professional grouping between the image and the palette name.
- Enhanced Homepage Navigation: All feature showcase titles on the homepage ("Colours of Country Flags," "Colours of the NBA," etc.) are now linked to their respective full gallery pages, improving site navigation.
Fixed
- New Orleans Pelicans Logo: Corrected the team abbreviation for the New Orleans Pelicans from "nop" to "no," allowing their logo to display correctly in the NBA gallery.
- Superhero Icon Build Error: Resolved a critical build failure caused by invalid SVG syntax (d: instead of d=) in the superhero-icon.tsx component.
- Save Button UI Bug: Fixed a UI bug where the hover state on "Save" buttons had no right-side padding. This was corrected by changing the button's size variant from icon to sm where appropriate.
[1.37.0] - 2025-09-19
Added
- Massive Gradient Expansion: Added over 200 new, hand-picked gradients to the main library, significantly increasing the variety and depth of the collections.
- Homepage Gradient CTA: Added a new, stylized "Browse Gradients" button to the homepage hero section to improve discoverability.
Changed
- Hero Section Stats: The homepage hero section now includes a badge that proudly displays the total counts of both palettes and gradients, updated to "Now with 1,739 palettes & 359 gradients".
[1.36.0] - 2025-09-13
Added
- Massive Palette Expansion: Added 120 new, hand-picked palettes to the main library, significantly increasing the variety and depth of the collections.
- Category Enhancements: Specifically, 30 new palettes were added to each of the following categories: "Pastel", "Material", "Earthy", and "Blue".
[1.35.0] - 2025-09-07
Added
- Massive Palette Expansion: Added 120 new, hand-picked palettes to the main library, significantly increasing the variety and depth of the collections.
- Category Enhancements: Specifically, 30 new palettes were added to each of the following categories: "Pastel", "Material", "Earthy", and "Blue".
[1.34.0] - 2025-09-06
Added
- New Category: Superhero Palettes: Added a new collection inspired by the iconic costumes of legendary superheroes.
- Dedicated Superhero Gallery: A new, dedicated page at /superhero-palettes showcases the entire superhero palette collection.
- Homepage Showcase: The homepage now features a "Colours of Superheroes" carousel to highlight the new palettes.
Changed
- Footer Redesign: The site footer has been restructured for better navigation. A dedicated "Tools" column was added to group all interactive features, and the "Legal" links were moved to their own distinct section for improved clarity.
[1.33.0] - 2025-09-06
Fixed
- Critical Generator Bug: Resolved a persistent TypeError: Converting circular structure to JSON that caused a crash when saving a generated palette. The usePaletteManager hook was refactored to ensure data integrity and prevent React event objects from being passed into the data layer.
- Dynamic Page 404 Errors: Fixed a critical issue where all dynamic palette detail pages were returning a 404 "Not Found" error. The data fetching logic was corrected to properly handle the numeric id from the URL, ensuring palettes are found and rendered correctly.
[1.32.0] - 2025-08-29
Added
- AI Skin Tone Palette Analyzer: Introduced a new, privacy-focused tool at /skin-colour that allows users to upload a photo of their face to receive personalized colour analysis. The AI identifies skin tone and recommends complementary palettes for makeup and clothing.
- Generate Social Post: Added a feature within the Skin Tone Analyzer to generate and download a shareable image of the analysis results, perfect for social media.
- Robust Error Handling: Implemented comprehensive error handling and user guidance for the AI analysis to manage cases of non-human photos, poor lighting, or low-confidence results.
- Privacy-First Design: The Skin Tone Analyzer is designed to be fully private; user images are processed for analysis and are never stored on the server.
[1.31.0] - 2025-08-25
Added
- New Category: NFL Teams: Added a new "NFL Team Palettes" category featuring colour schemes for all 32 NFL teams.
- Dedicated NFL Gallery: A new, dedicated page at /nfl-teams showcases the entire NFL team palette collection.
- Homepage NFL Showcase: The homepage now features a "Colours of the NFL" section with a carousel to highlight the new palettes.
- Enhanced Navigation: Added a link to the new NFL Teams page in the main footer for better discoverability.
[1.30.0] - 2025-08-24
Added
- New Category: NBA Teams: Added a new "NBA Team Palettes" category featuring colour schemes for all 30 NBA teams.
- Dedicated NBA Gallery: A new, dedicated page at /nba-teams showcases the entire NBA team palette collection.
- Homepage NBA Showcase: The homepage now features a "Colours of the NBA" section with a carousel to highlight the new palettes.
- Enhanced Navigation: Added a link to the new NBA Teams page in the main footer and header navigation for better discoverability.
[1.29.0] - 2025-08-21
Added
- Colour of the Year Page: A new dedicated page at /colour-of-the-year has been added, showcasing a curated collection of the annual "Colour of the Year" selections from 2000 to 2025. Each entry includes a description and the corresponding colour swatches.
- Enhanced Navigation: Added links to the new "Colour of the Year" page in the main header navigation and the footer for easy discovery.
Changed
- Changelog Refactor: The static changelog.html has been replaced with a dynamic Next.js page at /changelog, ensuring consistent styling and layout with the rest of the application.
Fixed
- Header Navigation: Corrected a persistent issue where the "Colour of the Year" link was not appearing in the header navigation due to an incorrect import path in the header component.
[1.28.0] - 2025-08-19
Added
- Enhanced Flag Palettes: The "Colours of Country Flags" collection is now more engaging and informative.
- Flag Images: Each country's flag is now displayed next to its name in both the main gallery and on the dedicated palette detail pages for better visual recognition.
- Flag Trivia: A new "Flag Trivia" section has been added to each country's palette detail page, providing a brief history and symbolism behind the flag's design.
Fixed
- Philippines Flag Palette: Corrected the Philippines flag palette to include its fourth color (golden-yellow), ensuring it accurately represents the national flag.
- Header Z-Index: Increased the header's z-index to ensure it remains layered on top of all page content during scrolling, preventing visual glitches.
[1.27.0] - 2025-08-18
Added
- New Category: Color-Blind Friendly: Introduced a new collection of palettes specifically designed to be accessible for users with common forms of color blindness.
- All Categories Page: Created a new, dedicated page at /categories where users can browse all palette collections in one place.
- Category View Toggle: The new categories page includes a toggle to switch between a visual grid view and a compact list view.
- Dynamic Category Pages: Implemented dynamic routing to give every category its own dedicated page (e.g., /categories/complementary), improving site structure and SEO.
- Enhanced Category Navigation: Added a "Back to Categories" button on individual category pages for a smoother browsing experience.
[1.26.0] - 2025-08-12
Added
- New Category: Colours of Country Flags: A comprehensive new collection featuring nearly 200 colour palettes inspired by the flags of the world.
- Dedicated Flag Gallery: A new, dedicated page at /country-flags showcases the entire flag palette collection in a grid format.
- Homepage Flag Showcase: The homepage now features a "Colours of Country Flags" section with a carousel to highlight the new palettes.
- Enhanced Navigation: Added links to the new Country Flags page in the main footer and the "Explore More" component for better discoverability.
[1.25.0] - 2025-08-12
Added
- SEO: Sitemap: A sitemap.xml file has been added to the public/ directory to improve search engine crawling and indexing. It includes all static pages and dynamic routes for palettes and gradients.
- SEO: Robots.txt: A robots.txt file has been added to the public/ directory to guide search engine crawlers, allowing access to public pages while disallowing private areas like /admin.
- Google Analytics: Integrated Google Analytics to track pageviews and user engagement, helping to improve the application over time. The tracking ID G-WDJE4C1P0M is now active.
- Enhanced 404 Page: The "Not Found" page has been redesigned to be more engaging and now includes the "Explore More" section to help users navigate back to key areas of the site.
Changed
- UI Consistency: Replaced all instances of "color" with "colour" on public-facing frontend pages to align with the brand's identity.
- Footer Slogan: Updated the footer slogan to be more marketing-focused: "Discover, create, and share beautiful colour palettes and gradients for any project."
- Social Media Links: Corrected the footer links for Instagram and Pinterest to point to the official kulaycanada profiles.
- Pagination: Both the palette and gradient galleries now load 50 items at a time and feature a "Load More" button, significantly improving initial page load performance.
- FAQ Content: The FAQ page has been updated with new entries explaining the HueFinder for Photos and HueFinder for Logos features.
- Privacy Policy: The privacy policy was updated to transparently disclose the use of Google Analytics for traffic analysis.
Fixed
- Changelog Accuracy: Removed a duplicated entry and corrected future dating to ensure the changelog is accurate and reliable.
[1.24.0] - 2025-08-12
Added
- New Category: Top 20 Artists: Introduced a "Top 20 Artists" category with 20 new palettes inspired by the iconic works of legendary artists like Van Gogh, Monet, and Picasso.
[1.22.0] - 2025-08-12
Added
- HueFinder for Logos: Introduced a new tool at /huefinder-logos for generating a five-color palette directly from an uploaded brand logo.
- Brand Palette Showcase: The new HueFinder for Logos page features a "Top Brands Showcase" with 20 iconic brand logos. Users can click a brand to instantly load its logo and see its corresponding color palette, providing real-world examples and inspiration.
Changed
- Gallery Hero Section: The main gallery hero has been redesigned into a two-column layout. The gallery description is on the left, and a new, stylized "HueFinder" card is on the right, providing clear navigation to both the photo-based and new logo-based palette generators.
[1.21.0] - 2025-08-11
Added
- New Category: Sepia: Added a "Sepia" category with 20 new, hand-picked sepia-toned palettes for a vintage aesthetic.
- New Category: Top 20 Movies: Added a "Top 20 Movies" category with palettes inspired by the color schemes of iconic films.
- New Category: Top 20 TV Shows: Added a "Top 20 TV Shows" category with palettes reflecting the visual identity of acclaimed television series.
- New Category: Top 20 Brands: Added a "Top 20 Brands" category showcasing the color palettes of major global brands.
Changed
- Default Filter: The main palette gallery now defaults to showing the "Complementary" category on page load.
- Filter Highlight: The active category filter button is now highlighted with a distinct 3px border for better visibility.
[1.20.0] - 2025-08-11
Fixed
- Critical Accessibility Fix: Resolved a persistent DialogContent error by adding a visually hidden DialogTitle to all dialog-presenting components (AlertDialog, Dialog, DropdownMenu, Popover, Sheet). This ensures compliance with accessibility standards for screen readers without altering the visual design.
[1.19.0] - 2025-08-11
Changed
- Improved Collection UI: The "My Collection" page now displays the name of each saved palette and gradient directly above its card, making it much easier for users to identify their creations at a glance.
Fixed
- Critical Runtime Error: Resolved a recurring crash on the /my-collection page. The issue was caused by malformed or incomplete palette and gradient data loaded from Firestore. The components now include robust validation to safely filter out any invalid items, preventing runtime errors and ensuring the page remains stable.
[1.18.0] - 2025-08-10
Changed
- Optimized Version Control: Added a .gitignore file to exclude the love-color.json and love-gradient.json files from source control. This prevents local "love" counts from being committed after the initial deployment and ensures the server-side files are the single source of truth.
[1.17.0] - 2025-08-10
Changed
- Optimized Version Control: Added a .gitignore file to exclude the love-color.json and love-gradient.json files from source control. This prevents local "love" counts from being committed after the initial deployment and ensures the server-side files are the single source of truth.
[1.16.0] - 2025-08-09
Added
- Massively Expanded Gradient Gallery: Added nearly 100 new, hand-picked gradients across all categories, more than doubling the size and variety of the curated collection.
[1.15.0] - 2025-08-09
Added
- HueFinder: Image to Palette Generator: Introduced a powerful new tool at /huefinder that allows users to upload an image and automatically generate a five-color palette based on its most prominent and harmonious colors.
- Direct Saving from HueFinder: Users can now save a palette generated from an image directly to their "My Collection" or open it in the full generator for further editing.
- HueFinder Instructions: Added a clear, step-by-step guide on the HueFinder page to improve user experience and explain how the tool works.
- Enhanced Page Navigation: Added the "Explore More" section to the bottom of the HueFinder page to provide quick navigation to other galleries and collections, creating a more consistent user flow.
Changed
- Refactored HueFinder Component: The main component for the image-to-palette feature was broken down into smaller, more manageable sub-components (HueFinderUploader, HueFinderResult) for improved code clarity and maintainability.
- Improved Uploader UI: The image uploader on the HueFinder page now has a taller, square aspect ratio and a more intuitive design, including a "Change Image" button for better usability.
Fixed
- Corrected extract-colors Dependency: Resolved a critical npm install failure by specifying the correct version for the extract-colors package in package.json.
- Resolved Client-Side TypeError: Fixed a runtime error in the HueFinder component by changing the import for extract-colors from a default to a named import (import { extractColors } from 'extract-colors'), aligning it with the library's module structure.
[1.14.0] - 2025-08-06
Added
- Modular "Explore More" Section: The "Explore More" section, which provides quick navigation links, has been refactored into a reusable component to improve code modularity and maintainability.
- Enhanced Detail Page Navigation: The new, modular "Explore More" section has been added to the bottom of both the palette and gradient detail pages, allowing users to easily navigate to other collections or generators after viewing a specific item.
Fixed
- Dynamic "Try It Out" Headers: Corrected an issue where the "Try it out" section on both palette and gradient detail pages had a static title. The headers now dynamically include the name of the palette or gradient being previewed, providing better context for the user.
[1.13.0] - 2025-08-08
Added
- Generator Quick Links: Added an "Explore More" section to the bottom of both the palette and gradient generator pages. This section includes large, card-style links to the main collections and, for signed-in users, direct links to their personal "My Palettes" and "My Gradients" tabs.
- Collection Quick Actions: Added two prominent, stylized "Quick Action" buttons to the "My Collection" page, allowing users to jump directly back to the palette or gradient generator, improving workflow.
Fixed
- Generator Loading Bug: Fixed a critical bug where editing a saved or generated item from the "My Collection" page would not correctly load it into the generator. The entire workflow was refactored to use a more reliable URL parameter system instead of shared state, ensuring palettes and gradients load correctly for editing every time.
[1.12.0] - 2025-08-07
Added
- Global Breadcrumbs Navigation: Introduced a modular
<Breadcrumbs />component to provide clear, hierarchical navigation across the application.
Changed
- Improved Page Context: Breadcrumbs have been integrated into all major pages, including palette/gradient galleries, detail views, generators, and user pages (/my-collection, /faq, etc.), to improve user orientation and navigation flow.
- Refined UI Typography: Adjusted the font size on color detail cards to prevent text wrapping and improve readability.
- Enhanced Gradient Detail Page: The gradient detail page now displays the category (Warm, Cool, Vibrant, etc.) below the title for better context, aligning its design with the palette detail pages.
[1.11.0] - 2025-08-06
Added
- Advanced Gradient "Try It Out" Section: The gradient detail page now includes a powerful preview section that demonstrates how to use the gradient in multiple real-world scenarios.
- Live UI Demonstrations: The new preview showcases the gradient applied to hero-style backgrounds, heading text (<h1>), card borders, and dividers.
- Copy-and-Paste CSS Snippets: Each demonstration is accompanied by a ready-to-use CSS snippet, making it easy for developers to implement these effects in their own projects.
- Gradient Best Practices: Added a "Best Practices" alert box to provide users with actionable advice on using gradients effectively and accessibly.
[1.10.0] - 2025-08-05
Added
- Gradient Download Functionality: Users can now download any gradient from the detail page.
- Multiple Download Formats: Gradients are available for download as a CSS class, a JSON object, or a scalable SVG image, providing flexible options for developers and designers.
- Expanded Gradient Gallery: Added nearly 50 new, hand-picked gradients across all categories, doubling the size of the curated collection to over 100 gradients.
Fixed
- SVG Download Generation: Corrected an issue where downloaded SVG files for gradients were not scaling properly. The SVG generation logic was fixed to include a proper viewBox and dimensions, ensuring a clean, scalable vector graphic is produced.
[1.9.0] - 2025-08-04
Changed
- Enhanced Palette Preview: The "Try it out" section on palette detail pages has been significantly upgraded. It now features a two-column layout that previews colors on both standard content (headings, paragraphs) and a realistic mock form, including inputs, selects, textareas, and buttons. This provides a much more comprehensive and practical demonstration of how a palette will look in a real-world application.
- Smarter Color Application: The preview component now intelligently applies the five palette colors to different UI elements, including primary text, body text, accents, button backgrounds, and hover states, for a more dynamic visualization.
[1.8.0] - 2025-08-03
Added
- My Collection Page: Introduced a new, protected route at /my-collection for authenticated users. This page provides a central location to view and manage all saved color palettes and gradients.
- Tabbed Collection View: Implemented a tabbed interface on the "My Collection" page to separate saved palettes and gradients, making it easy for users to navigate their creations.
- Collection Components: Created modular MyPalettes and MyGradients components to display user collections, with options to edit or delete items directly from the page.
- Authenticated Header Link: Added a "My Collection" link to the user dropdown menu in the header, ensuring it is only accessible to signed-in users.
[1.7.1] - 2025-08-03
Fixed
- Critical Build Failure: Resolved a recurring TypeScript error originating from the LoveButton component. The component's custom type prop was renamed to itemType to prevent conflicts with the standard HTML type attribute, which was causing build failures on palette and gradient pages.
- Admin Dashboard Type Error: Corrected a TypeScript error on the Admin Dashboard where fetched JSON data for "love" counts was not being properly typed, preventing the dashboard from rendering statistics correctly.
- Critical Firestore Bug: Resolved a server crash that occurred when authenticated users tried to save a color palette. The usePaletteManager hook was refactored to store palette arrays as a single delimited string in Firestore, avoiding the "nested arrays are not supported" error.
- UI Clarity: Added a dynamic, context-aware notice on the gradient generator page to clearly explain to both signed-in and anonymous users how their data is being stored (either in the cloud or locally).
Changed
- FAQ Content: Significantly updated the /faq page with new entries explaining the "Love" feature and the Gradient Generator, and clarified how data storage works for authenticated versus anonymous users.
- Project Documentation: Updated README.md to fully document the Firebase integration, including a new setup section and revised feature descriptions.
[1.7.0] - 2025-08-03
Added
- Google Authentication: Integrated Firebase Authentication to allow users to sign in with their Google accounts. This provides a personalized experience and enables cloud data storage.
- Cloud Sync with Firestore: User data, including saved color palettes, saved gradients, and "loved" items, is now securely stored in Firestore when a user is logged in. This ensures data is synchronized and accessible across all devices.
- Admin Dashboard: Created a new protected route at /admin for application management. The dashboard is only accessible to authorized admin accounts and provides an overview of application statistics.
Changed
- Data Storage Logic: Refactored the usePaletteManager and useGradientManager hooks to handle both authenticated (Firestore) and anonymous (local storage) user data, ensuring a seamless experience for all users.
- Auth-Aware UI: The application header now dynamically displays either a "Sign In" button or a user avatar with a dropdown menu for signing out, depending on the user's authentication state.
Security
- Implemented a client-side Firebase initialization pattern within the AuthProvider to ensure API keys are handled securely and are not exposed during the build process.
[1.6.0] - 2025-08-02
Added
- "Try It Out" Feature: Introduced a modular
<PalettePreview />component that allows users to instantly visualize how a color palette looks on a webpage with styled h1, h2, p, a, and button elements. - Jump Link: Added a "Try it out" button on palette detail pages for quick navigation to the new preview section.
- Return Link: Included a "Back to Top" link at the bottom of palette and gradient detail pages to improve navigation flow.
Changed
- Love Button UI: The "love" count is now displayed in a modern, pill-shaped button for better visibility and a cleaner aesthetic.
- Documentation: Updated README.md with the correct GitHub repository URL.
[1.3.0] - 2025-07-30
Added
- Official Logo & Favicon: Integrated a new brand logo (kulay-logo.png) and a custom favicon (favicon-kulay.ico) for a consistent and professional identity.
- Reusable Logo Component: Created a modular
<Logo />component to ensure brand consistency in the header and footer, making a future updates easier. - Footer Spacing: Added a
mb-24class to the main layout to increase the margin above the footer, improving visual balance on all pages.
Changed
- Brand Typography: The brand name is now consistently lowercase ("kulay") and styled with the "Source Code Pro" font for a distinct look.
- Site Title: Updated the global site title format to
kulay - Unlock the Power of Colour - kulay.ca - {page_name}for better SEO and brand consistency.
[1.2] - 2025-07-29
Added
- About Page: Created a new /about page to share the story and mission behind kulay.
- Navigation Link: Added an "About" link to the footer for easy access.
Changed
- Footer Layout: Reorganized the footer into three distinct columns ("Quick Links," "Discover," and "Legal") for a cleaner and more intuitive navigation experience.
- Standardized H1 Titles: Applied a consistent, responsive font size and a subtle gradient text effect to the H1 titles on the main gallery and generator pages for a cohesive and professional look.
- Legal & Disclaimer Updates:
- Updated the /dmca page with a direct email contact (legal@kulay.ca).
- Added a "Monetization and Affiliate Links" section to the /disclaimer page for transparency.
- Hydration Error Fix: Resolved a recurring hydration error by isolating the footer's slogan into its own dedicated component (Slogan.tsx), ensuring consistent server and client rendering.
[1.1.0] - 2025-07-29
Added
- Gradient Generator & Gallery: Introduced a comprehensive suite of tools for creating and exploring gradients.
- Curated Gallery: Launched a new /gradients page with over 50 hand-picked gradients.
- Interactive Gradient Card: Created a modular GradientCard component with an interactive hover effect to display solid start/end colors and their HEX, RGB, and HSL values.
- Gradient Detail Page: Added dynamic pages for each gradient, accessible by clicking on a gradient card.
- Search & Filter: Implemented search-by-name and filter-by-category functionality for the gradient gallery, mirroring the color palette gallery.
- Love System for Gradients: Extended the "love" functionality to gradients.
- Added a love-gradient.json file to store gradient love counts.
- Refactored the LoveButton component to be reusable for both color palettes and gradients.
- Added a new /loved-gradients page to showcase the most popular gradients.
- Changelog Page: Created a dedicated /changelog page to display the project's version history.
Changed
- Rebranding: The application has been officially rebranded from "PalettePilot" to "kulay".
- Updated the name in package.json, README.md, Header, Footer, Copyright, and all legal documents.
- Love Button Engineering: Refactored the LoveButton for improved resilience, better optimistic updates, and more robust server-side actions.
- Font Styling: Updated the font for the "love" count to Source Code Pro for a distinct visual style.
- UI Enhancements:
- Adjusted the gradient gallery layout to a two-column grid for better readability.
- Redesigned the "love" button on cards to be a more modern, pill-shaped button.
- Added category-specific background colors to the filter buttons on the gradients page for a more intuitive UI.
[1.2] - 2025-07-29
Added
- FAQ Page: Created a new /faq page with an accordion to proactively answer common user questions about local storage, the generator, and the contrast checker.
- Navigation Link: Added a "FAQ" link to the main header navigation and the footer for easy access.
Changed
- Header Navigation: Refactored the main header to use dropdown menus for "Palettes" and "Gradients," creating a more organized and scalable navigation structure.
- Improved UI Clarity: Updated multiple component descriptions and labels to use simple, user-friendly language instead of technical jargon.
- Clarified that saved palettes are stored in the browser and will be lost if browser data is cleared or a different device is used.
- Rewrote the Contrast Checker description to explain its purpose in plain terms.
- Simplified the Palette Generator and Palette Display descriptions.
- Made the "Add Color" button text more explicit ("Add Color to Palette").
- Documentation: Updated README.md to reflect the addition of the FAQ page and other UI enhancements.
[1.0.1] - 2025-07-28
Added
- Global Middleware: Implemented a new middleware to enforce lowercase URLs across the entire application, preventing case-sensitivity issues and 404 errors.
- Back to Top Button: Added a globally accessible "Back to Top" button that appears on long pages to improve navigation and user experience.
- Modular Footer: Created a reusable, isolated Footer component with a multi-column layout for brand information, navigation, and legal links.
- Modular Copyright: Extracted the copyright notice into its own dedicated component for better separation of concerns.
Fixed
- URL Case-Sensitivity: Resolved a 404 error for /changelog.html by renaming the file to lowercase and a global middleware to handle all routes.
- Footer Styling: Adjusted font sizes and colors in the new Footer component to be more standard and readable.
- Icon Alignment: Corrected the alignment of the chevron icon within the "Back to Top" button to ensure it is perfectly centered.
[1.0.0] - 2025-07-27
Added
- Initial Release of PalettePilot
- Core Features:
- Palette Gallery: A vast, filterable gallery of over 800 curated color palettes. Categories include color families (Blue, Green, Warm, Cool, etc.) and harmony rules (Complementary, Analogous, Triadic, Split-Complementary, Tetradic, and Monochromatic).
- Harmony-Based Generation: Create palettes based on classic color theory rules (Analogous, Complementary, Triadic, Split-Complementary, Tetradic, and Monochromatic).
- Palette Details Page: View detailed information for each color in a palette, including HEX, RGB, and HSL values.
- Generator Page: A comprehensive toolkit for creating palettes, featuring:
- Interactive palette editor to adjust, lock, add, or remove colors.
- WCAG contrast checker for accessibility testing.
- Local storage for saving and managing custom palettes.
- Community "Love" System: Users can "love" palettes, with the most popular ones featured on a dedicated page.
- Technical Stack:
- Next.js 15 with App Router.
- React 18 and TypeScript 5.
- ShadCN UI and Tailwind CSS for a modern, responsive user interface.
- Documentation & Configuration:
- Comprehensive README.md with setup, deployment, and usage instructions.
- Dockerfile.dev and Dockerfile.prod for containerized environments.
- apphosting.yaml for streamlined deployment to Firebase App Hosting.
- CONTRIBUTING.md and CODE_OF_CONDUCT.md for open-source community standards.
Changed
- Architectural Refactoring:
- Improved modularity across the application by decoupling components and isolating responsibilities.
- Refactored the ColorControl component by creating a dedicated ColorInput component, resolving display issues and improving maintainability.
- Extracted LoveButton into a self-contained, reusable component to handle all "love" interactions consistently.
- Simplified the PaletteDetailPage by creating a ColorDetailCard component to manage the display of individual color information.
- Centralized all palette management logic (active palette, saved palettes, generation, etc.) into a custom usePaletteManager hook, cleaning up the main Generator page.
- Refactored the main Gallery page to use a more modular PaletteGrid component, separating data filtering from presentation.
- UI/UX Enhancements:
- Integrated the react-colorful library for an accessible, mobile-friendly color picker in the HarmonyGenerator.
- Redesigned the HarmonyGenerator with a more intuitive and visually appealing layout.
- Adjusted the layout of the Generator page to ensure the "Saved Palettes" and "Current Palette" cards have matching heights for a balanced look.
- Made action icons on the "Saved Palettes" component permanently visible for better usability.
- Removed AI-Powered Features: To eliminate external API costs, all GenAI-powered features (palette generation from text/image, Pantone suggestions) were removed. The application is now fully self-contained.
Fixed
- Resolved a critical issue where color value inputs (RGB, HSL) were not rendering within the ColorControl component. The component was fully refactored to fix this.
- Fixed a server-side rendering error (Cannot read properties of null (reading 'useContext')) by wrapping client-side providers and components in a dedicated ClientLayout component.
- Corrected a bug where the navigation loading spinner in the Header would get stuck after a page transition.
- Addressed a layout issue where content using Tailwind's @tailwindcss/typography plugin (prose class) was not expanding to the full width of its container.
- Resolved a client-side hydration error by refactoring the footer's Copyright notice into its own dedicated component, ensuring a consistent render between server and client.
Explore More
Find more inspiration in our galleries and tools.
Colour Palette Collection
Browse hundreds of curated palettes.
Gradient Collection
Explore beautiful, ready-to-use gradients.
Country Flag Palettes
Discover palettes from the flags of the world.
16-Season Color System
Find your most flattering colors.
Colour of the Year
Explore annual trending colors.
HueFinder for Photos
Generate a colour palette from any image.
PRO
HueFinder for Logos
Generate a palette based on a brand logo.
PRO
AI Skin Tone Analyzer
Get a palette based on your skin tone.
PRO
WCAG Contrast Checker
Test colour accessibility.