Skip to content

Releases: BastianBlokland/novus

v0.18.0

08 Aug 16:27
Compare
Choose a tag to compare

Changes:

  • nrm: Add basic 'rm' style application (#258)
  • opt: Add rudimentary maximum optimize heuristics (#257)
  • std: Library side equality (#256)
  • Utilities: np4 - Perforce cli wrapper (#255)
  • vm: Add support for detached processes (#254)
  • vm: Fix failing to kill processes on linux (#253)
  • std: Pass non-whitespace process arg verbatim (#252)
  • std: Add support for backward path separators (#251)
  • frontend: Fix '?' declaring consts in parent scope (#250)
  • frontend: fix using mangled name in operator diags (#249)
  • frontend: Fix crash when importing empty path (#248)
  • nov-watch: Fix evaluate not working on windows (#247)
  • vm: Fix a hanging child process (with piped streams) blocking the vm shutdown on win32 (#246)
  • vm: Add OpenOrCreate file-mode (#245)
  • vm: Fix 'read on non-read stream' corruption (#244)
  • novc: Add 'deps' sub-command (#243)

v0.17.0

24 Jul 16:19
Compare
Choose a tag to compare

Changes:

  • vm: Add new 'CreateNew' file mode (#242)
  • vm: Handle EPIPE error on console write (#241)
  • std: Fix deadlock while waiting for piped process (#240)
  • std: Add Python marshal api (#239)
  • std: Add a base64 decode lib (#238)

v0.16.0

14 May 21:40
Compare
Choose a tag to compare

Changes:

  • std: Add support for filtered help in cli lib (#234)
  • vm: By default run child-processes in the same process-group (#226)
  • utlities: cdb.nx (#228)
  • utilities: Reimplement 'nove' as a novus program (#227)

v0.15.0

03 May 20:27
Compare
Choose a tag to compare

Changes:

  • std: Normalize windows drive letters to upper case (#225)
  • utilities: Reimplement watch_ns.sh in novus (#223)
  • IO Watcher (#221)
  • frontend: Allow duplicate values in enum (#222)
  • vm: Support running non-piped child processes (#220)
  • Utilities: Basic 'ls' style file listing application (#219)
  • opt: Fix win32 float to string pre-compute result
  • vm: Add support for specifying float format options (#218)

v0.14.0

18 Apr 18:12
Compare
Choose a tag to compare

Changes:

  • vm: Expanded file system apis (#216)
  • std: Cli library (#215)
  • frontend: Fix disallowing non-pure func lits (#214)
  • frontend: Support multiple sources with same name (#213)

v0.13.0

03 Apr 13:09
Compare
Choose a tag to compare

Changes:

  • Json ORM (#212)
  • Expand library Either type (#211)
  • Compiler optimization pass (#209)
  • Tuple (#208)
  • Timezone support (#205)

v0.12.0

21 Mar 18:09
Compare
Choose a tag to compare

Changes:

  • Static reflection (#204)
  • opt: Fix crash due to missing enum conversion (#203)
  • std: Fix incorrect printBits overload for int (#200)
  • frontend: Fix unchecked optional in typeinfer (#202)
  • Fix diagnostics for misplaced commas (#199)
  • frontend: Fix crash on duplicate type-param name (#198)
  • Convert build-in operators to intrinsics (#197)
  • Optimizer: Various new simplifications (#196)
  • Move equality operators to library (#195)
  • build: Upgrade to catch2 v2.13.4 (#194)
  • User defined implicit conversions (#193)
  • Std library restructuring (#192)
  • nove: No longer run optimizations (#191)
  • Structured assert library (#190)
  • Type name (#189)
  • SourceLoc (#188)
  • frontend: SourceTable (#187)

v0.11.0

28 Feb 17:57
Compare
Choose a tag to compare

Changes:

  • novrt: Windows installler (#185)
  • vm: improve windows terminal processing (#186)
  • novc: Produced '.nx' files have the owner exec bit set on unix.
  • novc: Use '.nx' extension for output even if no extension was given.
  • examples: Snake/Perlin fix cursor reappearing on window resize.
  • examples: Snake/Perlin set custom window title.

v0.10.0

24 Feb 22:09
Compare
Choose a tag to compare

Changes:

  • Novus source files now use the .ns extension (instead of .nov) (#184).
  • Novus executable files now use the .nx extension (instead of .nova) (#184).
  • Add noinline modifier you can apply to functions (#183).
  • backend: Add shebang to the novus executable format (#182).
  • vm: Add api to check if stream is terminal (#181).
  • novstd: Implement bit utliities for char and long (#180).
  • vm,novstd: Implement process kill signal (#179).
  • vm: Fix bit shift behaviour on negative longs (#177).
  • vm,novstd: Remove char combine into string op (#176).

v0.9.0

14 Feb 21:02
Compare
Choose a tag to compare

Changes:

  • vm: Clean stream api.
    • Remove StreamReadChar, its a very inefficient api to read character for character from the kernel.
    • Remove StreamWriteChar, its a very inefficient api to write character for character to the kernel.
    • Remove StreamFlush, now that we no longer do buffering on the vm side flushing does nothing.
  • novstd: Refactor the tty library (#174)
  • Add platform error codes (#172)
  • vm: Implement thread starting using pthread (#173)