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.10.3 - 2019/07/15
Maintenance release.
- Change: Fixed deprecations for DMD 2.075+ and 2.079+. Dropped support for LDC 0.15.1.
- Tests: Added Windows CI testing via AppVeyor.
v0.10.2 - 2017/03/03
- Enhancement: Added
tracefunctions as debugging aid. Outputs file/line info and optionally a variable name/value. - Enhancement: Added
isUserExec,isGroupExecandisWorldExecto check a file's executable bits on Posix. - Fixed: #34: Unable to build docs of own project with DUB.
- Fixed: Make sure the example tests, when run in travis-ci, always use the current scriptlike commit, instead of using a scriptlike release from the published dub repos.
- Fixed: Docs weren't being correctly built for
symlink,readLink,getTimesWinandtrySymlink. - Change: Removed outdated, messy and problematic "plain script" example.
v0.10.1 - 2017/02/25
- Fixed: Fix some minor doc and travis-ci issues with v0.10.0's release.
v0.10.0 - 2017/02/25
- Change: #33: Rename
Pathto.toRawString Path..raw - Change: Deprecated
Ext. It didn't do anything different from.toRawString Extand thus wasn't needed..toString - Fixed: #19: Compile error with DMDFE 2.065. Note, Scriptlike still officially requires at least DMDFE 2.066, mainly because of a bugfix for Windows, but DMDFE 2.065 appears to still be important for Debian's GDC.
- Fixed: Excess blank lines and malformed
</p><p>in this changelog.
v0.9.7 - 2017/01/23
- Enhancement: Docs/Examples: Now recommend DUB v1.0.0+'s single-file package support, and test the provided example.
- Fixed: #31: Deprecation warnings on DMD 2.072 and up.
v0.9.6 - 2016/05/28
(Note: This was going to be v0.9.5, but the release got borked, so it's released as v0.9.6 instead.)
- Fixed: #26: Deprecation warnings on DMD 2.070 and 2.071.
- Fixed: #27: Flush stdout when requesting input. [Jesse Phillips]
- Fixed: Plain script example fails on DUB 0.9.25 (due to a change in dub's package cache directory structure).
- Fixed: Testing any pull request on Travis-CI fails.
- Fixed: Unittests fail to build on DMD 2.071.
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 changelog and 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
packageto retain ability to import.d scriptlike.fileandscriptlike.path. - Change: Convert changelog from 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.only to import all of scriptlike, but omit the helper Phobos imports in scriptlike.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.interact module for easy user-input prompts. [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
packageto preserve.d import 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.