{"push_id":842131311,"size":1,"distinct_size":1,"ref":"refs/heads/package-management","head":"093f6c811e977d2128899981e22a7b6ae682e843","before":"284e97c0c2d6cb6df84b2ac3f55841b28ed57cf9","commits":[{"sha":"093f6c811e977d2128899981e22a7b6ae682e843","author":{"email":"2314b2e3a4a1f7db165be2aafbf1efd78f28cc97@flownative.com","name":"Christian Mueller"},"message":"[!!!][TASK] Refactor package management\n\nThis is a major refactoring of the package management.\nWith this change the structure of the ``PackageStates`` file\nis overhauled now using the composer key for consistency to\navoid problems if namespace or autoload information changes\nas that would change the (Flow) package name. Additionally\nmakes the resolution mechanism for Flow package names more\nrobust and stores additional metadata in the PackageStates to\navoid loading all composer manifests at runtime.\nFurthermore the package loading order generation was improved\nby using a more sophisticated algorithm to get the order right.\nAll the changes together lead to a noticeable speed\nimprovement in runtime situations.\nDeactivating packages now results in the package being moved out\nof regular package paths into an ``Inactive`` directory.\n\nThe Following changes make this change a breaking change:\nNew packages are only automatically picked up if they were\ninstalled via composer or created through the Flow package\nmanagement. In all other cases you need to run the:\n``package:rescan`` command to pick new package up.\n\nSome @api methods in the PackageManager (and Interface) have\na modified structure due to deprecation of the package\nmetadata classes. Specifically the ``createPackage`` method has\nchanged.\n\nSome @api classes and methods were deprecated.\n\nThe whole MetaData part of the package management is no longer\nused and will be removed in the next major version.","distinct":true,"url":"https://api.github.com/repos/kitsunet/flow-development-collection/commits/093f6c811e977d2128899981e22a7b6ae682e843"}]}