-
Notifications
You must be signed in to change notification settings - Fork 4
/
CHANGES.txt
481 lines (343 loc) · 9.88 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
Next release
============
Features
--------
- #112: Rename base.context.from to base.context.load
- #113: Update docs on nested (dotted) keys
Fixes
-----
- #107: Add loop-over-range example to docs
ScriptEngine 1.0.0rc3
=====================
Fixes
-----
- #106, #108: Make base.time return proper Context (thanks @oloapinivad)
(base.time did not work properly under "do")
- #109: Have base.task_timer return proper Context
ScriptEngine 1.0.0rc2
=====================
Internal changes
----------------
- #102: Remove duplicated packaging info in setup.py
- #103: Use Python 3.10 in Github actions
- #104: Require SE 1.0.0rc1 in Github action (temporarily)
ScriptEngine 1.0.0rc1
=====================
IMPORTANT NOTES:
1. This release will drop support for Python 3.6 and 3.7!
(#88, #95, #99)
2. This release will drop support for legacy task names! (#96)
3. This release introduces dotted keys (#97)
Features
--------
- #96: Drop legacy task names
- #97: Better context class. This allows dotted keys!
- #99: Add support for Python 3.12 (and drop 3.6, 3.7)
- #100: Better error messages for Jinja2 errors
Fixes
-----
- #87: Update deepdiff dependencies
- #89, #92, #93: Fix typos in sources and docs (thanks @kinow)
- #90: Add and install optional/extra dependencies (thanks @kinow)
- #98: Fix errors in base.command tests
Internal changes
----------------
- #88 Drop Python3.6 support
- #99 Drop Python3.7 support
- #95 Improve packaging and CI
+ switch to src-layout
+ drop Python3.6 support
+ add Python3.11 support
+ add environment files for conda
+ migrate from pkg_resources to importlib.metadata
ScriptEngine 0.14.4
===================
Fixes
-----
- #86: Installation from package fails
ScriptEngine 0.14.3
===================
Fixes
-----
- #83: Prevent base.getenv from failing when environment variable does not exist
- #84: base.command fails if ignore_error is true
Internal changes
----------------
- Base package build on pyproject.toml (#80)
- #82: Use ubuntu-20.04 in Github actions (keep Python3.6 support)
- #64: Require deepdiff 6.2.2
ScriptEngine 0.14.2
===================
Fixes
-----
- Fix base.remove breaks without ignore_not_found #79
ScriptEngine 0.14.1
===================
Fixes
-----
- Fix module not found error for scriptengine.tasks.base.file
ScriptEngine 0.14.0
===================
Features
--------
- #70: Support wildcards and lists in file tasks
- #77: Add base.context.from (thanks @mandresm for suggesting)
ScriptEngine 0.13.1
===================
Features
--------
- Add coverage+coverall to CI (#72)
- Add badges to README (#72)
Fixes
-----
- Fix #74: base.find correct update context
ScriptEngine 0.13.0
===================
Features
--------
- Fix #71: Add Jinja2 filters 'exists' and 'path_join' (thanks @jmrgonza)
- Add documentation for SE filters for Jinja2
Fixes
-----
- Fix #66: Some fixes and completions to documentation (thanks @mandresm)
ScriptEngine 0.12.7
===================
Fixes
-----
- Fix #68: Saving stderr/stdout from base.command fails in jobs
(thanks @jmrgonza for reporting)
ScriptEngine 0.12.6
===================
Fixes
-----
- Fix #64: deepdiff 6.2.1 breaks base.context with rrules
(thanks @madnresm and @JanStreffing for reporting)
ScriptEngine 0.12.5
===================
Fixes
-----
- Fix #59: loop on strings tuple not working as expected
- Fix #61: base.getenv not returning context update
Internal changes
----------------
- Some refactoring in job loop code
- Some refactoring in Include task code
ScriptEngine 0.12.4
===================
Fixes
-----
- Fix #58: SE installation error
ScriptEngine 0.12.3
===================
Fixes
-----
- Fix #8: Loops with empty or undefined specs
- Fix #54: base.include task does not update context
- Fix typo in Include task argument (ignore_not_found)
- Fix #55: base.include messes up the context
- Fix #56: Wrong loop variable collision warnings
- Fix #57: Context append to list may drop items
Internal changes
----------------
- Introduce Context and ContextUpdate classes
ScriptEngine 0.12.2
===================
Fixes
-----
- Fix #33: When clause with empty/undefined expression
ScriptEngine 0.12.1
===================
Fixes
-----
- Fix #53: Looping over list of dicts doesn't work in particular case
ScriptEngine 0.12.0
===================
Fixes
-----
- Fix #52: Error when Python 3.6 deepcopy copies context
Features
--------
- Fix #47: Loop over dictionaries
- Introduce context["se"]["tasks"]["last_result"]
- Github workflow for automatic testing
Internal changes
----------------
- Task.run() never changes context, returns dict or deepdiff.Delta
for context updates
- Major changes in Job implementation
- SimpleScriptEngine relies on Job class for run()
ScriptEngine 0.11.0
===================
Fixes
-----
- Fix #46: Add optional `executable` argument to base.template
- Fix #48: stdout/stderr handling in base.command
ScriptEngine 0.10.2
===================
Fixes
-----
- Fix #44: Command task log not correct
- Fix #45: Command task in 0.10 doesn't work with Python <3.7
ScriptEngine 0.10.1
===================
Features
--------
- Fix #43: Let SE stop on task errors (without traceback)
Fixes
-----
- Fix #34: Deprecation warning from attrdict
ScriptEngine 0.10.0
===================
Features
--------
- Fix #41: Improved stdout handling for Command task
(changes semantics of the 'stdout' argument)
- Fix #42: Handle error messages in Command task
Fixes
-----
- Fix #37: Missing required argument: logging error
ScriptEngine 0.9.0
==================
Features
--------
- Fix #40: Handling environment variables
This adds base.setenv and changes the syntax for base.getenv!
Internal changes
----------------
- Major simplification of base.context code by using Task.getarg()
ScriptEngine 0.8.5
==================
Fixes
-----
- Fix #39 (again): use shutil.move for base.move task
ScriptEngine 0.8.4
==================
Fixes
-----
- Fix #39: shutil does not always accept path-like objects
ScriptEngine 0.8.3
==================
Fixes
-----
- Fix #38: base.copy handles missing files incorrectly
Features
--------
- base.copy task supports 'ignore_not_found'
Internal changes
----------------
- Base file tasks use pathlib instead of os module
ScriptEngine 0.8.2
==================
Features
--------
- #36: Add 'basename' and 'dirname' Jinja2 filters
ScriptEngine 0.8.1
==================
Fixes
-----
- Fix #35: Missing scriptengine module
ScriptEngine 0.8.0
==================
Features
--------
- #20: Review task loading mechanism
+ automatic task loading, '-t' flag no longer needed (or supported)
+ se -h lists loaded tasks (#28)
- Better logging (#29)
+ support for log levels via new '--loglevel' switch
(--debug and --quiet no longer supported)
+ tasks logging uses better names
+ appropriate logging for base.exit task (#30)
- Better error handling: less cli errors create traceback
- ScriptEngine part of the task context now available as 'se.*'
in particular, this provides
+ se.cli.*
+ se.tasks.*
+ se.instance
Fixes
-----
- Fix #26: Include task crashes when ignore_not_found is not present
Internal changes
----------------
- Tasks loaded via setuptools entry_points (#20)
This means task developers do not need to implement namespace packages and
don't have to provide the task_loader_map, just 'scriptengine.tasks' entry
points!
- Fix #32: Clean up imports and get rid of namespace packages
This prevents loading SE task packages as namespace packages, i.e. these
packages must no longer include 'scriptengine.tasks'!
ScriptEngine 0.7.1
==================
Fixes
-----
- Add missing scriptengine.cli package in setup.py (e622e0d)
This was braking SE 0.7.0!
ScriptEngine 0.7.0
==================
Features
--------
- Documentation and README (#21) updates
- API change: Remove handling of _noeval_
- Improve CLI logging for script parsing problems
Internal changes
----------------
- Fix #9: Log jobs not executed
- Fix #15: Add parsing of nested dict arguments. Closes #15
- Fix #16: Improve exceptions and add testing (#16)
- Fix #17: New argument checking for tasks
- Fix #18: Revised logging for ScriptEngine
- Fix #19: Use setuptools entry_points for cli
ScriptEngine 0.6.0 (350044f47b1d, Wed Jul 8 10:24:48 2020 +0200)
==================
Features
--------
- Documentation update (now also on scriptengine.readthedocs.io)
- Task timer: get elapsed time for tasks on individual and class level
- Introduce new YAML constructors, replacing !noeval (now deprecated)
(!noparse, !noparse_yaml, !noparse_jinja)
- Update project README and fix typos
Internal changes
----------------
- SE command line tool refactored
- Introduce Task.getarg() for easier task development
ScriptEngine 0.5.1 (8bd7a3649c27, Mon May 11 13:25:54 2020 +0200)
==================
Fixes
-----
- Fix messed up wheel package
ScriptEngine 0.5.0 (5cc363093408, Fri May 8 17:41:38 2020 +0200)
==================
Features
--------
- Implement modular tasks and taskset option (#11)
- No color option and nicer task logging
- Add CHANGE log file
Internal changes
----------------
- Namespace packaging SE tasks (see #11)
ScriptEngine 0.4.0 (d2b26d230cb4, Thu Apr 16 16:23:12 2020 +0200)
==================
Features
--------
- Add 'submit_from_batch_job' argument for 'sbatch task'
- Implement '--version' for SE command line (fix #6)
- Some more documentation
- Implement 'find' task (with 'depth' arg, #10)
- Make 'config' task evaluate it's arguments
- Add '!noeval' YAML constructor
- Introduce Jinja 'date' and 'datetime' custom filters
- Replace 'SlurmSubmit' task by improved 'Sbatch'
- Add '!rrule' for RFC5545 reccurence rules
- Add 'ignore_not_found' for 'include' task
Internal changes
----------------
- Implement dynamic task loader
- Restructure Jinja2 code
- Update package dependencies
Fixes
-----
- Bugfix: wrong variable name in error message
- Fix search paths for 'template' task
ScriptEngine 0.3.2 (b1491eb43dba, Tue Feb 4 21:36:24 2020 +0100)
==================
- First released version