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