Skip to content

Wake v0.16.0

Compare
Choose a tag to compare
@terpstra terpstra released this 05 Sep 07:12
· 1875 commits to master since this release

Language changes:

  • Keyword memoize has been removed
  • Plan can specify anticipated memory and CPU Usage
  • Multiline strings supported; see the updated quickref
  • shellJob runs an inline shell script as a Job
  • def Pair x y = ... deconstructor pattern bindings
  • Standard library now includes tap* and jfind
  • 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.