NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1472 most downloaded on pub.dev
Dart console SDK - write console (cli) apps/scripts using dart.
Last release 1 months ago
21 Aug 2026
Release timing varies
gaps range from 2 weeks to 4 months
Most releases are documented
notes for 42 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
6 years old
298 releases · first in 2020
One column per quarter.
updated documentation link.
updated documentation link.
Updated the homepage.
Updated the homepage.
removed the dcli symlink for sudo as it just wasn't going to work.
removed the dcli symlink for sudo as it just wasn't going to work.
performance improvements for unit tests.
Added working directory option to DartScript.compile.
Added
Fixed
Removed the call to globally activate dcli. We are not currently supporting the standalone dcli_install exe and there appears to be a bug in dart that stops us form do a global activate whilst running under sudo. https://github.com/dart-lang/sdk/issues/46255
Change the arguments to DartScript.run so that 'args' is an optional name paramter. I don't think this is in regular usage as yet so shouldn't cause too many issues and it will result in a compile error which is easy to fix.
Deprecated DartProject.current in favour of DartProject.self and DartScript.current in favour of DartScript.self. Current was ambigous; for a project…
Deprecated DartProject.current in favour of DartProject.self and DartScript.current in favour of DartScript.self. Current was ambigous; for a project was it the current running project or the one in the current directory. Change DartScript to self for consistency.
Fixed a bug caused by the dart_console. If you try to get the screen dimensions when no terminal is attached it causes the app to hang.
Changed the rootPath so it returns 'C:' on windows.
This release largely focuses on fixes for Windows.
This release largely focuses on fixes for Windows.
Changes:
Added:
hello.dart rather than dart hello.dartDeprecated:
Fixes:
withFileProtection. Allows you to back a collection of files/directories run an action and then restore any changes to those files/directories. Handy
Added new methods
Changes
keep arguments to withTempFile and withTempDir to preseve the temp directories. Handy for examining problems with unit tests.Fixes:
find failed if an absolute path was prepended to the pattern. Now works for no path, a relative path and an absolute path prefixed to the pattern.Known Problems:
Note we have found a problem using forEach with the start function.
start('ls *.txt').forEach( print);
Currently this works and look like it is going to have to be part of the process re-org we are working through. In the mean time you can use:
for (final line in start('ls *.txt', progress: Progress.capture().lines) {print(line);}
Deprecated FileSync.tempFile in favour of createTempFilename
Added new methods:
Changes:
Fixes:
Experimental:
Reverted method names on DartScript from pathToDartScript to pathToScript and similar to reduce api breakage.
Reverted method names on DartScript from pathToDartScript to pathToScript and similar to reduce api breakage.
Fixed accidentail breakage. renamed some methods to use 'library' rather than 'script'.
Renamed Script to DartScript to make way for integration with cli_script.
Breaking Change:
Renamed Script to DartScript to make way for integration with cli_script.
As Script was labelled as an internal class this hopefully shouldn't be too disruptive.
DartScript is now part of the public api.
Code changes should simply required changing Script to DartScript as the api is identical.
Progress ctor now setting _includedStd(out, err) based on whether devNull is passed as the relevant LineAction. Previously _includeStderr wasn't being enabled if a LineAction was passed.
Improvements to processing of 'detached' processes.
Added sudo tag to tests so these can be run separately.
Fixed a bug where nothrow was not being passed down pubRun.
Improved doco on detached argument to start.
Changed the installer (yet again) to require privileges to be run. We now releasePrivileges to and withPrivileges to provide more precise control over what we execute with privileges.
Fixed a bug in the menu function when the passed 'limit' argument is greater than the no. of options.
Fixed a bug in the menu function when the passed 'limit' argument is greater than the no. of options.
Breaking Change: Change the 'search' argument on DartProject.fromPath to default to true rather than false. On looking at the documentation and the co…
Breaking Change:
Change the 'search' argument on DartProject.fromPath to default to true rather than false.
On looking at the documentation and the common usages the search logic is assumed to be on.
This should only affect a small no. of people as you would only want search off if you are creating a dart project from scratch.
New:
Changes:
Fixed a bug in the createTempDir method and added unit test for same.
Fixed a bug in the createTempDir method and added unit test for same.
Exposed method createTempDir.
Exposed method createTempDir.
BUG: runPubGet was not passing down the Progress so you couldn't dump the output if so desired.
BUG: runPubGet was not passing down the Progress so you couldn't dump the output if so desired.
Updated readme.
Updated readme.
Deprecated ProgressWithCapture and moved the capture logic into the base Progress class. Use Progress.capture() instead.
Deprecated ProgressWithCapture and moved the capture logic into the base Progress class. Use Progress.capture() instead.
startFromArgs('ls', ['-la']);
becomes
startFromArgs('ls', ['-la'], progress: Progress.print);
This change is in response to issue #134
Update README.md
Update README.md
Added method isPrivilegedPasswordRequired to test if the sudo password is currently cached.
Enhancements:
Fixed a bug in the shell detection logic.
Fixed a bug in the shell detection logic.
Replace now takes a Pattern so you can do a Regx replacement as well as a simple string replacement.
Replace now takes a Pattern so you can do a Regx replacement as well as a simple string replacement.
No major changes. The api is now stable enough for us to consider this a 1.0 release :) upgraded to release versions os csv, equatable and ini package
No major changes. The api is now stable enough for us to consider this a 1.0 release :) upgraded to release versions os csv, equatable and ini package.
Fixed a bug ith the install when 'pub' command is not on the path. Now correctly uses dart pub.
Fixed a bug ith the install when 'pub' command is not on the path. Now correctly uses dart pub.
- Added createTempDir. - Added a regex validator.
Added class ProgessWithCapture thanks to @passsy for the contribution and suggestions.
Added work around for "Invalid Argument' when using the find command over a steam directory tree. We just log the path and keep on trucking.
Added work around for "Invalid Argument' when using the find command over a steam directory tree. We just log the path and keep on trucking.
Added code to return the exit code even when running a process in a terminal. This is to resolve #100. However I'm not certain if the exit code will b
Added code to return the exit code even when running a process in a terminal. This is to resolve #100. However I'm not certain if the exit code will be meaningful as it might just be the terminals exit code.
Added new createTempDir thanks to @Reductions
Moved to only support 2.12 and not the beta.
tweaked the template expander to remove any lint warnings. Updated the expander so that it updates the dcli and package versions.
Remove the lock logic around creating as testfile system as its no longer needed and greatly slows down testing.
Change default shell detection expected as mostly we run it from the cli.
Added logic so that the template builder updates the dcli and dependency versions to match the current versions used by dcli.
Migrated to full set of lint rules in lint package. First pass revert to 80chars.
moved back to using pubspec now that nnbd version has been released.
moved to official validators library.
Hack to get around getIsolateID nndb bug.
Hack to get around getIsolateID nndb bug.
Updated to latest readme content from gitbooks
Updated template pubspec.yaml to have the correct args package. Updated the installer so that it replaces the templates when a new version of dcli is
Updated template pubspec.yaml to have the correct args package. Updated the installer so that it replaces the templates when a new version of dcli is installed.
removed hard coded verbose:true statement
removed hard coded verbose:true statement
Fixed the toList String extensions so that it never returns nulls.
Fixed the toList String extensions so that it never returns nulls.
Extended version ranges for ini.
Extended version ranges for ini.
re-added ini support. Upgraded to latest packages.
re-added ini support. Upgraded to latest packages.
re-added args as a transitive dependency. I'm still uncertain if this is a good idea.
re-added args as a transitive dependency. I'm still uncertain if this is a good idea.
Removed support for 32bit installs until system_info releases a nnbd version.
First full nnbd release.
removed suffix as no longer supported.
Reverted posix and intl upgrades as they required 2.12.
Reverted posix and intl upgrades as they required 2.12.
upgraded intl.
upgraded intl.
Added logging for symlink related funcitons.
Added verbose output when setting environment vars.
Added verbose output when setting environment vars.
Exposed isXXX members that were being hidden for no good reason.
Exposed isXXX members that were being hidden for no good reason.
Improved the move error message when the target directory doesn't exist.
Removed code in env which tried to update the platform.environment settings which of course is impossible.
Removed code in env which tried to update the platform.environment settings which of course is impossible.
Nothing published for this version
Added documentation for compile method.
Release due to bug in pub_release that was not updating the 'latest' tag
Release due to bug in pub_release that was not updating the 'latest' tag
Fixed bug in getlogin (Shell.loggedInUser) when running in docker. Now corretly returns 'root' as before it was seg faulting in the posix code.
Fixed bug in getlogin (Shell.loggedInUser) when running in docker. Now corretly returns 'root' as before it was seg faulting in the posix code.
With pub_release fixed so it can upload assets this release is to take advantage of that
With pub_release fixed so it can upload assets this release is to take advantage of that
Testing of pub_release uploading exes.
Testing of pub_release uploading exes.
Improved documentation around waitForEx stack traces and added a test for same.
BREAKING CHANGE: renamed the find argument 'root' to ' workingDirectory'. As I'm using the api I've found that I naturally go to use workingDirectory…
Added release hook to activate published version of dcli.
Added tests for loggedInUsersHome.
reverted to returning null for a non-existing key as the changes were too destructive and end up with rather ugly code.
Minor changes to progress messages.
Minor changes to progress messages.
Introduced isPrivilegedProcess so we can always tell if we started with privilegese. Changed isPrivilegedUser back to its original semantics in that i
Introduced isPrivilegedProcess so we can always tell if we started with privilegese. Changed isPrivilegedUser back to its original semantics in that it reflects the current effective user id. Fixed withPrivileges so it uses isPriviliegedProcess to correctly determine if privileges exist. Fix the 'start' function so that it interats correctly with wiithPrivileges and releasePrivileges.
BREAKING CHANGE: Accessing an environment key which doesn't exists now throws EnvironmentKeyNotFound rather than returning a null. This is in prepare…
Your coding agent can read these notes before it upgrades. Set up the MCP server →