-
v1.6.4
StableSome checks failedContinuous Integration / Test and Build Verification (push) Has been cancelledreleased this
2026-10-23 18:05:33 +00:00 | 0 commits to main since this releaseSecurity & Dependencies
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v1.6.3
StableSome checks failedContinuous Integration / Test and Build Verification (push) Has been cancelledreleased this
2026-10-19 20:15:42 +00:00 | 6 commits to main since this releaseNew Features:
- Online Store Buylist Export:
- Direct export formatted for TCGplayer Mass Entry, Cardmarket Wants, Card Kingdom Deckbuilder, Universal Text, and CSV.
- Interactive Buylist modal with live syntax preview, exact printing switch ("Exact Set" vs "Any / Cheapest"), individual card checklist, item count & total valuation, and 1-click "Open in Store".
- Integrated into Set Completion Matrix (exporting missing cards needed for complete sets), Collection Page (bulk action bar and active binder/list header), and TradePost Wishlist.
- Embedded Set Card Picker in Add Card Modal:
- Integrated set card browser within Add Card Modal for streamlined single/batch card ingestion directly into target binders.
- Conditional Price Sync Optimization:
- Optimized financial movers & price updates: conditional Scryfall batch lookup for single binders or collections <= 500 cards, and background bulk sync for larger vaults.
Fixed:
- Cube Owned / Missing Inventory Calculation:
- Fixed Wishlist Missing cube cards endpoint to only add the remaining missing delta rather than redundant copies.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Online Store Buylist Export:
-
v1.6.2
StableSome checks failedContinuous Integration / Test and Build Verification (push) Has been cancelledreleased this
2026-10-14 23:37:47 +00:00 | 12 commits to main since this releaseAdded:
- Bidirectional Vault Data Sync (Desktop <-> Self-Hosted):
- Cryptographically secure Sync API Token (
vlt_sync_<48-hex>) with SHA-256 hash storage. - Push (Desktop -> Server) and Pull (Server -> Desktop) synchronization on demand.
- Reconciliation choice between
Additive Merge(safe, non-destructive upsert) andMirror (Overwrite Target). - Zero-risk pre-sync rollback snapshot (
backups/pre-sync-backup-<timestamp>.json) automatically captured on receiving side before any changes are written. - Interactive Pre-Sync Difference Preview showing live item count deltas across cards, binders, decks, cubes, sealed products, and trade cards.
- Dedicated
Vault Synctab in Settings (SyncTab.tsx) with role switcher between Desktop node client and Self-Hosted hub. - Quick
SYNCaction pill in the top navigation bar.
- Cryptographically secure Sync API Token (
Fixed:
- Add card modal minified react error 310
Security & Hardening
- Single-User Architecture & Bootstrap:
- Unified local collector user bootstrap with constant-time verification.
- Hardened CORS origin checks supporting desktop Electron schemes and reverse proxies.
- Strict host-binding for production Docker containers.
- Settings Modular Decomposition:
- Refactored monolithic settings page into 9 dedicated tabs with complete audit logging.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Bidirectional Vault Data Sync (Desktop <-> Self-Hosted):
-
v1.6.1 Stable
released this
2026-10-13 20:52:29 +00:00 | 17 commits to main since this releaseNew Features:
- Bulk Edit Purchase Price in Collection Table:
- Added "Edit Purchase Price" to multi-select bulk operations in the collection table, allowing users to batch update acquisition cost on selected cards.
- Altered Card Condition & Subtype Customization:
- Full support for altered condition with selectable subtypes (signed, misprint, crimped, other) across card detail/edit modals, collection table, and mobile sheets.
- Sealed External Identifiers & Inline Catalog Mapping:
- Added dedicated fields for tcgplayerProductId, mtgjsonUuid, and cardmarketId in sealed product edit modal.
- Interactive "Find in Catalog" drawer in sealed product edit modal with 1-click "Link & Populate IDs" and immediate price re-fetch.
Fixed:
- TCGCSV Price Feed HTTP 403 Forbidden
Security & Dependency Upgrades
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Nahalo Vault 1.6.0 Stable
released this
2026-10-08 19:19:10 +00:00 | 23 commits to main since this release[1.6.0] - 2026-10-08
Added
- Public List & Wishlist Sharing via SilkRoad Hub:
- Secure token-based public share links for Trade Lists and Wishlists (
/share/trade/:tokenand/share/wishlist/:token). - Integrated with SilkRoad network: 1-click generation, token rotation, direct clipboard copy, and remote web preview.
- SilkRoad auto-sync: Automatically informs the central SilkRoad node with public link URLs whenever cards change.
- Secure token-based public share links for Trade Lists and Wishlists (
- Ultra-Fast Desktop Cold Start & Instant Splash Screen:
- Instant splash screen presentation under 100ms via frameless window and embedded HTML/CSS loader.
- Background asynchronous catalog warmup: Moved Scryfall card catalog caching and vector index loading out of the critical HTTP boot path into background worker tasks.
- Real-time splash loading phase reporting via IPC (
starting-backend,warming-cache,ready).
- External Forgejo Release & Auto-Update Pipeline:
- Automated release publisher script (
scripts/publish-forgejo.mjs) streaming NSIS installers, portable binaries, and updater manifests directly to external Forgejo. - Dynamic auto-updater feed (
electron/src/main.ts) querying the latest release tag from Forgejo REST API with automatic download and 1-click in-app update.
- Automated release publisher script (
- Docker Compose Prebuilt Images:
- Streamlined
docker-compose.prod.ymlconfigured to pull prebuilt container images (forge.nahalopagus.cc/przemchess/nahalo-vault:latest) with optional source build fallback.
- Streamlined
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Public List & Wishlist Sharing via SilkRoad Hub:
-
v1.5.6 Stable
released this
2026-10-07 17:56:51 +00:00 | 27 commits to main since this releaseAdded:
-
Price Movers & Set Momentum Analytics in Financials Tab:
- 24h, 48h, 7d, and 30d Price Movers: Added a dedicated "Price Movers" subtab in Financials displaying highest price growth (gainers) and largest price drops (decliners) across user-configurable timeframes.
- Full Scope & List/Wishlist Parity: Respects active collection scope (All Cards, Binders, Decks, and Lists/Wishlists). In Wishlist / Lists view, price drops are automatically tagged as prime dip-buying opportunities.
- Flexible Metric Sorting & Floor Filter: Toggle between rate percentage (
%) and absolute monetary value ($/€), with a configurable minimum card price floor filter to eliminate micro-bulk noise. - Set Momentum & Velocity Heatmap: Aggregates net portfolio monetary changes across Magic: The Gathering sets over the active timeframe with direct collection drill-down.
- Interactive Card Price History Modal: Clicking any card or mover opens an analytical modal with customizable timeframes (
24h,48h,7d,30d,90d,1y), dynamic movement and net delta re-calculation, live marketplace links (TCGplayer, Cardmarket, ManaPool, eBay, Card Kingdom), and direct collection filtering. Inherits active timeframe perspective from parent Movers tab.
-
Card Detail / Edit Modal Telemetry & Inventory Breakdown:
- Embedded 30-Day Price Trend Mini-Chart: Utilizes empty left-column sidebar space to display an interactive 30-day historical area chart, current market price, and percentage/monetary net delta, with a one-click button to launch the full multi-timeframe analysis modal.
- Total Copies & Container Breakdown: Aggregates all owned physical copies across binders, decks, and unassigned inventory into a
Total Ownedbadge, alongside a separateWanted / Listedbadge for wishlists and wantlists. - Interactive Inventory Instance Browser: Displays a categorized, scrollable list of all card copies with printing badges, finishes, conditions, and container locations. Clicking an instance instantly switches the modal's preview and active edition to that copy.
- Overview Subtab Preview Widget: Added a compact 24h Top Movers summary widget to the main Financials Overview dashboard.
-
Daily Automated Price History Snapshots: Added
card_price_historyPostgreSQL table with automatic capture during scheduled cron maintenance and realistic historical seeding.
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
1 download
-
-
v1.5.5 Stable
released this
2026-10-06 18:44:54 +00:00 | 29 commits to main since this releaseAdded
- Virtual Joint Binders (#20):
- Added ability to create virtual joint binders that merge multiple physical binders and decks into a unified browsing entity without duplicating physical card records.
- Dynamically calculates aggregated unique card counts, total items, and total financial valuation in real-time across all constituent child binders.
- Added set completion tracking: joint binders can specify a
Target Set Code(andBonus Sheet Code), dynamically calculating set progress across all constituent binders. - Added interactive typeahead search filter and removable tag chips for easily selecting and managing constituent member binders.
- Added option to hide constituent member binders from the main binder list (sidebar & mobile drawer) with a
Hidden (N)indicator badge, reducing clutter. - Distinctive cyan UI theming with
Layersicon indicator and member binder count badge across desktop sidebar, active banner, and mobile drawer.
- Commander Game Changers History & Changelog Tracking (#18):
- Built comprehensive audit log table (
commander_game_changers_history) tracking all additions and removals over time with timestamps and reason metadata. - Automatic diff detection and seeding during Scryfall and tier list synchronization.
- Interactive "Changelog" tab in Commander Game Changers Modal with timeline visualization, additions/removals filtering, and in-deck presence highlighting.
- Added "Watchlist Shift" warning badges to deck list page alerting players when decks contain cards impacted by recent Game Changer revisions.
- Built comprehensive audit log table (
- Visual Stacks Top Horizontal Scrollbar (#21):
- Added synchronized dual horizontal scrollbar bar on top of deck builder visual stacks with sticky positioning and quick arrow navigation controls.
- Scryfall Cache Staleness Warning (#22):
- Added sync staleness tracking to Settings page: shows informative amber badge if last sync is > 7 days old, and warning red badge if > 21 days old.
- Mobile Card Detail Overhaul (#19):
- Redesigned mobile card detail view with high-res card art, card flip toggle for double-faced cards, fullscreen zoom viewer, official Scryfall rulings & notes tab, oracle stats with format legality pills, and an interactive printings switcher.
Fixed
- Collection Advanced Filters (#15, #16, #17, #18):
- Fixed Color Identity filter to default to Commander-accurate subset matching (
at_most) with configurable match modes. - Removed obsolete 'Special' option from Rarity filter dropdown.
- Fixed format legality filter by targeting strictly
'legal'status against Scryfall legalities JSONB. - Fixed Mana Value (CMC) filtering by properly wiring operators (
=,>,<,>=,<=) and numeric comparisons in PostgreSQL backend.
- Fixed Color Identity filter to default to Commander-accurate subset matching (
Downloads
-
Source code (ZIP)
4 downloads
-
Source code (TAR.GZ)
1 download
- Virtual Joint Binders (#20):
-
v1.5.4 Stable
released this
2026-10-05 20:33:42 +00:00 | 35 commits to main since this releaseNew features:
- List Target Set Auto-Population
- Added option in List creation modal (
type === 'list') to automatically populate new missing/wishlist items directly from the set when aTarget Set Codeis provided. - Three mutually exclusive population modes with live card count badges:
- All Cards: Includes base set plus all alternate art, borderless, anime, and showcase printings.
- Base Set Only (No Alt-Art): Regular prints only, including standard basic lands and excluding variant printings.
- Alt-Art Only: Exclusively imports special variants and alternate art printings.
- Set cards and filtered subsets are linked atomically in PostgreSQL during list creation.
- Added option in List creation modal (
Fixed
- Browse & Add by Set (Scryfall Query Directives)
- Resolved issue in
SetCardPickerModalwhere expansion sets (such as Reality Fracture / FRA) returned "No cards match the active filters". - Sanitized Scryfall search directives (
is:...,unique:...,order:...,dir:..., etc.) inscryfallCacheService.searchCardsand added word boundaries to query param matching. - Added dedicated
GET /api/cards/set/:setCoderoute andscryfallCacheService.getSetCardsto load all cards of an expansion from the local PostgreSQL database sorted by collector number without 100-card pagination caps. - Improved error reporting in
SetCardPickerModalwhen vault is locked or session expires.
- Resolved issue in
Security & Dependencies
- Tailwind CSS v4 Migration:
- Upgraded Tailwind CSS from v3.4 to v4.3 across the frontend (
tailwindcss@4.3.3,@tailwindcss/postcss@4.3.3). - Migrated stylesheets to use
@import 'tailwindcss';and@themetokens. - Cleaned up npm audit report (0 vulnerabilities across root, server, and client).
- Upgraded Tailwind CSS from v3.4 to v4.3 across the frontend (
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
1 download
- List Target Set Auto-Population
-
v1.5.3 Stable
released this
2026-10-01 20:59:37 +00:00 | 37 commits to main since this releaseAddressed issues:
- #8 Settings Ebay: ebay credentials are not saving
- #9 Settings General: Financials & Currency: check why default bulk value have jump thresholds 0.1, 0.6, 1.1...
- #10 TradePost: cards on trade list should be clickable and bring info where they are in my collection binders
- #11 Card Search: cards should show market price on them
- #12 Card Search: Target Binder for quick Adds should be empty by default (with create new binder option)
- #13 Card Search: Add option to quick add to a list (with create a new list option)
- #14 Card Search: add page changer also on top of the list
New Features:
- Multi-provider market pricing for sealed and singles (TCGCSV, MTGJSON, eBay API)
- Automated checks and updates for AI models
Secutiry:
- updates to NPM packages
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.5.2 Stable
released this
2026-09-22 21:33:19 +00:00 | 42 commits to main since this releaseAdded
- Support for SLD, SLU, SLC product in Sealed Catalogue
- Ability to purge image cache for specific sets
Security & Dependencies
- Upgraded
nodemailerto^10.0.10 - Removed unused
stream-jsondependency - Enforced overrides for
adm-zip(^0.6.1),qs(^6.16.0), andesbuild(^0.25.0) achieving 0 audit vulnerabilities across all workspaces
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
0 downloads