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.2 - 2017/03/03
- Enhancement: Added
trace
functions as debugging aid. Outputs file/line info and optionally a variable name/value. - Enhancement: Added
isUserExec
,isGroupExec
andisWorldExec
to 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
,getTimesWin
andtrySymlink
. - 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
Path
to.toRawString Path
..raw - Change: Deprecated
Ext
. It didn't do anything different from.toRawString Ext
and 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
unittest
script whendub test
support was added. - Fixed: In echo mode, several functions would echo the wrong "try*" or
non-"try*" version. Ex:
run
echoedtryRun
, andtryRename
echoedrename
. - Fixed:
Path
andbuildNormalizedPathFixed
now 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
interp
for interpolated strings:
string s = mixin( interp!"Value is ${variableOrExpression}" )
- Enhancement: Add
removePath
/tryRemovePath
for deleting a path regardless of whether it's a file or directory. (Callsremove
for files andrmdirRecurse
for directories.) - Enhancement: Add a Path-accepting overload of
escapeShellArg
for the sake of generic code. - Enhancement: When
runCollect
throws, theErrorLevelException
now 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
yap
andyapFunc
). - 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
makedocs
script has been run.
v0.9.0 - 2015/06/27
- Change: Split
scriptlike.file
andscriptlike.path
into the following:
scriptlike.core
scriptlike.file.extras
scriptlike.file.wrappers
scriptlike.path.extras
scriptlike.path.wrappers
package
to retain ability to import.d scriptlike.file
andscriptlike.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
yap
andyapFunc
as improved versions of to-be-deprecatedechoCommand
. - Fixed: Make
escapeShellArg
const-correct. - Fixed: Make
Path.toRawString
andExt.toRawString
both bepure @safe nothrow
.
v0.8.1 - 2015/06/22
- Enhancement: New overload for
userInput
to 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-
Path
wrappers aroundstd.file
/std.path
. Things not wrapped (likedirSeparator
andSpanMode
) 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.file
doesn'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:
fail
now accepts an arbitrary list of args of any type, just likewriteln
, - Enhancement: Added
failEnforce
, like Phobos'senforce
, but forfail
. - Enhancement: Added
runCollect
andtryRunCollect
, to capture a command's output instead of displaying it. - Enhancement: Added
pause
to pause and prompt the user to press Enter. - Enhancement:
echoCommand
is no longer private. - Enhancement: Added
Path
-based wrappers forstd.file
'sgetcwd
,thisExePath
andtempDir
. - Fixed: No longer uses Phobos's deprecated
system
function.
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:
Path
andExt
are now aliases for the UTF-8 instantiations, and the template structs are now namedPathT
andExtT
. - 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
to preserve.d import scriptlike;
. - Change: Rename
escapeShellPath
->escapeShellArg
. - Change: Rename
runShell
->tryRun
. Temporarily keeprunShell
as an alias. - Change: Rename
scriptlikeTraceCommands
->scriptlikeEcho
. Temporarily keepscriptlikeTraceCommands
as an alias. - Enhancement: Added scripts to run unittests and build API docs.
- Enhancement: Added
Path.opCast
andExt.opCast
for converting to bool. - Enhancement:
fail
no longer requires any boilerplate inmain()
. (Newsgroup link) - Enhancement: Added
run
to 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
(andArgs
helper 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-2017 Nick Sabalausky. Portions Copyright (C) 2010 Jesse Phillips.
License
zlib/libpng