# 4.8.1 31 January 2025 * Feature proposal #7181: Implement option for prorating based off amount paid instead of plan price * Feature proposal #7426: Rewrite PayPal gateway * Feature proposal #7456: Payments: Add flexible numbering scheme like for invoices * Feature proposal #7500: Offline: implement option to confirm on initial button click * Feature proposal #7659: Deprecate CBSubs Emails * Feature proposal #7819: Implement editing offline baskets stored payment even after paid * Feature proposal #7836: CBSubs Emails and Mailer: change direct call to comprofilerMail to cbNotification * Feature proposal #7853: Family Plans: implement support for sharing by username * Feature proposal #7855: Family Plans: implement support for auto connections * Feature proposal #7875: Implement displaying reversed baskets as unpaid invoices * Feature proposal #7876: Implement parameter to filter module to specific plans * Feature proposal #7924: Implement support for limited timed content access * Bug #7953: Taxes plugin: For Prices-included, when multiple taxes periods co-exist, their start-stop date should be taken in account * Feature proposal #7970: Family Plans: implement support for accepting after login * Feature proposal #8006: Family Plans: Implement support for child plans to share their parent * Feature proposal #8012: Implement notice that share limit has been reached * Bug #8023: PayPal Standard: recurring payments with address sent using a London postal code fails * Feature proposal #8029: Implement cancelling basket if attempting to subscribe to different plan * Bug #8030: Discounting a recurring subscription for more than the price of the plan causes error * Bug #8034: Some multi-currency selections do not have currency exchange rates * Feature proposal #8073: Plan Registration & Upgrade Publishing dates * Bug #8081: When a plan is unpublished, upgrades from that plan do not display in admin backend (in frontend they display fine) * Bug #8090: Totals in statistics don't compute correctly when the currencies table is empty * Bug #8109: PayPal: Fails with IPv6 IP Address * Feature proposal #8208: Improve radio payment method selection to directly output payment forms * Feature proposal #8209: Remove non-radio payment method selection * Feature proposal #8212: Implement ajax editing of invoice address * Bug #8225: Family Plans: shared exclusive plan blocks non-exclusive plans * Bug #8298: Fields Tabs Protect: Overriding of field icons unreliable * Bug #8344: Family Plans: existed expired subscription blocks accepting shared subscription * Feature proposal #8345: Family Plans: implement support for registrations without free subscriptions for existing users * Bug #8394: Clicking plan description to select plan checkbox does not fire change event * Bug #8426: Plans images do not display for family plans * Feature proposal #8447: Add field "reason for cancellation / non-renewal" to cancellation view * Feature proposal #8540: Improve table view export data * Feature proposal #8646: Improve translations of payment type and support for custom payment type * Bug #8722: Authorize.net ARB no longer functional * Feature proposal #8724: Advise administrators when cron jobs don't run as expected * Feature proposal #8732: Implement Shopify payment gateway * Feature proposal #8744: Implement AfterPay payment gateway * Feature proposal #8765: Implement support for nested substitutions * Feature proposal #8804: Family Plans: implement additional triggers * Feature proposal #8813: Review how to handle reuse of baskets during lost payment disputes * Feature proposal #8832: Quickpay: Implement support for MobilePay Subscriptions * Feature proposal #8839: Implement reusable pending baskets * Feature proposal #8869: Develop CBSubs Gifts integration * Bug #8886: Exclusive parent plan with non-exclusive child plan not clearing when selecting a different parent * Feature proposal #8887: Quickpay: failed payments consume the order id * Feature proposal #8945: Plan Options: implement promotions and mailer option conditions * Bug #8996: CBSubs Promotions: renewing in advance does not display discounted price for a promotion with a date range * Feature proposal #9026: Replace all language string sprintf with language string substitutions * Feature proposal #9057: Plan Options: implement substitution and modifier support for prices * Feature proposal #9058: Plan Options: support substitution based prices dynamically updating during registration * Bug #9075: Baskets in a Reversed state can be manually renewed causing duplicate recurring subscriptions * Bug #9076: Tax rules applying to $0 basket * Bug #9215: Stripe: webhook timing still causing problems * Bug #9228: Users not deleted when cancelling basket during registration and subscription is required * Feature proposal #9257: Stripe: implement support for Stripe Connect * Feature proposal #9291: Implement support for moderator only unsubscribe * Bug #9366: Stripe: by calendar durations do not work well with recurring payments * Bug #9371: History Log filter by Period causes error if no From date is supplied * Feature proposal #9523: Stripe: update to latest API * Feature proposal #9527: Plan Options: implement support for additive relative prices * Bug #9528: Plan Options: price selection substitution does not work if IF statements for price options * Feature proposal #9529: Plan Options: implement passing price and option selection to basket substitutions * Feature proposal #9531: Plan Options: implement support for upgrading options with payment mid-cycle * Bug #9532: Plan Options: trigger sending non-boolean value for $html * Bug #9544: Esthetic fix: Joomla 5 is missing wrapping in table headings in admin aera * Feature proposal #9545: Legacy "task" based URLs need to be replaced with "view" * Feature proposal #9558: Add more basket-related substitutions and conditions to checkout texts * Bug #9579: Registering with a free and a paid plan with autorecurrings generating USER NOTICE: trying to subscribe ARB payment items different on key validity with different values * Bug #9584: Plan Options: selecting a different plan price while having plan options with separate recurring prices causes a calculation error * Feature proposal #9598: Implement Access parameter to limit a plan to a number of active subscribers * Feature proposal #9600: Stripe: improve customer portal return url to be dependent on location accessed * Bug #9601: Basket filter links broken due to single value sent when array is expected * Feature proposal #9621: Family Plans: implement support for family discount * Bug #9625: parent_plan and parent_subscription not nullable