1 /++ 2 Scriptlike_Changelog: 3 4 The latest version of this changelog is always available at:$(BR) 5 $(LINK http://semitwist.com/scriptlike/changelog.html) 6 7 (Dates below are YYYY/MM/DD) 8 9 $(H2 v0.9.4 - 2015/09/22) 10 11 $(UL 12 $(FIXED 13 Previous release broke the `unittest` script when `dub test` support was added. 14 ) 15 $(FIXED 16 In echo mode, several functions would echo the wrong "try*" or 17 non-"try*" version. Ex: $(API_PROCESS run) echoed $(API_PROCESS tryRun), 18 and $(API_FILE_EXTR tryRename) echoed $(API_FILE_WRAP rename). 19 ) 20 $(FIXED 21 $(API_PATH_EXTR Path) and $(API_PATH_EXTR buildNormalizedPathFixed) now 22 convert back/forward slashes to native on BOTH Windows and Posix, not 23 just on Windows. 24 ) 25 $(FIXED 26 Some links within changelog and API reference were pointing to the 27 reference docs for Scriptlike's latest version, instead of staying 28 within the same documentation version. This made 29 $(LINK2 http://semitwist.com/scriptlike-docs/, archived docs for previous versions) 30 difficult to navigate. 31 ) 32 $(ENHANCE 33 $(ISSUE 17),$(ISSUE 20): Added usage examples to readme. 34 ) 35 $(ENHANCE 36 Add $(API_CORE interp) for interpolated strings:$(BR) 37 `string s = mixin( interp!"Value is ${variableOrExpression}" )` 38 ) 39 $(ENHANCE 40 Add $(API_FILE_EXTR removePath)/$(API_FILE_EXTR tryRemovePath) for 41 deleting a path regardless of whether it's a file or directory. (Calls 42 $(API_FILE_WRAP remove) for files and $(API_FILE_WRAP rmdirRecurse) for 43 directories.) 44 ) 45 $(ENHANCE 46 Add a Path-accepting overload of $(API_PATH_EXTR escapeShellArg) for 47 the sake of generic code. 48 ) 49 $(ENHANCE 50 When $(API_PROCESS runCollect) throws, the $(API_PROCESS ErrorLevelException) 51 now includes and displays the command's output (otherwise there'd be no 52 way to inspect the command's output for diagnostic purposes). 53 ) 54 $(ENHANCE 55 Greatly extended and improved set of tests. 56 ) 57 ) 58 59 $(H2 v0.9.3 - 2015/08/19) 60 61 $(UL 62 $(FIXED 63 $(ISSUE 16): Access to standard Phobos function hampered. 64 ) 65 $(ENHANCE 66 Support running unittests through DUB: `dub test` 67 ) 68 $(ENHANCE 69 Uses $(LINK2 https://travis-ci.org, travis-ci.org) for continuous integration testing. 70 ) 71 ) 72 73 $(H2 v0.9.2 - 2015/07/10) 74 75 $(UL 76 $(FIXED 77 Properly flush all command echoing output 78 (ie, in $(API_CORE yap) and $(API_CORE yapFunc)). 79 ) 80 $(ENHANCE 81 Add a "no-build" configuration for projects that need to import/depend 82 on Scriptlike through DUB, but use their own buildsystem. 83 ) 84 ) 85 86 $(H2 v0.9.1 - 2015/06/28) 87 88 $(UL 89 $(FIXED Fails to compile unless the `makedocs` script has been run.) 90 ) 91 92 $(H2 v0.9.0 - 2015/06/27) 93 94 $(UL 95 $(CHANGE Split $(MODULE_FILE) and $(MODULE_PATH) into the following:$(BR) 96 $(UL 97 $(LI $(MODULE_CORE) ) 98 $(LI $(MODULE_FILE_EXTR) ) 99 $(LI $(MODULE_FILE_WRAP) ) 100 $(LI $(MODULE_PATH_EXTR) ) 101 $(LI $(MODULE_PATH_WRAP) ) 102 ) 103 Utilizes `package.d` to retain ability to import $(MODULE_FILE) and $(MODULE_PATH). 104 ) 105 $(CHANGE Convert changelog from markdown to $(DDOX) so links are more readable. ) 106 $(ENHANCE Add (opt-in) command echoing to most functions in $(MODULE_FILE). ) 107 $(ENHANCE 108 Add $(API_CORE yap) and $(API_CORE yapFunc) as improved versions 109 of to-be-deprecated $(API_CORE echoCommand). 110 ) 111 $(FIXED Make $(API_PATH_EXTR escapeShellArg) const-correct. ) 112 $(FIXED 113 Make $(API_PATH_EXTR Path.toRawString) and $(API_PATH_EXTR Ext.toRawString) 114 both be `pure @safe nothrow`. 115 ) 116 ) 117 118 $(H2 v0.8.1 - 2015/06/22) 119 120 $(UL 121 $(ENHANCE 122 New overload for $(API_INTERACT userInput) to allow type inference:$(BR) 123 `void userInput(T=string)(string question, ref T result);` 124 (suggestion from 125 $(LINK2 http://forum.dlang.org/post/povoxkcogcmbvhwlxqbc@forum.dlang.org, Per Nordlöw)). 126 ) 127 ) 128 129 $(H2 v0.8.0 - 2015/06/13) 130 131 $(UL 132 $(CHANGE 133 Minimum officially supported $(DMD) increased from v2.064.2 to v2.066.0. 134 Versions below v2.066.0 may still work, but there will now be certain 135 problems when dealing with paths that contain spaces, particularly 136 on Windows. 137 ) 138 $(CHANGE 139 Removed unnecessary non-$(API_PATH_EXTR Path) wrappers around $(MODULE_STD_FILE)/$(MODULE_STD_PATH). 140 Things not wrapped (like $(STD_PATH dirSeparator) and $(STD_FILE SpanMode)) 141 are now selective public imports instead of aliases. These changes should 142 reduce issues with symbol conflicts. 143 ) 144 $(CHANGE 145 $(LINK2 http://semitwist.com/scriptlike/, API reference) now built 146 using $(DDOX) and uses much improved styling (actually uses a stylesheet now). 147 ) 148 $(CHANGE 149 Eliminate remnants of the "planned but never enabled" wstring/dstring 150 versions of $(API_PATH_EXTR Path)/$(API_PATH_EXTR Ext)/$(API_PROCESS Args). There 151 turned out not to be much need for them, and even $(MODULE_STD_FILE) 152 doesn't support wstring/dstring either. 153 ) 154 $(CHANGE Put output binaries in "bin" subdirectory, instead of Scriptlike's root. ) 155 $(ENHANCE 156 Add module scriptlike.only to import all of scriptlike, but omit the 157 helper Phobos imports in scriptlike.std. 158 ) 159 $(ENHANCE 160 $(API_FAIL fail) now accepts an arbitrary list of args of any type, 161 just like $(STD_STDIO writeln), 162 ) 163 $(ENHANCE 164 Added $(API_FAIL failEnforce), like Phobos's $(STD_EXCEPTION enforce), 165 but for $(API_FAIL fail). 166 ) 167 $(ENHANCE 168 Added $(API_PROCESS runCollect) and $(API_PROCESS tryRunCollect), to 169 capture a command's output instead of displaying it. 170 ) 171 $(ENHANCE Added $(API_INTERACT pause) to pause and prompt the user to press Enter. ) 172 $(ENHANCE $(API_CORE echoCommand) is no longer private. ) 173 $(ENHANCE 174 Added $(API_PATH_EXTR Path)-based wrappers for $(MODULE_STD_FILE)'s 175 $(STD_FILE getcwd), $(STD_FILE thisExePath) and $(STD_FILE tempDir). 176 ) 177 $(FIXED No longer uses Phobos's deprecated $(STD_PROCESS system) function.) 178 ) 179 180 $(H2 v0.7.0 - 2015/04/02) 181 182 $(UL 183 $(ENHANCE 184 $(ISSUE 14): Added scriptlike.interact module for easy user-input prompts. 185 (Thanks to $(LINK2 https://github.com/JesseKPhillips, Jesse Phillips)) 186 ) 187 $(FIXED Unittest compile failure on $(DMD) v2.067.0. ) 188 ) 189 190 $(H2 v0.6.0 - 2014/02/16) 191 192 $(UL 193 $(CHANGE 194 $(API_PATH_EXTR Path) and $(API_PATH_EXTR Ext) are now aliases for the UTF-8 195 instantiations, and the template structs are now named `PathT` and `ExtT`. 196 ) 197 $(CHANGE 198 Removed `path()` and `ext()` helper functions to free up useful names 199 from the namespace, since they are no longer needed. Use `Path()` and 200 `Ext()` instead. 201 ) 202 $(CHANGE 203 Internally split into separate modules, but uses `package.d` to 204 preserve `import scriptlike;`. 205 ) 206 $(CHANGE Rename `escapeShellPath` -> $(API_PATH_EXTR escapeShellArg). ) 207 $(CHANGE 208 Rename $(API_PROCESS runShell) -> $(API_PROCESS tryRun). Temporarily keep 209 $(API_PROCESS runShell) as an alias. 210 ) 211 $(CHANGE 212 Rename $(API_CORE scriptlikeTraceCommands) -> $(API_CORE scriptlikeEcho). 213 Temporarily keep $(API_CORE scriptlikeTraceCommands) as an alias. 214 ) 215 $(ENHANCE Added scripts to run unittests and build API docs. ) 216 $(ENHANCE 217 Added $(API_PATH_EXTR Path.opCast) and $(API_PATH_EXTR Ext.opCast) for 218 converting to bool. 219 ) 220 $(ENHANCE 221 $(API_FAIL fail) no longer requires any boilerplate in `main()`. 222 ($(LINK2 http://forum.dlang.org/thread/ldc6qt$(DOLLAR)22tv$(DOLLAR)1@digitalmars.com, Newsgroup link)) 223 ) 224 $(ENHANCE 225 Added $(API_PROCESS run) to run a shell command like $(API_PROCESS tryRun), 226 but automatically throw if the process returns a non-zero error level. 227 ) 228 $(ENHANCE $(ISSUE 2): Optional callback sink for command echoing: $(API_CORE scriptlikeCustomEcho). ) 229 $(ENHANCE $(ISSUE 8): Dry run support via bool $(API_CORE scriptlikeDryRun). ) 230 $(ENHANCE 231 $(ISSUE 13): Added `ArgsT` (and $(API_PROCESS Args) helper alias) 232 to safely build command strings from parts. 233 ) 234 $(ENHANCE Added this changelog. ) 235 $(FIXED 236 $(API_PATH_EXTR Path)(null) and $(API_PATH_EXTR Ext)(null) were automatically 237 changed to empty string. 238 ) 239 $(FIXED $(ISSUE 10): Docs should include all OS-specific functions. ) 240 ) 241 242 $(H2 v0.5.0 - 2014/02/11) 243 244 $(UL 245 $(LI Initial release. ) 246 ) 247 248 Copyright: 249 Copyright (C) 2014-2015 Nick Sabalausky. 250 Portions Copyright (C) 2010 Jesse Phillips. 251 252 License: zlib/libpng 253 Authors: Nick Sabalausky, Jesse Phillips 254 +/ 255 module changelog;