CasperVend 2/Vendors/ChangeLog
Want to upgrade?
See Updating for information on how to update.
- Looking for the HoloVend changelog for changes after HoloVend v2.20? Go here
- Looking for the DropBox changelog for changes after DropBox v2.20? go here
v2.70
DROPBOXES
- Dropboxes now ask for debit permissions and may now be used to make payments (For more information, see below)
- When an outgoing payment is made, the transaction URL will now appear in your Second Life transaction history instead of the object name, to help with tracking and avoid confusion when different objects are used for payments (See this image for example.)
- The "URL" warning should no longer occur on region restart (unless legitimate)
- You will need to remain ON THE SIM/REGION while you are updating to v2.70, because of the need to answer the debit permissions windows!
VENDORS
- The strategy for dealing with simultaneous purchases has changed. See below for more information.
- Vendors will no longer reset when sat on - however, the vendor must be reset if you make any changes to the linkset or texture parameters.
- More script memory is now available which should reduce issues with 13 panel vendors crashing
- When an outgoing payment is made, the transaction URL will now appear in your Second Life transaction history instead of the object name, to help with tracking and avoid confusion when different objects are used for payments (See this image for example.)
- Vendors should no longer reset when touched after a region restart
- The deprecated "hippo" profile format has been fully removed from the script ( Generate profile as "pages" )
EVENT VENDORS
- The strategy for dealing with simultaneous purchases has changed. See below for more information.
- We no longer require regular vendors to be present on other regions. Instead, you must have v2.70 dropboxes (preferably on multiple regions). See below for more information.
- More script memory is now available which should reduce issues with 13 panel vendors crashing
- Vendors should no longer reset when touched after a region restart
- The deprecated "hippo" profile format has been fully removed from the script ( Generate profile as "pages" )
UPGRADEBEE
- We have changed the way that UpgradeBees find vendors. The first time around, they might find a LOT of vendors which may have been previously deleted. For this reason, you MUST run the bee in "Check All" mode first before doing the update. The bee will force you to do this if nobody else has done it on your region.
- The Dropbox upgradebee has been updated to match the Vendor bee, with the rate limit fix, and has also been updated to the new Bee model.
- The bees now contain an animation and can be ridden ;)
EASYVEND
- EasyVend is now deprecated and has been removed from the crate (but still supported for existing customers, for now).
Dropboxes and debit permissions
Currently, if a vendor can't be contacted to make a payment for any reason (which always happens with event vendors), the system relies on finding other available vendors to make payments. Unfortunately, due to the sheer number of these on the grid, they can take a while to sign back in after a region restart.
However, DropBoxes don't have this problem and are very robust (so they can always deliver). For this reason, we've made Dropboxes able to make payments, and dropboxes will be tried for this purpose before other vendors will be tried.
This may be a confusing feature, but please be assured that this will improve delivery speed and reliability for you and all of our customers.
Simultaneous purchase strategy
Currently, if you make a payment to a vendor while it's busy processing another, the vendor will e-mail the old transaction to the server.
In theory this allows the vendor to accept unlimited transactions, however, in practice it causes significant problems - the llEmail command causes the vendor to freeze for 60 seconds before it will continue. At busy regions and events, this effectively means that the vendor might only actually process 60 transactions per hour (assuming the vendor is kept constantly busy with transactions). On top of this, the event queue is limited to 64 events, so once 64 payments have been queued up, any further payments will get silently lost.
The new strategy is that vendors will simply refuse and refund payments if they're currently busy processing another transaction. In the vast, vast majority of cases, transactions will clear in less than a second, and the customer will be prompted to try again.
What if our servers go down?
When you pay a vendor, the vendor contacts THREE different servers with the transaction data.
Two of these servers are our usual API servers.
The third, however, is a special off-grid server in a completely different datacenter, which has no dependence on our main systems AT ALL. This allows it to act as a fallback even if our servers are down.
This means that even if main system is offline, transactions will still be "confirmed" by the server so that the vendor can continue accepting more payments.
This sucks, you suck, you're not my real dad
I understand that it might seem undesirable to have vendors reject payments if they're busy - and truth be told, this is against my original design philosophy for CasperVend. I built this system with the core principle of never blocking a customer.
However, the existing method simply can't scale when many customers are trying to buy at once. Merchants who use CasperVend are probably familiar with vendors freezing up at event regions - and although the sales will eventually go through, customers end up spamming complaints at the merchant because they didn't get their stuff.
This decision stemmed from two findings from extensive behavioural research:
- If customers get refunded quickly with a message telling them to try again, they're almost always happy to do so - they haven't lost their money, the vendor has communicated that it's busy, they know what's going on.
- If a customer pays a vendor and it doesn't deliver quickly, they are very likely to get upset and this results in complaints to the merchant.
I am confident that this change will ultimately result in happier customers, and therefore happier merchants. But if you really don't like it, you can continue using v2.12 which we currently have no plan to retire. Thank you for understanding and thanks for using CasperVend.
v2.12
- Corrected aspect ratio of the panels on all the main vendors to a standard ratio of 1:1
- Internal optimisations for increased speed and even more reliability
- Oct 2015 Event Vendor replacement script added
- April 2016 Gift Cards updated to include new tracking options
- Nov 2017 Redelivery terminal updated - v2.40
- Dec 2017 Wishlist feature added
- Dec 2017 Ability to disable the giftwrap option
- Dec 2017 New gift option "WithMessage"
- Jan 2018 Store credit check terminal added
- 2019-09-15
- TextureVend: New feature: You can now add a _POSTER_ image which acts as an advert for the whole pack. It can't be purchased individually.
- TextureVend: Fixed an issue where touching a texturevend vendor would send the texture to gift cards other than your own
v2.11
- Faster dialogs
- Support for L$0 price overrides and 100% discounts
- New style redelivery terminal
- New vendor "CasperVend2 TwoFaced" - double-sided vendor
- Improved the UpgradeBee to automatically reactivate v2.10 vendors when doing an update
v2.10
- v2.09 was an internal testing release.
- Added a new mechanism to prevent entities from dropping offline (becoming uncontactable)
- Regular vendors can now use a "hippo-style" page flipping mechanism, configurable in the profile
- We've removed support for the Jack-In-The-Box rezzer from the holovend (anyone currently using it is fine, the existing JITB containers will still work)
- We've added some functionality to the upgradebee so it will help identify vendors which it can't contact
- The mapping notecard now accepts the parameter __ANY__ under [BUTTONS] to specify that any prim in the linkset can be touched. This enables the headless vendor to display a menu when any prim on the object is touched. (Note that early versions of the 2.10 pack were released with the notecard in the headless vendor mistakenly set to __ALL__ rather than __ANY__, which has been corrected.)
v2.08
- Fixes to vastly improve global performance during rolling restarts. - this applies to ALL components except gift cards and texture vendors, which don't need it.
- Gift cards can now be used in conjunction with group discounts on vendors (discount only paid on excess amounts).
- Vendors can now properly restrict usage of gift cards based on group.
- Most prim vendors are now much more prim efficient (as if by magic!) Thanks to MissGwen for this.
- New 13 panel vendors!
- Some issues with floating text misbehaving have been fixed.
- New option to disable the touch dialog menu
- Purchaser and recipient name added to ANS data
- Holovendor - Memory usage reduced
- Holovendor - Added an option to permit multiple vendors to share the same rezzing space (auto derez)
- Gift cards still use the v1 network (due to shut down in may), but v2.08 has been moved to a separate node that will continue functioning after the 1st of May deadline.
- Texture Vendors still use the v1 network (due to shut down in may), but v1.56 has been moved to a separate node that will continue functioning after the 1st of May deadline.
v2.07e
- Gift card: Updated gift card to v2.07 - fixed a security weakness
v2.07d
- Rez-Free: Changed the "Creator" of the rez-free crate from Casper Warden to RezFree Resident.
- Midnight Madness: Fixed a bug which could cause the midnight madness board to trigger "midnight" more than once
v2.07c
- TextureVend: Fixed a bug which caused the vendor to sell textures which were only intended for display.
v2.07b
28th of June
- HoloVend: Minor tweak, patch a rare and obscure weakness in the network code, which could potentially cause the vendor to rez the wrong item.
- All vendors: Fixed the upgrade notification so it will only show on rez, not after a region restart. Please note that this could occur one more time, since it depends on a certain flag being set.
v2.07
26th of June
Unfortunately during testing of this release we discovered that it simply isn't possible to add the two features below marked in red to the holovendor, because the result was a vendor which didn't have enough script memory to function properly. We will pursue possible avenues of getting this functionality working for the next release. All regular vendors will still receive the features, only the holovend will miss out.
- All components: Security improvements. We've added additional hash checks to the protocol, "just in case".
- All components: Changed the communications protocol for increased reliability.
- Free, Premium, Mesh: General discounts now have a direct impact on the price shown on the vendor (No longer planned for release on the HoloVendor due to memory constraints)
- Free, Premium, Mesh: Group discounts present a second button on the vendor to allow the lower price to be paid (0000094) (No longer planned for release on the HoloVendor due to memory constraints)
- Free, Premium, Mesh, HoloVend: New "Price override" option, allows you to force a vendor to charge a certain price. (0000475)
- Free, Premium, Mesh, HoloVend: New "Don't allow discounts to be awarded" option (also available on older versions)
- Free, Premium, Mesh, HoloVend: Vendors can now be set offline (000009)
- Free, Premium, Mesh, HoloVend: Improved the way the vendor registers with the network in order to reduce load on rolling restarts
- Free, Premium, Mesh, HoloVend: Increased the startup delay after a region restart from 0-10 minutes to 0-15 minutes
- Free, Premium, Mesh: Sounds are now restricted to 25 meters rather than 10.
- DropBox: Added support for sending linked messages (fix for 0000488)
- DropBox: Protocol improved to be more compliant with objects with non-ascii names
- DropBox Self check re-added to the dropbox code (since SVC-6546 has made a return recently).
- NEW: Fix for 0000486: Statistics now use the "Net" amount rather than the "Gross" amount for the graphs and totals.
- NEW: "Discount" button for vendors allows customers to see the discount they will receive, as well as their current spend. In addition, they are also sent some information after a sale has completed, if relevant. (0000299 and 0000308)
- NEW: HoloVend: Updated tracker to 2.07 with a fix for newer rez-faux boxes not cleaning up properly.
v2.06
This release was skipped to bring our version numbers in-line.
v2.05
23rd of April
- Delivery speed is now significantly faster.
- Fixed a rare but annoying vendor lockup
- Two new vendors : 9 panel primsaver and 3 prim stand model
- Addressed some important issues with transactions being processed multiple times (fixed in all previous versions too. This fix was applied at 3:20PM PDT on the 23rd of April. Any transactions before this time may have been affected. This was a very rare issue, but dangerous for those who were hit by it.)
- Added some feedback from payment commands so the vendors will notify us about payment state even if LL's HTTP link is down
- Added an "Update" dialog menu item to allow the owner to request an upgradebee from an out of date vendor (added to all previous versions too)
- Added a "Delete" dialog menu item to allow the owner to delete the vendor cleanly, with no timeout (added to all previous versions too)
- TextureVend: Fixed a problem that caused the option to toggle the watermark to fail.
- TextureVend: Watermark textures are now present inside the vendors and can be changed just by swapping the textures.
2.05 Minor Releases
- The new style lucky chairs were released.
- The new midnight madness system was added to CasperVend.
- TextureVend updated to v1.54. Fixed an issue where clicking the side panels wouldn't correctly select the right texture.
- Repairs a fault which caused the TextureVend to deliver system textures and display then on the overview. (https://bugs.casperdns.com/view.php?id=476)
- Midnight madness was updated to add a "Profile Pick" feature. Our Midnight Madness expansion to CasperVend2 can now be set to require that the user's profile have a certain "profile pick".
- CasperVend2 vendors now have a limited read-only API available, including an in-world ANS service. (https://wiki.casperdns.com/index.php?title=CasperVend_2/API)
- Gift cards were updated to v2.05, to use the new delivery system.
v2.04
9th of April
- DropBox: A "delete" option has been added to the touch menu of the dropbox, to allow users to cleanly remove dropboxes and their containing items without first emptying the contents.
- UpgradeBee: The "Force All" and "Check All" options have been cleaned up so that they generate the correct text output in local.
- HoloVend: A problem was found which in some circumstances could cause objects to fail to derez. This has been solved in the 2.05 tracker script and the 1.55 rez-free package. If you continue to experience trouble after updating, it's most likely because you are either not using the latest version of the tracker / rez-free, OR you still have old versions rezzed (they might be small and hard to find, select the area on your rezzing platform to find them).
- HoloVend: Sounds are now restricted to 25 meters rather than 10.
- HoloVend: Instant Messages sent from the vendor will be sent using a custom name and not the name of the vendor, to help prevent confusion.
v2.03
3rd of April
- Restricted sounds to a 10m radius of the vendor, to prevent noise pollution.
- Renamed the option "Update All" on the UpgradeBee to "Force All" to imply that it's not the default/preferred option.
- Vendors will now send IM's using a custom name rather than their current name, to avoid confusion.
- DropBox v2 is now included. No need to update though, your old dropboxes will continue to work fine.
- Updated the old v1 system to be able to utilise v2 dropboxes
- Updated the new v2 system to be able to utilise v2 dropboxes
- Group-restricted vendors can now deliver "free" items via touch -> Deliver.
v2.02
13th of March
- v2.01 had a regression that caused vendors to reset / lose data when shift copied, and blanked their description when reset. Fixed.
- We accidentally distributed the 2.01 upgradebee without transfer permissions - the 2.02 bee is transferrable.
- UpgradeBee: "Check All" - which doesn't do any updates, but scans your region and deletes any missing vendors from the database, which helps to clear up your web interface quickly.
- UpgradeBee: "Update all", which forces the bee to update all your vendors even if they're already up to date. It's best not to use this unless advised to by CasperTech support
v2.01
11th of March
- UpgradeBee: This release includes an all new, revamped UpgradeBee!
- UpgradeBee: The speed of the new UpgradeBee has been improved greatly over previous versions
- UpgradeBee: The UpgradeBee will now only update units if they have an earlier version
- UpgradeBee: The UpgradeBee now has a built-in function which removes dead (deleted) vendors from the database, which helps maintain your network.
- UpgradeBee: The bee is transferrable, and will update Free AND premium AND affiliate vendors, as long as they're v2.
- Free, Premium, Mesh: The buttons on all vendors have been redesigned and replaced with higher contrast, more visible versions.
- Free, Premium: The textures on the 1-prim and prim-saver units have been adjusted so that we avoid alpha clashing with the user's transparent textures
- Free, Premium: The textures on the 1-prim and prim-saver units have been adjusted so that we avoid the nasty white flickering
- Free, Premium, Mesh: The vendor will now only whisper/say/shout the name of a product when someone is scrolling through, not when auto-scrolling.
- Free, Premium, Mesh: The updated textures have been included in the template pack.
- Free, Premium, Mesh: We've added a new "Mapping helper" script which will actually generate your MAPPING notecard for you, making vendor customisation even easier!
- Free, Premium, Mesh: We fixed an issue with the mapping system that caused it to require prim names be in CAPITAL LETTERS.
- Free, Premium, Mesh: We've included a new notecard from Sphynx Soleil (thanks!) which gives much clearer instructions on customising your vendors.
v2.0
Customisation
We've addressed the one main concern that customers have with CasperVend, and that is the lack of customisation. Vendors can now be linked, unlinked, torn apart, modified, even built from scratch by users with no scripting experience.
New design
We've taken a fresh look at our vendor range and given it a redesign, the end result being clean and modern.
New vendors
We've added several vendors to our range:
- A 13 panel mesh vendor (2 prims) - A 7 panel prim efficient vendor (3 prims) - A 1 prim vendor with no controls - A headless vendor config for putting inside your own objects
Speed
We've heavily optimised the way the vendors operate in many key areas, providing really snappy response times despite still only using one script per vendor.
Video playback
You can now associate a video to your products, and it'll play right from the vendor! This depends on a video proxy prim (included) which must be owned by the land owner (maybe deeded to group if the land is group owned).
Page scrolling
By popular request, our vendors can now be scrolled page by page as well as item by item.
Persistent settings
All vendor settings are now saved when vendors are picked up and re-rezzed, or shift-copied, not just the product list.
Integrated affiliates
In the final release, and towards the end of the beta period, the vendors will be made transferrable. When transferred, the vendors will automatically become affiliates.
Revamped delivery system
We've improved and optimised our delivery process, providing a sleek new delivery status page to go with it, and we now fully verify every payment using the new llTransferLindenDollars function (before we only verified affiliate payments).
"Demo" button
We've added a demo button, which will allow the users to get a demo delivered to try the product beforea they buy (optional, of course).
"Help" button
We've added a help button that customers can click to get a list of their recent transactions, as well as access to our redelivery system.
Code sharing
All the vendors now share the same script, meaning region resources are shared far more efficiently by the Mono engine.
v1.51
Core System, Holovend
Memory usage has been hugely decreased across all of these products. We now send new deliveries to all three servers, rather than just two We now make 15 seperate attempts to contact the delivery servers, instead of just three We now send an email if all delivery attempts fail. The CasperVend servers will read the e-mail and add the transaction automatically. llTransferLindenDollars is now used for ALL payments, not just affiliate->creator payments. The vendors will automatically disable themselves if a payment fails with a "no permissions" or "group owned" error. We've had strange instances of vendors losing perms randomly. The transaction failure reason is now properly returned to the caspervend servers, and not just "sucess" or "fail"
Affiliate Vendors
All of the above changes, PLUS.... It is now possible to change the button panel texture on the 1-prim affiliate vendor. Note that if you change the texture, it will no longer automatically add or remove the arrows if there are multiple / single products in the profile.
TextureVend
Support for "cover images". This allows you to display a different texture than the one you sell - this is useful if you want to watermark the display texture to protect it against theft. llTransferLindenDollars is now used for ALL payments. The vendor will automatically disable itself if a payment fails with a "no permissions" or "group owned" error. We've had strange instances of vendors losing perms randomly. The transaction failure reason is now properly returned to the caspervend servers, and not just "sucess" or "fail"
v1.50
Premium / Free
- The "status" URL's have been updated to use https:// instead of http://. Minor improvement to security.
- Fixed the non-fatal "failed to find sound" LSL error that occured when searching for something that didn't exist
- All components of the complete bundle now have a matching version number to minimise confusion.
- Small speed improvements and memory optimisation
Affiliate Vendor
- Affiliate vendors now support secure payments. This utilises LL's new llTransferLindenDollars function which actually tells us if the money can't be paid rather than failing silently. Hoorah!
- The "status" URL's have been updated to use https:// instead of http://. Minor improvement to security.
- Minor speed and memory optimisations
- All components of the complete bundle now have a matching version number to minimise confusion.
Lucky Chair
- Solved a problem with the display prim becoming disassociated with the closest chair.
Gift Card
- Fixed a rare corner-case where a customer might see a product from the wrong shop on their card (but not buy it). Caused by corrupt HTTP multibyte transcoding in LL's squid proxy giving us the wrong productID.
- (from v1.47) - Gift card can now handle partial payments. When the user wants to buy something that costs more than the amount on their card, It'll ask the user if they want to pay the remainder.
- The "status" URL's have been updated to use https:// instead of http://. Minor improvement to security.
- Various minor code tweaks for stability and memory optimisations
- All components of the complete bundle now have a matching version number to minimise confusion.
All other caspervend components
- The "status" URL's have been updated to use https:// instead of http://. Minor improvement to security.
- Various minor code tweaks for stability and memory optimisations
- All components of the complete bundle now have a matching version number to minimise confusion.