Changelog
Compact list of all changes. See release announcements for detailed writeups.
Build 39dfe1a on May 25, 2026
v0.38.0 May 25, 2026
- fix Resolved Eleventy templateContent timing error that prevented collection landing pages from rendering post previews
- new Laptop Size filter for screen size categories (13", 14", 15", 16")
- new Laptop Access filter for access method (internal, external, none)
v0.37.2 March 30, 2026 📄
- fix Search results no longer show duplicate collection entries
- fix Empty dataset headers no longer appear in search dropdown
- fix Changelog now correctly orders releases by date then version
- fix Pinned posts appear first in all listings
- fix Pinned tag now displays in all post display modes
- chg Search activates after 3 characters instead of 4
- chg Search input is more responsive on listing pages
- internal Simplified search dropdown code structure
- internal Added unit tests for search index generation
v0.37.1 March 29, 2026
- fix Search results no longer show duplicate collection entries
- fix Empty dataset headers no longer appear in search dropdown
- chg Search activates after 3 characters instead of 4
- internal Simplified search dropdown code structure
- internal Added unit tests for search index generation
v0.37.0 March 28, 2026 📄
- new Global search across all datasets, posts, and pages
- new Search results grouped by collection with current context prioritized
- new Current dataset results shown first when searching from dataset pages
- new Keyboard navigation (↑/↓/Enter) through search results
- improved Datasets without detail pages link to filtered listing instead
- internal Inverted index with bitfield encoding for compact search index
v0.36.2 March 27, 2026
- internal Enabled ESLint with flat config for JavaScript linting
- internal Added Knip for detecting unused dependencies and code
- fix Fixed regex escape patterns in context URL matching
- fix Corrected top-level await usage in build scripts
- internal Removed dead imports and unused variable assignments
v0.36.1 March 27, 2026
- new Collection cards now have info icons linking to landing pages
- fix Dataset card info icons now show tooltips explaining the link
- fix Back button now returns to previous page instead of cycling through anchor positions
- internal Guard against undefined identity during initialization
v0.36.0 March 26, 2026 📄
- new Datasets display "Updated X days ago" with color-coded freshness status
- internal Freshness computed at build time from configurable date columns
v0.35.0 March 25, 2026 📄
- new Gallery navigation with swipe gestures and arrow buttons on detail pages
- new Image counter showing current position in gallery (e.g., "2/4")
- new Keyboard arrow navigation (←/→) for gallery images
- internal Gallery image preloading for instant navigation
v0.34.1 March 23, 2026 📄
- fix Card grids now use more consistent responsive sizing across vertical, horizontal, and compact layouts
- fix Horizontal cards now keep uniform widths, including in single-column layouts
- fix Favorite and compare actions stay visible on touch devices across compact and list views
- internal Deduplicated shared card action visibility rules between core and finder CSS
v0.34.0 March 23, 2026 📄
- new Section headings on detail pages now have anchor links (#) for direct sharing
- fix Fixed mobile scroll offset when navigating to section anchors
- fix Fixed header and footer width misalignment on tablet viewports (576-1023px)
- chg Removed /tags/ index page (individual tag pages still work)
v0.33.1 March 19, 2026
- chg Multi-value fields now use a cleaner separator across cards, tables, and detail pages
- chg Default card tags and compact stats now use a lighter bordered style
- fix Multi-value card fields keep their labels while displaying cleaner values
- internal Removed the segmented-pill implementation and simplified formatting through existing display helpers
v0.33.0 March 19, 2026 📄
- new Detail pages now support image galleries with multiple views per item
- new Table view displays thumbnail images for visual scanning
- new Navigate gallery images with left/right arrow keys
- chg Image thumbnails in table view can be toggled on/off via settings menu
- internal Image manifest upgraded to v2 format supporting multiple images per item
v0.32.0 March 18, 2026 📄
- new Banner image style for datasets with rectangular/wide images (e.g., airline logos)
- new Tags and categories now display on posts and link to filtered listings
- new New /tags/ page shows all tags and categories with post counts
- fix Anchor links now scroll correctly below the sticky header
- fix Horizontal card layout now displays cards with equal widths
- chg Banner images include background color for transparent images in dark mode
v0.31.1 March 16, 2026
- chg Changelog now generated from release post frontmatter
- new Release posts support `changes:` array in frontmatter for structured changelog entries
- internal Release stubs (frontmatter-only) excluded from /posts/ listing via `has_article` flag
v0.31.0 March 16, 2026 📄
- new Detail sections can now link tags to other datasets or filtered views using `link_template`
- new Internal columns can be filtered via URL parameters without appearing in the sidebar
- fix "View all mentions" links on detail pages now preserve collection context
- internal Filter registry now processes all filterable columns for URL-based filtering
v0.29.0 March 15, 2026
- fix Back navigation from posts now correctly returns to the previous page with accurate labels ("Back to collection", "Back to dataset", "Back to articles")
- fix Collection context (?c=) now preserved when navigating to posts and article listings
- fix Articles link in header dropdown no longer causes console error
- internal Simplified posts navigation using browser history instead of URL parameters
v0.28.2 March 15, 2026
- chg Dataset tag in posts now links to dataset articles instead of finder
- fix Back navigation preserves collection context through posts
- internal Simplified posts.js, removed unused collections
v0.28.1 March 15, 2026
- new Dataset-specific article listings at /posts/{dataset}/
- new Articles icon on collection landing cards and dataset taglines
- new Articles menu item in dataset settings dropdown
- fix Remove broken category listing template
v0.27.0 March 15, 2026
- new Dataset and collection-specific blog support
- new Automatic aggregation of dataset posts into collection pages
- new Sticky posts for main, dataset, and collection views
- chg Improved dataset descriptions with article counts and direct links
- chg Post previews now show scope tags (dataset, collection, release)
v0.28.0 March 11, 2026 📄
- new Improved SEO with full meta descriptions, sitemap, and Open Graph tags
- chg Cleaner, faster CSS with modular structure and per-page bundles
- chg Mobile usability improvements, including filter access and layout fixes
- fix Accessibility improvements for screen readers and keyboard navigation
- internal Refactored and consolidated CSS utilities
v0.26.0 March 7, 2026 📄
- new Click table column headers to sort-indicators show current sort column and direction
- new Full-width toggle expands listings to use entire browser width
- chg Sort controls hidden from sidebar when viewing tables (use column headers instead)
- chg Smart sort defaults: numbers sort highest-first, text sorts alphabetically
- fix Table header no longer shows content beneath when hovering on scrolled tables
v0.25.0 March 6, 2026 📄
- new Full-width toggle expands listings to use entire browser width (desktop/tablet)
- new Card titles and images can link to external URLs for datasets without detail pages
- new View Source button in settings menu links to dataset spreadsheet
- new Airlines dataset with carrier logos and baggage limits
- fix Consistent theme colors across homepage and dataset pages
- fix Checklist items with values like "3" or "foam" now show checkmarks correctly
- internal Image scanning no longer requires source URL column configuration
v0.24.0 March 1, 2026 📄
- new Visual range sliders for numeric filters with dual handles
- new Threshold filter slider for ordered options (Excellent → Poor)
- new Search dropdown auto-opens on focus showing first 8 options
- new Bookmark ribbons on cards for favorites (gold) and compare list (blue)
- new Compare page highlights best enum values among compared items
- chg Range sliders update bounds when switching units or currency
- chg Compare page header: logo and title now single clickable link
- fix Multi-value columns now use configured separator for display
- fix Compare page shows ✗ for false booleans instead of –
- fix Detail sections support label:null to hide headers
- fix Detail hero respects image:false config
- fix Icon mode detail pages use smaller image column
v0.23.0 February 24, 2026 📄
- new Linux Distros dataset - compare 38+ distributions by features, philosophy, and use case
- new Quick filter presets: beginner-friendly, gaming, rolling, systemd-free, immutable
- new Multi-value column support - filter columns with multiple comma-separated values
- new Image style system - hero (full bleed) or icon (contained) per dataset
- fix Filter chips now display correctly for all enum columns
- fix Image caching works for datasets with direct name columns
- fix Dataset page templates no longer trigger build errors
- internal Unified filter options format ({value, label} objects)
- internal Added dataset initialization documentation
v0.22.0 February 22, 2026 📄
- new Detail pages now show key stats beside the image for quick scanning
- new Item titles link directly to vendor/manufacturer pages
- new Aside sections support subgroups for organized stat display
- chg Favorite and compare buttons now overlay the image consistently
- chg Navigation actions (back, report) moved to top-right for cleaner layout
- fix Highlight badges (Top 10, etc.) now display correctly on detail pages
- internal Aside sections reuse existing section rendering with position attribute
v0.21.0 February 20, 2026 📄
- new Profile identicon - each visitor gets a unique, colorful avatar generated from a persistent anonymous ID
- new Split header menus - profile button for personal preferences, kebab for page actions
- chg Theme, units, and currency settings now accessed via profile identicon button
- internal New identicon generator using seeded PRNG for deterministic SVG output
- internal Identity UUID stored alongside theme in qaya-prefs localStorage
v0.20.0 February 18, 2026 📄
- new Feedback system: report data corrections and suggest new items directly from the site
- new "Report Issue" button on detail pages with item pre-selected
- new Item search in feedback modal on listing pages
- new Name field remembered across sessions for attribution
- internal Per-dataset feedback control via config
v0.21.1 February 15, 2026
- new New Identity button - generate a fresh avatar anytime from the profile menu
v0.20.1 February 15, 2026
- fix Images now display correctly on detail pages, related items, and compare pages
- new Datasets can reference images from other datasets (e.g., Mentions using Onebag images)
- internal Consolidated image URL logic into shared utility
- internal Refactored feedback system to use store pattern
- internal Moved feedback config to standard site config location
v0.19.0 February 15, 2026
- new Multi-term search: press Enter after each term for independent AND matching
- new Each search term shown as a separate pill with individual removal
- new Build commit hash shown on releases page
- chg Search input clears after each committed term, ready for the next
- chg Search terms persist in URL as separate `?q=` parameters
- fix Second search term now correctly applies on Enter
- fix Search input no longer shows stale terms on page reload
- fix Cards render at equal height within grid rows
- internal Config pipeline uses spread pattern - new config fields flow automatically
- internal Setup restructured into 4 explicit phases (context, config, state, effects)
- internal `$prefs` Alpine magic eliminates duplicated preference access pattern
- internal Source columns inferred from `sheet_column`/`compute` presence
- internal FILTER_TYPES removed from window global, uses direct module import
- internal Compact card template extracted to separate partial
v0.18.1 February 15, 2026
- internal View toggle (Cards/Table) now config-driven per dataset
- internal Datasets can restrict available views via `display.views`
v0.17.1 February 15, 2026
- new Collapsible chip filters - long filter lists now collapse with "Show more"
- new Filter count visible at top of mobile sidebar
- internal Remove legacy search section filtering
v0.14.0 February 15, 2026
- new Nav search now shows visual feedback: magnifying glass icon, dropdown arrow, and keyboard navigation highlighting
- new Keyboard navigation in nav search: use ↑/↓ arrows to cycle through results, Enter to select
- chg Dataset auto-discovery: new datasets no longer need individual entry files, just add to `site.yaml`
- chg Shared dataset page data: `d.11tydata.js` handles pageTagline/pageDescription for all datasets
- fix Consistent clear buttons across all search inputs (cross-browser compatibility)
- fix Removed Pico's focus glow from all form inputs for cleaner UI
- internal Consolidated duplicate search styling, removed unused CSS
- internal Simplified `init-dataset` script: no urlPath parameter, creates minimal files
v0.13.0 February 15, 2026
- chg **Major config consolidation:** Simplified and standardized configuration structure across all files
- chg Dataset identity: `slug` renamed to `id`, `name` renamed to `title` for clarity
- chg Datasets now own their metadata: `hue`, `tagline`, and `description` moved from nav to dataset config
- chg Navigation auto-generated from collections and dataset configs (removed redundant `nav` array)
- chg Preferences unified: all defaults now in `preferences.*.default` structure
- chg Image config grouped under `images.*` section (moved from scattered `card.image*` fields)
- chg UI strings namespaced under `ui.labels` and `ui.icons`
- chg Sidebar simplified: flattened from `sidebar.sections` to direct `sidebar` array
- fix Collection context (`?c=`) now preserved across navigation, filtering, and compare actions
- fix Compare store reactivity: add/remove actions now update UI immediately
- internal Cleaner config structure reduces duplication and makes data ownership explicit
v0.12.0 February 15, 2026
- new Navigation search input always visible in header
- new Current location shown in search input (collection › dataset)
- new Home page with featured collections, features, and how it works
- new All collections page at /collections/
- new Blog listing page at /blog/
- chg Search dropdown opens on input focus instead of button click
- chg Search dropdown aligned left below input
- chg "All Collections" links to /collections/ instead of home
- chg Single-column pages constrained to 900px width
- fix Remove Pico focus shadow on nav search input
v0.18.0 February 12, 2026 📄
- new Card layout switcher - choose between Grid, List, and Compact views
- new Compact mode shows 5-6 items per screen with thumbnail, title, price, and key stats
- new Mobile auto-defaults to Compact view for faster browsing
- new Layout preference saved per dataset and shareable via URL
- chg Settings dropdown now shows two-tier toggle: View (Cards/Table) then Layout
- chg Column selector hidden in Compact mode (columns are curated per dataset)
v0.17.0 February 11, 2026 📄
- new Unified search bar with context pill in header
- new Search items directly from header (syncs with sidebar)
- new Multi-term search: press Enter to add terms
- chg Context pill shows collection › dataset, × to clear temporarily
- chg Navigation dropdown appears when search input is empty
- internal Event-based communication between header and finder
v0.16.0 February 9, 2026 📄
- new Touch support for resizing table columns on mobile
- chg Full-width layout on tablets for maximum data visibility
- chg Locked columns shrink on small screens to show more data
- chg Cards now display in 4-column grid on wide screens
- chg Sidebar collapses at larger screen width (1024px) for better table viewing
- fix Filters now persist across page reload (range, threshold, checkbox)
- fix Card and table columns now display correctly
- fix Column reorder modal now works in both views
- fix Reset button now clears custom column widths in table view
- internal CSS consolidation (~200 lines reduced)
- internal Simplified navigation template
v0.15.0 February 5, 2026 📄
- new Table column resizing: drag column edges to adjust width, with persistent storage
- new Visual resize indicators on table headers with hover states
- new Column link target configuration: `new_tab: false` option for URL columns
- fix Sticky columns on mobile: locked columns now position correctly based on actual widths
- fix Cross-dataset links now open in same tab when configured, fixing "back to mentions" navigation
v0.11.0 February 4, 2026 📄
- new Unified navigation dropdown replaces separate desktop/mobile navs
- new Quick search in navigation for collections and datasets
- new Search matches collection titles and dataset labels
- new Search results show dataset collection context
- new Full keyboard navigation in dropdown (↑↓ Enter Escape)
- new Orphan datasets shown in "Other" group
- chg Navigation shows dataset name when accessed without collection
- chg Active dataset only highlighted within collection context
- chg Removed desktop static nav and breadcrumb pattern
- fix Opening nav/settings dropdown now closes sidebar
v0.10.0 February 3, 2026 📄
- new Collections organize related datasets into curated entry points
- new Collection landing pages at /c/{collection}/ with dataset cards
- new Collection context (?c= parameter) preserved through navigation
- new Fixed filters automatically scope dataset views by collection
- new Filter options limited to collection scope for enum filters
- new Collection-aware header navigation with dataset tabs
- chg URL structure changed to /d/{dataset}/ for all datasets
- chg Dataset renamed from "bags" to "onebag"
- chg Direct dataset access (/d/{dataset}/) shows all items without collection filters
- fix Filter state initialization now consistent across page loads
- fix Back navigation preserves collection context
- internal Collection theming via data-collection attribute
v0.9.0 January 31, 2026 📄
- new Drag-and-drop column reordering in column selector
- new Reorder panel slides out from right when "Reorder" clicked
- new Columns grouped by card section with reordering constrained within sections
- new Visual feedback for invalid cross-section drag attempts
- chg Card columns now render by layout type (inline/block) rather than specific display type
- chg New column types automatically render inline unless explicitly marked block
- fix Column selections persist correctly across reloads
- fix Tag whitespace rendering in dev builds
- fix Sectioned columns respect user-defined order
v0.8.1 January 28, 2026 📄
- new Distribution bars show percentage breakdowns on card stats
- new Reddit mentions show sentiment distribution (positive/neutral/negative)
- new Airline compliance shows tier breakdown (personal item vs carry-on)
- chg Replaced compliance progress bar with segmented distribution bar
- chg Tooltips combine highlight labels with distribution details
- fix Share link now copies to clipboard correctly
v0.8.0 January 28, 2026 📄
- new Unified Settings menu combines dataset options and global preferences
- new Mobile filter toggle moved to header, stays visible when sidebar open
- new Sticky columns and headers in table view for easier scanning
- new Sticky item names in compare view when scrolling
- new Fixed footer on blog and about pages
- chg Mobile header shows logo icon with dataset colors
- chg Expanded compare sections include all meaningful columns
- chg Table view displays 12 default columns (was 7)
- fix Table pagination correctly uses max_rows setting
- fix Compare section headers maintain sticky column
v0.7.4 January 25, 2026 📄
- new Detail page list sections can link to filtered external dataset when overflow occurs
- new Configure `max_inline` to limit items shown inline before showing overflow link
- new Template syntax `{{column}}` in `overflow_url` for dynamic URL generation
- internal Detail section config now spreads all properties for easier extension
v0.7.0 January 24, 2026 📄
- new View mode (cards/table) persists per-dataset across sessions
- new Sort column and direction persist per-dataset across sessions
- new Table column order persists per-dataset across sessions
- new Filters and search persist within browser session
- new URL reflects stored preferences on page load
- fix Table column reorder preserved across page reload
- fix Sidebar sort selector shows correct value after navigation
v0.6.2 January 23, 2026 📄
- new Grouped stats on cards organize related columns into sections
- chg Favorites and compare icons hidden when feature disabled
- chg Glossary link hidden when no column descriptions exist
v0.6.1 January 22, 2026 📄
- new Precision setting for number columns controls decimal places
- fix Weight and volume display consistent decimals in table view
- fix Detail pages respect column precision settings
v0.6.0 January 21, 2026 📄
- new Reddit Mentions dataset showing bag discussions across Reddit
- new Mentions link to original Reddit posts and bag detail pages
- new Currency switching works across all datasets (USD, EUR, GBP)
- new Filter mentions by manufacturer, sentiment, and subreddit
- new Date display for mention verification timestamps
- fix Column selections reset when new columns are added
- fix Currency preference applies consistently across pages
- chg Improved build performance with dataset caching
v0.5.0 January 20, 2026 📄
- chg Search and sort moved to sidebar in single collapsible section
- chg Toolbar eliminated - options dropdown now in filter summary bar
- chg Filter toggle button mobile-only (desktop has persistent sidebar)
- chg Config-driven title and hero columns (was hardcoded 'name' and 'price')
- chg Detail page SEO descriptions now fully config-driven
- new Static detail pages with pre-rendered content
- fix Detail page size reduced from 85KB to 30KB
- fix Filter summary layout: filters wrap left, actions stay right-aligned
- fix No layout shift when adding/removing filters
- fix Favorite and compare icons now highlight correctly on detail pages
v0.7.3 January 15, 2026
- new Sources accept arrays to combine data from multiple files
- new Automatic deduplication by `_key` when merging sources
- new Combined r/onebag and r/heronebag data in mentions dataset
- internal Multi-source support works for JSON, CSV, and Google Sheets
- internal Parallel fetch with merge logic in source dispatcher
v0.7.2 January 15, 2026
- new Subreddit displays as `r/onebag`, author as `u/username`
- new `options_format: titlecase` config for explicit label formatting
- fix Enum options no longer auto-apply titleCase to labels
- fix Enum card display respects `display: labeled` setting
- internal Add `prefix` compute function for prepending values
- internal Self-referencing compute transforms now supported
v0.7.1 January 15, 2026
- fix Reddit mentions on detail pages display post details correctly
- fix Google Sheets dates display as formatted dates instead of `Date(2024,6,3)`
- fix Detail page date fields show proper locale formatting
- internal Nested enrichment pattern for array field items
- internal Google Sheets date parsing converts to ISO strings at source
v0.4.1 January 15, 2026
- new Static detail pages for faster loading and better SEO
- fix Related items now display images correctly
- fix Favorites and compare state restore after back navigation
- fix Detail page config loads correctly on all pages
- chg Consolidated store event handlers for cleaner code
v0.4.0 January 15, 2026 📄
- new Reddit mentions on bag detail pages with sentiment tags
- new Filter and sort by Reddit mention count
- new Currency switching: USD, EUR, GBP
- new Price highlights work in all currencies
- new Collapsible mention list with "Show all" toggle
- fix Price sorting works correctly with currency switching
- fix Unit and currency preferences persist across sessions
- chg Display values pre-computed at build time for faster rendering
- chg Simplified related items display (name and image only)
v0.3.0 January 15, 2026
- new About and Releases pages with sidebar footer links
- new Toggle switch style for Show Discontinued filter
- fix Discontinued toggle now correctly shows/hides items
- fix Theme and unit preferences persist across all pages
- fix Favorite and compare icons visible on detail page
- chg Progress bars moved above text on cards
- chg Softer compliance bar colors
v0.2.0 January 9, 2026 📄
- new Airlines dataset with carry-on and personal item limits for 100+ airlines
- new Dedicated compare page with shareable URLs
- new Filter by specific airlines with searchable dropdown
- new External links to vendor sites on cards and tables
- new Markdown support in dataset descriptions
- new Text display type for notes and feature summaries
- fix Saved presets now include search terms
- fix Compare bar updates after browser back navigation
- fix Mobile navigation links visible in header
- chg Sort options now saved with presets
- chg Lighter main font for improved readability
- chg Rounded filter chips in sidebar
v0.1.1 December 15, 2025
- new Highlight badges for top 10 values (price, weight, mentions)
- new Column help tooltips on filter labels
- new Filter summary chips with one-click removal
- new Drag to reorder table columns
- new Keyboard navigation in airline search dropdown
- new Table view row limit with filter prompt
- fix Airline names display instead of codes
- fix Dimension columns display correctly on cards
- fix Column selector only shows when columns available
- chg Cards and tables sort independently
- chg Dataset description expandable in header
- chg Sidebar sections remember open/closed state
v0.1.0 December 15, 2025 📄
- new Onebag dataset with 380+ travel bags
- new Filter by size, weight, features, and airline compliance
- new Airline fit threshold filter (Personal Item → Any Size)
- new Card and table view options
- new Select which columns to display
- new Compare up to 4 bags side-by-side
- new Save favorites locally
- new Save and name custom filter presets
- new Quick filter presets (Underseat, Ultralight, Popular, Budget)
- new Item detail pages with related bags
- new Light/dark theme with auto-detect
- new Metric/imperial unit switching
- new Shareable filter URLs
- new Pagination with load more