Module changelog
Scriptlike Changelog
The latest version of this changelog is always available at:
http://semitwist.com/scriptlike/changelog.html
(Dates below are YYYY/MM/DD)
v0.9.4 - 2015/09/22
- Fixed: Previous release broke the
unittestscript whendub testsupport was added. - Fixed: In echo mode, several functions would echo the wrong "try*" or
non-"try*" version. Ex:
runechoedtryRun, andtryRenameechoedrename. - Fixed:
PathandbuildNormalizedPathFixednow convert back/forward slashes to native on BOTH Windows and Posix, not just on Windows. - Fixed: Some links within
changelogand API reference were pointing to the reference docs for Scriptlike's latest version, instead of staying within the same documentation version. This made archived docs for previous versions difficult to navigate. - Enhancement: #17,#20: Added usage examples to readme.
- Enhancement: Add
interpfor interpolated strings:
string s = mixin( interp!"Value is ${variableOrExpression}" ) - Enhancement: Add
removePath/tryRemovePathfor deleting a path regardless of whether it's a file or directory. (Callsremovefor files andrmdirRecursefor directories.) - Enhancement: Add a Path-accepting overload of
escapeShellArgfor the sake of generic code. - Enhancement: When
runCollectthrows, theErrorLevelExceptionnow includes and displays the command's output (otherwise there'd be no way to inspect the command's output for diagnostic purposes). - Enhancement: Greatly extended and improved set of tests.
v0.9.3 - 2015/08/19
- Fixed: #16: Access to standard Phobos function hampered.
- Enhancement: Support running unittests through DUB:
dub test - Enhancement: Uses travis-ci.org for continuous integration testing.
v0.9.2 - 2015/07/10
- Fixed: Properly flush all command echoing output
(ie, in
yapandyapFunc). - Enhancement: Add a "no-build" configuration for projects that need to import/depend on Scriptlike through DUB, but use their own buildsystem.
v0.9.1 - 2015/06/28
- Fixed: Fails to compile unless the
makedocsscript has been run.
v0.9.0 - 2015/06/27
- Change: Split
scriptlike.fileandscriptlike.pathinto the following:
scriptlike.corescriptlike.file.extrasscriptlike.file.wrappersscriptlike.path.extrasscriptlike.path.wrappers
package.dto retain ability to importscriptlike.fileandscriptlike.path. - Change: Convert
changelogfrom markdown to ddox so links are more readable. - Enhancement: Add (opt-in) command echoing to most functions in
scriptlike.file. - Enhancement: Add
yapandyapFuncas improved versions of to-be-deprecatedechoCommand. - Fixed: Make
escapeShellArgconst-correct. - Fixed: Make
Path.toRawStringandExt.toRawStringboth bepure @safe nothrow.
v0.8.1 - 2015/06/22
- Enhancement: New overload for
userInputto allow type inference:
void userInput(T=string)(string question, ref T result);(suggestion from Per Nordlöw).
v0.8.0 - 2015/06/13
- Change: Minimum officially supported DMD increased from v2.064.2 to v2.066.0. Versions below v2.066.0 may still work, but there will now be certain problems when dealing with paths that contain spaces, particularly on Windows.
- Change: Removed unnecessary non-
Pathwrappers aroundstd.file/std.path. Things not wrapped (likedirSeparatorandSpanMode) are now selective public imports instead of aliases. These changes should reduce issues with symbol conflicts. - Change: API reference now built using ddox and uses much improved styling (actually uses a stylesheet now).
- Change: Eliminate remnants of the "planned but never enabled" wstring/dstring
versions of
Path/Ext/Args. There turned out not to be much need for them, and evenstd.filedoesn't support wstring/dstring either. - Change: Put output binaries in "bin" subdirectory, instead of Scriptlike's root.
- Enhancement: Add module
scriptlike.onlyto import all of scriptlike, but omit the helper Phobos imports inscriptlike.std. - Enhancement:
failnow accepts an arbitrary list of args of any type, just likewriteln, - Enhancement: Added
failEnforce, like Phobos'senforce, but forfail. - Enhancement: Added
runCollectandtryRunCollect, to capture a command's output instead of displaying it. - Enhancement: Added
pauseto pause and prompt the user to press Enter. - Enhancement:
echoCommandis no longer private. - Enhancement: Added
Path-based wrappers forstd.file'sgetcwd,thisExePathandtempDir. - Fixed: No longer uses Phobos's deprecated
systemfunction.
v0.7.0 - 2015/04/02
- Enhancement: #14: Added
scriptlike.interactmodule for easy user-input prompts. (Thanks to Jesse Phillips) - Fixed: Unittest compile failure on DMD v2.067.0.
v0.6.0 - 2014/02/16
- Change:
PathandExtare now aliases for the UTF-8 instantiations, and the template structs are now namedPathTandExtT. - Change: Removed
path()andext()helper functions to free up useful names from the namespace, since they are no longer needed. UsePath()andExt()instead. - Change: Internally split into separate modules, but uses
package.dto preserveimport scriptlike;. - Change: Rename
escapeShellPath->escapeShellArg. - Change: Rename
runShell->tryRun. Temporarily keeprunShellas an alias. - Change: Rename
scriptlikeTraceCommands->scriptlikeEcho. Temporarily keepscriptlikeTraceCommandsas an alias. - Enhancement: Added scripts to run unittests and build API docs.
- Enhancement: Added
Path.opCastandExt.opCastfor converting to bool. - Enhancement:
failno longer requires any boilerplate inmain(). (Newsgroup link) - Enhancement: Added
runto run a shell command liketryRun, but automatically throw if the process returns a non-zero error level. - Enhancement: #2: Optional callback sink for command echoing:
scriptlikeCustomEcho. - Enhancement: #8: Dry run support via bool
scriptlikeDryRun. - Enhancement: #13: Added
ArgsT(andArgshelper alias) to safely build command strings from parts. - Enhancement: Added this
changelog. - Fixed:
Path(null) andExt(null) were automatically changed to empty string. - Fixed: #10: Docs should include all OS-specific functions.
v0.5.0 - 2014/02/11
- Initial release.
Authors
Nick Sabalausky, Jesse Phillips
Copyright
Copyright (C) 2014-2015 Nick Sabalausky. Portions Copyright (C) 2010 Jesse Phillips.
License
zlib/libpng