Changelog

Article Image

2025-09-21


• [fix(collections): raise initial batch to 20 items]
• [fix(collections): page load_more endpoint at 20]
• [fix(collections): title pages with metadata name]
• [style(collections): expand grid to five desktop columns]
• [refactor(collections): consolidate query helpers]
• [chore(git): ignore php refactor playbook]

2025-09-18


• [fix(browse): Serve 20-event batches across browse views]
• [style(css): Trim whitespace and reindent regular stylesheet]
• [style(theme): Refresh variables palette definitions]
• [style(region): Reformat IP lookup helper]
• [docs(db): Expand mysql connection comments]
• [style(contact): Normalize contact template indentation]
• [chore(git): add ignore entry]

2025-09-15


• [style(css): Adjust description padding for cleaner spacing]
• [style(css): Tighten event imagery spacing]
• [style(css): Tighten event block spacing]

2025-09-13


• [fix(header): make desktop search area fully clickable]
• [fix(nav): remove JS width lock causing uneven spacing]
• [style(collections): tighten .collection-grid gaps to 10px]
• [fix: keep desktop header single-line and prevent tablet overlap]
• [fix: make search expand while logo/nav/auth remain fixed]
• [chore: Merge bugfix PR #60]
• [feat: Add calendar and location icons to event header]
• [feat: Style event date/location rows with SVG icons]
• [style(theme): add --pfp-outline token for profile pictures]
• [style(profile,editorial): use pfp outline var; minor cleanup]
• [fix: Add fallback background for profile images]
• [fix: Define --pfp-bg variable for profile images]
• [fix(editorial): keep two featured cards side-by-side on non-mobile widths]

2025-09-10


• [style(css): Increase border radii across images and blocks]
• [style(css): Raise event image border radius to 40px]
• [chore: Merge bugfix PR #59]

2025-09-09


• [fix(css): Add desktop header top border for macOS Tahoe]

2025-09-08


• [style: Shorten Explore headings in organizations.php]
• [fix(css): Adjust mobile hero spacing on small screens]
• [fix(css): Reduce global side padding to 15px]
• [fix(search): Title-case region labels in suggestions cache]
• [feat(search): Close desktop search on Escape]

2025-09-06


• [style(search): Refine search suggestion hover styles across breakpoints]

2025-09-05


• [feat(search): Lock desktop header during search; add scoped blur backdrop]
• [feat(search): Add desktop search backdrop and link fade styles]
• [style(search): Tune glass/blur variables for stronger effect]
• [refactor(search): Reset desktop search popover and remove overlays]
• [refactor(search): Remove desktop-specific blur/dim rules]
• [style(search): Tweak translucency tokens for future tuning]
• [feat(search): Make desktop header fully opaque while open]
• [fix(search): Restore page scroll after closing mobile modal]
• [style(search): Make mobile search fully opaque when active]
• [fix(search): Improve iOS scroll responsiveness in overlay]
• [fix(search): Allow momentum scroll; block pull on short lists]
• [fix(search): Stabilize mobile overlay and block overscroll]
• [fix(search): Add global scroll lock and rubber-band guard]
• [fix(search): Adjust popover padding and mobile close button]
• [style(search): Increase mobile suggestion font sizes and spacing]
• [fix: Tweak mobile search close button position]
• [style(header): Use circular close-btn for mobile search popover]
• [style(search): Align and size mobile search close button]
• [feat(search): Preserve text as placeholder when closing on mobile]
• [fix(search): Make mobile suggestions panel fill viewport height]
• [fix(search): Limit popover sizing logic to mobile only]
• [style(search): Tweak mobile suggestions spacing and close button]
• [style(search): Remove stray blank line in suggestions block]

2025-09-04


• [chore(search): Remove generic search suggestion]
• [fix: Adjust dark theme meta color to #0e0e0f]
• [fix: Align dark theme meta color in profile edit]
• [style(search): Refine suggestion section chip styling in popover]
• [style(search): Tighten mobile suggestion typography]
• [style: Remove right margin from category buttons]
• [style(search): Reduce section label size; remove mobile override]
• [fix(search): Correct text colors in search-all popover row]
• [docs: Shorten 'Internal Systems Operations' to 'Internal Ops']
• [fix: Disable browser autocomplete on search fields]
• [feat: Refine search suggestions and event card widths]
• [fix: Align search results popover with search bar]
• [style: Update desktop search placeholder copy]
• [fix(search): Expose region context for JS]
• [fix(search): Build category/tag URLs from context]
• [style: Adjust grid gaps and empty-state spacing]
• [fix: Remove grid wrapper around empty state in browse-all]
• [fix: Simplify empty-state markup in region browse]
• [fix(search): Encode spaces as %20 on submit]
• [style: Tone down empty-state text color]
• [style(search): Simplify 'Search for' suggestion text]
• [style(search): Title-case category and tag suggestions]
• [chore: Ignore handover summary file in Git]
• [chore: update robots.txt]
• [chore: Restrict build_suggestions_cache to server]
• [chore: Allow 127.0.0.1 in suggestions cache guard]
• [chore: Enforce CLI-only for build_suggestions_cache]
• [chore: Deny web access to /scripts/]
• [fix: Improve search suggestions hover contrast]
• [feat: Add --search-text-hover variable for both themes]
• [feat(search): Include articles in search suggestions]
• [feat(search): Include collections in search suggestions]
• [feat(search): Add shorthand date/time to event results]
• [fix(search): Sanitize suggestion titles; include event date in cache]
• [style(search): Format event suggestion dates consistently]
• [feat(search): Add caching for search suggestions]
• [chore(search): Add cache builder script]
• [chore(search): Log suggestion cache source]
• [style(search): Tweak suggestion event date typography]
• [style(search): Use search hover color for event date]
• [fix: Mobile menu overlay scroll lock]
• [feat(search): Add mobile search close button]
• [style(search): Overlay mobile search close button]
• [style(search): Expand mobile search suggestions to full width]
• [style(search): Add bullet separator to event suggestion dates]
• [style(search): Style event search suggestions]
• [fix(search): Mobile search results viewport]

2025-09-03


• [fix: Tweak mobile org event card width and text sizes]
• [style: Reduce .custom-scrollbar top margin from 25px to 5px]
• [style: Add .browse-custom-scrollbar for browse pages]
• [style: Use .browse-custom-scrollbar in browse-all template]
• [style: Use .browse-custom-scrollbar in browse template]

2025-08-31


• [fix: use 1:1 image ratios; shrink org event cards]

2025-08-29


• [style: switch event images to 1:1 aspect ratio]

2025-08-27


• [style: refine search bar width and event subtext color]
• [style: refine search placeholders for desktop/mobile]
• Desktop placeholder highlights time phrase; mobile uses shorter city-focused hint.
• [feat(search): support irregular plural mappings]
• Irregulars handled (examples): men↔man, women↔woman, children↔child, media↔medium, indices↔index, matrices↔matrix.
• [feat(search): improve UX placeholder and plural handling]
• Placeholder: desktop + mobile show an example query “Symphony next month in San Francisco” to guide natural-language usage.
• Plurals: category/tag mapping now handles y↔ies and common es rules so “Symphonies in San Francisco” resolves to the “Symphony” taxonomy.
• [refactor: deprecate natural_search route with redirects]
• [style: tweak dark theme colors to #0e0e0f]
• [style: update theme-color meta for dark mode]
• [feat: replace search with natural-language search]
• Natural search: runtime taxonomy maps (categories + tags) built from DB; supports aliases (theatre/theater, hip hop variants, film/movie/cinema), and maps query tokens to actual tag names.
• Query parsing: region phrases ("in boston"), relative time ("today", "tomorrow", "this/next week/weekend/month"), and month names with optional year (e.g., "sep 2025").
• Ranking: full‑text relevance cutoff when text terms present; tag matches can satisfy topic even with low text relevance; category‑only queries bypass the full‑text gate.
• Pagination: consistent with v1 using LIMIT/OFFSET; preserves filter param; datetime formatted as “Thu, Sep 18 · 7:30PM”.
• [chore: archive legacy search as search_v1]
• [refactor: remove natural_search after migration]

2025-08-27


• [feat: add IT & Systems contact to contact page]

2025-08-26


• [docs: update contact page legal section]

2025-08-25


• [feat: add Editor-in-Chief contact; fix Paige mailto]

2025-08-24


• [fix: correct search pagination count]
• [fix: filter out low relevance search results]
• [style: Adjust org event h2 margins for better spacing]
• [style: tighten event header line-height and org h2 spacing]
• [docs: clarify 'style.css' refers to css/styles-regular.css]

2025-08-20


• [fix: Enable share button on collection page]
• [feat: Show full collection description without read-more]
• [fix: Show full collection description on mobile]

2025-08-19


• [fix: Improve tooltip text readability with balanced wrap]

2025-08-18


• [fix: Delegate bookmark handlers to avoid double-binding on collections]
• [refactor: Remove page-local bookmark JS in collection view]
• [fix: Define isLoggedIn in collection JS to fix load-more]
• [style: Adjust load-more margins and button styling]
• [fix: Use global chronological order for initial collection events]
• [fix: Paginate collection fetch by startdatetime for stable order]

2025-08-12


• [style: Set .collection-grid padding-bottom to 0 for tighter spacing]
• [style: Increase settings button top margin for spacing]
• [style: Reduce blog header padding for tighter spacing]

2025-08-11


• [feat: add endpoint to load more collection events]
• [feat: implement incremental loading for collection page]
• [style: align collection load-more styles with theme variables]
• [feat: add rewrite for collection load-more route]
• [Update readme.md]
• [feat: Support follow/bookmark callbacks after registration]
• [fix: Exclude hidden regions from registration dropdown]
• [feat: Handle follow/bookmark login callbacks with sanitization]
• [style: Remove underline from footer links in reset email]
• [feat: Redesign password reset email with branded HTML template]
• [feat: Capture follow/bookmark clicks and set callback cookies]
• [feat: Add modal helpers and follow/bookmark callback cookies]
Join the Club
Follow the organizations you care about, track and bookmark events as they're announced—discover your next enriching experience on Ode.