CoCart v3.1.0 Beta 2

I’m excited to announce that CoCart v3.1 Beta 2 is now available for testing! You can either download it directly from GitHub or install the CoCart Beta Tester plugin.

What’s changed since beta 1?

  • NEW: Should table creation fail during install, ask user if they have privileges to do so.
  • Improved: Prevent any further admin redirects if CoCart database failed to create.
  • Improved: Products API response for viewing a single variation to match all other product types with exceptions to certain fields not required.
  • Improved: Creation of CoCart database table and check it exists before attempting to do it again when CoCart updates.
  • Tweaked: Getting Started page by splitting upgrade information to a new sub-section called “Upgrade CoCart” with sub-menu shortcut.
  • Tweaked: WC Admin Notes for upgrading CoCart and 6 things to do with the products API.

What to do before testing!

If you have been using CoCart Products add-on, make sure you have the latest version of it installed before updating to this release to prevent crashing your site. Otherwise best to deactivate the add-on first.

Database changes

This release does not introduce any changes to the database.

Documentation

Currently being updated. Check again soon or follow CoCart on Twitter for updates.

Testing

If you discover any bugs during the testing process, please let me know by logging a report on the GitHub repository. There I can manage it better and get on the issue asap.

CoCart v3.1.0 Beta 1

I’m excited to announce that CoCart v3.1 Beta 1 is now available for testing! You can either download it directly from GitHub or install the CoCart Beta Tester plugin.

What’s New in CoCart v3.1?

🧙 A new setup wizard is introduced that will help prepare the environment for a headless setup.

To help WooCommerce stores that are already selling, an option to transfer current sessions is available. This simply copies over all carts in the database to CoCart’s session table. Once completed it will remove them from WooCommerce session table to save database space.

If you are using multiple domains for your headless setup, CoCart Cors plugin will be installed and activated in the background. Upon completing the setup wizard, you will be presented with options on what you can do next.

You can if you wish ignore the setup wizard completely or run it again at any time from the CoCart menu.

🎺 CoCart Products add-on now merged and introducing API v2 with a new option to view single products by SKU. This gives users a great start to their development.

The product response is cleaner and better than before by including shortcuts for adding items to the cart or viewing other products connected.

Additional product support such as subscription data will remain in CoCart Pro only.

What to do before testing!

If you have been using CoCart Products add-on, make sure you have the latest version of it installed before updating to this release to prevent crashing your site. Otherwise best to deactivate the add-on first.

🤖 New Cart API route introduced that allows developers to add custom callbacks to update the cart for any possibility. See example.

🦅 No cache control has been added to the headers to help prevent CoCart from being cached at all so results return quicker.

📦 Flexible Shipping has been added as plugin suggestion now that it’s compatible.

Other stuff…

  • Enhanced: Shipping rates now return meta data if any. Thanks to @gabrielandujar for contributing.
  • Enhanced: Stock check improved when adding item by checking the remaining stock instead. This uses the reserve stock system in WooCommerce.
  • Tweaked: Session abstract now extends WC_Session abstract for plugin compatibility for those that have strong typed.
  • Tweaked: Session handler by adding get_session() function for plugin compatibility.
  • Removed: CoCart Products Add-on as a plugin suggestion now the products API is merged with core of CoCart.
  • Fixed: Redirect to the “Getting Started” page should no longer happen on every activation.
  • Fixed: Plugin review notice dismiss action.
  • Dev: Added more compatibility for next update of CoCart Pro.

Database changes

This release does not introduce any changes to the database.

Documentation

Currently being updated. Check again soon or follow CoCart on Twitter for updates.

Testing

If you discover any bugs during the testing process, please let me know by logging a report on the GitHub repository. There I can manage it better and get on the issue asap.

CoCart v3 Release Notes

I’m pleased to announce CoCart v3 is now available. It’s my biggest release yet for CoCart and may be a while before I release any further updates as I get CoCart Pro ready for it’s next big update.

This release brings a new API providing more than before. Thanks to the amazing feedback from users, CoCart v3 brings a much better cart response designed for all with an all-new flow experience, new options and support for developers to utilize.

Adding grouped products is also now possible while adding variable products has become simpler. Error validation has also be improved so even the smallest of errors caused, a developer can get a clear explanation as to what went wrong.

Basic authentication is also now built in with additional support for use of email address for the username. So you don’t have to use the JSON Basic Authentication plugin no more which is also outdated.

Updating to the new API is simple and makes building your headless store easier than before. Most parameters are the same, other parameters have changed for the better including the default values.

Simply follow the upgrade guide and your good to go.

If your not new to CoCart I think your going to love this update. If you are new to CoCart, well I can already feel your smile of appreciation. ☺

What’s New with CoCart v3?

  • 🥇 NEW: API v2 with new routes to help with the flow.
  • 💯 NEW: Better cart response based on the experimental free add-on “Get Cart Enhanced“.
  • ⛓️ NEW: Carts can sync for guest customers between app and web once “Load Cart from Session” feature has been used.
  • 🔑 NEW: Basic Authentication now built in with the ability to authenticate via email instead of username. 🥳
  • 🔒 NEW: Each route can be forced to check if the user (meaning only a logged in user) has permission to use the API. This requires the use of a new filter. See article for more information.
  • 🔎 NEW: Browse and Search CoCart add-ons or supported extensions from the plugin install page.
    • Search suggestions are added at the bottom of the plugin search results on the first page only if matching key words match.
    • New plugin install section “CoCart” displays information on available add-ons or supported extensions with compatibility information and links to more details.
  • 🧾 NEW: Support for TaxJar for WooCommerce plugin if you have v3.2.5 or above.
  • 🚢 NEW: Support for WooCommerce Advanced Shipping Packages extension.
  • 🎁 NEW: Support for WooCommerce Free Gift Coupons extension.
  • 🗝️ NEW: Support for JWT Auth plugin by Useful Team.
  • 🌗 NEW: Compatible with WP-GraphQL WooCommerce add-on.
  • Tweaked: Session data now handled by new abstract to gain more control over it.
  • Tweaked: Cart key now returns in the cart response the first time round. 🥳
  • Tweaked: The loading of the session handler for better initialization by filtering it outside the action hook woocommerce_loaded.
  • Tweaked: Loading a cart from session is now prevented if a user is already logged in.
  • Tweaked: Loading a cart from session is now prevented if a user is not logged in and the cart key requested matches any registered user.
  • Tweaked: Cart session now stores when the cart was created, it’s source and hash.
  • Tweaked: WooCommerce System Status Tools are made available even if COCART_WHITE_LABEL is set to true.
  • Deprecated: Redirect to cart after using load cart from session.
  • Tested: ✔️ Compatible with WooCommerce v5.3
  • Dev: 🐸 NEW Update database manually for CoCart via WP-CLI.
  • Dev: 🐸 NEW Get the current version of CoCart via WP-CLI.
  • Dev: Forked get_customer_unique_id() from WooCommerce session handler for backwards compatibility. Introduced to help with unit tests in WooCommerce since version 5.3. Not needed for CoCart.

There is a whole lot of action filters and hooks now available which you can view in the full changelog.

View the full changelog here.

Minimum Requirements

PHP requirement has been bumped to v7.3 to ensure you are getting the best of CoCart. However, web hosts will soon be updating the default PHP version to v7.4 and deprecating support for PHP 7.3 and below. CoCart v3 is ready for that.

Documentation changes

New documentation for v3 is available so you can get stuck into using the new release asap. Wish to access documentation for the previous API version?

Database changes

This release does introduce changes to the CoCart session table to store when the cart was created, it’s source and cart hash.

If you have been keeping CoCart up to date until now then you will have no issues upgrading when your ready.

Just another warning encase you missed the first one.

If you have not updated CoCart to at least v2.9 then I must warn you. If you have large stores and you update CoCart directly to v3 ignoring previous patches, then the database upgrade will run automatically in the background without notice.

So please update to v2.9 before updating to v3 for a smoother upgrade process.

CoCart v3.0.0 Release Candidate 3

I’m excited to announce that CoCart v3 Release Candidate 3 is now available for testing! You can either download it directly from GitHub or install the CoCart Beta Tester plugin.

This release fixes a few minor bugs and tidies up the code a little more. This is the final release candidate before launching real soon.

What’s New since CoCart v3 RC 2?

  • NEW: Added PUT to Access-Control-Allow-Methods
  • Fixed: Undefined cart_key.
  • Fixed: Undefined object property ID.
  • Fixed: Check $user_id is not empty.
  • Fixed: Passed the product ID & quantity values for add to cart message that is finally added to cart to return the message correctly, specifically for variable products.
  • Improved: Various inline docs here and there.
  • Removed: Various lines of code not used any more to clean it up.

Testing

If you discover any bugs during the testing process, please let me know by logging a report on the GitHub repository. There I can manage it better and get on the issue asap.

CoCart v3.0.0 Release Candidate 2

I’m excited to announce that CoCart v3 Release Candidate 2 is now available for testing! You can either download it directly from GitHub or install the CoCart Beta Tester plugin.

I’m hoping now this release candidate is the last one but again, any remaining feedback you provide testing this release candidate is most appreciated.

What’s New since CoCart v3 RC 1?

  • NEW: Compatible with WP-GraphQL WooCommerce.

As both CoCart and WP-GraphQL WooCommerce extension use their own session handler, there was a clash.

With this release a condition has been added to check if a graphql request was being made in an area that CoCart also shares.

Now both plugins can work side by side. 👍

  • NEW: Added notice for when item is removed from cart.
  • Fixed: Authentication with login API. Incorrect permission check used. 🤦‍♂️
  • Localization: Added missing translator notes.

Testing

If you discover any bugs during the testing process, please let me know by logging a report on the GitHub repository. There I can manage it better and get on the issue asap.