Release v3.11.0
Woocommerce Bookings v3.11.0
What's new in v3.11.0
Woocommerce Bookings v3.11.0 was released on . Setup bookable products such as for reservations, services and hires. See the full changelog below and compare with the complete version history.
Release details
Released
6.0 MB
File available
Changelog
Added
- Added a filter for customizing the booking start-time selector HTML.
Fixed
- Protected booking product data while preserving direct-link access to catalog-hidden products.
- Applied standard cart validation, password checks and confirmation-cart separation to quick bookings.
- Kept existing cart bookings when earlier add-to-cart validation rejects a booking.
- Prevented unauthorized product counts while preserving published results for public callers and partial editors; constrained query-filter status overrides to the requested authorized collection.
- Displayed the full selected range for fixed multi-month bookings.
- Prevented fatal errors when cart item data includes a foreign product using the booking type.
- Limited the desktop booking modal to 500 by 600 pixels and stacked its action buttons at every screen size.
- Matched the booking modal team-member selector to its design in both left-to-right and right-to-left layouts.
- Included categories for Accommodation Bookings and other registered bookable product types in REST responses.
- Kept admin calendar pickers on the selected site date across timezones.
- Stored booking calendar email attachments in private temporary paths and removed them at request shutdown.
- Aligned public booked-day lookups to whole calendar months so their persistent caches stay bounded.
- Kept pagination out of public slot cache keys and capped tracked slot cache entries per product.
- Deduplicated client-selected public REST slot product IDs to avoid repeated slot calculations.
- Imported Google Calendar events in bounded pages per poll and resumed large calendars on the next poll.
- Allowed the Bookings product REST API to preserve editor-saved values.
- Bounded public time-slot lookups to configured product durations.
- Required order permissions before a booking editor can relink a booking to another order or trash and delete a linked order through the booking.
- Removed stored copies of custom Google Calendar encryption keys without disconnecting working calendars.
- Bounded the work a Google Calendar recurrence can add to availability checks; rules that exceed the limit keep their times unavailable and are logged.
- Required booking permissions before the CSV importer creates or overwrites a booking.
- Encrypted custom Google OAuth client secrets and masked the settings field.
- Deleted temporary bookings and cleanup events when cart items are removed.
- Revalidated admin booking reschedules against product rules and live availability.
- Prevented unauthorized admin requests from skipping required database updates.
- Serialized cart booking reservations and checkout capacity validation.
- Limited public booking-product responses to storefront fields.
- Respected the booking window when requesting availability for booking blocks.
- Protected booking product data while preserving direct-link access to catalog-hidden products and keeping availability cache keys independent of unused timezone offsets.
- Stored uploaded booking CSV imports in WooCommerce's protected import folder under a random name, and deleted them once the import completes.
- Kept per-person coupon discounts within the remaining booking price and WooCommerce coupon usage limits.
- Rejected public availability slot requests that would exhaust server memory, scaling the limit to the host's PHP memory.
- Checked linked-record restore permissions and preserved trashed bookings during order status updates and scheduled jobs, while invalidating slots for restored bookings.
- Kept single-product export files in a private temporary directory and limited cleanup to the exported file.
- Stored booking CSV exports in the protected WooCommerce uploads folder under unguessable names.
- Validated person-type permissions and product ownership before saving booking products.
- Stopped public availability requests from growing the booking cache without limit.
- Checked resource edit permissions when changing product resource assignments through the REST API.
- Checked the owning order before clearing a booking order-item link.
- Validated existing booking references and order-item pairs before CSV updates.
- Restricted Google Calendar connection requests, delayed repeated refresh failures, and improved expired-link and settings-save recovery.
- Required current product edit access for every team-member relationship added or removed during final synchronization.
- Booking exports renamed through the woocommerce_bookings_export_get_filename filter download again.
- Prevented the booking calendar popover from overlapping the WordPress and WooCommerce admin headers.
- Allowed removing a permanently deleted resource from a bookable product through the REST API and the product screen.
- Made the View User and View Order buttons in the booking customer meta box translatabl
Compatibility
- Requires WordPress
- 7.0
- Tested up to
- 7.1
- Requires PHP
- 7.4
- Requires WooCommerce
- 11.1
- WooCommerce tested
- 11.2
Verified safe
Woocommerce Bookings v3.11.0 scanned clean with no security threats detected.
View full scan report