Wake v0.16.0
Language changes:
- Keyword
memoize
has been removed Plan
can specify anticipated memory and CPUUsage
- Multiline strings supported; see the updated quickref
shellJob
runs an inline shell script as a Jobdef Pair x y = ...
deconstructor pattern bindings- Standard library now includes
tap*
andjfind
Runner
API is now extensible
Runtime changes:
- Garbage collector replaces reference counting (4x speed-up)
- Interactive global progress bar based on prior build stats
- Scheduler understands memory consumption and critical path
- Stack traces include function names and recursion compression
- Database reclaims space incrementally (not rewritten on exit)
Command-line changes:
- -pPERCENT replaces -jJOBS affecting both cores and memory
- --last reports all Jobs run in the last build
- --failed reports all Jobs failed in last build
- --no-tty groups Job command echo + stdout/stderr in logs
- --html creates an interactive reference manual
- --profile-heap reports peak wake memory consumption
- -d --profile=trace.html produces a wake CPU time flame graph
Platform changes:
- New FreeBSD port
- Backported to OSX 10.10
- Backported to Ubuntu 14.04
- RPM packages are now relocatable
- make install/clean now work traditionally
And several dozen bugfixes.