Today we’re excited to announce that WooCommerce Bookings 1.14.0 has been released!
Bookings 1.14.0 is our second minor release for WooCommerce Bookings in 2019 and our focus for this release was primarily focused on behind the scenes infrastructure improvements to ensure we provide more stability and a faster cadence as we begin to move into more feature work for the remaining part of the year.
That being said we are also very excited to announce that we will be releasing a REST API for Bookings as part of this release. We spent a lot of time and effort building out the initial architecture and the initial set of endpoints but this is only the first step. We will continue to expand and iterate on this API as we gather feedback on what is needed most.
While the majority of our infrastructure improvements have no immediate effect on the final release I do want to highlight the ones that we are particularly excited about since they will have a direct impact on the quality and stability of our releases.
- We have entirely refactored our unit testing infrastructure to make unit tests easier to setup and run during local development. We also made changes to our CI environment to ensure that our legacy unit tests will be run alongside these new unit tests while we begin transitioning over to this new testing framework.
- We built out a brand new E2E test suite utilizing Puppeteer. Additionally, this has been integrated it into our CI environment to allow us to start writing robust integration tests.
- We made some package management improvements that allowed us to drastically cut down the size of the release files to help speed up load times.
- WooCommerce 3.6 is in the final testing stages and this Bookings release has been fully tested to be compatible with 3.6
As mentioned earlier we are also very excited to announce that we will be releasing a REST API for Bookings as part of this release. Bookings, Slots, Categories, Resources, and Products are now all available for retrieval through the convenient REST API. Currently these are all GET requests, however, we will be looking to support more methods ( e.g. POST, UPDATE, etc.. ) in future releases.
For more details on the REST endpoints please refer to the documentation we have prepared for this feature.
We are also including a few bug fixes as part of this release:
- Bring back filter woocommerce_bookings_gcalendar_sync to update google event during sync.
- Fix for lack of support in IE11 for the front-end calendar
- Issue when tokens expired for the Google Calendar connection
- Changing resource would reset the person count to be empty
- Fatal error when opening the admin calendar after certain Google recurring events were added
- PHP warning when trying to display guest name in the bookings order details in certain situations
- Prevent duplicate order status update notice
- Customer defined blocks with different duration will not work
- Misc copy and UX tweaks
With the new REST API we are soft deprecating these AJAX endpoints. These endpoints will continue to work but we are deprecating them so that eventually any integrations with Bookings will move over to utilizing the REST API.
- find_booking_slots – /wp-json/wc-bookings/v1/products/slots
- get_all_bookable_products – /wp-json/wc-bookings/v1/products
- get_all_categories_with_bookable_products – /wp-json/wc-bookings/v1/products/categories
- get_all_resources – /wp-json/wc-bookings/v1/resources
As always we are excited to get this release out into your hands and please share your feedback as you begin exploring this release and the new REST API, thanks!