Releases: webmozarts/console-parallelization
Releases · webmozarts/console-parallelization
2.1.2
2.1.1
2.1.0
2.0.2
Bugfixes
Misc
2.0.1
2.0.0
Changelog since 1.2.4:
Highlights
- A user-friendly BC layer
- A new
ParallelMap
command as an alternative to theParallelization
trait - A lot more extension points, more comprehensive extension points, more user-friendly validation
- Remove the
master
terminology usage - Allow the processing of an unknown number of items
- Guesses the maximum number of parallel processes it can use (no longer need to pass
processes=X
) - Allow the library to be used in a non-Symfony app context
This release contains a number of BC breaks, they should all be explained in UPGRADE.md.
Features
- Remove support for PHP 7.3 (#57)
- Remove support for Symfony 3, 4.x except 4.4, 5.x except 5.4 (#57, #60, #61)
- Rework in depth the codebase to provide more re-usable and testable pieces
- Modernize the codebase via PHPStan/PHPStorm (#70, #71, #72)
ItemBatchIterator
/ChunkedItemsIterator
:- Rename
ItemBatchIterator
toChunkedItemsIterator
(#69) - Remove
ItemBatchIterator#batchSize
(#68) - Introduce a
::fromStream()
static factory which makes it more convenient to create the iterator forSTDIN
whilst allowing testing easily without relying onSTDIN
(#75) - Rename
::create()
to::fromItemOrCallable()
(#75) - Move the normalization of items from
__construct()
to the static factories, this makes testing a lot easier (#75) - Simplify some tests: when testing the static factories we are only interested in the items themselves since the batchSize is just forwarded. The chunk logic is tested when testing the constructor directly (#75)
- Rename
ParallelizationInput
:InputOptionsSerializer
:Logger
:ProcessLauncher
:- Remove string command from ProcessLauncher (#83)
ParallelExecutor
/ParallelExecutorFactory
ErrorHandler
ProcessLauncher
/ProcessLauncherFactory
Parallelization
:- Remove logError property (#107)
Configuration
:- Add a
ParallelizationCommand
console command (#121) ChildCommandFactory
:- Extract child command factory into a class (#157)
- Add a dot at the end of each exception message sentence (#73)
- Remove dependencies to the Container (#88, #91, #92, #95, #109, #111)
- Allow a unknown count of items (#128)
- Automatically set the maximum number of processes to use (#137)
- Always do processing in child processes unless --main-process is passed (#138)
- Add a more friendly BC layer (#139)
- Limit the number of parallel processes (#147)
- Ensures the item is processed in the main process when given (#145)
- Keep track of the exit codes (#154)
- Pass output to the logger factory (#156)
- Always pass the full IO (#167)
- Improve Logger docs and re-order the methods (#169)
- Rename logger methods (#170)
- Handle negative process exit code (#171)
- Improve the Logger API (#168)
- Forward the child process output type to the logger (#174)
- Rework the output (#166)
- Update parallelization input arguments and options description (#175)
- Add batch and segment size options (#163)
Bugfixes
- Fix the handling of negatable options when forwarding the options to the child process(es) (#77, #123)
- Fix the options quoting detection when forwarding the options to the child process(es) (#77)
- Fix the forwarding of options: do not forward non given options (#81)
- Fix the support of resettable containers and more generally resettable services (#88)
- Prevent an item to be passed to a child process via the argument (#126)
- Fix the calculation of the segment size (#132)
- Fix the calculation of the batch size (#132)
- Use the validated/calculated segment size instead of the user configured one (#133)
- Ensure the items do not contain new lines (#148)
- Fix child command generation if the command or item argument are not passed as the first argument (#158)
- Do not forward default arguments to the child process(es) (#158)
- Properly escape the PHP executable (#162)
- Handle the case where no items has been returned (#178)
Misc
- Migrate from Travis CI to GitHub Actions (#56)
- Rework the initial CI to an acceptable state (#62, #13, #64, #65)
- Update CS (#58, #59, #63, #66, #108, #125)
- Improve the developer development experience with the Makefile (#84, #101, #159, #161)
- Upgrade to PHPUnit 9 (#85)
- Add infection (#89)
- Simplify the passed environment variables (#91)
- Rename PHP executable finder (#93)
- Pass progress symbol as a parameter instead of part of the constructor (#97)
- Add a variety of tests and make the tests more robust (#102, #124, #141)
- Add missing tests to reach 100% code coverage (#105)
- Fix issues pointed by Infection (#106)
- Move Inputs related classes under an Input namespace (#110)
- Remove references to "master" (#118)
- Add code of conduct (#119)
- Checks the Symfony different version compatibilies in the CI (#122, #123)
- Rename "number of batches" to "total number of batches" (#131)
- Split the PHPStan configuration (#135)
- Go to a higher level for PHPStan (#127)
- Add a test script to check how it works with no framework (#142)
- Remove legacy container tests (#144)
- Add @internal tag (#150)
- Restore default batch size configuration (#151)
- Remove obsolete TODOs (#152, #155)
- Add a method to get the input raw arguments (#160)
- Add missing @internal tags (#165)
- Fix PHPUnit coverage (#172)
- Fix flaky tests (#173)
- Introduce a more convenient exception for unexpected calls (#177)
2.0.0-beta.2
2.0.0-beta.1
[BC Break]: BC break when migrating from 1.x.
[Beta BC break]: BC break when migrating from 2.0.0-beta.0.
Features
- [BC Break] Always pass the full IO (#167)
- [Beta BC break] Improve Logger docs and re-order the methods (#169)
- [Beta BC break] Rename logger methods (#170)
- Handle negative process exit code (#171)
- [Beta BC break] Improve the Logger API (#168)
- [Beta BC break] Forward the child process output type to the logger (#174)
- Rework the output (#166)
- Update parallelization input arguments and options description (#175)
- Add batch and segment size options (#163)
Misc
2.0.0-beta.0
Highlights
- A user-friendly BC layer
- A new
ParallelMap
command as an alternative to theParallelization
trait - A lot more extension points, more comprehensive extension points, more user-friendly validation
- Remove the
master
terminology usage - Allow the processing of an unknown number of items
- Guesses the maximum number of parallel processes it can use (no longer need to pass
processes=X
) - Allow the library to be used in a non-Symfony app context
This release contains a number of BC breaks, they should all be explained in UPGRADE.md.
Features
- Remove support for PHP 7.3 (#57)
- Remove support for Symfony 3, 4.x except 4.4, 5.x except 5.4 (#57, #60, #61)
- Rework in depth the codebase to provide more re-usable and testable pieces
- Modernize the codebase via PHPStan/PHPStorm (#70, #71, #72)
ItemBatchIterator
/ChunkedItemsIterator
:- Rename
ItemBatchIterator
toChunkedItemsIterator
(#69) - Remove
ItemBatchIterator#batchSize
(#68) - Introduce a
::fromStream()
static factory which makes it more convenient to create the iterator forSTDIN
whilst allowing testing easily without relying onSTDIN
(#75) - Rename
::create()
to::fromItemOrCallable()
(#75) - Move the normalization of items from
__construct()
to the static factories, this makes testing a lot easier (#75) - Simplify some tests: when testing the static factories we are only interested in the items themselves since the batchSize is just forwarded. The chunk logic is tested when testing the constructor directly (#75)
- Rename
ParallelizationInput
:InputOptionsSerializer
:Logger
:ProcessLauncher
:- Remove string command from ProcessLauncher (#83)
ParallelExecutor
/ParallelExecutorFactory
ErrorHandler
ProcessLauncher
/ProcessLauncherFactory
Parallelization
:- Remove logError property (#107)
Configuration
:- Add a
ParallelizationCommand
console command (#121) ChildCommandFactory
:- Extract child command factory into a class (#157)
- Add a dot at the end of each exception message sentence (#73)
- Remove dependencies to the Container (#88, #91, #92, #95, #109, #111)
- Allow a unknown count of items (#128)
- Automatically set the maximum number of processes to use (#137)
- Always do processing in child processes unless --main-process is passed (#138)
- Add a more friendly BC layer (#139)
- Limit the number of parallel processes (#147)
- Ensures the item is processed in the main process when given (#145)
- Keep track of the exit codes (#154)
- Pass output to the logger factory (#156)
Bugfixes
- Fix the handling of negatable options when forwarding the options to the child process(es) (#77, #123)
- Fix the options quoting detection when forwarding the options to the child process(es) (#77)
- Fix the forwarding of options: do not forward non given options (#81)
- Fix the support of resettable containers and more generally resettable services (#88)
- Prevent an item to be passed to a child process via the argument (#126)
- Fix the calculation of the segment size (#132)
- Fix the calculation of the batch size (#132)
- Use the validated/calculated segment size instead of the user configured one (#133)
- Ensure the items do not contain new lines (#148)
- Fix child command generation if the command or item argument are not passed as the first argument (#158)
- Do not forward default arguments to the child process(es) (#158)
- Properly escape the PHP executable (#162)
Misc
- Migrate from Travis CI to GitHub Actions (#56)
- Rework the initial CI to an acceptable state (#62, #13, #64, #65)
- Update CS (#58, #59, #63, #66, #108, #125)
- Improve the developer development experience with the Makefile (#84, #101, #159, #161)
- Upgrade to PHPUnit 9 (#85)
- Add infection (#89)
- Simplify the passed environment variables (#91)
- Rename PHP executable finder (#93)
- Pass progress symbol as a parameter instead of part of the constructor (#97)
- Add a variety of tests and make the tests more robust (#102, #124, #141)
- Add missing tests to reach 100% code coverage (#105)
- Fix issues pointed by Infection (#106)
- Move Inputs related classes under an Input namespace (#110)
- Remove references to "master" (#118)
- Add code of conduct (#119)
- Checks the Symfony different version compatibilies in the CI (#122, #123)
- Rename "number of batches" to "total number of batches" (#131)
- Split the PHPStan configuration (#135)
- Go to a higher level for PHPStan (#127)
- Add a test script to check how it works with no framework (#142)
- Remove legacy container tests (#144)
- Add @internal tag (#150)
- Restore default batch size configuration (#151)
- Remove obsolete TODOs (#152, #155)
- Add a method to get the input raw arguments (#160)
2.0.0-alpha.0
Merge pull request #53 from theofidry/merge-master-to-1.x Merge master to 1.x