diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e8a9b52..ee3919e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,123 @@ Changelog All notable changes to this project will be documented in this file. +2026-02-09 +---------- + +DJ Crossfade +~~~~~~~~~~~~ + +* 7-second audio + visual crossfade starts before current video ends +* Volume ramps down on outgoing, ramps up on incoming simultaneously +* Opacity crossfade dissolves between videos during transition +* Countdown overlay shows during crossfade with Play Now / Cancel controls +* User-initiated transitions (click related item, queue) also get visual crossfade +* Falls back to standard countdown when preloaded data isn't ready or media types differ + +Footer & Links +~~~~~~~~~~~~~~ + +* Fixed apex domain link to use ``www.makepostsell.com`` in shop footer +* Added Source Code (GitLab) and PyPI links to shop footer + +2026-02-08 +---------- + +Watch Mode v2 +~~~~~~~~~~~~~ + +* Continuous playback with crossfade transitions between media +* Discovery ring: deterministic content traversal precomputed per shop +* Up Next sidebar with compact rows, numbered index, and queue management +* Countdown overlay (7s) as frosted-glass bottom bar between items +* Queue system: add/remove items, reorder playback +* Autoplay toggle switch inline with Up Next heading +* Two-phase preload: fast JSON fetch, then buffer media 30s before end +* Recently-played tracking: filter items from Up Next for 4 hours +* Support for video, audio, and static content (PDFs, images) with auto-advance +* Sticky video on desktop scroll (offset below ribbon) +* ``watch.js`` — new standalone JS module for all watch mode logic + +Pop-out Media Player +~~~~~~~~~~~~~~~~~~~~ + +* Draggable pop-out window with prev/next navigation +* Keyboard shortcuts and responsive controls +* Auto-advance for images/PDFs (60s timer, reset on scroll) +* ``player.js`` — new standalone JS module +* ``/random`` and ``/tv`` endpoints for media playback + +Lazy Cart Creation +~~~~~~~~~~~~~~~~~~ + +* Anonymous session carts are now in-memory until a product is added +* Prevents bots and crawlers from creating empty cart rows in the database +* UUID stays stable across requests via session cookie +* Transient cart guard in authentication merge flow + +AJAX Comments +~~~~~~~~~~~~~ + +* Comment form submits via fetch when JS is available +* Preserves media playback — no page reload interrupts +* Falls back to normal POST + redirect without JS +* ``comments.js`` — new standalone JS module + +Email Subscriptions +~~~~~~~~~~~~~~~~~~~ + +* Email digest subscriptions with configurable frequency +* @mentions in comments notify mentioned users +* RSS and Atom feed autodiscovery in ``
`` +* Subscribe link in shop nav bar + +Related Content +~~~~~~~~~~~~~~~ + +* Jaccard similarity for related content ranking +* Related content thumbnails in sidebar + +Feeds & SEO +~~~~~~~~~~~~ + +* Sitemap generation (``/sitemap.xml``) +* RSS (``/rss.xml``) and Atom (``/atom.xml``) feeds +* Google site verification meta tag support +* Feeds served as ``application/xml`` for browser rendering +* Feed links open in new window + +Adyen Integration +~~~~~~~~~~~~~~~~~ + +* Added Adyen as a payment processor +* Per-shop enable/disable toggle +* See ``docs/ADYEN.md`` for details + +Stripe Improvements +~~~~~~~~~~~~~~~~~~~ + +* Payment tracking and webhook resilience +* Per-shop Stripe enable/disable + +UI & Layout +~~~~~~~~~~~ + +* Sticky ribbon + logo/nav on desktop scroll +* Footer pushed to bottom of viewport on short pages +* Product media uses viewport-relative sizing (``max-height: 42vh``) +* Reduced heading font sizes for tighter layout +* Product/content dates toggle (``show_dates`` shop setting) +* Inline video playback on thumbnail click (replaced pop-up) + +Infrastructure +~~~~~~~~~~~~~~ + +* ``/version`` endpoint with baked git hash for deploy verification +* ``GIT_HASH`` tracked in repo, baked at install time +* Removed jQuery — all vanilla JavaScript +* Replaced JS toggles with pure CSS ``