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 5 days ago
20 Sep 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
299 releases · first in 2020
One column per quarter.
BREAKING CHANGE: Accessing an environment key which doesn't exists now throws EnvironmentKeyNotFound rather than returning a null. This is in prepare…
Implemented Shell.current.releasePrivileges and Shell.current.withPriviliges
Implemented Shell.current.releasePrivileges and Shell.current.withPriviliges
Made the Script.isCompiled method more reliable.
Changed logic that obtains the scripts path to handle more scenarios.
Added additional checks for version nos.
Added additional checks for version nos.
Added method to check if the script is running from pub-cache.
Added method to check if the script is running from pub-cache.
Fixes #126 - Does not like dashes in directory name. We now replace any invalid chars in the project name with _.
Fixed a bug where the fetch caused an app to not shutdown as we failed to close the client.
Fixed a bug on osx where the install was looking for dart in the wrong place.
Fixed a bug on osx where the install was looking for dart in the wrong place.
tried removing the futures now we fixed the core problem with the stackoverflow.
Fixed bug for windows cmd shell when running isPriviligedUser
Fixed bug for windows cmd shell when running isPriviligedUser
Removed the development mode requirement for dcli as we no longer symlink under windows.
change calls to 'pub' to 'dart pub'.
change calls to 'pub' to 'dart pub'.
finally fixed the clearLine method. Looks like it was the flush in the echo method that was causing the problem. Now using stdout.write directly.
finally fixed the clearLine method. Looks like it was the flush in the echo method that was causing the problem. Now using stdout.write directly.
Updated the path to use a test script rather than the eample directory.
We now take pub from the PATH rather than calculating it from the dart directory as on some systems its not in the dart-sdk dir.
We now test if dart compile is supported (2.10 onwards) and use that rather than dart2native.
We now test if dart compile is supported (2.10 onwards) and use that rather than dart2native.
Added support in the find method for patterns that contain a partial path.
renamed example/readme.md to example/example.md as looks like the doco I found was wrong on what name was required.
renamed example/readme.md to example/example.md as looks like the doco I found was wrong on what name was required.
Created an examples/readme.md to highlight additional examples.
Created an examples/readme.md to highlight additional examples.
Fixed code that was using find and forgetting to turn recursion off.
Fixed code that was using find and forgetting to turn recursion off.
Added exception handler to find to deal with files being deleted during the find operation.
Added exception handler to find to deal with files being deleted during the find operation.
Fixed two bugs in the NamedLock which effectively made it totally non-functional. The lock name had changed to have a leading '.' which meant the find
Added methods to encode environment vars to json and then restore them from json.
Added methods to encode environment vars to json and then restore them from json.
Added 'entries' and 'addAll' methods to Env.
Added method to save the environment back to the platform.
Added method to save the environment back to the platform.
command line completion for dcli cli: added test for an invalid path. Added logic to quote paths that contains spaces. Added bash option so it won't a
command line completion for dcli cli: added test for an invalid path. Added logic to quote paths that contains spaces. Added bash option so it won't add a space after directory names.
tweak tab completion so that dir/ matches the ls behaviour.
tweak tab completion so that dir/ matches the ls behaviour.
Simplified the logic and doing a better job of directory expansion. Still has a problem with two matching directories.
Simplified the logic and doing a better job of directory expansion. Still has a problem with two matching directories.
tab completion now works with a complete directory name as the search word.
tab completion now works with a complete directory name as the search word.
work on improving the tab completion when a partial path is entered.
work on improving the tab completion when a partial path is entered.
Fixed a bug in confirm as it needs to explictly set required .
Fixed a bug in confirm as it needs to explictly set required .
upgraded package versions for dart 2.10 compatability.
the root dir was not deterministic for testing so changed to a path we own.
Update windows_installer.yml
Fixes for unit tests
the root dir was not deterministic for testing so changed to a path we own.
removed the bash launcher and changed expect to sh.
added missing default.
add arg to suppress dcli install.
removed the @pubspec as we no longer support it.
Added option to test file system to no install dcli so we can test installing dcli.
Moved to using the Shell install method.
dcli create - improved doco and made the creating script prompt green.
Updated DartProject.current so that it works somewhat intelligently for compiled scripts.
Added DartProject.current which will return the current script's dart project.
Added DartProject.current which will return the current script's dart project.
Fixed git_release script so that it stores the settings in a config file.
Fixed git_release script so that it stores the settings in a config file.
Fixed a bug with the logic to check for dart. Had the found logic inverted.
Fixed a bug with the logic to check for dart. Had the found logic inverted.
exported the Dependency class.
exported the Dependency class.
Changed which again. It now returns a specific class (Which) that contains information specfic to the which command which makes it much more intuitive
Breaking Change: Changed the which function to return an list of paths rather than a progress as users expect to diretcly access the list. Added an ho…
Breaking Change: Changed the which function to return an list of paths rather than a progress as users expect to diretcly access the list. Added an hours interval to sleep.
Exposed the 'Interval' enum used by the sleep method.
Exposed the 'Interval' enum used by the sleep method.
somehow I reverted the code to remove the workingdirectory.
somehow I reverted the code to remove the workingdirectory.
breaking change: PubSpec now returns a map for dependencies and dependency overrides rather than a list.
This release includes significant changes to the dcli command line.
Exposed DartProject class as part of the public api
For each of the color function we have changed the argument bgcolor to background.
ENH: Added bold option to ansi colors and made it the default for the set of built in colors e.g. red(), green()
In a docker shell SUDO_USER isn't defined so we need to default back to 'root'
In a docker shell SUDO_USER isn't defined so we need to default back to 'root'
Improved the sudo detection.
Fixed the install so it will work for a root usage such as in a docker container.
Added ask and confirm examples to the script
PubSpecFile has been replaced with PubSpec.
Reduced pubspec to a single class now we have removed virtual projects.
This is a major update which has removed support for virtual pubspecs and pubspec annotations. The reality was that in production we used neither of t
This is a major update which has removed support for virtual pubspecs and pubspec annotations. The reality was that in production we used neither of these as ide's don't work with out an actual pubspec and in as the code built up we would normally cluster files into a single directory so having a pubspec wasn't an issue.
Change dcli create to generate a pubspec.yaml and an analysis_options.yaml. Also now generates a more complex sample using a template.
Updated readme to refer to the new gitbook manual. touch : now returns the path that was passed in. Documentation improvements. Added Ask.any and Ask.
Updated readme to refer to the new gitbook manual. touch : now returns the path that was passed in. Documentation improvements. Added Ask.any and Ask.all. Exposed all of the built in validators as methods.
added method to get overriden dependencies.
added method to get overriden dependencies.
Added requirements for privileges when installing so we can set up paths for sudo usage of dcli. Also added option to disable the requirement primaril
Breaking changes:
Non breaking changes
removed env() and setEnv() and replaced them with operators env[] and env[]=
removed env() and setEnv() and replaced them with operators env[] and env[]=
Fixed a bug in the Progress.stream mehthod. It was only outputing stdout and it needs to also output stderr. It now does.
Fixed a bug in the Progress.stream mehthod. It was only outputing stdout and it needs to also output stderr. It now does.
renamed _pubCacheBinDir to _pubCacheBinPath for consistency.
Refactored methods names related to paths. They now all start with a pathTo prefix.
Breaking changes:
All methods that refer to the PATH environment variable now use the capitalised word PATH in the method name.
Renamed dshell to dcli to better reflect its functionality and improve its discoverability on the pub.dev store.
Renamed dshell to dcli to better reflect its functionality and improve its discoverability on the pub.dev store.
Also took the opportunity to change the version no. to 0.x to reflect the fact that the api is still in flux.
Your coding agent can read these notes before it upgrades. Set up the MCP server →