Commit Graph

912 Commits

Author SHA1 Message Date
Nestor Soriano a1a1438c0e Update minimum required version of WordPress to 5.5 2021-03-19 11:08:37 +01:00
Nestor Soriano a5e4bad042 Update the WooCommerce version in (class-)woocommerce.php to 5.3 2021-03-19 11:08:37 +01:00
Claudio Sanches 8d4d372b86 Prepare default branch for 5.2-dev 2021-02-18 17:32:50 -03:00
Claudio Sanches bf23ce5e35 Increase WordPress minimum to 5.4 2021-02-01 19:19:27 -03:00
Claudio Sanches ee28da5d30 Prepare default branch for 5.1 2021-01-25 16:38:22 -03:00
vedanshujain 44705386a4 Prep master for 5.0.0. 2020-12-22 19:01:56 +05:30
vedanshujain d302a204c9 Bump version to 4.9.0-beta.1 and update changelog. 2020-12-21 22:46:22 +05:30
Rodrigo Primo 621d6a73f1
Merge pull request #28269 from ramonfincken/master
[TASK] documented introduction of wc_get_container function
2020-12-05 15:11:15 -03:00
Christopher Allford bb38673dad Prepared branch for 4.9 2020-11-13 09:38:22 -08:00
Ramon Fincken bdda54f601
[TASK] documented introduction of wc_get_container function
[TASK] documented introduction of wc_get_container function as it has a new syntax
2020-11-13 14:02:05 +01:00
Claudio Sanches f7ecbbeb35 Prepare default branch to 4.8 2020-10-20 15:20:52 -03:00
Rodrigo Primo 6a641c4b1d Bump WC version to 4.7.0 2020-09-19 15:24:12 -03:00
Rodrigo Primo fd25815a7c Prepare master for 4.6.0 development 2020-09-11 14:07:58 -03:00
Jonathan Sadowski 3dd8c84633 Update changelog, readme, and version numbers for 4.5.1 2020-09-09 09:53:26 -05:00
Jonathan Sadowski b49235b55f Update the changelog, readme, and woocommerce.php to prepare for 4.5 release 2020-09-08 12:19:24 -05:00
Jonathan Sadowski 2e75ca64e8 Bump to WC 4.5.0-rc.3 in woocommerce.php 2020-09-02 17:03:23 -05:00
Jonathan Sadowski 7352c4ab40 Prepare for WC 4.5.0-rc2. Update changelog, readme, and version number. 2020-09-02 14:39:17 -05:00
Jonathan Sadowski 9211844ace Update version in woocommerce.php for 4.5.0 RC1 2020-08-25 12:19:41 -05:00
Jonathan Sadowski e8dba4bbf9 Prepare 4.5 Beta 1 Release 2020-08-20 11:38:56 -05:00
Nestor Soriano 1279b2cc57 Bump version name in woocommerce.php to 4.5.0-dev 2020-08-04 11:33:02 +02:00
Nestor Soriano 4d67ac9201 Update version in woocommerce.php to 4.4.0-beta.1 2020-08-04 10:59:58 +02:00
Nestor Soriano b53fc512bf Some changes on the dependency injection engine based on feedback:
- `wc_get_container` declares a return type now.
- The autoloader now runs before `autoload_packages.php` is included.
- The autloader now excludes the namespaces for Admin, Blocs, Rest API.
- `private $container` in `Container` is now declared as being
  of type `\League\Container\Container`.
- The underlying container is registered with `share` instead of `add`.
- All methods in `AbstractServiceProvider` now allow passing a concrete.
- `AbstractServiceProvider::addWithAutoArguments` now checks if an
  argument has a default value, and registers the argument so that
  that value is supplied when constructing the object.
- `Proxies` class renamed to `ProxiesServiceProvider`.
- The methods to call code in `LegacyProxy` now use `call_user_func_array`.
2020-07-24 09:23:05 +02:00
Nestor Soriano 064ae558ab Changes in the overall organization of the dependency injection:
- The `Container` class now implements `Psr\Container\ContainerInterface`
  (and registers itself as such), holding a private instance of the
  real container. This way it's a read-only container from the point
  of view of plugins (which should use their own containers, but
  can still use this to get WooCommerce classes).
- All registrations are now done in the `Container` constructor via
  service providers.
- The container instance is now held in a global variable, set in
  `woocommerce.php`
- Added the `wc_get_container` function for old code.
- Added the `AbstractServiceProvider` class, which inherits with the
  corresponding League's class and adds some utility methods,
  most notably `add/shareWithAutoArguments`.
- Added the `ActionsProxy` and `LegacyProxy` classes, they are
  registered via a dedicated service provider.
- `WC_Queue_Interface` is no longer resolvable via the container
  (which is for classes inside `src` only).
- All the method names in the new classes have the format `fooBarFizz`
  to be PSR4 compliant, so the MethodNameInvalid error has been
  disabled in phpcs.xml for the `src` directory.
- Introduced the `@public` annotation for public API classes
  (classes that plugins can use and whose backwards compatibility
  we guarantee), applied to `ActionsProxy` and to `LegacyProxy` for now.
- Removed the hack for the autoloader as now it doesn't work anyway.
  For the changes in this branch to work, now WP_DEBUG must be false.
2020-07-24 09:23:01 +02:00
Nestor Soriano a7829525eb Changes in the dependency injection container:
- Renamed from `ObjectContainer` to `Container`.
- It now inherits from PHP League's `Container`.
- It has now a `defineAsSharedAutowired` method.
- Initialization moved to the `WooCommerce::init_container` method.
- The static method for object resolution is now `WooCommerce::get_instance_of`.
2020-07-24 09:20:24 +02:00
Nestor Soriano 281ec18158 Undo the registration of old singletons in the DI container.
The container will in principle be used only to register classes
in the `src` directory.

Also, CustomerProvider class removed.
2020-07-24 09:20:24 +02:00
Nestor Soriano 518c52b829 Move PSR4 autoloading from woocommerce.php to the Autoloader class 2020-07-24 09:20:24 +02:00
Nestor Soriano 312383ae47 First steps towards introducing a dependency injection framework.
- Add PHP League's Container package via Composer.
- Add an ObjectContainer class that encapsulates all the configuration
  and insulates the codebase from the concrete DI engine used.
- Add an improved ReflectionContainer class that will allow to
  register individual classes as singletons while autowiring.
- Use ObjectContainer to resolve the WooCommerce class, everything
  instantiated with "new" inside it, and all singletons that are
  usually obtained via WC() function.
- Introduce the CustomerProvider class.
- Introduce a service provider to resolve WC_Queue_Interface,
  this replaces the WC_Queue class.
- Mark as obsolete all the replaced "instance()" methods,
  and the entire WC_Queue class.
2020-07-24 09:20:21 +02:00
Peter Fabian 6bc0ca724f Update versions and changelog from latest releases. 2020-07-09 13:18:51 +02:00
Jonny Harris 3a9f8875c5
Update woocommerce.php 2020-05-27 23:44:30 +01:00
Jonny Harris 34163a613b
Add requires headers in plugin 2020-05-27 13:58:41 +01:00
Claudio Sanches f01c5a3b79 Start 4.3.0 development 2020-05-12 17:49:20 -03:00
Christopher Allford caa1a6d475 Merge remote-tracking branch 'origin/master' into fix/update-minimum-version 2020-04-16 14:46:17 -07:00
vedanshu.jain a8fb8aa7fe Updated version numbers 2020-04-07 17:06:18 +05:30
Christopher Allford 09df1205de Updated the minimum PHP version to 7.0 2020-04-06 17:07:33 -07:00
Rodrigo Primo 83691541c2 Bump WooCommerce version since 4.1.0 development has begun 2020-03-11 11:37:35 -03:00
Peter Fabian 422d8787f5 Updated version to 4.0.0-beta.1 2020-02-06 14:00:43 +01:00
Peter Fabian e83934edff Bumped versions for the upcoming release. 2020-01-31 17:53:02 +01:00
Claudio Sanches d8bb034425 Version 3.9.0 2020-01-21 21:13:54 -03:00
Claudio Sanches 2847322008 3.9.0-rc.4 2020-01-20 19:53:08 -03:00
Claudio Sanches 28718614d7 Version 3.9.0-rc.3 2020-01-15 21:17:57 -03:00
Claudio Sanches b20ecc648e Bump version to 3.9.0-rc.2 2019-12-27 13:54:38 -03:00
Claudio Sanches 93e3e5bfe1 Bump version to 3.9.0-rc.1 2019-12-23 19:28:57 -03:00
Claudio Sanches 22bbfe7511 3.9.0-beta.2 2019-12-18 20:37:05 -03:00
Claudio Sanches 57e78d701b Updated version to 3.9.0-beta.1 2019-12-10 18:28:56 -03:00
Gerhard Potgieter 5424b0ed31
Merge pull request #24969 from ranss/wc-anass
Use standarized plugin file path constant
2019-11-20 12:31:27 +02:00
vedanshujain 90a45ef9ef Update version to 3.9.0-dev 2019-11-05 17:23:52 +05:30
vedanshujain 59e6fbc9d8 Update stable version and readme.txt 2019-11-05 17:07:56 +05:30
Anass Rahou 2c01ddf09d Use standarized plugin file path constant 2019-11-04 17:27:30 -05:00
vedanshujain cd2a63c293 Update version to 3.8-beta.1 2019-10-03 12:07:16 +05:30
Gerhard cd5319e97f Make master 3.8 dev branch, move changelogs from readme.txt to changelog.txt and start new 3.8 changelog in readme.txt. 2019-08-01 11:35:17 +02:00