15 versions
Woocommerce Bookings history.
Every release of Woocommerce Bookings is archived here with its changelog, file size, and security scan result. Use the archive to roll back to a stable release or audit what changed between updates.
15 of 15 releases scanned clean
v3.10.0Latest
September 2, 20265.9 MBScanned
Added
- New "Share max bookings per block?" resource setting that makes a bookable product's max bookings per block a single allowance shared by all of its resources, so a slot taken on one resource can no longer be booked again on another.
Fixed
- Bounded public availability requests by the product booking window and a one-year hard limit.
- Prevented public slot requests from exposing non-public booking products.
- Prevented public booked-day requests from exposing unpublished booking products.
- Required object-level edit access and relevant booking capabilities for booking product AJAX mutations, and prevented duplicate resource links.
- Required exact-order permission before booking REST requests can change existing order associations.
- Required access to the target booking before confirming it from the admin list.
- Restricted the store-wide booking calendar to users who can edit other users' bookings.
- Restricted store-wide booking notifications to users who can edit other users' bookings.
- Rejected availability requests for resources not assigned to the requested product.
- Preserved caller-selected CSV source files after an import finishes.
- Restricted store availability AJAX reads to users with the availability read permission.
- Enforced the current cancellation policy and cutoff for saved cancellation links.
- Restricted booking product metadata in REST responses to product editors.
- Kept cached slot responses separate for requests that show or hide unavailable times.
- Hardened private-read checks for booking and resource REST records.
- Required delete permission when a REST update trashes a team member.
- Blocked payment for orders with bookings awaiting confirmation.
- Limited public team-member REST responses to profile fields.
- Rendered imported Google Calendar event summaries as text in the merchant schedule.
- Prevented translations from loading before WordPress initialization.
Improved
- Improved booking form performance by fetching availability for all blocks and resources in one query instead of one per combination.
Other
- Dev - Managed changelog entries with Jetpack Changelogger: pull requests add a change file under changelog/ instead of editing changelog.txt, which is compiled at release time.
- Dev - Added E2E coverage for the bookable product editor, asserting settings persist by reading the saved product back over the REST API.
- Dev - Removed redundant and low-value tests.
August 19, 20265.9 MBScanned
Fixed
- Fixed a fatal error on the product page and when adding to the cart if a person type cost was stored with a currency symbol or other non-numeric characters.
- Fixed a person type cost stored with a thousands separator or a decimal comma being priced as only the digits before the separator.
- Fixed a fatal error when a pricing rule was set to divide by an empty or zero amount.
- Fixed the admin calendar single-day view defaulting to the server (UTC) date instead of the site timezone, which shifted bookings by a day once UTC and the site were on different calendar dates (for example, past 7 PM in UTC-5).
- Fixed a false "Error while deleting the item" error when permanently deleting bookings on HPOS stores.
- Prevented manual booking creation from changing orders without edit permission.
- Prevented team-member updates from changing unauthorized booking products.
- Fixed a blocking Google Calendar API call being made on every request (front end, REST API, cron, login) when a Google account is connected; the calendar list is now fetched only when the settings form fields are actually used.
- Restricted booking product template creation to authorized product editors with a valid request nonce.
- Fixed the "Booking Person Discount" coupon applying a discount 100 times too large at cart and checkout for currencies with zero decimals (for example JPY).
- Fixed console errors on admin screens when the WooCommerce Tracks object is unavailable.
- Fixed the date picker calendar availability announcement not being read by screen readers when the calendar opens on focus.
- Fixed the admin Add Booking screen and reschedule dialog showing times in the merchant's browser timezone instead of the store timezone when "Display visitor's local time" is enabled.
- Fixed the admin calendar month and schedule views defaulting an out-of-range year to the server (UTC) year instead of the site timezone, so the calendar could open on the wrong year around New Year.
- Prevented resource REST requests from reading or deleting team members.
- Enforced global availability permissions for AJAX create, update, and delete requests.
- Bound booking product exports to the authorized product and global availability permissions.
- Limited booking order search results to orders the current user can access.
Other
- Dev - Removed the vulnerable extract-zip package from the development toolchain to resolve a Dependabot security alert.
- Dev - Restored TLS certificate verification and fail-closed error handling in the release deployment script.
- Dev - Pinned and checksum-verified the WP-CLI executable used in release builds.
- Dev - Wired the pull request CI checks required by the trunk branch protection rules (PHP coding standards, @version tag validation).
- Dev - Aligned AI-agent docs, ignore rules, and npm script aliases with the sibling extensions.
- Dev - Updated the npm build toolchain to resolve all remaining Dependabot security alerts.
- Dev - Update the shipped @babel/runtime helpers to resolve a security advisory.
- Dev - Fixed Markdown documentation lint violations and wired the Markdown docs lint into CI.
- Dev - Standardized the package license identifier on GPL-3.0-or-later.
- Dev - Removed the dead lint:md:js script.
- Dev - Documented the isolated worktree setup for local development.
- Dev - Stop waiting on networkidle when opening the front-end product page in E2E specs; wait on the date picker's own readiness signal instead.
- Dev - Enabled TLS certificate verification for translation downloads.
- Dev - Seed bookable products for E2E specs through the REST API instead of driving the admin product editor.
- Dev - Suppressed dependency deprecation notices in the PHP unit test suites.
- Dev - Added a CI check that fails when the plugin's own PHP sources raise compile-time deprecation notices.
- Dev - Added a pre-commit check that enforces updating the @version tag to x.x.x on modified PHP classes.
- Dev - Enabled JavaScript linting in CI and fixed source violations.
- Dev - Migrated the ESLint setup to the flat config format required by ESLint 10, aligning the lint and formatting toolchain with WooCommerce core.
- Dev - Update wp-coding-standards/wpcs to 3.4.1 (security release) in the phpcs lint tooling.
- Dev - Allow-listed the dev-only GPLv3 dependency `@woocommerce/e2e-utils-playwright` and wired `check-licenses` into CI.
- Dev - Update PHPUnit to 9.6.35 to resolve a security advisory in the PHP test toolchain.
- Dev - Update development npm dependencies to resolve security advisories in the build toolchain.
- Dev - Update the shipped phpseclib library to resolve security advisories, and move Strauss and QIT CLI to require-dev.
- Dev - Update the shipped Guzzle libraries and the Symfony YAML development dependency to resolve security advisories.
- Dev - Enabled CSS linting in CI and fixed source style violations.
- Dev - Hardened the QIT test workflow: pinned the QIT CLI vers
Added
- Support for importing accommodation bookings from a CSV file.
July 22, 20265.6 MBScanned
Added
- Reschedule flow on the booking details admin view: availability-aware calendar that preselects the current slot, keeps the original price, and re-syncs to Google Calendar.
- Added the ability to edit the "Requires confirmation" payment method title and description from its settings.
- Important: WordPress 6.8+ is now required.
- Important: WooCommerce 10.6+ is now required.
Fixed
- Fixed hourly bookings ending exactly at midnight incorrectly blocking the following day from being booked.
- Fixed a JS error when multiple bookable products are displayed on the same page.
- Fixed the admin calendar Day view displaying a booking that ends at midnight as an all-day block on the following day.
- Fixed calendar date picker navigation arrows being hidden at narrower screen resolutions due to a z-index conflict with the table navigation bar.
- The `woocommerce_bookings_booked_day_blocks` filter is now consistently applied even when a product has no existing bookings.
- Replaced legacy `{blogname}` placeholder with `{site_title}` in all booking email subject defaults to align with WooCommerce core.
- The add-to-cart button on the single product page now inherits the theme's Global Styles button design on block themes.
Improved
- Bumped WooCommerce "tested up to" version to 11.0.
June 17, 20265.6 MBScanned
Added
- Bookings CSV exporter to download bookings as a CSV file.
- Bookings CSV importer to create and update bookings in bulk from a CSV file.
- Added a "Bookings" endpoint setting under WooCommerce > Settings > Advanced > Page Setup > Account endpoints.
Fixed
- Booking reminder emails and automatic completions now happen at the correct local time on sites outside the UTC timezone.
- Fixed a fatal error when importing a bookable product CSV with person types disabled (empty Person types column).
- Bookable product CSV import/export now uses readable column labels and auto-detects them on import.
- Fixed clipped Date created hour/minute inputs on the booking edit screen in WordPress 7.0.
- Fixed the booking list in WP Admin showing the wrong customer email after reassigning a booking to a different customer.
- Prevented the "Move to trash" link from displaying on the Edit Booking screen for users who cannot delete bookings.
- Fixed a fatal error when enabling "Restrict selectable days" without selecting any days.
- Fixed admin calendar possibly showing a stale customer note on bookings without a note.
- Fixed the `woocommerce_bookings_account_endpoint` filter not working when used in a theme's functions.php.
- Used the configured bookings account endpoint slug for the email "View my bookings" link and My Account pagination links instead of the hardcoded default.
Improved
- Removed the "Enable Bookings Timezone Calculation" setting, as booking events now always follow your site's timezone automatically.
- Improved the booking edit screen responsive layout by stacking details columns before fields become crowded.
- Improved booking form calculation AJAX requests.
- Performance improvements when fetching bookings for availability requests.
- Bumped WooCommerce tested up to version to 10.9.
Other
- Dev - Fixed Plugin Check compatibility reporting for guarded block metadata registration helpers.
v3.5.3Unavailable
May 22, 20265.5 MBScanned
Fixed
- Improved compatibility with MariaDB 12.3.1+ by resolving a conflict between MariaDB's built-in `TO_DATE()` function and the `to_date` column.
v3.5.2Unavailable
May 14, 20265.5 MBScanned
Improved
- Bookings no longer writes to the WooCommerce Analytics customer lookup table; the analytics customer ID is now resolved via WooCommerce's own sync and backfilled on bookings once available.
- Bumped WooCommerce tested up to version to 10.8.
v3.5.1Unavailable
April 25, 20265.5 MBScanned
Fixed
- Reverted the Add Booking admin screen calendar width constraint from 3.5.0.
v3.5.0Unavailable
April 21, 20265.5 MBScanned
Added
- Added WooCommerce Analytics customer ID to bookings.
Fixed
- Fixed a fatal error in cost calculation when a bookable product references a deleted resource.
- Prevented sending email reminders for bookings that have already started.
- Prevented completed bookings from being cancelled when the associated order is cancelled or refunded.
- Fixed booking calendar width being too wide on the Add Booking admin screen.
- Fixed an issue where changing the store timezone did not always update booking times right away.
- Fixed bulk action notice always showing zero bookings updated.
- Improved booking confirmation .ics attachments.
- Improved overall accessibility.
- Fixed admin styling compatibility issues with WordPress 7.0.
Improved
- Bumped WordPress tested up to version to 7.0.
- Bumped WooCommerce tested up to version to 10.7.
v3.4.0Unavailable
March 11, 20265.6 MBScanned
Added
- Added filter, 'woocommerce_bookings_edit_booking_url' to allow updating booking URL in email notifications.
- Added filter, 'woocommerce_bookings_calendar_url' to allow updating booking calendar URL in email notifications.
Fixed
- Fixed an issue with the experimental email editor personalization tag.
- Fixed booking email templates not displaying the booked product name.
Why archive
Sometimes the latest release isn't the one you need. The archive lets you pin Woocommerce Bookings to a known-good version, or roll back while a bug is investigated. Every release stays scanned and reachable.