v0.7.02026-10-05 Renamed both currency exchange calculators to Triangle Arbitrage, including navigation labels, page headings, browser titles, and descriptions. Compacted league and display-currency selectors to 28 pixels, moved their labels into the options, and retained accessible labels. Divine-to-Chaos rates are available on hover. Unified the site header with game tabs, compact settings, price status, and version/refresh controls; added a collapsible mobile navigation menu. Added saved Published and Local only page flags, an All pages / Public only local preview toggle, and markers for local-only links. Public-only previews block direct visits to draft pages. Changed publishing to build only published pages and remove links to local-only pages. Kept nine in-progress tool and resource pages as local-only drafts, with the five existing public pages ready for release.
v0.6.22026-10-03 Added the PoE2 Breachstone Flip Calculator with all nine purchase paths: level 65 and 80 Revelatory Wombgifts or 300 Breach Splinters, priced in Divines, Chaos, and Exalts. The six-column table includes profit per stone, percentage return, and Profit / 1k blood in Divines, without a separate cost-per-blood column. Added hourly instant-buyout Wombgift quotes at exact item levels, direct trade-search links, price-check timestamps, and local price refresh. Splinter and Breachstone prices use independent exchange currency pairs; unavailable and stale quotes are identified. Automatically selected the highest-value sale currency, with compact selectable Divines, Chaos, and Exalts prices above the table. A custom sale currency updates every row and is highlighted in yellow. Added editable buy and sell prices with highlighted overrides saved per league. Edits recalculate profit and table ordering; clearing prices or resetting overrides restores saved quotes. Applied the same input and override styling to both arbitrage calculators. Added Wombgift, Breach Splinter, Breachstone, and currency icons; scaled positive profits from yellow to green while keeping losses red. Displayed whole Exalts, two-decimal Divines, and one-decimal Chaos. Widened the sale-currency controls and kept the comparison heading and table stationary when switching currencies or showing Reset overrides.
v0.5.32026-10-03 Defaulted starting balances to enough whole Exalted Orbs for PoE1 or Chaos Orbs for PoE2 to buy one Divine Orb at the selected league’s saved hourly rate. Automatic amounts follow refreshed prices; clearing a custom amount restores the default. Preserved custom starting balances and inline amount resets across data refreshes. Fixed category and route clicks being lost after editing quantities or volume, retained category keyboard focus, and kept validation messages visible when toggling filters.
v0.5.22026-10-03 Versioned shared styles and currency exchange scripts so browsers load matching assets after a release, fixing the exclusion dropdown for returning visitors.
v0.5.12026-10-03 Added a searchable Exclude items dropdown with checkboxes and item icons to both currency exchange calculators. Routes containing any checked item are hidden from the table. Saved item exclusions separately for PoE1 and PoE2, with an exclusion count and Clear all control.
v0.5.02026-10-03 Added currency exchange triangle calculators for Path of Exile 1 and Path of Exile 2, using separate saved hourly market snapshots, league lists, item metadata, and gold fees. Added sortable profit, return, gold cost, and divines per 100,000 gold estimates, with item search, single-category filters, and inline editing of each trade’s quantities and fees. Enabled profitable routes and sufficient volume filters by default. Every trade must have hourly traded quantities covering at least 10 times both its planned paid and received amounts. Set default starting balances to 100 Exalted Orbs for PoE1 and 10 Chaos Orbs for PoE2. Added shared PoE1 and PoE2 tabs, moved version and refresh controls into the pre-header, and widened page content to 1450 pixels. Added automated hourly exchange snapshot publishing while retaining the existing 12-hour refresh for boss and gem prices.
v0.4.32026-08-18 Added 12-hour pricing for unidentified Forbidden Flame and Forbidden Flesh drops by averaging the first 10 instant-buyout trade listings for each normal and Uber item-level band. Updated The Light of Meaning trade link to search for unidentified jewels without changing its existing price source. Updated every app footer with Grinding Gear Games' required third-party disclaimer.
v0.4.22026-08-18 Corrected Forbidden Flame and Forbidden Flesh wiki and trade links to search for unidentified jewels, using separate item-level filters for normal and Uber boss drops. Stopped applying identified poe.ninja jewel averages to unidentified Forbidden Flame and Forbidden Flesh drops; their prices remain manually editable until a reliable unidentified price source is integrated.
v0.4.12026-04-03 Corrected Uber boss entry costs so fragment-based Uber encounters now require 4 fragments instead of 5, matching the 3.28 change. Added 3.28 exceptional support gem drops to supported bosses in the bossing calculator, using pinned level 1 uncorrupted gem entries from the existing price data. Refined Maven exceptional-gem modeling by removing the generic regular-Maven awakened-gem placeholder, keeping Invert the Rules Support at 2% on both Maven variants, and zeroing unconfirmed Uber Maven awakened gem rates.
v0.42026-03-18 Added gem leveling profitability calculations for leveling and corruption/quality pathways.
v0.32026-03-17 Removed the active poe.watch pricing path in favor of poe.ninja plus official Path of Exile league discovery. Expanded poe.ninja ingestion for invitations, fragments, maps, gems, exchange-backed categories, and richer metadata intended for future pages. Fixed inflated pricing caused by linked 5L and 6L variants being averaged into base unique item prices, and surfaced low-confidence pricing notes in the UI. Reworked the page chrome with a shared top nav/footer treatment, changelog and debug lightboxes, footer legal copy, and a simpler control strip that removes the global variant-pricing dropdown.
v0.2.132026-03-09 Corrected Incarnation of Fear loot tables by moving Woespike to Uber Incarnation of Fear and restoring The Unseen Hue to the normal boss drop pool.
v0.2.122026-03-02 Updated the page title tag to "Path of Profits: POE Mirage Bossing Profitability". Added a meta description that explicitly mentions Path of Exile for clearer search snippet context.
v0.2.112026-02-22 Updated league-date assumptions for the RefresherLeaf/Phrecia extension by treating Phrecia 2.0 and Hardcore Phrecia 2.0 as active through 2026-04-23T21:00:00Z when upstream end dates lag. Updated local league filtering so Phrecia 2.0 appears in the local server league dropdown under the same end-date override. Fixed static data build reliability by treating sentinel league end dates (for example 0001-01-01T00:00:00Z) as open-ended, preventing poe.ninja update failures like "No usable leagues" when index endpoints return 404.
v0.2.102026-02-12 Added a local-only "Build Static" action in the mode links so static JSON generation can be triggered from the UI. Added a local build endpoint in the dev server to run `scripts/update-data.js` and `scripts/update-data-ninja.js` with clear success/error responses. Hardened poe.ninja static generation by adding league-source fallbacks when index-state endpoints are unavailable. Updated gh-pages publish workflow to force-add generated `data/poe-watch` and `data/poe-ninja` artifacts even though they are ignored on `master`. Adjusted automated data refresh cadence from hourly to every 6 hours.
v0.2.92026-02-12 Improved debug readability with clearer sectioning and explicit source language for league/pricing origins, including cache key and endpoint context. Expanded fallback diagnostics to show requested types/categories and the matched category used for fallback price resolution (from -> to). Fixed the debug copy icon rendering and tightened debug panel text presentation for easier scanning.
v0.2.82026-02-12 Reworked boss detail layout and interactivity: moved sources into summary tags, restored per-pool drop cards, refined borders/radii/padding, and moved accent bars to span full boss cards. Simplified drop/entry editing flow: probabilities and prices are directly editable, custom-edited fields have strong highlighting, and EV/subtotals remain calculated outputs with consistent compact input sizing. Added stable ordering during local edits so boss rows no longer jump while typing; sorting now re-applies on explicit global actions (search/sort/filter/refresh/settings changes). Unified visual styling with a tighter tokenized palette, improved typography/readability (Inter for item/input UI), updated warning-note presentation, and adjusted hover/open detail states. Expanded mobile usability: denser no-horizontal-scroll tables, balanced subtitle wrapping with smaller copy, and a structured 3-row control layout (3 controls, then 2 filters, then 2 action buttons). Default display currency is now Chaos for new/default sessions while preserving any saved user preference.
v0.2.72026-02-12 Added Spirit Beast bosses (Craiceann, Farrul, Fenumus, Saqawal) with unique set pools and guaranteed 100% boss-beast drops. Added boss tags with search integration: tags are now indexed by the main search and can be clicked to filter the boss list. Introduced and normalized shared tag groups (Uber, Exarch, Eater, The Feared, The Incarnations, Spirit Beast) with consistent capitalization in data. Adjusted boss summary layout: missing-price count now appears above the boss name in a compact style, and tag chips are shown as natural-width inline pills.
v0.2.62026-02-11 Refactored the app into modular services (trade, leagues, pricing, HTTP/cache/repositories) to reduce single-file coupling and improve maintainability. Stabilized league persistence so selected league is retained across refreshes, with simplified league setting ownership. Restored item icon rendering by preserving icon URLs in cached price data and bypassing stale iconless cache entries. Cleaned up unused CSS selectors without changing item icon sizing/layout behavior.
v0.2.52026-02-11 Added trade links for boss drops with query-based Path of Exile trade searches for unique items and divination cards. Expanded trade-link coverage by combining explicit seed mappings with automatic fallback generation for eligible unique drops. Refined trade seed behavior for known special cases (exchange links) and corrected Mortal Rage mapping.
v0.2.42026-02-10 Pinned poe.watch IDs for items with misleading 6-link prices (Gluttonous Tide, Atziri's Splendour). Added support for explicit poe.watch IDs in boss drop definitions.
v0.2.32026-02-10 Avoided six-link poe.watch prices by preferring unlinked entries when multiple variants exist. Improved mobile tables with scrollable wrappers and overflow containment.
v0.2.22026-02-10 Prioritized poe.watch exchange/ratios pricing (live + static builds) with fallback to category data. Updated poe.ninja endpoints to the new /poe1/api/economy/stash/current path. Mobile layout fixes: summary metrics layout, table scroll wrappers, overflow clamps, and search persistence.
v0.2.12026-02-10 Adjusted Elder/Uber Elder/Uber Uber Elder drops and entry costs, and restored The Elder. Added PoE Wiki sources for newly added bosses. Refined boss tables for Sirus, Exarch/Eater, and Uber Shaper/Uber Maven.
v0.22026-02-10 Expanded and reworked boss loot tables (Uber Elder/Uber Uber Elder, Sirus, Exarch/Eater) and added new bosses with PoE Wiki sources. Updated UI: average return metric, filters, sorting, header layout, and other visual refinements. Added Google tag and structured changelog.
v0.1.142026-02-10 Added Average return metric (multiplier) and sortable metrics; removed volatility column. Added default drop filters (0.5 div min value, 10% min probability) with units and default-on toggles. Refined layout and UI: centered header, combined search + sort row, updated info dots and metric cards, adjusted inputs and dropdown sizing. Added footer actions (debug toggle + local hit counter) and installed Google tag.