Skip to content

Releases: sifive/wake

v0.29.0

21 Nov 21:09
Compare
Choose a tag to compare

Features

  • Lambda variables take precedence over _ placeholders for less surprising argument ordering (#1044)
    • (\key "{key}: {_}") "first" "second" now generates "first: second" rather than the previous "second: first"
    • This applies to all Wake code, even if you declare from v0_28_wake import _
  • Job ID (for passing to wake --job queries) is reported in failing Job error messages (#1049)
  • Bring mexists in line with the *exists functions for other types; its previous behaviour is now under mcontains (#1062)
  • Use Order for the entire sortBy/groupBy/distinctBy series of functions, rather than specifically a less-than Boolean function (#1061, #1069)
    • This does preclude calling those for not-total-ordered types, though the previous implementations did not perfectly support partially-ordered types anyway. If this is required for your use case, let us know (or submit a PR adding partial-ordered functions yourself).

Bugfixes

  • Prevent potential database corruption when using --fd{3..5} flags without having opened the associated file descriptor (#1043)
  • Copy-paste bug invalidating tinsertWith/minsertWith for non-trivial trees/maps (#1068)

LSP

  • Avoid INVALID_SERVER_MESSAGE errors on NeoVim (#1057)

v0.28.5

07 Oct 21:33
Compare
Choose a tag to compare

Bugfixes

  • Fixed bug where reuse_job() checked the linked-to file, not the symlink itself (#1019)
  • Unit tests now properly compile on WSL (#1034)

CI

  • The #1019 bugfix revealed that musl C before 1.2.2 does not support an access flag Wake has been relying on, and so Alpine Linux before 3.14.0 is no longer explicitly supported

v0.28.4

22 Sep 19:40
Compare
Choose a tag to compare

Features

Bugfixes

  • Fixed bug where getmtime() returned the time for the linked-to file, not the link itself (#1008)

Misc

v0.28.3

14 Sep 23:38
Compare
Choose a tag to compare

Features

  • The Wake extension should now work on VS Code for Web (e.g. github.dev) (#986)
  • whichInEnvPath added to automatically retrieve $PATH for whichIn calls (#976)

Bugfixes

  • In some cases like Wakebox rerun instructions, empty strings were dropped from the printed command line (#979)
  • A new version of Emscripten no longer recognized a function call to C (#999)

Misc

  • Minimal testing so far, but Wake can now compile to WASM (#983)

v0.28.0

29 Jul 23:06
Compare
Choose a tag to compare

Deprecations

  • At some point, the macro here will be removed in favour of the explicit syntax @here; this will affect all Wake code, including that using versioned packages (#920)

Features

  • Added macros @here, @line, @file, and @! for printing info about the Wake file (#920)
  • Added a Map data structure providing fast lookup by key (#940)

Bugfixes

  • Made wake --clean and wake --list-outputs aware of otherwise-ignored files (#927)
  • Fixed incremental builds not properly computing intermediate hashes (#949)
  • Aligned basename with the Unix semantics in ignoring trailing slashes (#961)

Continuous integration

  • Restored the CentOS 7.6 image (#926)

Misc

  • Using the proper re2c location, rather than always using the system's (#916)
  • Now builds on aarch64-apple-darwin (M1) systems (#930, #948)

v0.27.0

24 Jun 21:47
Compare
Choose a tag to compare

Features

  • VSCode Timeline View now supported #871
  • Improve guard statement error messages #885
  • Add wake --clean and wake --list-outputs #889
  • Add unary , to construct lists without a trailing Nil #910

Bugfixes

  • Isolate retcode when running Jobs #886
  • isNone now properly returns True on None and False on Some instead of the reverse #893
  • tfoldmap now uses a seed value directly specified by the caller, rather than first requiring it to be transformed #895
  • fuse-waked: allow rmdir() against seemingly empty directories #906

Continuous Integration

  • Removed CentOS 7.6 (#901) and Debian Jessie (#869)

Misc

  • Update wake tutorial #860

v0.26.1

21 Apr 22:04
Compare
Choose a tag to compare

Minor release that adds a single patch to 0.26.0

Bugfix

  • Use wakebox's return code isolation by default: #886

v0.26.0

06 Apr 23:22
Compare
Choose a tag to compare

Features

  • fuse-wake and wakebox have been merged so that fuse-wake is a subset of wakebox's functionality
  • --timeline viz v1
  • new claim function is now supported in standard library

Bugfixes

  • . and .. visibility in directory listings issue fixed

Continuous Integration

  • Removed Ubuntu 14 and 16, added Ubuntu 22

v0.25.2

03 Feb 01:07
Compare
Choose a tag to compare

Bugfixes

  • dint function no longer returns an Option type (#846)
  • If wakebox is invoked using a different unix group id, invoke a separate fuse daemon rather than failing to share an existing daemon. (#849)

Continuous Integration

  • Pinned the MacOS version as github newest macos-latest tag is too new (#854)
  • Use Rocky Linux 8 instead of CentOS 8, as CentOS 8 is dropping support early. (#854)

v0.25.0

27 Jan 20:15
Compare
Choose a tag to compare

Removed

  • v0_19_wake and v0_22_wake compatibility packages were dropped to avoid breaching Path type safety
    • This allowed removing the now-obsolete error handling from that type (Result is used instead)
  • The internal Array type is no longer exported from any package; no means of using it had been previously exposed

LSP

  • Types and type destructors now work with go-to-definition and other reference features
    • Types as well as tuple and data members can now be given documentation
  • Token pattern extractors no longer select the entire if ... then ... else ... clause
  • Various documentation additions, updates, and polishing

Bugfixes

  • Output colour and intensity have been decoupled, to avoid crashes on systems only supporting one or the other
  • wake startup time has been reduced by a second by fixing a bad copy assignment