PackageTrack
Sign in Get early access

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 2025
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 28
  1. 4.2.4 30 Oct 2025
    Release notes
    • Downgrades the test dependency to 1.26.2 to make it compatible with Flutter stable (3.35.7).
    Open source →
  2. 4.2.3 13 Oct 2025
    Release notes
    • Propagate includeParentEnvironment to process manager (fixes #36)
    Open source →
  3. 4.2.2 10 Oct 2025
    Release notes
    • Refactoring the main run method in ProcessRunner into smaller, more manageable private methods.
    • Enhancing FakeProcessManager to differentiate commands based on their working directory and the runInShell parameter, and adding more comprehensive tests for it.
    • Making the addition of dependencies in ProcessPool idempotent (do nothing if the dependency already exists).
    • Updating the CI to track the main branch.
    • Adding a number of new tests to cover stdin handling, runInShell behavior, and exception scenarios.
    Open source →
  4. 4.2.1 10 Oct 2025
    Release notes
    • Updates analysis_options.yaml to modern lints, and updates formatting.
    • Moves FakeProcessManager to the main package so developers can use it for testing. Not exported from the main package import.
    Open source →
  5. 4.2.0 21 Dec 2023
    Release notes
    • Adds WorkerJobGroup for 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.
    Open source →
  6. 4.1.4 11 Oct 2023
    Release notes
    • Bump dependency version for process.
    Open source →
  7. 4.1.3 11 Oct 2023
    Release notes
    • Bump dependency version for file.
    • Bump dependency version for platform package so process_runner works with newer versions of dart:io.
    Open source →
  8. 4.1.2 04 Oct 2021
    Release notes
    • Reduces process pool output in "report" mode by not printing individual completions.
    Open source →
  9. 4.1.1 01 Oct 2021
    Release notes
    • Adds missing dependency on args package to allow global activate.
    Open source →
  10. 4.1.0 01 Oct 2021
    Release notes
    • 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 ProcessRunnerException if a job fails and failOk on that job is false.
    Open source →
  11. 4.0.1 29 Apr 2021
    Release notes
    • Add startMode to allow passing of a ProcessStartMode to ProcessRunner.runProcess, added live tests, and brought back args package for the example, now that args is null safe.
    Open source →
  12. 4.0.0 18 Mar 2021
    Release notes
    • Convert dependencies to stable versions of the now null-safe packages.
    • Modified WorkerJob.result to be non-nullable, and initialized with an empty result.
    Open source →
  13. 4.0.0-nullsafety.5 04 Nov 2020 pre-release

    Nothing published for this version

  14. 4.0.0-nullsafety.4 26 Oct 2020 pre-release
    Release notes
    • Expand the sdk constraint to <2.12.0.
    Open source →
  15. 4.0.0-nullsafety.3 17 Oct 2020 pre-release
    Release notes
    • Rebase onto non-nullsafety version 3.1.1 to pick up those changes.
    Open source →
  16. 4.0.0-nullsafety.2 14 Oct 2020 pre-release
    Release notes
    • Rebase onto non-nullsafety version 3.1.0 to pick up those changes.
    Open source →
  17. 4.0.0-nullsafety.1 22 Sep 2020 pre-release
    Release notes
    • Expand the sdk constraint to <2.11.0.
    Open source →
  18. 4.0.0-nullsafety 20 Aug 2020 pre-release
    Release notes
    • Convert to non-nullable by default, enable null-safety experiment for Dart.
    Open source →
  19. 3.1.1 17 Oct 2020
    Release notes
    • 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.
    Open source →
  20. 3.1.0 14 Oct 2020
    Release notes
    • Add exception to the WorkerJob so 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.
    Open source →
  21. 3.0.0 15 Aug 2020
    Release notes
    • Breaking change to change the result given in the ProcessRunnerException to be a ProcessRunnerResult instead of a ProcessResult, which can't include the interleaved stdout/stderr output for failed commands.
    • Modified the ProcessPool to set the result correctly on failed jobs.
    Open source →
  22. 2.0.5 14 Aug 2020
    Release notes
    • Added WorkerJob.failOk so that failure message of failed worker jobs is suppressed by default, but can be turned on.
    Open source →
  23. 2.0.4 31 Jul 2020
    Release notes
    • Added printOutputDefault to the ProcessRunner constructor, and updated docs.
    Open source →
  24. 2.0.3 30 Jul 2020
    Release notes
    • Updated README.md to fix a broken example. Bumping version to get updated docs on pub.dev.
    Open source →
  25. 2.0.2 30 Jul 2020
    Release notes
    Open source →
  26. 2.0.1 30 Jul 2020
    Release notes
    • 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.
    Open source →
  27. 2.0.0 29 Jul 2020
    Release notes
    • Breaking change to modify the stderr, stdout, and output members of ProcessRunnerResult so that they return pre-decoded Strings instead of List<int>s. Added stderrRaw, stdoutRaw, and outputRaw members that return the original List<int> values. Decoded strings are decoded by a new decoder optional argument which uses SystemEncoder by default.

    • Breaking change to modify the stdin member of WorkerJob so that it is a Stream<String> instead of Stream<List<int>>, and a new stdinRaw method that is a Stream<List<int>>. Added an encoder attribute to ProcessRunner that provides the encoding for the stdin stream, as well as the default decoding for results.

    • Added ProcessPool.runToCompletion convenience function to provide a simple interface that just delivers the final results, without dealing with streams.

    • Added more tests.

    Open source →
  28. 1.0.0 29 Jul 2020
    Release notes
    • Initial version
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive