Skip to content

Releases: coinman-dev/portfolio

v0.7.2-beta

v0.7.2-beta Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 07 May 16:34

CoinMan Portfolio Tracker — v0.7.2-beta

This release consolidates everything since v0.6.0-alpha. It supersedes v0.7.0-beta and v0.7.1-beta, which will be removed shortly.


✨ New

  • Local Windows build script (scripts/build-windows-local.sh) — cross-compiles a portable Windows .exe from Linux/WSL via cargo-xwin without needing a Windows VM. Runs pre-flight checks (git repo, distro, required apt packages, MSVC Rust target, cargo-xwin, tauri-cli) and prompts to install anything missing. Stamps the build version from the latest v* git tag plus the short HEAD SHA (e.g. 0.7.2-beta-37c3484), then restores the working tree afterwards.
  • Coin catalog tooling (scripts/catalog/check_explorers.py) — validates explorer URLs across the catalog and detects per-coin wallet-address patterns. Maintainer-only utility, not shipped in the binary.
  • Runtime app version is now read from CARGO_PKG_VERSION and shown in the desktop UI, so the displayed version always matches the actual binary.
  • Automated CI versioning — release pipeline derives the version from the git tag (or branch name for non-tag pushes) and stamps it into Cargo.toml, tauri.conf.json, and frontend/index.js at build time.

🐛 Fixed

  • Delete confirm dialog on Tauri 2. Previously window.confirm was replaced asynchronously by the dialog plugin, so the synchronous early-return never fired and rows/portfolios were deleted before the confirmation dialog appeared. Now uses tauri-plugin-dialog's ask(), which returns a real Promise<boolean>.
  • Column auto-align after the first added coin. Auto-align now also re-runs when async market data arrives, so the layout doesn't get stuck on placeholder widths from the initial $ 0.00 cells.
  • Column resize no longer pushes "Change" off-screen. Dragging a column wider now shrinks the right-most Change column by the same delta; the table stays inside the container.
  • Auto-align respects manual column widths. Your drag preferences are saved (including Change) and used as a floor on subsequent passes; the Coin/Date column absorbs the remainder so the right edge of the table stays anchored.
  • Window resize re-applies auto-align (debounced 150 ms) so columns rebalance after the app window changes size.
  • Money formatting trims trailing zeros while keeping at least 2 decimal places: $ 82,389.00000$ 82,389.00, $ 0.50000000$ 0.50. Significant decimals are preserved ($ 82,389.12345 is left as is).
  • Liquity BOLD price lookup. CoinGecko renamed the slug from liquity-bold to liquity-bold-2; catalog entry updated.
  • Cross-platform CI versioning script. The Python step in the release workflow had a re.MULTILINE bug and produced a broken Windows artifact path on tagged builds; both fixed.

🔧 Maintenance

  • Rust MSRV bumped 1.77.21.95.0 (pinned in src-tauri/Cargo.toml).
  • Tauri stack updated to current stable:
    • tauri 2.10.3 → 2.11.1
    • tauri-build 2.5.6 → 2.6.1
    • tauri-plugin-dialog 2.2.0 → 2.7.1
    • tauri-plugin-log "2"2.8.0
    • tauri-plugin-single-instance 2.4.0 → 2.4.2
    • Plus 100+ transitive dependencies refreshed via cargo update.
  • Catalog scripts relocated from catalog_update/ to scripts/catalog/ to consolidate dev tooling under one directory.
  • README refreshed: drops the now-unnecessary Node.js prerequisite (Tauri 2's CLI is a Rust binary; frontend is plain vanilla JS), trims the Linux apt list, documents scripts/build-windows-local.sh as the quick path for cross-compilation, and adds a Tauri version badge.
  • Daily GitHub Actions cache cleanup workflow added.
  • Workflow renamed build-macos.ymlbuild-release.yml; Node.js 20 deprecation warnings suppressed.

Downloads

Platform Asset
Windows x64 coinman-portfolio-windows-x64.zip
macOS Intel coinman-portfolio-macos-x86_64.dmg
macOS Apple Silicon coinman-portfolio-macos-aarch64.dmg
Linux x64 coinman-portfolio-linux-x64.tar.gz

⚠️ Beta release. Test on a copy of your database before relying on it. Encrypted databases from previous versions remain compatible.


Deprecation

This release replaces v0.7.0-beta and v0.7.1-beta. Anyone on those tags should jump straight to v0.7.2-beta.

v0.7.1-beta

v0.7.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Apr 17:03
v0.7.1-beta

v0.7.0-beta: Beta release v0.7.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Apr 15:47
Changes since v0.6.0-alpha:
- CI: Automate versioning based on tags/branches
- FEAT: Add check_explorers.py and update coin catalog (cmc.json)
- CI: Daily Actions cache cleanup workflow
- DOCS: Add GitHub status badges to README
- FIX: Correct package metadata and license in Cargo.toml

v0.6.0-alpha

v0.6.0-alpha Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 28 Mar 14:38

CoinMan Portfolio Tracker — Alpha Release

⚠️ This is an alpha version. It may contain bugs and is not recommended for production use.

Portable builds (no installer required)

File Platform
coinman-portfolio-windows-x64.zip Windows 10/11 (x64)
coinman-portfolio-linux-x64.tar.gz Linux Ubuntu 22.04+ (x64)
coinman-portfolio-macos-x64.dmg macOS 10.15+ (Intel)
coinman-portfolio-macos-arm64.dmg macOS 11+ (Apple Silicon M1/M2/M3)

How to run

Windows: Extract the zip, place coinman-portfolio.exe anywhere, run it. The database/ folder will be created next to the exe.

Linux: Extract the archive, make executable and run:

tar -xzf coinman-portfolio-linux-x64.tar.gz
chmod +x coinman-portfolio
./coinman-portfolio

Requires libwebkit2gtk-4.1-0 on the system: sudo apt install libwebkit2gtk-4.1-0

macOS: Open the DMG, drag the app to Applications, run it.

What's new in v0.6.0

CoinMarketCap price source

  • Added CoinMarketCap as an alternative price source (in addition to CoinGecko)
  • Toggle between CMC and CoinGecko in Settings → Price Source
  • CMC API key can be entered and validated directly in the app
  • If CMC authentication fails, the app automatically falls back to CoinGecko
  • Switching price source now immediately fetches fresh prices (session cache is cleared on switch)
  • Status bar now shows from CMC or from CG to indicate which source was used

CoinGecko price fetching via gecko_id

  • Prices are now fetched using the gecko_id field from the coin catalog
  • Improved accuracy for coins whose CoinGecko ID differs from their symbol

Coin catalog update

  • Catalog update script overhauled: better CMC → CoinGecko ID matching
  • Coin data refreshed with latest catalog

App renamed

  • Application renamed to CoinMan Portfolio Tracker

Settings persistence

  • auto_align_columns and show_table_footer settings are now saved and restored between sessions

Template engine

  • Added internal CoinmanTpl template engine for cleaner UI rendering
  • Fixed startup initialization and status bar layout

v0.5.0-alpha

v0.5.0-alpha Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 21 Mar 18:15

CoinMan Portfolio Tracker — Alpha Release

⚠️ This is an alpha version. It may contain bugs and is not recommended for production use.

Portable builds (no installer required)

File Platform
coinman-portfolio-windows-x64.zip Windows 10/11 (x64)
coinman-portfolio-linux-x64.tar.gz Linux Ubuntu 22.04+ (x64)
coinman-portfolio-macos-x64.dmg macOS 10.15+ (Intel)
coinman-portfolio-macos-arm64.dmg macOS 11+ (Apple Silicon M1/M2/M3)

How to run

Windows: Extract the zip, place coinman-portfolio.exe anywhere, run it. The database/ folder will be created next to the exe.

Linux: Extract the archive, make executable and run:

tar -xzf coinman-portfolio-linux-x64.tar.gz
chmod +x coinman-portfolio
./coinman-portfolio

Requires libwebkit2gtk-4.1-0 on the system: sudo apt install libwebkit2gtk-4.1-0

macOS: Open the DMG, drag the app to Applications, run it.

What's new in v0.5.0

Update checker

  • The app now automatically checks for new versions on GitHub once a week (3 seconds after launch)
  • If a newer version is found, a modal window appears with the version number
  • Both stable releases and pre-releases are detected and shown separately
  • A clickable "Update available" indicator appears in the status bar (bottom right)
  • Last check date is saved to settings-cache.json — no repeated checks on every launch

Coin validation

  • Adding or editing a transaction now requires the coin to exist in the built-in catalog (CoinMarketCap database)
  • If the coin is not found, saving is blocked and an error is shown: Coin "Bitcoin (BTC)" was not found in the database
  • Prevents saving transactions for unknown or mistyped coins

Settings file renamed

  • settings.json renamed to settings-cache.json (stores both UI settings and market cache)

Code quality

  • App version is now defined in a single place (CONFIG.APP_VERSION) and used everywhere — About modal, update checker
  • CSS: moved inline styles to classes, added CSS variables
  • Explorer URL fix: correct ? separator before wallet address in blockchain explorer links

v0.4.0-alpha

v0.4.0-alpha Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 18 Mar 19:14

CoinMan Portfolio — Alpha Release

⚠️ This is an alpha version. It may contain bugs and is not recommended for production use.

Portable builds (no installer required)

File Platform
coinman-portfolio-windows-x64.zip Windows 10/11 (x64)
coinman-portfolio-linux-x64.tar.gz Linux Ubuntu 22.04+ (x64)
coinman-portfolio-macos-x64.dmg macOS 10.15+ (Intel)
coinman-portfolio-macos-arm64.dmg macOS 11+ (Apple Silicon M1/M2/M3)

How to run

Windows: Extract the zip, place coinman-portfolio.exe anywhere, run it. The database/ folder will be created next to the exe.

Linux: Extract the archive, make executable and run:

tar -xzf coinman-portfolio-linux-x64.tar.gz
chmod +x coinman-portfolio
./coinman-portfolio

Requires libwebkit2gtk-4.1-0 on the system: sudo apt install libwebkit2gtk-4.1-0

macOS: Open the DMG, drag the app to Applications, run it.

What's new in v0.4.0

Wallet address field

  • Add/Edit Transaction modals now include a Wallet Address field (up to 220 characters)
  • Stored per transaction alongside notes

Offline market data

  • Price data is now preserved when the app starts without internet
  • Market data source is shown in the status bar: from API, from session cache (date), or from file (date)
  • Previously, launching offline would zero out all prices

COLLAPSE / EXPAND state saved

  • The collapse/expand state of the portfolio table is now persisted to settings.json
  • Restored automatically on next launch

Collapsed row format

  • Collapsed rows now show Transactions: N (previously showed N Positions)

Template system refactored

  • All HTML templates use visible [[VARIABLE]] placeholders with BEGIN/END comment markers
  • Improves compatibility with design tools (Dreamweaver, etc.)

Portfolio tabs — flex layout

  • Portfolio tab row refactored from table layout to CSS flexbox
  • More robust wrapping behaviour with many portfolios

Bug fixes

  • Fixed: "undefined" shown in Notes field when editing old transactions that had no note
  • Fixed: bullet separator now only appears when a note exists (expanded rows)
  • Fixed: transaction date format now shows HH:MM instead of HH:MM:SS
  • Fixed: CMD window flash on Windows when clicking external links (CoinGecko, GitHub)
  • Added macOS support for external link opening (open command)

Legal

  • Added MIT LICENSE file
  • About modal now shows CoinGecko attribution and "not financial advice" disclaimer
  • README updated with Disclaimer and Data Attribution sections

v0.3.0-alpha

v0.3.0-alpha Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 16 Mar 22:04

CoinMan Portfolio — Alpha Release

⚠️ This is an alpha version. It may contain bugs and is not recommended for production use.

Portable builds (no installer required)

File Platform
coinman-portfolio-windows-x64.zip Windows 10/11 (x64)
coinman-portfolio-linux-x64.tar.gz Linux Ubuntu 22.04+ (x64)
coinman-portfolio-macos-x64.dmg macOS 10.15+ (Intel)
coinman-portfolio-macos-arm64.dmg macOS 11+ (Apple Silicon M1/M2/M3)

How to run

Windows: Extract the zip, place coinman-portfolio.exe anywhere, run it. The database/ folder will be created next to the exe.

Linux: Extract the archive, make executable and run:

tar -xzf coinman-portfolio-linux-x64.tar.gz
chmod +x coinman-portfolio
./coinman-portfolio

Requires libwebkit2gtk-4.1-0 on the system: sudo apt install libwebkit2gtk-4.1-0

macOS: Open the DMG, drag the app to Applications, run it.

What's new in v0.3.0

Interactive column resizing

  • Drag column borders to resize — changes saved automatically to settings.json
  • Column width limits prevent the table from overflowing the screen; the last column (Change) acts as a buffer
  • Smart "Cur. Price" column: hiding it redistributes its width to "Coin / Date", keeping the layout intact; re-enabling restores original widths
  • showCurPrice setting now persisted in settings.json (previously localStorage only)

Per-user settings

  • settings.json now stores per-database-file settings: activePortfolioId, portfolioOrder, marketCache
  • Global settings (windowState, showCurPrice, columnWidths) remain shared across all databases
  • Automatic migration from old flat format on first load

Portfolio order

  • Drag-and-drop portfolio tab reorder is now saved in settings.json (not in the database file)
  • Database file always stores portfolios sorted by ID for stability

"Save database as..."

  • New File menu item to copy the current database to a new file

Unicode database filenames

  • Spaces, Cyrillic, and other Unicode characters in filenames now work correctly

UI fixes

  • File menu now closes properly when opening any modal dialog (Encrypt, Clear, etc.)

macOS support

  • First macOS builds: DMG for both Intel (x86_64) and Apple Silicon (aarch64)

Bug fixes (post-release)

  • Fixed: app no longer creates default.json when opening a single non-default database file
  • Fixed: window position is now preserved correctly on Wayland
  • Fixed: file dialog deadlock resolved on Linux (Kubuntu and similar)
  • Fixed: window size no longer grows on each launch on Linux — corrected decoration offset calibration on WMs that include window decorations in inner_size()

v0.2.0-alpha

v0.2.0-alpha Pre-release
Pre-release

Choose a tag to compare

@coinman-dev coinman-dev released this 15 Mar 00:21

CoinMan Portfolio — Alpha Release

⚠️ This is an alpha version. It may contain bugs and is not recommended for production use.

Portable builds (no installer required)

File Platform
coinman-portfolio-windows-x64.zip Windows 10/11 (x64)
coinman-portfolio-linux-x64.tar.gz Linux Ubuntu 22.04+ (x64)

How to run

Windows: Extract the zip, place coinman-portfolio.exe anywhere, run it. The database/ folder will be created next to the exe.

Linux: Extract the archive, make executable and run:

tar -xzf coinman-portfolio-linux-x64.tar.gz
chmod +x coinman-portfolio
./coinman-portfolio

Requires libwebkit2gtk-4.1-0 on the system: sudo apt install libwebkit2gtk-4.1-0

What's new in v0.2.0

  • AES-256-GCM database encryption — protect your portfolio data with a password
    • Encrypt / decrypt via File menu
    • Change password without decrypting
    • Encrypted files shown with a lock icon in the database selector
    • Password held in memory only — never stored on disk
  • Settings file (settings.json next to exe) — window geometry and market cache now survive restarts independently of the database
  • Keyboard navigation in dropdown menus (Arrow keys / Enter / Escape)
  • Enter key support in all password dialogs
  • DB selector on startup — if 2+ database files exist, selector appears before any file is loaded (no failed-load round-trip for encrypted files)
  • Market price cache persists between launches