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