Changelog
What's new in DealMonitor
App & Backend
Platform-wide changes
v0.132026年3月29日
- NewWishlist import — scan Steam & Amazon wishlists, select items, set wish prices, import in bulk
- NewAmazon wishlist parser — extracts products by ASIN with prices, titles, and images
- NewSteam wishlist parser — virtual scroll accumulation for 300+ games with price detection
- NewPer-item wish prices with global strategy (10%/20% below or current price)
- NewGeneric wishlist/cart support for any shop with URL pattern detection
- NewVariant tracking — grouped price display with clickable variant tags (Shopify, AliExpress)
- NewShopify all-variants — every product variant shown with name (color, size)
- NewBack-in-stock notifications — email, Telegram, and push when products become available again
- New"Not available" button in extension — track out-of-stock products
- NewCSS-selector-first price detection — deterministic extraction replaces ML guessing
- NewCheck frequency tiers — 24h normal, 4h for API-connected shops (Etsy, ITAD, Shopify)
- NewAliExpress SKU variants — all product variants shown as candidates
- New31 languages — expanded from 9 to 31 languages across all platforms
- NewBlog post: wishlist import announcement with affiliate CTA (31 locales)
- FixJSON-LD always takes first price — no more reference-price drift
- FixSkip ambiguous CSS selectors — multiple matches no longer pick random variant
- FixML deviation guard relaxed from 3x to 10x — correct prices no longer rejected
- FixPassword manager integration — autocomplete attributes for login/register forms
- FixSelenium cache key normalization — fixes "cache never arrived" for long Amazon URLs
- FixDaily status Telegram formatting — plain text, full URLs for reported trackers
- FixExtension popup scroll disabled
- FixPlaceholder image compressed from 1.3MB to 65KB
- ChoreBlacklisted travel/flight booking sites (Expedia, Booking, Kayak, etc.)
v0.122026年3月12日
- NewHTTP-first scrape pipeline — instant results for HTTP-capable shops, Selenium runs in background
- NewChrome TLS fingerprint impersonation (curl_cffi) to bypass Cloudflare bot detection
- NewFlight price tracking via Amadeus and Kiwi.com APIs — supports Expedia, Google Flights, Kayak, Skyscanner, Momondo
- NewSmart header rotation — User-Agent, Referer, Accept-Language matched to target shop domain
- FixJSON-LD deduplication — structured data candidates now correctly replace HTML duplicates
- ChorePEP 8 cleanup across all 60 backend files via ruff (imports, whitespace, unused code)
v0.112026年3月9日
- NewEtsy Open API v3 integration — reliable prices bypassing DataDome bot protection
- NewIsThereAnyDeal API integration — game prices across all stores
- NewMulti-price per URL — track different product variants independently
- NewChrome pool with health monitoring, idle browsing, and auto-restart
- NewShop scrape mode auto-learning — HTTP-only after 5 successful scrapes
- NewInline JS price extraction for Magento/Hyvä shops (optionPrices)
- NewJSON-LD AggregateOffer + @graph wrapper support
- FixJSON-LD @type list detection (e.g. ["Product", "VideoGame"] on Humble Bundle)
- FixJSON-LD candidates now prioritized over ML-scored XHR noise
- FixExtension token sync no longer overwrites tokens with null on logout
- FixAccess token validity extended to 24h to reduce frequent re-logins
- FixShort URL resolution for redirecting product links
- ChoreEtsy trademark attribution in Legal Notice page
v0.102026年3月5日
- NewAmazon Creators API integration (replaces deprecated PA-API v5)
- NewAliExpress affiliate API integration
- NewAmazon currency forcing — marketplace-native prices via i18n-prefs cookie
- NewSteam age gate bypass for mature content pages
- NewExtension Enter key support for price and desired price forms
- FixAmazon price fragment filtering (a-price-whole/fraction no longer picked as price)
- FixNon-price HTML tags (option, select, input) excluded from candidate detection
- FixSup-cents combination fix for split prices (e.g. "11." + sup "99")
- FixCSS class subset matching for extension vs Selenium DOM differences
- ChoreReplaced undetected-chromedriver with standard Selenium + stealth JS
- ChoreCI quality gates: lint, build checks, smoke import tests
v0.92026年2月27日
- NewOfficial Beta release
- NewBot detection with undetected-chromedriver for Cloudflare-protected sites
- NewAmazon PA-API v5 integration for reliable price fetching
- NewCross-shop GTIN comparison — see the same product at different shops
- NewReport broken tracker feature with admin email notifications
- NewBlog page with "Going Beta" announcement post in 9 locales
- NewDynamic HTML lang attribute, hreflang tags, SSR translations
- NewSEO improvements — 95% SEObility score
- FixChart RangeError with non-finite or very large price values
- FixSSR hydration and translation issues across multiple pages
- ChorePostgreSQL 17 upgrade, dead code cleanup
v0.82026年2月24日
- NewDark mode with system preference detection
- NewBlog page with 4 SEO-optimized posts in 9 locales
- NewSentry error monitoring (opt-in) for frontend and backend
- NewSEO: metadata, robots.txt, sitemap.xml, privacy page redesign
- NewFrontend test suite with Vitest
- NewDesktop navigation bar
v0.72026年2月22日
- NewWeb Push notifications (VAPID + service worker)
- NewDashboard search for trackers
- NewToast notifications and confirmation dialogs
- NewHealth check endpoints
- NewAsync notification delivery
- NewLazy image loading in tracker cards
- NewDatabase performance indexes and N+1 query fix
- NewPer-user tracker limit
v0.62026年2月20日
- NewTelegram notifications with bot integration
- NewTracker groups with drag-and-drop reordering
- NewShare tracker via link
- NewExport price history as CSV
- NewCheck priority (normal/high) per tracker
- NewPrice statistics (min, max, change %)
- NewAccount page with notification preferences
v0.52026年2月15日
- NewGoogle OAuth authentication
- NewMulti-language support (9 locales)
- NewLanding page with feature overview and FAQ
- NewRate limiting on auth endpoints
- NewEmail verification flow
v0.42026年2月1日
- NewML-based price detection using CatBoost model
- NewDedicated detector service for price extraction
- NewBrowser extension for price tracking from any shop
- NewScheduled daily price checks with APScheduler
- NewPostgreSQL database with Alembic migrations
v0.32025年5月1日
- NewDashboard with price history charts
- NewUser registration and login
- NewEmail notifications when price drops below target
- NewAffiliate link support (Amazon, Awin)
v0.22025年4月1日
- NewNext.js frontend with Tailwind CSS
- NewFlask backend API
- NewDocker Compose setup for dev and production
- NewBasic price scraping via Selenium
v0.12025年3月21日
- NewInitial project setup
- NewBasic URL tracking concept
Browser Extension
Changes to the Chrome/Edge extension
v0.13.2362026年6月18日
- FixCreating a tracker now ends on a clear "Tracker created" instead of hanging on "Processing…"
- Fix"Go to dashboard" reloads an already-open dashboard tab so the new tracker shows up immediately
v0.13.2192026年6月5日
- FixPopup no longer occasionally opened empty (read the block-list directly instead of waking the sleeping background worker)
v0.13.2182026年6月5日
- NewFirst-use data disclosure shown in your browser language
v0.13.2112026年6月3日
- NewOn-demand reading: the page-reader script is injected only when you click "Find price" — nothing runs in the background on pages you don't ask about
v0.13.2022026年5月27日
- FixOnly region/currency/consent cookies are forwarded for accurate prices — everything else is stripped
v0.13.1782026年5月13日
- NewIn-product data-disclosure shown before first use
v0.13.1432026年4月30日
- New"Go to dashboard" reuses an already-open dashboard tab instead of opening a new one each time
v0.13.1382026年4月28日
- FixBetter variant detection — captures selected variant buttons (e.g. Zalando size/colour)
v0.13.862026年4月7日
- NewVariant detection via data-price-final and button groups, plus quality ranking of candidates
v0.13.552026年4月4日
- NewInstant tracker creation — the tracker appears immediately, full price detection finishes in the background
v0.13.312026年4月2日
- NewConfigurator support — capture your selected options (size, colour, config) so the right price is tracked
- New"What's new" and "rate us" update banners in the popup
v0.13.32026年3月29日
- NewBlock-list split into sensitive (banking/finance) vs. unsupported shops
v0.12.1282026年3月29日
- NewVariant tracking — grouped price display with clickable variant tags (Shopify, AliExpress)
v0.12.1202026年3月27日
- NewWishlist import — scan Amazon & Steam wishlists, pick items, set wish prices, import in bulk
v0.12.1172026年3月26日
- New"Not available" button — track out-of-stock products and get notified when they're back
v0.12.592026年3月19日
- NewAPI-offset flow — for shops priced via an API, enter the price you see and we still track the trend correctly
v0.12.202026年3月16日
- NewShows a "this can take a bit longer" hint after 10s for slow shops
v0.11.22026年3月10日
- FixRobust scrape-timeout handling and clean errors instead of dumping raw server responses
v0.10.212026年3月6日
- FixExpired session now shows the login prompt instead of failing silently
v0.10.12026年3月5日
- NewForwards region/locale cookies so prices match what you see in your country
v0.9.622026年3月2日
- NewInitial detection now uses the same server-side scrape as recurring checks for consistent prices
v0.9.12026年2月27日
- NewCross-shop comparison — see the same product (by GTIN) at other shops
v0.8.72026年2月24日
- NewRedesigned popup to match the web app; share feature; locale-aware prices
- NewWorks on any shop by default — only sensitive sites are blocked (whitelist removed)
