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.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 and yapFunc).
  • 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

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 around std.file/std.path . Things not wrapped (like dirSeparator and SpanMode) 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 even std.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 like writeln ,
  • Enhancement: Added failEnforce, like Phobos's enforce, but for fail.
  • Enhancement: Added runCollect and tryRunCollect , 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 for std.file's getcwd, thisExePath and tempDir.
  • Fixed: No longer uses Phobos's deprecated system function.

v0.7.0 - 2015/04/02

v0.6.0 - 2014/02/16

  • Change: Path and Ext are now aliases for the UTF-8 instantiations, and the template structs are now named PathT and ExtT.
  • Change: Removed path() and ext() helper functions to free up useful names from the namespace, since they are no longer needed. Use Path() and Ext() instead.
  • Change: Internally split into separate modules, but uses package.d to preserve import scriptlike;.
  • Change: Rename escapeShellPath -> escapeShellArg.
  • Change: Rename runShell -> tryRun . Temporarily keep runShell as an alias.
  • Change: Rename scriptlikeTraceCommands -> scriptlikeEcho. Temporarily keep scriptlikeTraceCommands as an alias.
  • Enhancement: Added scripts to run unittests and build API docs.
  • Enhancement: Added Path.opCast and Ext.opCast for converting to bool.
  • Enhancement: fail no longer requires any boilerplate in main(). (Newsgroup link)
  • Enhancement: Added run to run a shell command like tryRun , 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 (and Args helper alias) to safely build command strings from parts.
  • Enhancement: Added this changelog.
  • Fixed: Path(null) and Ext(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