LicenseDock changelog
Back to LicenseDock1.9.5
11 Nov 2026
- NewThe license API says whether a subscription renews automatically, when it next charges and whether the last payment failed, so your software can show "Renews on …" instead of a Renew button
- NewAn expired license is reported as expired, with its end date, instead of "invalid key"
- NewThe email log shows the plain-text version of every email
- NewAn unpublished product keeps updating and billing the customers who still pay for it
- NewA clearer subscriptions page for customers: how it is billed, a trial's first charge date, Turn On Auto-Renewal, and every amount with tax
- FixOnly Stripe, PayPal and Mollie subscriptions renew automatically, and a subscription renewed by hand stays manual; the update repairs the ones affected
- FixA returning customer's lapsed discount applies to the comeback payment only
- FixWhen Mollie refuses to set up automatic renewal, the customer gets Resume or Renew and you are emailed
- FixA full refund, a lost dispute or a cancelled order ends access to downloads too, and stops renewal emails
- FixReceipts link the release your updater serves, and errors reach the LicenseDock log again
- FixStripe subscriptions with a trial fee or a renewal discount: a declined card can be retried straight away, and the webhook can no longer cancel a subscription that was just paid
- FixEmails no longer print a date a day early, and a renewal invoice shows the month the customer paid for
- FixRefunding an order with renewals sends one email, and each credit note sits on the invoice it reverses
- FixA free order shows as Free, not Stripe
- FixAdd Version always starts with no file chosen
- FixThe branded payment buttons read properly on phones, and checkout no longer scrolls sideways
- FixA store first installed on 1.9.1 or later no longer reads "There are tables not up to date!" on Joomla's Database screen
- LanguageGerman "Lifetime" reads "Unbefristet", and the admin license notice follows the admin language
- NoteNeeds PHP 8.1 or newer. Back up your site first: Joomla cannot go back to an older version of an extension
- NoteThe full list is on the changelog page
SDK 2.2.0 01 Nov 2026
- NewWordPress samples download – a sample plugin, theme and child theme with a license screen and updates, ready to install and copy from
- NewDevelopment sites (localhost, IP addresses, .test or .local names) no longer use up a site; a staging., dev. or test. subdomain doesn't either when its main domain is activated
- NewThe store can refuse a development download with DEV_LIMIT_REACHED when a key is used from too many places; the SDK passes it on like any other refusal
- Fix"Check again" for updates now works only in the WordPress admin, for users allowed to update; before, any visitor could clear the update cache and use up your store's API calls
- FixRelease notes written in sections show as headings in WordPress's "View details", without ### in front
- NoteNeeds LicenseDock 1.9.4 or later on the store for development sites to update without an activation
- NoteReplace the WordPress files in your plugin or theme; nothing you call has changed
1.9.4 01 Nov 2026
- NewCustomers can change their email address in their account, confirmed by a link sent to the new address
- NewYour release notes appear under Changelog in Joomla's Extensions › Update, and each product has a public changelog page
- NewRelease notes on the download page show a badge for each group, such as New or Fix
- NewThe store makes smaller copies of product images and serves the size each screen needs
- NewA buyer who leaves the payment page counts as an abandoned checkout; unpaid attempts close after 14 days or when the buyer pays
- NewYou can delete an unpaid order or mark it as a test order
- NewYou can renew an existing subscription by hand from the admin
- NewPicking a customer on New Order fills in their saved address, or the address from their last order
- NewOrder and renewal messages include the order, product, customer, date and invoice
- NewThe Joomla tab has two step-by-step setups for adding license checks to your extensions
- NewDevelopment sites (localhost, .test, IP addresses, and staging., dev. or test. in front of an activated domain) get updates without using an activation; a limit per license, set in Settings, stops a key being shared
- FixA full refund of a renewed or upgraded subscription could record more than Stripe or PayPal returned
- FixA PayPal refund reply without an amount no longer books the whole remaining balance
- FixA failed Stripe renewal after a trial or loyalty step now starts dunning
- FixRenewal emails show the gateway's next billing date
- FixBuyers who paid no longer see "payment failed"
- FixA coupon the session lost is restored at checkout
- FixDeleting a user cancels their subscriptions at the gateway again
- FixEmails sent by scheduled tasks link to your site
- FixEmail log search finds a recipient by name
- FixAdmin screens are readable in dark mode
- FixA copy of a site on another domain no longer gets updates with the original site's license; the store checks the address of the site that downloads
- FixAn IPv6 address is kept whole when a site is activated
- FixThe download help for a site that isn't activated says where to activate it
- NoteIf you fully refunded a subscription that had renewed or been upgraded, compare that refund with your Stripe or PayPal dashboard and refund any difference there
- NoteIf your extensions use the Joomla tab's Setup B, copy the updated License class from the product's Joomla tab, so your customers' development sites can update
- NoteA development site (localhost, .test, an IP address) running 1.9.3 or older cannot update itself to 1.9.4 – download 1.9.4 from your account and install it by hand once; from then on it updates normally. Live sites update as usual.
1.9.3 20 Sep 2026
- Product images now use an aspect ratio you choose
- Set the ratio per product under Gallery Ratio, or per listing(in the menu item) under Image Ratio – 21:9, 2:1, 16:9, 3:2, 4:3, 1:1 or 2:3
- Product images in listings now link through to the product
- NoteListings default to a 16:9 ratio, so set Image Ratio if your images are wider banners
SDK 2.1.0 30 Sep 2026
- WordPress themes are now supported, including sites that run a child theme
- Plugins and themes can declare an Update URI, so WordPress asks your store for updates directly
- The auto-update toggle is always available in the WordPress admin
- A warning explains why an update can't install, with a link to your store
- FixRelease notes now appear under View details, and two plugins bundling the SDK on one site no longer crash
1.9.2 17 Sep 2026
- Removes files older versions left behind
- Meta Description and Robots set on LicenseDock menu items now apply
1.9.1 31 Aug 2026
- Orders: edit order, create a manual order with real, complimentary or test as choice. Complimentary orders stay out of revenue
- Cleanup - Delete test data
- Products: storefront visibility - listed, unlisted (reachable by link), or no product page at all - plus a per-product robots field.
- Plus an activation limit that can be changed after a licence is issued, the activated domain sent with update downloads
- and a long list of smaller fixes and polish.
1.9.0 28 Aug 2026
- Tax and VAT - destination-based tax with EU VAT, reverse charge, VIES validation, the quarterly OSS report, Canadian GST/HST and US state rates.
- Invoices - every charge gets its own invoice: purchase, renewal, and upgrade proration. Refunds issue a credit note. Customers get an Invoices tab.
- Tax Report - by month, quarter or year, with CSV export.
- Dashboard - revenue net of tax, tax as its own figure, custom date ranges.
- Download control - serve downloads publicly, on a licence key, only to an activated install, or to account holders only, with a log of what was served and refused.
- Checkout - asks for the address fields the buyer's country actually requires.
- Store Health - new checks, and improved
- SDK 2.0 - the WordPress SDK sends and activates the site domain.
SDK 2.0.0 31 Aug 2026
- Important, read before upgrading: the WordPress SDK now sends your site domain with download requests and activates it on first use, so one key no longer updates unlimited sites and your store shows which domains are running the plugin.
- Sites past their activation limit keep updating unless the product requires an activated identifier. Call
- setSendIdentifier(false) to opt out.
- Fixed a fatal error when LicenseDockClient.php and the WordPress file were placed in the same folder.
- Documents all twelve API error codes per endpoint.
1.8.1 17 Jul 2026
- Checkout Consent — a dedicated screen (Components → LicenseDock → Checkout Consent) to set up the legal checkboxes buyers see before paying:
- Terms & Conditions acceptance
- Cooling-off waiver - the EU right-of-withdrawal waiver for instant digital delivery
- Marketing opt-in
- Privacy notice at checkout - an optional GDPR Art. 13 information line
1.8.0 15 Jul 2026
- Dashboard revenue - polished
- Legal consent at checkout - add configurable terms, EU cooling-off waiver, and marketing checkboxes; each buyer's acceptance is recorded on the order and in the confirmation email.
- The checkout and account billing phone field - records the country dial code and stores numbers in full international format.
1.7.6 13 Jul 2026
- Gateways: one-click "Check connection" for Stripe/PayPal/Mollie, plus live gateway verification in Store Health.
- Renewals: renewal emails now show the next charge amount + date (loyalty-aware), with a clearer receipt subject.
- Fixes: invoice PDF attaches to renewal emails on protected-storage installs.
- SecurityGuest coupon-limit enforcement, per-key download rate-limiting, and activation/email hardening.
1.7.5 12 Jul 2026
- Product files and invoices - check if publicly not reachable, with a one-click "Check now" exposure test & one-click migration for existing files if publicly reachable.
- Security hardening: license keys are no longer emailed.
- Cleaner, more accurate emails
- Smoother checkout: polished thank-you page, 60-second resend cooldown, reliable guest prefill.
- New dashboard insights: abandoned-checkout and churn-rate tiles.
1.7.4 09 Jul 2026
- The {ld_pricing id=123} shortcode works in cached articles and modules.
- Checkout billing fields auto-save to localStorage - polished
- Abandoned-cart recovery links pre-fill the whole checkout, even on another device.
- At checkout, customers who already have an active plan are sent to their Subscriptions page instead of buying it twice.
- Dashboard adds abandoned-checkout and churn-rate stats.
1.7.3 06 Jul 2026
- New
- Checkout Style setting: method list or branded per-gateway buttons.
- Shortcodes to drop a live price, Buy button, or other product elements into any Joomla article or custom-HTML module.
- Choose the editor for product descriptions (e.g. TinyMCE, CodeMirror, None) – applied in the translation editor too.
- Configurable price display with an optional savings badge.
- Improved
- Cleaner pay-button labels and layout.
- Admin subscription "Expires" date now has a tooltip explaining the processing buffer.
- Fixed
- Subscription expiry dates no longer drift later with each renewal.
- Checkout no longer fails when an invoice needs special-character fonts.
- Guest billing details survive sign-in; gateway return links build correctly.
- free products got a simpler button at checkout
1.7.2 02 Jul 2026
- Checkout sign-in now has a show/hide password toggle
- Product access levels fixed on the storefront
- Catalog filters produce clean, shareable URLs
- Admin "Copy buy link" uses your site's default language
1.7.1 30 Jun 2026
- Multilingual catalog: translate products, plans, and tags per language
- Storefront & checkout polish: optional "starting from" price, clearer returning-customer sign-in
1.7.0 29 Jun 2026
- Configurable checkout fields, reorder, country dropdown
- Admin settings page polish
- Storefront UI polish
1.6.1 25 Jun 2026
- Fixes German showing as English when the language pack was installed after LicenseDock
- translations now load reliably regardless of install order.
1.6.0 25 Jun 2026
- Full German (de-DE) translation: storefront, checkout, account, admin, plus all transactional emails and invoices.
1.5.3 24 Jun 2026
- Multi-language support (admin, storefront, emails, API)
- Fixed loyalty renewal pricing after a lapsed renewal
- Billing: name prefill + country-first address order
1.5.2 21 Jun 2026
- Plan downgrades now apply at the next renewal instead of an immediate refund - no refund fees or surprise payouts.
- Customers list gains a Live/Test/All filter so sandbox orders don't skew real revenue.
- Checkout payment-button polish and accurate post-change renewal amounts.
1.5.1 13 Jun 2026
- Reorder product versions in the Downloads list to control how they appear to customers.
- Set a custom release date on any version.
- New "Served to updaters" badge shows exactly which version auto-update delivers (per plan).
- "Changelog" is now called "Release notes" for clearer wording. Changelog feature will be added soon.
- FixSwitching a file back to "All plans" now saves correctly.
1.5.0 12 Jun 2026
- Per-file "Include in auto-updates" checkbox - attach extras (SDK, docs etc) without breaking auto-updates.
- Bundle licences now auto-update their included products.
- Bundle-aware Store Health checks.
1.4.2 12 Jun 2026
- Dates display in site's timezone instead of UTC - fixed
- product Downloads tab(admin side) adds copy-ready Download & Update-check URLs for licensed auto-updates.
1.4.1 06 Jun 2026
- Subscription edits cascade to linked licenses
- License status managed via the subscription (added "Manage Subscription" button)
- Fixed admin filter links
1.4.0 06 Jun 2026
- Lifecycle emails (renewal reminders, expiry, grace-period, receipts) redesigned to land in the inbox instead of Promotions tab.
- Every email now includes a plain-text version and your store's address in the footer, improving deliverability and sender identification.
- "Store Address" moved to the Store settings card.
1.3.0 30 May 2026
- Clean account/activation links in emails, API, and cron
- Added billing details in admin email template(New Order & Renewal)
1.2.1 29 May 2026
- Language string leak fixed
- Receipt logo issue fixed
- Reminder/grace reminder isolation - done
1.2.0 29 May 2026
- Email Templates updated
- Store Health updated
- and other polish work done
1.1.1 26 May 2026
- account/subscriptions card polished
1.1.0 25 May 2026
- Payment Gateway - logic updated
- Payment Gateway - bug fixed
- More polish done