Added: https://getvoxel.io/questions/booking-product-make-timeslots-required-if-the-product-is-enabled/
Fixed: Preview card post relation tags now respect the field’s allowed statuses (e.g. expired posts are no longer counted when not allowed) https://getvoxel.io/questions/count-upcoming-events-on-preview-card/
Added: Timeline frontend config filters for statuses (`voxel/timeline/status/frontend-config`) and replies (`voxel/timeline/reply/frontend-config`).
Fixed: Paid memberships “Plan renewed” app event/email no longer fires on Stripe invoice previews or when the billing period advances before payment; it now requires a confirmed paid invoice.
Fixed: https://getvoxel.io/questions/subscription-renewed-email-fires-before-payment-confirmation/
Fixed: https://getvoxel.io/questions/google-social-log-in-issue/
Fixed: https://getvoxel.io/questions/exact-local-time-for-ordercreated_at/
Fixed: https://getvoxel.io/questions/small-glitch-when-creating-account/
Fixed: https://getvoxel.io/questions/critical-error-when-editing-collections-single-template-in-elementor/
Fixed: https://getvoxel.io/questions/paddle-billing-subscriptions-checkout/
– Listing plans: Added support for offline payments
– Shipping: Added support for offline payments
– Offline payments: Added approval settings per product type or follow global
– Fixed https://getvoxel.io/questions/map-popup-card-issue/
– Fixed https://getvoxel.io/questions/dynamic-icon-styling-is-ignored-in-term-feed-item-template/
Fixed compatibility issue with Elementor 4.1.1
File field: Added “Upload to /voxel_private” setting
Fixed https://getvoxel.io/questions/searc...-when-connected-to-post-feed-multi-post-type/
Fixed https://getvoxel.io/questions/archive-urls-not-displaying-default-search-filters/
Fixed https://getvoxel.io/questions/auth-personal-data-request-ui-step-visibility-controls-issue/
Fixed issue with map marker icon color not applying
Dynamic tags: New “Shuffle list” modifier — takes any list of values and randomizes the order.
Dynamic tags: New “Pluralize” modifier — quickly define singular and plural label based on dynamic tag value
Dynamic tags: New “Loop index” modifier — outputs the position of the current item inside a loop.
Dynamic tags: New “Truncate words” modifier — limit any text to a maximum number of words.
Dynamic tags: New “Lowercase” modifier — converts any text to lowercase
Dynamic tags: New “Uppercase” modifier — converts any text to uppercase
Dynamic tags: Added additional shipping dynamic tags for Order related app events