We're proud to announce the full release of Commerce Shipping 2.0. In recent days, the final pieces have fallen into place to ensure the module accommodates recalculating shipping rates as addresses are entered, fully supporting a dynamic single-page checkout form. We also tested and retested the upgrade path from Commerce Shipping 1.x to ensure no data is lost for orders containing shipping line items from that version.
What's the big deal?
Commerce Shipping 2.0 is a complete rewrite of what the 1.x branch offered. It subdivides shipping methods into individual shipping services, giving you granular control over when each individual service from a provider like UPS should be available for an order. For example, you can use USPS for all orders within the U.S.A. and UPS for all other territories while requiring that certain products only ship UPS Next Day Air regardless of where they're shipping to.
It's been about a year since I started working on shipping for commerce.
I had hoped that the work Ryan has made on the 2.x would have made the 1.x branch obsolete, but after all the work put into the 2.x branch some key features/hooks possibilities that makes the 1.x branch very flexible to work with from a developer's point of view, has still not been completed.
Thus I'm now creating the official 1.0 release, as commerce shipping has all the features I originally envisions when I started working with this and then some, and I haven't been seeing any bug reports lately.
There isn't much new since rc3, the main thing is the addressfield plugin that makes it possible to copy billing address to shipping and a few bug fixes.
Note: If you are currently using Shipping 1.x on a live site, do not attempt an update on your live site. See the roadmap below for more information.
The first beta release of the Shipping 2.x branch represents a functional replacement for Shipping 1.x. In terms of implementation, the primary feature is the separation of shipping methods from the services that they offer (think UPS -> Ground, 2nd Day Air, Overnight) and the ability to make any method and/or service conditionally available.
The calculation process of shipping rates has changed as well and implements the same approach that Commerce core takes with product sell price calculation. When quoting a rate, Shipping 2.x creates a new shipping line item using the base rate provided by the shipping service (whether it's a flat rate defined by the administrator or a carrier calculated rate fetched from an API) and then passes that line item through rules for further manipulation. Rules may be used to add taxes, apply discounts, or add fees as the case may require.
This release features a major refactoring, excluded the old style of creating shipping methods to the new ctools plugin type. In addition shipping customer profile is now created when the module is installed.
• Issue #1183432 by googletorp: Add uninstall rutine. 7.x-1.x 7.x-1.0-rc1
• Issue #1226884 by googletorp: Fix proper reference...
• Issue #1220944 by googletorp: Added extra values for...
• Added feature, custom price components for shipping...
• Cleaned up code and added more documentation.
• Bugfix class, and settings problems with plugins.
• Cleaned up the example module and added documentation.
• Cleaned up code a bit, removing cruft.
• Set default values on shipping plugins.
• Use the commerce_shipping function signature for plugin...
• Added line item label from plugin.
• Core rewrite removing support for old style shipping...
• Add customer profile reference field on orders if needed.
• Make use of patch in commerce.
• Issue #1205842 by googletorp: Only need a single addres...
• Issue #1205842 by rszrama, googletorp: Add a shipping...
• Cleaned up code a bit, moving hooks to the top and...
• Fixed a few flaws.
• Issue #1174226 by rszrama: fix the package name to...
• Issue #1216668 by rszrama: remove installation notices...
This release comes with two new features. In addition to that, it also made the shipping module compatible with commerce-beta4
The new features for this release is the support of shipping methods defined as ctools plugins. For now both old style hook shipping methods and plugin type shipping methods is supported, but most likely only plugins will be supported on the long term.
I also added a flat rate shipping method for those unable to create shipping modules themselves can use to get some basic shipping functionality.
#1102268 by tgeller: Use english for all views labels.
#1109972 by arbel, googletorp: Made label for the shipping rules configurable.
#1124404 by recidive, googletorp: Add missing dependency.
#1122372 by googletorp: Fix setting shipping method for new shipping line items.