
Two things this release fixes for anyone selling here. A package stopped being editable the moment you published it, even with nobody having bought — so a typo in a deliverable meant rebuilding the whole thing. And when you turned an offer down, the buyer could simply ask again, which is not what declining is for.
Publish a package, then still fix it
Everything above the components — title, price, dates, caps — stayed editable until a package had sales. The components froze at publish. Spot a wrong word in a deliverable an hour after listing and your only route was to archive the package and build it again from scratch.
Both halves now draw the same line: a package is editable until someone buys it. The sale is what matters, because buying takes a copy of the components into the buyer's deal — change them after that and their deal would describe work you no longer offer. Before that moment there is nothing to contradict.
One rule comes with it: a published package has to keep at least one component. Removing the last one is refused, with the reason on the button, rather than leaving a live package with nothing in it.

A thumbnail you can upload
The package form asked for a Thumbnail URL and took nothing else, so unless you already had the picture hosted somewhere, your package went out with the plain gradient placeholder — on the one screen where it is competing for a click.
Paste a link or upload the image, whichever you have. JPEG, PNG, WebP or GIF up to 5 MB, with a preview beside the field so you can see what you picked before saving.

One advertiser, one purchase
"Max per buyer" existed and new packages defaulted to 1 — but leaving the box blank meant unlimited, so the rule only held if you had touched a field you may never have noticed. Eight live packages were sitting open that way, and on one of them a single advertiser had built up nine separate deals.
Blank now means one. Unlimited is no longer something you can set by accident; if you genuinely want a buyer to be able to come back — a monthly retainer bundle, say — you type 2 or 3 deliberately.
The buyer is told before they act, not after. Someone who has already bought sees "You have already purchased this package" and a button through to the deal they own, instead of a Buy button that fails when they press it. Their browse cards carry a Purchased badge for the same reason.

Declining a bid is an answer
Turning down a bid left nothing stopping that advertiser from bidding again — and the page actively invited it with a Place new bid button. On one listing the same advertiser was declined three times and came back a fourth time two hundred rupees higher.
There is no counter-offer on this rail, so "declined" is the whole of your answer. It now holds: that buyer cannot bid on that listing again, and their page says so plainly rather than letting them find out after filling the form in. If they still have an older bid on the table, they can withdraw it — they just cannot raise it.

See who bought your package
A package told you "2 sold" and stopped there. Finding out who meant leaving the page, opening Deals, and reading the package title off each row.
The package page now lists its buyers — name, date, amount, and a link into each deal. Paid is shown separately from sold, because a package deal is created first and funded afterwards; a row that has not been paid says so instead of leaving you to assume.
Collab invites, finished
Inviting another creator to co-sell a package worked, but everything around it was missing. The Collab Invites button now carries a count, so an invite waiting on you is visible without clicking on the off-chance, and the invite email names who asked and what share they are offering.
- An accepted invite says what it got you — the package's state, what you have earned across its sales, and what has actually been paid out, which is a different number.
- A decision you made is one you can find. Declining used to make the invite disappear; there is now an Active / All switch, and a declined invite shows the reason you gave.
Smaller things
- "Who this ad is targeting" has its categories back. On a campaign you are considering, the audience arrived as one run of identical grey chips — "Allahabad", "Business" and "Mobile" all looking like the same kind of thing. It is now a labelled row per dimension: gender, age, niches, locations and devices, each distinct, with locations saying what kind they are and nothing quietly truncated.
- Eng. Rate % says which number it wants. Platforms disagree about what an engagement rate is, so the field now spells out the one we mean — and says it differently for a social account, a newsletter and a group, because for each of those it genuinely is a different calculation.
- A property can be in more than one place, and cover more than one niche. Location and Content Niche both take several values now. Location also stopped losing what was already there: the edit form never loaded the saved value, so opening a property and saving it wiped it — on 17 live properties, on the field advertisers filter by.
- Newest first, everywhere on Opportunities. All eight lists now open with the most recent first and carry the same sort control, instead of each one choosing its own order.
- My Listings reads in the right order — what you publish first, what arrives last: Forward Listings, Availability Slots, then Incoming Deals.

