Releases: SurefireStudios/TCGiant-Sync
Release list
3.14.1 - Internal restructuring, no behaviour change
Nothing changes for you in this release. It is internal restructuring, and the only reason to update is to stay current.
What moved, and why
Four pieces of the plugin now live in files of their own:
- the eBay reference data the settings screens show — categories, conditions, graders, grades, listing types and durations
- the protection that stops a duplicated product inheriting its original's eBay link
- the answer to "may another product be imported?"
- the usage report
Each was cut out of where it lived and placed whole. None was rewritten.
This is groundwork. The plugin will soon be offered in more than one edition, built from the same source by leaving files out — and these four pieces are needed by editions that won't carry the files they used to sit in.
If your site has custom code of its own that reached for any of these through the exporter class, it still works — the old names forward to the new ones.
No setting, no behaviour and no listing is affected. Every one of the plugin's checks was run against the result, including one that counts every hook the plugin registers and confirms none went missing in the move.
If anything does look different after updating, that isn't this release — and we'd want to hear about it.
Updating: cumulative as always — update straight to this from any earlier version.
3.14.0 - Package weight and size go to eBay
Package weight and size now go to eBay
Pushing a product can now send its WooCommerce weight and dimensions with the listing.
Nothing was ever sent before. A shop that set a weight in WooCommerce saw eBay reject the listing for having none — and no setting would have changed it. The figure simply didn't travel.
It's off by default, and that's deliberate. Every shop that has ever pushed did so without weights, and those listings work: flat-rate postage needs none. Turning this on rewrites your listings on the next push, so it's your call. Find it under Settings → Push to eBay Settings → "Send Package Weight and Size to eBay". If your eBay shipping policy calculates postage by weight, you'll want it on.
Figures go out in the system your eBay site uses — pounds and ounces for the United States, kilograms and grams everywhere else — converted from whatever unit your shop uses. Rounding is to the nearest unit rather than up, and that matters more than it sounds: weights are read back from eBay on every scheduled sync, and rounding up made a 3 oz card gain an ounce every single cycle, forever. Nearest holds steady. That was measured, not assumed.
For a variable product, the heaviest published variation describes the parcel.
One known limit: a weight can't be removed from a live listing this way. A blank field sends nothing, and eBay keeps what it had. To change a wrong weight, set the right one.
Verify now tells you what's missing
The Push button already checked, on your own site and before contacting eBay, that every item specific your category requires had a value — and named the ones that didn't. Verify didn't run that check, so pressing Verify gave you eBay's wording instead of ours. It now runs the same check.
Separately, when the plugin looks up which item specifics a category requires, a failed lookup used to be silent and indistinguishable from "none required". It's now logged.
Updating: cumulative as always — update straight to this from any earlier version. Nothing changes on your listings until you turn the new setting on.
3.13.2 - Weights and sizes import correctly outside the United States
Recommended for every shop outside the United States.
Weights and sizes were importing in the wrong units
If you sell on eBay UK, Germany, Australia or any other metric site, your listings were being imported as though they were in pounds, ounces and inches. A 0.6 kg oil filter arrived as 17.01 kg. A 350 g part arrived as 9.92 kg. A 10 cm box became 25.4 cm.
The plugin was reading the measurement system from a marketplace setting that defaults to the United States — and which, because of the wizard bug below, most new shops had never been shown.
The system now comes from the listing itself. Every listing eBay sends carries the site it's on, and the site decides whether it's metric or imperial. That needs no setting at all, and a shop listing on more than one site gets each one right.
After updating, run a sync. These figures are re-read from eBay on every scheduled sync, which also means the wrong ones were being written back over any correction you made by hand. One sync after updating puts the right figures on every product.
If your marketplace was never set, it's now filled in from your listings the first time they're imported, and the activity log says so. That setting also decides which eBay site — and which currency — products are pushed to. A UK shop that had never set it would have pushed to eBay US in dollars. Worth a glance at Settings → Primary eBay Marketplace to confirm it's right.
The setup wizard couldn't be finished
Step 1 waited for a licence to show as active before letting you continue — but nothing ever recorded one as active, so the Continue button never appeared and the step where you choose your marketplace couldn't be reached. Setup now continues once eBay is connected. A licence key is optional; the free tier is a perfectly legitimate way to use the plugin.
Updating: cumulative as always — update straight to this from any earlier version, then run one sync.
3.13.1 - Selling an item no longer ends its eBay listing
Recommended for everyone. One of these could end an eBay listing without telling you.
Selling an item no longer ends its eBay listing
If a product had WooCommerce stock management turned off, selling one on your website could end that product's eBay listing outright.
For those products there is no quantity to read, and the plugin treated the missing figure as zero — which is its signal to end a listing. Nothing reported it. The listing was simply gone.
This ran on every order, not only orders containing that product.
Item condition
Three condition options were labelled one rung off eBay's own scale. "Very Good" sent the code eBay publishes as Used, "Good" sent Very Good, and "Acceptable" sent Good. Anyone choosing "Good" was describing an item as better than they meant to.
Your live listings do not change. The same code is still sent, and eBay's wording for it never changed — what changes is the name shown in Settings, which now matches eBay. If your condition suddenly reads differently after updating, that is this correction, not a setting that moved.
Also added the conditions that were missing altogether: New other, New with defects, both Refurbished grades, and For parts or not working. And the four grades eBay only accepts on books, film, music and games are now grouped under a heading that says so, rather than sitting alongside the ones that work anywhere.
Titles
Ampersands, apostrophes, hashes, exclamation marks, at-signs and asterisks were being stripped from every title before sending. Base Set #4 arrived at eBay as Base Set 4, losing the card number. Levi's became Levis.
eBay accepts all of these, and the characters that matter to the underlying format were already handled elsewhere — so this was removing them for no reason.
Quantity
Products with stock management turned off used to list as a single unit, with nothing to say so. They now list a quantity you choose, under a new setting in Push to eBay Settings. It is set to 1, so nothing changes until you say otherwise.
Uninstalling
A leftover folder whose name merely began with tcgiant-sync — a kept backup, say — was read as a second copy of the plugin and stopped uninstall clearing its scheduled jobs. Those are now always cleared. Your settings are still kept unless you asked for them to go.
Updating: cumulative as always — you can update straight to this from any earlier version.
3.13.0 - Deletion notices reach shops again, and uninstalling keeps your settings
Deleting the plugin no longer deletes your settings
Removing the plugin used to take its own records with it: your settings, your eBay connection, and the links recording which product came from which listing. Those links cannot be rebuilt, so reinstalling meant the plugin no longer recognised products it had already imported and brought them in a second time.
They are now kept unless you ask for them to go. There is a new setting under Settings, "Also delete the settings and eBay links?", and it is set to No.
Your products and orders were never deleted by this, and still are not.
If you have more than one version of the plugin installed, deleting one now leaves the other completely alone.
Two things that were never being cleared, now are:
- Products still queued to be pushed to eBay. The plugin was cancelling that queue under a name it has never actually used, so it survived every uninstall and reinstall.
- The weekly full sync added in 3.12.0.
eBay account deletion
When eBay tells us a buyer has asked for their data to be removed, we pass that on to your store. Those messages were signed with the wrong key, so stores were rejecting them — and because nothing checked the replies, it went unnoticed. They are now signed with the key your store was actually issued.
Separately, a store that connected before we began issuing those keys had one generated locally instead. A key we have never seen cannot match anything we send, so those stores refused every message permanently while appearing to be set up correctly. That no longer happens.
If your store is affected, go to TCGiant Sync then Settings and click Connect to eBay once. Your products, listings and settings are untouched — this only re-issues the key. If you are unsure whether it applies to you, doing it anyway is harmless.
Reporting
Pushing products to eBay sent us a separate report for every single product. Pushing five thousand products meant five thousand requests, all arriving at the same place your site uses to renew its eBay connection, and that contention has caused real failures. There is now one report per sync, carrying the same figures.
Reporting can also be switched off entirely now, which was previously not possible. Add TCGIANT_SYNC_DISABLE_TELEMETRY to wp-config.php, or use the tcgiant_sync_telemetry_enabled filter. The report is also signed with the key your site was issued, so it can be told apart from anything else claiming to be your shop.
The connection test
The test used to ask an unrelated site whether the wider internet was reachable, every single time it ran. It now does that only when our own addresses have already failed, which is the only case where the answer changes the verdict. A test that passes contacts nobody but us.
Updating: as usual, this is cumulative — you can update straight to this version from any earlier one. If you would feel more comfortable taking a backup first, that is never a bad idea, though nothing in this release removes anything.
3.12.0 — Sold items leave your shop on their own
This changes what happens to your products, so it is worth reading.
Sold items are now removed automatically
Until now, a product whose eBay listing sold was only removed when someone pressed Full Sync by hand. The scheduled sync recorded that the listing had ended and left the product sitting in your shop.
That is now automatic. When a listing sells out, its product is moved to the Trash on the next sync.
What is not removed
Four things are deliberately left alone:
- Listings that ended without selling. A listing that ran out of time, or that you ended yourself, keeps its product and whatever stock went unsold — those goods are still yours.
- Partly sold listings. If three of ten sold, you still have seven.
- Products you pushed to eBay yourself. Your shop is the source of those, not eBay. Selling out there says nothing about whether you still want the product, and you may restock tomorrow.
- Anything in your Preserve Categories. If you have told us not to trash those, that applies here too.
It goes to the Trash
Removed products are trashed, not deleted. Anything you would rather keep can be restored from Products → Trash.
If you would rather it did not
There is a new setting: Settings → "Remove products when their eBay listing sells out?" Set it to No and nothing will be removed automatically.
A weekly full sync
The ordinary sync asks eBay what changed in the last 48 hours. A listing that ended while your site was unreachable was therefore never mentioned again, and its product stayed on your shelf for good — one store lost a fortnight this way.
A complete sync now runs once a week to catch anything the ordinary one could not see. If your Auto-Sync setting is Disabled (Manual Only), nothing runs on its own here either.
3.11.1
Important if you are on the free tier.
Going over the limit was still stopping everything
Version 3.7.12 was meant to fix this, and did not.
That release corrected the checks inside the import loops so that a store over the free product limit would keep updating the products it already has. But every way into those loops still refused before reaching them — so the loops that had been fixed were never run, and nothing changed for any affected store.
A store over the limit was receiving nothing at all: no stock updates, no price changes, no ended listings recorded, and no removal of products whose listings had finished — because that only happens after a sync that actually ran.
All four ways of starting a sync now run properly. Only listings that would create a new product are held back, which is what the limit is for.
If you are on the free tier and your store stopped updating, this is very likely why, and updating should resume it.
3.11.0
Groundwork only — nothing changes for anyone in this release.
A way round a block neither host can lift
Some stores are refused by security software sitting in front of our service, which judges callers by the reputation of their hosting address. When that address is shared with other websites, a store can be refused for things it had no part in.
That situation has no fix at either end. Our host cannot make an exception for one address on a shared server, and a store cannot mend the reputation of an address it shares with strangers.
The plugin can now be pointed at a different way of reaching us, which needs nobody's permission.
When it is used
Only after both ordinary routes have been answered with a browser check. A store connecting normally makes exactly one request, as it always has, and waits for nothing.
No alternate address is set in this release, so nothing changes yet. A single site can be pointed at one by adding TCGIANT_SYNC_RELAY_FALLBACK to its wp-config.php, which is how it gets tested on the store that needs it.
The connection test reports on that route too, when one is configured.
One thing worth being plain about
Whatever stands on that alternate route can read the eBay credentials passing through it, because encryption ends there before being re-established to us. That is a genuine widening of who is trusted with your account details, and it is exactly why this is a last resort rather than the ordinary path — it is reached only when the direct routes have already failed, and never otherwise.
Connections over plain, unencrypted addresses are refused outright.
3.10.0 — Image Cleanup
For anyone who found duplicate copies of their product photographs. This is the tidy-up for the fix in 3.9.5.
New: Image Cleanup
TCGiant Sync → Image Cleanup finds products holding both your own photographs and copies downloaded from eBay, and puts your originals back.
It matters that it works this way round. The downloaded copies had replaced your pictures as the product image and gallery — so your own photographs are still there, but are no longer the ones being shown. Simply deleting whatever was unused would have deleted exactly the wrong ones.
Cleaning up restores your photographs as the product image and gallery first, and only then removes the copies. There is never a moment where the product has no pictures.
What it will not do
Nothing you uploaded is ever deleted. Only files the plugin downloaded itself, which it can identify from its own record of having downloaded them — not from a guess about which looks like a duplicate.
And only where your own pictures exist to put back. A product whose images all came from eBay is left completely alone, because there its copies are the only pictures it has.
You see it before you approve it
Both sets are shown as actual thumbnails on the page — your photographs outlined in green and marked kept, the downloaded copies outlined in red and marked deleted, with counts for each.
Deleting files cannot be undone, and nobody should be asked to approve a deletion they cannot see. If a row looks wrong, leave it unticked and tell us.
3.9.5
Recommended if you push products to eBay rather than only importing them.
Your own photographs were being duplicated
If you uploaded pictures to a product and then pushed it to eBay, a few minutes later you would find a second copy of every one — named -1-1.jpg beside your -1.jpg, titled from the filename rather than the product, and with no author, because a background task created them rather than a person.
What was happening: after a push, eBay serves your pictures back from its own servers. The plugin did not recognise them as the ones it had just sent, so it downloaded them again and attached them to the product.
Your own pictures are now recognised as yours. If a product already has images and none have ever been imported for it, whatever eBay offers back is a copy of what we sent, and it is left alone.
Products imported from eBay are unaffected and still download their pictures exactly as before — including when you change them on eBay afterwards.
If you would rather eBay's copies won, Overwrite Images in Settings still works and takes precedence.
Duplicates already created
These are not removed automatically. Deleting your pictures is not something to do on your behalf without asking.
They are easy to identify in your Media Library: they have no author, were added a few minutes after a push, and their names end in an extra -1. The originals are the ones with your name against them.