process_runner
A process invocation abstraction for Dart that manages a multi-process queue.
4.2.4
515K downloads/mo
#508 most downloaded on pub.dev
google/process_runner
What this package is like to depend on
Last release 9 months ago
30 Oct 2025
Ships unpredictably
gaps range from 9 days to 2.0 years
Nearly every release is documented
notes for 22 of 22 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
28 releases · first in 2020
4 releases in the last 12 months
see the full history below
Release timeline
28 releases · Jul 2020 to Oct 2025Releases
latest 28-
4.2.430 Oct 2025Release notes
Open source →- Downgrades the test dependency to 1.26.2 to make it compatible with Flutter stable (3.35.7).
-
4.2.313 Oct 2025 -
4.2.210 Oct 2025Release notes
Open source →- Refactoring the main
runmethod inProcessRunnerinto smaller, more manageable private methods. - Enhancing
FakeProcessManagerto differentiate commands based on their working directory and therunInShellparameter, and adding more comprehensive tests for it. - Making the addition of dependencies in
ProcessPoolidempotent (do nothing if the dependency already exists). - Updating the CI to track the main branch.
- Adding a number of new tests to cover
stdinhandling,runInShellbehavior, and exception scenarios.
- Refactoring the main
-
4.2.110 Oct 2025Release notes
Open source →- Updates analysis_options.yaml to modern lints, and updates formatting.
- Moves
FakeProcessManagerto the main package so developers can use it for testing. Not exported from the main package import.
-
4.2.021 Dec 2023Release notes
Open source →- Adds
WorkerJobGroupfor running a group of dependent tasks in order. - Adds the ability to have one job depend on another, so that order between jobs can be enforced.
- Adds
-
4.1.411 Oct 2023 -
4.1.311 Oct 2023Release notes
Open source →- Bump dependency version for
file. - Bump dependency version for platform package so process_runner works with newer versions of dart:io.
- Bump dependency version for
-
4.1.204 Oct 2021Release notes
Open source →- Reduces process pool output in "report" mode by not printing individual completions.
-
4.1.101 Oct 2021 -
4.1.001 Oct 2021Release notes
Open source →- Adds a pub-installable command line utility, based on the example code, to run a tasks queue of commands from a command line. See README.md for more details.
- Example code is updated.
- Now throws a
ProcessRunnerExceptionif a job fails andfailOkon that job isfalse.
-
4.0.129 Apr 2021Release notes
Open source →- Add startMode to allow passing of a ProcessStartMode to
ProcessRunner.runProcess, added live tests, and brought back
argspackage for the example, now thatargsis null safe.
- Add startMode to allow passing of a ProcessStartMode to
ProcessRunner.runProcess, added live tests, and brought back
-
4.0.018 Mar 2021Release notes
Open source →- Convert dependencies to stable versions of the now null-safe packages.
- Modified
WorkerJob.resultto be non-nullable, and initialized with an empty result.
-
4.0.0-nullsafety.504 Nov 2020 pre-releaseNothing published for this version
-
4.0.0-nullsafety.426 Oct 2020 pre-release -
4.0.0-nullsafety.317 Oct 2020 pre-release -
4.0.0-nullsafety.214 Oct 2020 pre-release -
4.0.0-nullsafety.122 Sep 2020 pre-release -
4.0.0-nullsafety20 Aug 2020 pre-releaseRelease notes
Open source →- Convert to non-nullable by default, enable null-safety experiment for Dart.
-
3.1.117 Oct 2020Release notes
Open source →- Reverted part of the migrated null safety changes, as defaulting to the current directory for WorkerJobs inadvertently changes behavior.
- Updated the testing harness to also check for working directory in invocations.
-
3.1.014 Oct 2020Release notes
Open source →- Add
exceptionto theWorkerJobso that when commands fail to run, the exception output can be seen. - Fixed a problem with the default output function where it didn't count failed jobs as finished.
- Removed dependency on mockito and args to match nullsafety version.
- Add
-
3.0.015 Aug 2020Release notes
Open source →- Breaking change to change the
resultgiven in theProcessRunnerExceptionto be aProcessRunnerResultinstead of aProcessResult, which can't include the interleaved stdout/stderr output for failed commands. - Modified the
ProcessPoolto set the result correctly on failed jobs.
- Breaking change to change the
-
2.0.514 Aug 2020Release notes
Open source →- Added
WorkerJob.failOkso that failure message of failed worker jobs is suppressed by default, but can be turned on.
- Added
-
2.0.431 Jul 2020Release notes
Open source →- Added
printOutputDefaultto theProcessRunnerconstructor, and updated docs.
- Added
-
2.0.330 Jul 2020Release notes
Open source → -
2.0.230 Jul 2020Release notes
Open source → -
2.0.130 Jul 2020Release notes
Open source →- Modified the package structure to get credit for having an example
- Moved sub-libraries into lib/src directory to hide them from dartdoc.
- Updated example documentation.
-
2.0.029 Jul 2020Release notes
Open source →-
Breaking change to modify the stderr, stdout, and output members of
ProcessRunnerResultso that they return pre-decodedStrings instead ofList<int>s. AddedstderrRaw,stdoutRaw, andoutputRawmembers that return the originalList<int>values. Decoded strings are decoded by a newdecoderoptional argument which usesSystemEncoderby default. -
Breaking change to modify the
stdinmember ofWorkerJobso that it is aStream<String>instead ofStream<List<int>>, and a newstdinRawmethod that is aStream<List<int>>. Added anencoderattribute toProcessRunnerthat provides the encoding for thestdinstream, as well as the default decoding for results. -
Added
ProcessPool.runToCompletionconvenience function to provide a simple interface that just delivers the final results, without dealing with streams. -
Added more tests.
-
-
1.0.029 Jul 2020