Changelog

What's actually shipped.

Card Harbor is under active development. This page lists real releases, pulled straight from the version history, newest first. No marketing copy, just what changed for you as a seller.

  1. v0.16.0

    August 23, 2026
    • Cards in every language you sell are now in the catalog, not just English. A Japanese or German printing gets its real name and set, prices against the right card, and pairs to its ManaPool listing instead of sitting unmatched. The first update after this one downloads the extra languages, which takes a few minutes and adds a few hundred megabytes.
    • Fixed: deleting or changing a listing on ManaPool no longer gets undone. Card Harbor used to read your change and then push its own numbers straight back over it, so a listing you deleted came back every cycle with nothing to say why. Storefront changes now wait for you in Sync and the push leaves those cards exactly as you left them until you rule on them.
    • Listings you add on TCGplayer by hand now show up in Sync to be carried over to ManaPool. Before, a card added straight to the storefront was quietly absorbed and never offered.
    • Inventory is one tab now, and it opens on one row per card instead of one per copy. Twenty copies of a card are a single row to click on, and it opens to show which box each copy is in and which storefronts it is live on: a copy that used to say only 'Listed' now says 'Listed on TCGplayer and ManaPool'. Switch to a row per copy whenever you want the old view.
    • From that same opened row you can list more copies from stock you are holding back, correct a card's condition, printing or language, remove copies from inventory and both storefronts in one action, export every copy behind the card to a CSV, copy their box locations, and open any single copy for its full details.
    • Limit how many copies of a card are listed at once. With 200 copies you can offer 10 and hold the rest back; both storefronts respect the limit. Turning it on changes nothing by itself, and the copies it holds back on TCGplayer wait for you in Sync rather than coming down unattended.
    • Fix card match: when TCGplayer files a photographed listing under a product no other catalog carries, that listing could never reach ManaPool. You can now point it at the right card yourself, and fix a whole run of the same card at once.
    • Buy shipping labels for ManaPool orders. It works exactly as it does for TCGplayer, and the tracking number goes back to ManaPool, which marks the order shipped.
    • A low-value sale can buy postage again. The label threshold now decides only which orders get flagged as needing one; if you open the label screen you always get a price.
    • Shipments, at the bottom of the Orders tab: every label you have bought, newest first, with its service, tracking number and what it cost, plus what you have paid in postage overall. Refunded labels are shown apart so the total matches what EasyPost bills you.
    • Search past orders by the buyer's name, not just by order number.
  2. v0.15.0

    August 23, 2026
    • Change a quantity or a price on TCGplayer or ManaPool directly and Card Harbor offers to carry it to the other storefront. The changes wait in Sync under 'Changes made on a storefront' and nothing is sent until you approve it. When both storefronts changed the same card, it shows you both figures and you pick which one is right.
    • Edit a photographed listing's title and card condition from the Inventory tab, alongside its price. Conditions come from your own catalog, so the picker opens without waiting on TCGplayer.
    • Fixed: editing a photographed listing whose description carried any formatting was refused with "TCGplayer answered with a sign-in page", even though the session was fine.
    • Download a shipping label or packing slip instead of printing it. Every place that prints one now offers both, including the buy screen, so you choose at the moment you click rather than in Settings. A downloaded label comes out already laid out for your paper size, ready to print anywhere. Tracking numbers still reach the marketplace either way, which is what marks an order shipped. Settings > Printing is where you pick the folder downloads land in.
    • The Needs attention lane is gone from the Orders tab. Overdue and due-today counts stay on the filter chips, and each row still carries its own ship-by time.
    • Past orders now sit at the bottom of the Orders tab: every order you have sold, newest first. Click a row to open what it held and what you kept. Narrow the list by date, and search by order number or by a card that was in the order.
    • Cards you listed on TCGplayer with your own photos now go up on ManaPool as their own listings, carrying every photo you took of them, front and back, along with your title and price. Cards published before this update are replaced automatically so they show the same photos.
    • A photographed card now comes off the other storefront when it sells, in both directions, and its price on ManaPool follows the price you set on TCGplayer instead of staying at whatever it was first listed for.
    • Set the price of a photographed listing from the Store listings tab. Cards you list with your own photos have no market price to reprice against, so the number is yours; typing it here sends it to TCGplayer and ManaPool together, straight away.
    • The titlebar now says when each storefront was last read, and opening the app reads ManaPool straight away rather than waiting for the next check. Long steps count their work off as they go instead of sitting silent.
  3. v0.14.0

    August 14, 2026
    • Store listings says when ManaPool will not carry a card, instead of leaving the column blank as though it were simply not up yet, and a Show all button opens every listing from the category summary.
    • Fixed: cards in any language other than English were silently refused by every path that reads a TCGplayer condition, because the export writes them as 'Near Mint Foil - Japanese' and the language was being read as part of the finish. On one store this was 62 listings that could not be brought in.
    • New Inventory tab: every live TCGplayer and ManaPool listing in one grid, with a cart that holds your quantity and price edits, an Add product pane for something you do not sell yet, and one press to publish the whole batch. Anything that moved on the storefront since you set the number is refused rather than sent.
    • Buy and print USPS shipping labels for TCGplayer orders without leaving Card Harbor. The tracking number goes back to TCGplayer on its own, which is what marks the order shipped, and printing no longer holds the order up if the printer is slow. Print on 4x6 label stock or on plain letter paper.
    • A Packaging section in Settings holds your parcels, each saying what it can carry and how many cards it fits. The label screen picks the right one for the order and lets you choose a different one before you buy.
    • Cards TCGplayer accepted but never actually put on sale are now recognized as such instead of being handed to you as a did-this-sell question, and a Relist button sends them back once the hold clears. A set that has not released yet reads as waiting for release day rather than as a refusal.
    • When a demoted card has no sale behind it, Card Harbor now names the canceled order that explains it instead of leaving you to guess.
    • Selling on ManaPool now takes an explicit switch, so connecting an account no longer starts advertising inventory on its own. Disconnecting clears the ManaPool prices and allocations with it. Storefronts already selling stay on.
    • Guided picking got friendlier at the packing table: the card list scrolls itself so your hands stay free, a running in-this-parcel count sits above it, and the finish screen can mark the orders you just packed as shipped.
    • Camera scanning can hold one condition for a whole run of played cards, shows market price and a foil-only badge when two printings of a card look alike, and keeps its lock on the card under dimmer light.
    • Home and Search now show what your TCGplayer storefront is asking for everything it advertises, alongside what your inventory cost.
    • Analytics figures agree with each other: every screen counts the same orders and the same revenue, the below-cost alarm only flags cards actually on sale, and an order you have not picked yet shows an estimated cost, marked as an estimate.
    • The catalog is back to English only for now: the language download section in Settings is gone and any downloaded language packs are cleaned up automatically. Language still shows on your cards, in search filters, and in CSV exports.
  4. v0.13.0

    August 12, 2026
    • TCGplayer automation now covers every language the seller portal supports: staged listings in Japanese, French, German, Spanish, Italian, Chinese, Portuguese, Russian, and Korean are counted, published to Live, and repriced right alongside English ones.
    • Price exports fetch all languages in one pass, so repricing sees your whole storefront instead of only its English rows.
  5. v0.12.0

    August 12, 2026
    • Updating prices is now two clear steps: fetch a preview of suggested changes, look them over, then publish only the ones you select.
    • Newly listed scan batches reprice themselves automatically once their listings reach Live, so fresh inventory starts at current market prices without a second trip to the Prices panel.
    • Search understands lang: and game: filters, boxes show chips for the languages they hold, card details name each card's language, and CSV exports carry Language and Game columns.
    • A new Catalog languages section in Settings lists each language the catalog can carry along with its disk cost. English stays built in; other languages appear there for download as each one finishes processing.
    • Camera scanning now says plainly that it identifies English printings for now, instead of quietly failing on other languages.
    • Connect your EasyPost account from Settings with a guided wizard, the first step toward buying shipping labels without leaving Card Harbor.
    • A discarded camera-scan batch is backed up before it is cleared, and the scanner recovers cleanly when the card index on disk is older than the app expects.
  6. v0.11.0

    August 10, 2026
    • The Automation tab was rebuilt into three clear panels, keeping prices current, listing newly scanned cards, and keeping storefronts matched, topped by a ranked list of everything waiting on you.
    • Inventory sync opens already compared against your shelves: one Check now action replaces the old three-button sequence, and results read as plain sentences about what actually moved.
    • Automatic sync can be switched on from the Inventory sync panel itself, and the panel says plainly whether Card Harbor is checking your storefronts on its own.
    • Power-user controls (per-marketplace allocation, unmatched listings, held-back copies) moved behind an Advanced tools disclosure, so the everyday view holds only the decisions being asked of you.
    • Reading ManaPool inventory no longer reports a failure for a storefront that sells only sealed product, which used to leave the automation board permanently red.
    • The card catalog is reorganized under the hood by game and language, groundwork for supporting more card games; the app downloads the catalog fresh once after this update.
    • When the catalog service is ahead of the installed app, sync now says an update is needed instead of reporting a failure.
  7. v0.10.1

    August 9, 2026
    • Import drafts can now be resumed and finished later, with automatic re-matching and per-row SKU entry for the rows the app cannot resolve on its own.
    • Camera scans gained a batch-level language selector, and non-English cards are resolved through ManaPool, so foreign-language runs can be scanned and listed without manual SKU work.
    • A card the scanner cannot find in the catalog is now recovered through a ManaPool lookup instead of being dropped.
    • The Orders page gained a search field with suggestions and order-total filters, and its pull sheets and history now live in drawers along the page footer.
    • Seed your local inventory from a live TCGplayer store export in Settings, with a preview of what would land before anything is committed.
    • A new unsyncable panel lists the rows ManaPool refuses, each named and carrying its reason, with a skip action.
    • A Feedback button in the title bar sends a note along with a redacted tail of the app's log.
    • Analytics shows the value of your listed inventory: what it would sell for, what it cost, and the margin between the two.
    • The acquisition cost of a scan batch can be edited after import, for when the invoice arrives after the cards do.
    • A What's New dialog opens once after each update, listing what changed in the version now running.
    • Fixed the price check reporting an unusable TCGplayer session when the site was merely unreachable, and added a Refresh sign-in action that recovers a rejected sign-in without restarting.
    • ManaPool inventory pushes gained guardrails: stale stock readings refuse the push, the copies one push may remove are capped, and clearing allocations asks for confirmation first.
    • This release updates the app for the catalog's new data format; older versions can no longer sync new catalog updates.
  8. v0.9.8

    August 7, 2026
    • New Orders tab: open orders from both marketplaces in one queue ranked by ship-by date, with pull sheets, packing slips, mark-shipped, and bulk actions.
    • ManaPool joins TCGplayer as a second marketplace, with order polling, inventory push, and a commitment layer so the same copy is never advertised in two places at once.
    • New Analytics tab: a profit waterfall, a marketplace split, top movers, a shelf watch list, an order ledger, and an alarm when cards sell below what they cost.
    • Scheduled cross-marketplace sync that reconciles live listings on its own, with an opt-in unattended delist step.
    • Home rebuilt as a command deck, with a revenue masthead, a do-next row, automation health, Windows notifications, and an always-on-top Mission Control window.
    • Search rebuilt around qualifiers such as set: and price:, running over the whole collection, with facets, saved views, bulk export, and a Ctrl+K command palette.
    • Storage rebuilt as a heat-tiled map of shelves and boxes, plus an Unsorted pile for getting a collection into the app before deciding where it lives.
    • The card catalog now downloads from Card Harbor's cloud service instead of building on your machine, so there is no long local build to sit through.
    • Remove a card from inventory as a soft delete that keeps its history, with a preview of the live listings and open orders it would affect.
    • Per-copy scan photos: the camera scanner saves a photo of each card as you accept it, shown beside the copy in Search and Storage.
    • Backups became a first-class feature, with retention, an integrity check, and restore that rolls back automatically if anything goes wrong.
    • TCGplayer automation no longer drives a browser; every job talks to TCGplayer directly, which is faster and no longer launches Chrome in the background.
    • Fixed a repricing spiral where the app undercut its own listing, inventory being subtracted twice at pick time, and shipped orders still counting as open.
  9. v0.9.7

    July 25, 2026
    • Redesigned the pull sheets page with a clearer sign-in flow and a step-by-step intake.
    • Scanning into a box you already started now appends the new cards instead of opening a fresh section.
    • Search results sort by physical shelf location by default, so the closest match leads.
    • Restored the on-screen Foil and Pick buttons in the camera scanner, with each shortcut key shown right on its button.
    • Fixed a bug where an account or server hiccup could show a sign-in prompt instead of an outage message.
    • Fixed a bug where a scan batch could be cleared before it finished saving.
  10. v0.9.6

    July 23, 2026
    • Fixed a sizing glitch on the first-run welcome card so it renders at a consistent width.
  11. v0.9.5

    July 23, 2026
    • Fixed a layout shift where tabs would change width when a scrollbar appeared or disappeared.
  12. v0.9.4

    July 23, 2026
    • Added a dark theme, with a light, dark, or system appearance setting.
    • Decluttered the camera scan screen and enlarged the live preview.
    • First-run users now get a guided walkthrough without being forced to create an account first.
    • The app now shows a clear message for startup failures, crashes, or a missing Chrome dependency instead of failing silently.
    • Fixed keyboard shortcuts firing accidentally while typing in a text field during import.
  13. v0.9.3

    July 22, 2026
    • Added a Manage Subscription button that opens the billing portal directly.
    • Actions that need an account now show a clear sign-in prompt instead of failing quietly.
    • Added a sign-up entry point and default settings to the Account tab.
    • Fixed a sign-in reliability issue caused by an authentication endpoint misconfiguration.
    • Fixed dark-theme location codes and thumbnail sizing in search results and guided picking.
  14. v0.9.2

    July 21, 2026
    • Introduced user accounts and subscriptions, and turned them on in production.
    • Paid features are now gated by server-side entitlement checks so plan limits hold up reliably.
    • The download button now links to the live, auto-updating Windows installer.
  15. v0.9.1

    July 21, 2026
    • Crash and error reports now include readable stack traces, so bugs get found and fixed faster.
  16. v0.9.0

    July 21, 2026
    • First release: scan cards, configure shelves and boxes, and browse your inventory.
    • Import a TCGplayer pull sheet and Card Harbor locates every card by shelf, box, and divider.
    • Guided picking mode walks you through a pull card by card.
    • Staged CSV export and TCGplayer import automation for publishing listings.
    • Packaged as a Windows installer for the first time.