Skip to content
Precious Metals Data Aggregator
Loading market data...

Release Notes

2026.06.24 June 24, 2026
added Dealer CRAMP (https://cramp.fr/) (#2)
added Dealer EMK (https://www.emk.com/) (#2)
added Fineness units (#21)
fixed Filters and currencies propagation (#389)
fixed Invalid enum value in field (#393)
fixed Latest known exchange rate is used instead of the one from the data point (#390)
fixed Not found (404) (#396)
fixed Pages not indexed (#395)
fixed Sidecar not starting (#391)
improved Clean only 'local' files (#392)
improved Cloudflare handling (#386)
improved Server config (#388)
removed Dealer template (#387)
2026.06.18 June 18, 2026
fixed Enrichment has stalled (#380)
fixed Soft 404 (#377)
improved Anomalies / special cases (#382)
improved Automatically link processed dealers and Discovery (#381)
improved Availability filter (#176)
improved Avoid computing shipping costs every time (#378)
improved Live progress of aggregators (#383)
improved Logging (#385)
improved Politeness towards servers (#376)
improved Teardown of aggregators and their dependencies (#384)
2026.06.12 June 12, 2026
fixed Deployment and remote setup (#374)
fixed Exchange rates, historical data and price data sources (#375)
2026.06.10 June 10, 2026
added DOM Helper (#259)
added Shipping costs and premium all-inclusive (#19)
added Sidecar for access (#373)
fixed Sitemap not generated (#366)
improved Buy and Sell per product Uri (#342)
improved Client handling (#337)
improved Enrichment properties (#344)
improved Google Search Console (#365)
improved JSON Linked Data (#338)
improved Rotation (#182)
improved Stocks (#19)
removed Google Search Shopping tab (#340)
removed Per-product ratings and reviews (#339)
2026.05.25 May 25, 2026
added Customer reviews (#18)
added Dealer Bullion By Post (https://www.bullionbypost.co.uk/) (#2)
fixed Muenze Österreich duplicated (#361)
fixed Prices discrepancy (#364)
fixed Sitemap not generated (#360)
fixed Snooze button (#359)
fixed Transfer stats 'select' blocked by CSP (#362)
improved Dealer links (#363)
2026.05.18 May 18, 2026
fixed Argument must be of type DateTimeInterface, null given (#352)
fixed Changelog exhaustion calculation (#353)
fixed Currency history blocked (#350)
fixed Infinite loop (#358)
fixed Requests blocked (#351)
improved Allow to snooze enrichment (#354)
improved SEO (#20, #348)
2026.05.15 May 15, 2026
added Dealer APMEX (https://www.apmex.com/) (#2)
added Dealer ATS Bullion (https://www.atsbullion.com/) (#2)
added Dealer Cookson-CLAL (https://www.cookson-clal.com/) (#1)
fixed Dealer LPM (https://www.lpm.hk/) (#1)
fixed Indexation issues (#341)
fixed Similar to an infinite loop (#336)
improved Standardize Sell prices (#346)
2026.05.11 May 11, 2026
added Automatic Pareto-layered analysis of anomalies (#333)
added Mass units (#15)
fixed Currency not propagated (#286)
fixed Dealer inventory miscalculation (#280)
fixed Display only the stored values, do not recalculate in real time (#287)
fixed Missing images (#290)
fixed Missing products (#314)
fixed Not always the most recent values were used (#287)
fixed Pagination is off (#335)
fixed Premium difference between historical and live recalculation (#287)
fixed Rate limiter too agressive (#284)
fixed Unreadable dual axis chart (#287)
improved Merge system logs and allow them to be deleted (#331)
improved W3C Nu HTML Check (#72)
2026.05.09 May 09, 2026
fixed Captcha blocked (#329)
2026.05.07 May 07, 2026
fixed Subject/message logic missing (#319)
removed Browser extension (#309, #321)
2026.05.06 May 06, 2026
fixed Arbitrary number used to hide stock levels (#305)
fixed Error 500 (#303)
fixed Missing DKIM (#285, #313)
fixed Pages prevented from being indexed (#315)
fixed Stock quantity checked twice (#304)
fixed Unwanted data indexed (#316)
improved Bots mitigation (#306)
improved Discontinued products (#308)
improved Push URL updates to the Web Search Indexing API (#318)
improved Stock quantity checks (#307)
improved Use JSON-LD structured data for GoogleBot and Open Graph/Twitter tags for social networks (#317)
removed Legacy Nobili.cc (#301)
2026.05.03 May 03, 2026
added Analysis of Apache, Laravel, Nginx and PHP logs (#47, #149)
added Dynamically generated nonce to avoid using unsafe-inline (#295)
fixed Cloudflare 520 (#296)
fixed Missing log access (#299)
fixed Missing nonce (#298)
fixed Unsigned emails (#297)
2026.05.02 May 02, 2026
added Cloudflare (#45)
fixed Wrong config keys used (#294)
improved Bypass Cloudflare in case of outage (#9)
improved Google Analytics, Google ReCaptcha, Google Search Console, JSON-LD, Robots.txt, Sitemap.xml (#35, #157, #283)
improved Mozilla Observatory score (#71)
2026.05.01 May 01, 2026
added Code metrics, data statistics and insights for dealers (#16, #58, #159)
added Laravel Pulse (#28, #199)
added Management scripts (#108)
added Notification bubbles (#97)
added Real-time scraper status and monitoring manager (#195)
fixed Config may crash on empty table (#279)
fixed Error 403 on API (#269)
fixed Error 500 on Enrichment (#209)
fixed Non-hamburger-style menu on mobile (#272)
fixed Register button's focus style (#275)
fixed Unsigned emails (#134)
fixed Zero online (#268)
improved Better contact form for feedback and feature requests (#26)
improved Changelog exhaustion (#260)
improved Changelog table can be empty (#274)
improved Configuration keys case (#277)
improved Default page length (#267)
improved Logo for emails (#276)
removed CI/CD (#33)
2026.04.28 April 28, 2026
added Dealer Change Vivienne (https://www.changevivienne.com/) (#2)
added Dealer Coins and More (https://coinsandmore.fr/) (#2)
added Template Method to deduplicate core logic (#262)
added User management and stats (#12, #13)
fixed Affiliate URL corruption (#242)
fixed Config view not responsive (#235)
fixed Database lock release may be interrupted during task teardown (#261)
fixed Hard limits middleware bypass (#245)
fixed Missing index of materialized view (#255)
fixed Missing subscription logic (#252, #258)
fixed Model/Schema mismatch (#253)
fixed Playwright can reset the session (#263)
fixed Playwright may try to read a failed downloaded file (#264)
fixed Playwright reinitializing session (#240)
fixed Privilege escalation (#240)
fixed Search logs race condition (#243)
improved Activity frequency (#250)
improved Asynchronous emailing (#244)
improved Autocomplete speed (#254)
improved Better bot detection (#246)
improved Display only the known history range on the product's price chart (#236)
improved Global NumberFormatter (#251)
improved Multiple form tabs (#248)
improved Online count performance (#241)
improved Products require one URI for Buy or one URI for Sell, inclusive (#233)
improved Propagate fineness and mass (#237)
improved Pruning too agressive (#247)
improved ReCaptcha threshold (#249)
improved Replaced the O(N*M) LATERAL JOIN with an O(1) cached table (#238)
improved ServerCertificateCustomValidationCallback (#265)
improved Sidebar caching (#256)
removed TDD (#239)
2026.04.24 April 24, 2026
added Dealer Change de la Bourse (https://www.changedelabourse.com/) (#2)
improved Added short disclaimers regarding price and availability (#232)
improved Ensure that the Discovery/Prospecting index is not incremented when the API limit is reached (#231)
improved Increased height of the dealers box (#229)
improved Premium is a calculated value, check only its operands (#228)
2026.04.23 April 23, 2026
added Dealer Comptoir des Tuileries (https://www.cdt.fr/infos/) (#2)
fixed Data is not displayed when the minimum quantity is not 1 (#227)
improved Standardized and multi-selectable payment methods (#175)
2026.04.22 April 22, 2026
added BTC as a currency (#14, #224)
added Dealer Comptoir Change Opéra (https://www.ccopera.com/) (#2)
fixed net::ERR_ABORTED is expected during file download (#226)
improved Display current position of discovery/prospection (#225)
2026.04.20 April 20, 2026
added Binary download via Playwright (#220)
added Dealer Bullion Exchanges (https://bullionexchanges.com/) (#2)
fixed Discovery cursor not incremented (#217)
fixed ERR_PROXY_CONNECTION_FAILED (#223)
fixed Mixed table headers (#214)
fixed OpenStreetMap blocked by SCP (#215)
improved Beta and security adjustments (#222)
improved Moved some configuration to database (#142, #216)
improved Replaced custom rules and honeypots (#218)
improved Sort config alphabetically (#221)
improved Tor consensus and micro-descriptors (#219)
2026.04.16 April 16, 2026
added Dealer discovery management (#160, #179)
fixed Avoid falling into The Britannia Coin Company's infinite pagination loop bug (#211)
fixed Bytes stripped from favicons (#207)
fixed Enrichment images blocked by CSP (#213)
fixed Error 500 on the enrichment view (#209)
fixed Missing images (#208)
fixed Not logged in users do not see all the data (#200)
fixed npm warn deprecated (#202)
improved Automatic environment detection (#201)
improved Better names for objects (#86, #106)
improved Check the .env file at startup (#210)
improved Clean up backup remnants (#212)
improved Data enrichment adds missing data while preserving the original dealer data (#147)
improved High-resolution images and full descriptions by default (#206)
improved Information about user agents (#78)
improved Product layout (#138)
improved Serve some assets locally in the event of global outages (#83)
improved Store the exchange rate history to ensure continuity of service (#55, #145)
improved Switch to CalVer (#141, #190)
removed AWS, Redis, Merchant of Record (#98)
2026.04.09 April 09, 2026
fixed Column does not exist (#193)
fixed Content Security Policy directive violation (#196)
fixed Missing API keys (#203)
fixed Missing history data (#192)
fixed Only the Discovery tier is used (#204)
fixed Permission denied while trying to start process (#194)
fixed Playwright: Missing Directory (#205)
fixed Scheduler not listing internal links (#198)
improved Instantiated Systemd Units (#197)
2026.04.08 April 08, 2026
added Basic Auth credentials (#188)
added Check for missing images (#81)
added Discontinued/stale products handling (#29)
added File download with Playwright (#170)
added Interface for standardizing indexing implementations (#123)
added Last seen and last updated dates and times, with time intervals (#50)
added Scheduler and Dispatcher (#87, #123)
added Time elapsed since last product update (#66)
added Time zones taken into account for all dates and times read and displayed (#73)
fixed 403 on exchange rate history (#144)
fixed Automatic renewal of TLS certificate (#137)
fixed Chart's tooltip not using time zone (#183)
fixed Current item not active in the sidebar (#75)
fixed Enums start at 0, primary keys at 1 (#56)
fixed Expected pattern unmatched (#155)
fixed Foreign key constraint violation (#140, #150)
fixed Incorrect input string format (#154)
fixed Malformed and unknown JSON keys (#156)
fixed Missing BGASC product images (#148)
fixed Missing cancellation token in pricing authority (#168)
fixed Missing LPM data (#165)
fixed Misuse of cancellation tokens to properly stop Playwright on SIGINT (#171)
fixed Not-null constraint violation (#153)
fixed Numeric field overflow (#152)
fixed Parsing empty JSON responses (#185)
fixed Selector missing quotes (#167)
fixed URL concatenation (#151)
improved 'Select All' selects everything, not only visible items (#69)
improved All internal data stored in UTC (#73)
improved Centralized sidebar logic (#67, #69)
improved Cleaner Playwright cancellation (#187)
improved CLI switches (#122)
improved Client-side logging (#77)
improved Display selected and total "Select All" (#67)
improved Do not display the carousel if the product has no image (#158)
improved editorconfig rules (#164)
improved Effective date and time of products and prices instead of reading time (#50)
improved Enrichment replaced by direct use of the API (#130)
improved Ensure that only one instance is running at a time (#93)
improved Fixed budgets for enrichment and discovery (#127)
improved Less VARCHAR, more TEXT (#189)
improved Log escaped line breaks (#136)
improved Log the number of results from the discovery (#131)
improved Log the PID (#126)
improved Logic of discovery's API calls (#166)
improved Logs and statistics by instance (#172)
improved Move the backup logic (#133)
improved No more need for Tor manual handling (#169)
improved Performance of the index (#70)
improved Process all code inspections (#161)
improved Property names in log statistics (#184)
improved Replaced manual and slow gapless and concurrent `SELECT MAX(id) + 1` queries using per-table SemaphoreSlims with simple BIGINT GENERATED IDENTITY (#123)
improved Reset logic moved to the README file (#125)
improved Stats controller performance (#163)
improved Support for Merchant of Record (#98)
removed Automatic DotSettings and editorconfig rules generation (#146)
removed Coalescing dealer data with enrichment data, as dealer data must remain the reference (#162)
removed Continuous adaptive pool of workers (#24)
removed Merge of systemd services and timers (#124)
removed Store category (#128)
removed Windows support (#143)
2026.02.05 February 05, 2026
added --force option to run indexing on demand (#113)
fixed Database: 42P07: index already exists (#120)
fixed Empty online history (#74)
fixed Enrichment items are empty (#104)
fixed Enrichment returns 403 (#119)
fixed HTTP/2 PROTOCOL_ERROR (#116)
fixed Index not displaying products with unknown premium (#118)
fixed Name or service not known (#117)
fixed Paginator crashes on an empty product list (#121)
fixed PlaywrightException: Executable doesn't exist (#107)
fixed System.IndexOutOfRangeException (#115)
fixed System.InvalidCastException (#111)
fixed The SSL connection could not be established (#110)
improved Don't purge log files anymore (#105)
improved Log all HttpStatusCodes (#112)
2026.02.01 February 01, 2026
added 30-day bot mitigation (#197)
added All filters as user preferences (#195)
added Announce data refreshes (sorting, pagination) for screen readers (#68)
added API, API documentation, API key management, and API rate limiter (#22)
added Beta mode (Everyone gets a free Pro subscription until the end of the beta) (#22)
added Clicks Stats (#22)
added Complete price history from dealers when available (#23, #173, #194)
added Database health checks (#177)
added Dealer LPM (https://www.lpm.hk/) (#1)
added Filter items by page (#196)
added Historical spot price chart on the historical product price chart (#59)
added In Stock filter (#56)
added Keyboard and screen‑reader support for image carousel (#67)
added Last updated time (#46, #198)
added Locales for number display (#201)
added Number of items in the sidebar lists (#47)
added PhpMetrics (#187)
added Plans upgrade, downgrade, subscription cancellation and account deletion (#85)
added Plans/Tiers and subscriptions (#22)
added Respect the user's preference for reduced movement (#66)
added Rounds Category (#179)
added Semi-automatic data enrichment for a complete aggregation and reconciliation system, replacing manual processing of special cases (#62)
added Terms, Privacy and Refunds (#40)
added Top Ticker Bar (#25)
added World map of dealers and stores (#5)
fixed Dealer Achat Or Bordeaux (https://achat-or-bordeaux.fr/) (#53)
fixed Dealer Atkinsons Bullion (https://atkinsonsbullion.com/) (#91)
fixed Dealer Drake Sterling (https://drakesterling.com/) (#83)
fixed Google Search (#24)
fixed Hard reset and database recreation orders (#79)
fixed Instrumenter block line index (#42)
fixed Mobile layout order, pagination size, and filter button placement (#68, #82)
fixed Product chart displaying "indexed" data points instead of "nearest" ones. (#60)
fixed Stored XSS vulnerability (#63)
improved Avoid duplication between unit prices and bulk prices (#75)
improved Clear "future" prices when past prices are stored (#63)
improved Clear all logs on startup (#54)
improved Consistent labels for dynamic selects (#69)
improved Cumulative Layout Shift (#65)
improved Do not return empty or null values in the API (#190)
improved Fetchpriority and Loading (#64)
improved Google prospector of dealers and mines (#84)
improved Handling of SIGHUP, SIGINT and SIGTERM (#52)
improved Images self-heal (#81)
improved Lazy load product history chart (#71)
improved Legal: Competition Law: Nobilis is an index, search engine and specialized lead generator, in no way a dealer or a competitor of dealers. (#92)
improved Legal: Copyright (Fair Use): Respect copyright by using altered images and descriptions by default, unless expressly authorized by the dealers to display the originals. (#92)
improved Legal: Data Rights: Product features and prices are facts and can be indexed. (#92)
improved Modern CSS (#55)
improved More generic pagination (#64)
improved More robust parsing (#30)
improved Optimized Sass with style for emails and errors (#191)
improved Overly aggressive product image processing (#193)
improved Preconnect Google Analytics (#72)
improved Prevent Database blockages and delays (#156)
improved Prevent I/O blockages and delays (#157)
improved Reduce image hash collision probability (#79, #81)
improved Reduce image size (#81)
improved Reduce images bandwidth consumption (#17)
improved Reduce reflow (#70)
improved Replace SERIAL/IDENTITY with gapless and concurrent `SELECT MAX(id) + 1` queries using per-table SemaphoreSlims (#56)
improved Simplify special cases handling (#33)
improved Use the tag names as node names and refactor Linq queries (#21)
removed Automatic updates of dependencies after each version (#79)
removed Deletion of extra_property and guard fields (#7)
removed DOM content hash checks for lazy updating (#168)
removed LLM Code Review (#49)
removed Manual images processing (#54)
removed Native .Net data source for countries (#61)
removed Replacing click triggers with mousedown triggers (#188)
removed Storing the special cases in the database (#61)
2026.01.01 January 01, 2026
added Automatic anonymization of inactive accounts with warnings (#136)
added Centralized Health & Heartbeat Logging (#159)
added Changelog sidebar (#94)
added Google ReCaptcha (#251)
added Integrity checks between referenced product images and the file system (#87)
added Number of occurrences in autocomplete (#90)
added Online user statistics (#137)
added Pareto analysis of log entries (#138)
added Premium and price sparklines (#148)
added Rate Limiter (#147)
added Route to obtain the external IP address and replace ICanHazIp (#238)
added Search keyword statistics (#11, #104)
fixed AppDomain Unhandled: System.TypeInitializationException (#252)
fixed enumeration tables using SERIAL instead of INTEGER (#144)
fixed Images not cropped (#79)
fixed Inconsistent currencies (#200)
fixed Mail leak (#253)
fixed System.ComponentModel.Win32Exception: Permission denied (#10)
improved Clear HTTP transfer statistics at startup (#6)
improved Clicking on the product image shows the product (#135)
improved Database checks (#28)
improved Full async + CancellationToken fix (#151, #154)
improved Graceful shutdown handling (#160)
improved Hard reset now also deletes all product images (#87, #116)
improved Image size using WebP (#89)
improved More database logging (#240)
improved Reduce the size of the JSON payload (#139)
improved Show the last ten entries in the changelog (#84)
improved Store the correct HTTP content types (#126)
improved Use Bootstrap Carousel (#110)
improved VAT renamed to Taxation (#143)
removed Classification of critical, precious and strategic metals (#20)
removed Code churn statistics (#127)
removed Historical exchange rate data (#123)
removed Images re-upload (#41)
removed Merging of Engravers and Designs (#145)
removed Test user data (#8)
removed Tor automatic update (#220)
removed Tor support for a dealer (#149)
removed Warning logging level (#113)
2025.12.01 December 01, 2025
added Blocks dedicated to error logging can be ignored by the Instrumenter (#49)
added Dealer Brisbane Gold Company (https://www.brisbanegoldcompany.com.au/) (#1)
added Dealer The Britannia Coin Company (https://britanniacoincompany.com/) (#1)
added Email @nobilis.gold (#45)
added Email address change and validation (#86, #88)
added Global Exception Handlers (#152)
added HTTP transfer statistics (#103)
added Reminder regarding additional quality checks (#67)
added Subdomain for Gitea (#53)
fixed app.ini: Cannot open: Permission denied (#62)
fixed FileNotFoundException: Blocks.log (#112)
fixed Fineness filter not working with a single limit (#78)
fixed Google Maps mistaken for a shop (#174)
fixed Images may end in incorrect locations (#165)
fixed IndexOutOfRangeException: Index was outside the bounds of the array (#82)
fixed Inline style violates the Content Security Policy (#60)
fixed Newtonsoft.Json.JsonReaderException: Unexpected end of content while loading JArray (#76)
fixed Product 22003: numeric field overflow (#84)
fixed Scraper misses tabs (#80)
fixed SendAsync() may block if the header is received but not the message body (#77)
fixed tar: Cannot open: Permission denied (#89)
improved Amortizing strategies (#13)
improved Better Error Handling (#158)
improved Blocks and Tor deployment process (#141)
improved Ensure backups deletion after sending them (#163)
improved Google Lighthouse checks (#52)
improved Migration and publication schedules (#150)
improved Migration to a proper server with domains and email addresses (#4)
improved Replaced Block Tracker with better Instrumenter (#16)
improved sqlmap checks (#14)
improved Tor instances handling in case of exceptions (#155)
removed Currency selector at the top of the page (#95)
removed Default dashboard and welcome views (#87, #184)
removed Drop-down menu for the fineness filter (#124)
removed Public issue tracker (#38)
removed Report problems on dealers' websites (#32)
removed Tor Bootstrap retries with exponential backoff (#153)
2025.11.01 November 01, 2025
added Buyback support (sell side), implemented for achat-or-et-argent.fr, ainsliebullion.com.au, ajpm.com, andorrano-joyeria.com, argentorshop.be and atkinsonsbullion.com (#8)
added Google Analytics (#11)
fixed Chart lines and legend missing background color (#41)
fixed Cross-Domain Misconfiguration (#58)
fixed CSP: Wildcard Directive (#57)
fixed Dealers may create duplicates with malformed URIs (#48)
fixed Incorrect backup file names (#34)
fixed Npgsql.NpgsqlException (0x80004005): The connection pool has been exhausted (#50)
fixed Refused to execute inline script because it violates Content Security Policy directive (#42)
fixed System.ArgumentException: At least one object must implement IComparable (#43)
fixed Timeout exceeded at Microsoft.Playwright.Core.Frame.GotoAsync() when Internet connection is lost (#51)
fixed URI redirects can generate duplicate products (#44)
improved Automatic correction of past and possible duplicate products and prices (#45)
improved Processed error log entries
improved Updated frameworks and dependencies
improved ZAP check (#14)
2025.10.11 October 11, 2025
fixed Win32Exception: Permission denied (#39)
improved Updated all frameworks and dependencies
removed Changelog entries regarding framework and dependency versions, as they are just noise
removed Environment.ProcessorCount limit (#40)
2025.10.10 October 10, 2025
fixed Playwright hanging and no Playwright logs (#37)
fixed PlaywrightException: Executable doesn't exist (#38)
fixed Win32Exception: Permission denied (#36)