
What's New in Crypto Portfolio Tracker
Built for investors. Improved for everyone.
Every release makes your portfolio tracking smarter, faster, and more accurate. See what’s changed — and what’s coming next.
Changelog
Every update, every fix, every improvement.
15 releases
Crypto Portfolio Tracker
Filter:
Latest
v4.2.0
1 Jun 2026
- ✦ AddedCalculators tab — six handy crypto tools in one place: Profit/Loss, Break-even, DCA Average cost, long-term DCA Plan projection, portfolio Allocation & rebalancing, and a live crypto/fiat Converter. Most run instantly in your browser; only the Converter fetches live prices from CoinGecko
- ✦ AddedTarget Price (Investment Goals) — set a price target for each coin and a total target value for the whole portfolio. New "Target" column in the dashboard holdings table doubles as a progress bar (purple → amber → green) with a "+X% needed" / "goal reached" hint; new Portfolio Goal widget above the table shows total value vs. target with progress bar and dollar amount to go
- ✦ AddedBreak-even hint on the dashboard holdings table — hover a coin to see its break-even price and how far it is ("+X% needed to break even" or "in profit"); stablecoins excluded
- ✦ AddedAbout page refresh — new feature cards for "Target Prices & Portfolio Goal" and "Crypto Calculators"; updated Free / Premium feature lists
- ↑ ImprovedPolish translation (pl_PL) — all new strings translated
- ↑ ImprovedDeveloper: extension points so the Pro add-on can enhance the Allocation calculator (
sakurato_cpt_calc_alloc_toolbaraction,sakurato_cpt_calc_portfolio_assetsfilter, and awindow.sakuratoCptCalcAPIJS hook) — no visible change in the free plugin
- ✗ FixedTarget price hint now shows how much the price needs to rise to hit the goal (e.g. "+353% needed") instead of a misleading progress ratio
- ✗ FixedStale date in Add / Sell / Withdraw forms — the date field now always defaults to today when the form opens (previously it could keep an old date if the page had been left open)
- ✗ FixedUntranslated header on the Portfolio Settings page — now properly wrapped for translation
v4.1.1
25 May 2026
- ↑ ImprovedDefault chart time range set to "All" on Performance and ROI % charts (was 1 month)
- ↑ ImprovedActive legend item in the pie chart now highlights with its own segment color
- ✗ FixedDonut chart legend contrast in light mode — text color corrected (#9ca3af → #6b7280)
- ✗ FixedDonut chart text colors no longer inherit from the active WordPress theme (forced with !important, theme-aware hover/active states)
v4.1.0
7 May 2026
- ✦ Added"Create New Portfolio" import mode gated by plan — free build shows Merge / Replace only; Sakurato CPT Pro unlocks the Create New option
- ✗ FixedCron stampede — async price refresh now uses a 45-second transient lock so only one job is scheduled per batch, preventing 429 rate-limit errors from CoinGecko
- ✗ FixedPHP 8.1 deprecation warning (
strpos(null)) —cached_attimestamp now stamped correctly on both sync and async price fetch paths - ✗ FixedP/L Zones chart — red gradient now renders correctly for portfolios in loss (gradient was reversed, making the fill invisible)
- ✗ FixedMobile responsive tables — All Transactions, Sales History, and Snapshots tables now scroll horizontally on ≤782 px instead of collapsing to WP card layout
- ✗ FixedHoldings Distribution donut — center label positioning corrected in side-panel layout (absolute centering restored)
v4.0.0
4 May 2026
- ↑ ImprovedArchitecture change: plugin split into a free WP.org build and an optional Sakurato CPT Pro add-on. Reports and multi-portfolio management moved to the Pro add-on; the free plugin is fully functional on its own with no license or upgrade prompts
- ↑ ImprovedFreemius SDK removed from the free build (~3.5 MB smaller download)
- ↑ Improved4 extension hooks added so the Pro add-on registers its menus and features without modifying the free plugin
- ✦ AddedNative
uninstall.php— clean removal of options, transients, cron events, and database tables when the plugin is deleted - ✦ Added
wp_add_privacy_policy_content()— describes local-only data storage and CoinGecko coin-ID-only API requests in the WP Privacy Policy page
v3.5.0
3 May 2026
- ↑ ImprovedBreaking: all shortcode tags renamed with the
sakurato_prefix (e.g.crypto_portfolio→sakurato_crypto_portfolio). Update any existing pages that use the old shortcode names - ↑ ImprovedAll
wp_localize_script()global JS variables now use thesakuratoCpt*prefix — eliminates conflicts with other plugins - ↑ ImprovedAdmin page slugs renamed (
cpt-reports→sakurato-cpt-reports, etc.) for namespace safety - ↑ ImprovedAll in-plugin license checks and upgrade prompts removed from the WP.org build (WordPress.org Guideline 5 compliance)
- ✗ FixedCoinGecko Terms / Privacy URLs corrected (removed
/en/segment that failed SSL validation on WP.org) - ✗ FixedFreemius SDK loading guarded with
function_exists('fs_dynamic_init')to prevent conflicts with other plugins bundling Freemius
- 🔒 SecurityAdded
current_user_can('manage_options')capability checks to transaction delete and edit handlers
v3.4.0
30 Apr 2026
- ✦ AddedNew shortcode
crypto_portfolio_performance— 7 period cards (24H · 7D · 1M · 3M · 180D · 1Y · ALL) each showing % change, $ P/L, and a sparkline SVG - ✦ AddedPerformance Periods section on the dashboard — interactive toggle cards for 7 time periods; preferences saved per user in user_meta
- ✦ Added'Understanding the Numbers' explainer in About page — explains Total P/L vs Current ROI, how period P/L is calculated, and why 180D/1Y/ALL may show identical values
- ✦ AddedFree vs Premium plan comparison cards on the About page with an Upgrade button
- ↑ Improvedshow_values="false" parameter for pie and performance chart shortcodes — hides all $ amounts, ideal for anonymous public embedding
- ↑ ImprovedPeriod P/L calculation now uses profit_loss delta (isolated from cash flows) with total_invested_now as denominator — consistent scale with Current ROI widget
- ↑ ImprovedWP.org build: Reports redesigned as a free summary view (period metrics only); portfolio creation UI removed — single portfolio by design, no restriction code
- ✗ FixedReports page filter bar was broken — CSS class names corrected to match admin-reports.css BEM naming
- ✗ FixedWithdrawn total always showed $0 — caused by wrong transaction_type value in query ('withdrawal' vs 'withdraw')
- 🔒 SecurityAdded explicit current_user_can('manage_options') check at the top of the portfolio actions handler
v3.3.0
29 Apr 2026
- ↑ ImprovedPerformance: price cache moved from wp_options (autoload=yes, 150–300 KB loaded on every WP request) to a dedicated database table wp_cpt_price_cache
- ↑ ImprovedStale-while-revalidate — frontend requests always return immediately from the DB; stale prices refresh in the background via WordPress cron
- ↑ Improvedsleep() calls (rate-limit protection, 429 backoff) removed from the request path — they now execute only in background/cron context
- ↑ ImprovedAtomic INSERT … ON DUPLICATE KEY UPDATE upserts eliminate race conditions when multiple cron jobs run in parallel
- ↑ ImprovedFilterable TTL values — override via sakurato_cpt_price_cache_soft_ttl (default 5 min), _hard_ttl (30 min), _top_coins_list_ttl (24 h) filters
- ↑ ImprovedExisting installations automatically migrate old cache data on first update (idempotent migration)
- ✗ FixedTop coins list (sakurato_cpt_top_500_coins_list) now saved with autoload=no
v3.2.0
28 Apr 2026
- ★ PremiumReports sections (Buy, Sell, Withdrawal, Tax Summary) are now a Premium feature — free users see a preview of up to 3 rows per section with a blur/lock overlay and upgrade prompt
- ↑ ImprovedUpsell admin notice updated to highlight Reports access as a premium benefit alongside multiple portfolios
- ✗ FixedWithdrawal modal coin list failed to load due to an incorrect AJAX action name
- ✗ FixedPlugin Check compliance — SQL interpolation annotations, missing translators comments, direct DB query suppression
v3.1.1
28 Apr 2026
- ✗ FixedMoved all inline style/script blocks to wp_add_inline_style() and wp_add_inline_script() for WordPress.org compliance
- ✗ FixedAdded wp_strip_all_tags() escaping for dynamic CSS output in shortcode chart styles
- ✗ FixedEnqueued admin-inline.css for P/L cards, price cache indicator, and time filter styles
v3.1.0
28 Apr 2026
- ✦ AddedReports tab — Buy Transactions, Sell Transactions, Withdrawals, and Tax Summary sections with year / month / portfolio filters
- ✦ AddedPer-section Chart.js charts: funding-source donut (buys), monthly bar (sells), destination donut (withdrawals)
- ✦ AddedColumn sorting and pagination (10 rows / page) on all Reports tables
- ✦ AddedCSV export per section in Reports
- ✦ Added6 summary metric cards — Total Invested, Total Sold, Withdrawals, Net Capital Flow, Avg Buy Price, Avg Sell Price
- ✦ AddedInformational description in each Reports section explaining what data is shown
- ✦ AddedDownload PNG button in Social Share widget — canvas-based export, no server dependency
- ✦ AddedSnapshots Management page now includes portfolio selector and portfolio info bar
- ✦ AddedShortcode Generator expanded with 19 new parameters and dynamic show/hide per shortcode type
- ↑ ImprovedCSS isolation for all shortcodes — styles no longer affected by the active WordPress theme
- ↑ ImprovedPie chart vertical layout — tighter padding, legend fills full width, full coin name hidden in legend
- ↑ ImprovedAdmin menu order: Dashboard → Transactions → Snapshots → Portfolios → Shortcodes → Import/Export → API → About
- ↑ ImprovedReports mobile layout — tables scroll horizontally; less critical columns hidden on small screens
- ✗ FixedSales History: internal portfolio swaps (USDT → Internal) excluded — only real asset sales shown
- ✗ FixedBuy History: companion stablecoin entries from sales (Sale_proceeds) excluded
- ✗ FixedMonthly Sell chart totals no longer include internal swaps
- ✗ FixedTax Summary groups by coin ID — same asset with different symbols (BTC / BITCOIN) now appears as one row
- ✗ FixedTax Summary Withdrawals column was always $0 — now correctly sums withdrawal values
- ✗ FixedTotal Transactions metric and section badge counts now show actual transaction count, not grouped row count
- ✗ FixedBuy chart legend colours now match the chart slice colours
- ✗ FixedAbout page showed hardcoded version 'v2.6' — now uses the CPT_VERSION constant
- ✗ FixedDark mode: pie chart background colour is now consistent with other dashboard charts
- ✗ FixedAll Transactions table sort — corrected data attribute names (data-sort → data-column)
- ✗ FixedP/L zone card borders were overridden by CSS isolation block — restored via increased specificity
- ✗ Fixed'Show P/L Zones' toggle showed a double dot caused by theme CSS — redesigned as a native button element
v3.0.1
17 Apr 2026
- ✗ FixedPublic view (non-logged-in users) showed wrong coin quantities — sold coins were not deducted from holdings
- ✗ FixedPublic view showed inflated Cost Basis and Portfolio Value due to missing sales deductions
- ✗ FixedRealized P/L displayed as $0 / "No sales yet" for guest users instead of actual value
- ✗ Fixedget_current_portfolio_id() public fallback scoped to site admin — previously could return any user's default portfolio
v3.0.0
16 Apr 2026
- ✦ AddedFreemius integration — license management, upgrade flow, and account page
- ✦ AddedDark mode with theme toggle in the command bar
- ✦ AddedResponsive layout — dashboard adapts to tablet and mobile screens
- ✦ AddedROI Performance chart with 24H / 7D / 1M / 3M / 1Y / ALL time-range filters
- ✦ AddedSocial Share widget — generate a portfolio snapshot image
- ✦ AddedWithdrawal transaction type
- ✦ AddedPortfolio Notes — free-text notes per portfolio
- ✦ AddedImport / Export modal with JSON and CSV support
- ✦ AddedToast notification system
- ✦ AddedDashboard collapsible sections
- ★ PremiumUnlimited portfolios per site (free: 1 portfolio)
- ↑ ImprovedAdmin dashboard layout — metric cards, chart grid, Portfolio Health row
- ↑ ImprovedPrice cache reliability and cache status indicator
- ✗ FixedAll dynamic output properly escaped (WordPress.org compliance)
- ✗ FixedChart.js moved to local bundle — no external CDN calls
- ✗ FixedROI chart canvas height on mobile screens
v2.5
10 Nov 2025
- ↑ ImprovedDashboard performance — faster load and metric calculations
- ↑ ImprovedImport / export — better error handling and format validation
- ★ PremiumMulti-portfolio support moved to Premium tier
- ✗ FixedVarious bug fixes and stability improvements
v2.0
22 Jul 2025
- ✦ AddedPortfolio snapshot and forecasting features
- ✦ AddedStablecoin tracking (USDT, USDC, DAI)
- ↑ ImprovedChart visualizations — smoother animations and better tooltips
v1.0
1 Mar 2025
- ✦ AddedInitial release — transaction tracking, CoinGecko price data, basic portfolio view
Unlock the full potential of your portfolioThe free version tracks one portfolio and covers all the basics.
The free version tracks one portfolio and covers all the basics.
Premium removes every limit — manage multiple portfolios, get advanced analytics, and stay ahead of the market with the full feature set.
One-time purchase per site · 14 -day money-back guarantee

