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