Releases: BastianBlokland/novus
Releases · BastianBlokland/novus
v0.8.0
Changes:
v0.7.0
Changes:
- Support more kinds of root calls (#166)
- Lazy actions (#165)
- novstd: Add warmup to benchAverage
- rt: Fix flush failing on EAGAIN
- build: Fix incompability with cmake before 3.19
- Support running a subset of the compiler tests (#164)
- CI: Only run on master and pull-requests to master
- Frontend: Support intrinsic calls
- Examples: Webserver: Print url at startup
v0.6.2
Changes:
- CI: Add basic fuzzing for the lexer and parser using LibFuzzer.
- CI: Collect test-coverage data on CodeCov.io.
- CI: Add debug build + test run for Ubuntu Clang and Windows MSVC.
- CI: Add support for running the
clang-cl
toolset on Windows using VisualStudio. - CI: Instrument Ubuntu Clang tests with an assortment of llvm analyzers(
address,alignment,bool,builtin,bounds,enum,function,integer-divide-by-zero,object-size,return,unreachable
). - General: Additional tests to improve code-coverage in various places.
- Runtime: Fix use after free crash in RefFuture.
- Runtime: Fix ExecutorRegistory touching aborted executors.
- Runtime: Fix an edgecase where an executor is started while the registry is trying to pause the executors.
- Runtime: Fix a crash when starting a process with an empty cmd-line string.
- Parser: Limit the max recursion depth of expressions (an provide a user-friendly error).
v0.6.1
Changes:
- Use
<climits>
header instead of<linux/limits.h>
(more portable).
v0.6.0
Changes:
- Shutdown server socket on cancellation
- Update tcp-server api
- Add std/ip.nov library
- Add hex writer
- Add bit writer and parsers to std/bits.nov
- Add long to char explicit conversion
- Long to float conversion is now explicit
- Add long bitwise and / or / xor / inverse ops
- Add bit shift operations for long values
- Add a platform call to get the native endianness
- Add construct function to std/func.nov
- Add tcp receive timeout
- Fix optimizer crashing on precompute div-by-zero
- Update parallelFor to run in constant stack space
- Refactor console library
- Support more then 256 constants in one scope
- Update the fail action to be typed
- Rename std/parser.nov unwrap functions to map
- Rename std/parse.nov to std/parser.nov
- Update the file library in std/file.nov
- Add new path library
- Add api to get the path of the runtime executable
- Add api to get the current working directory
- Add getProgramPath api to rt.nov
- Add implicit conv in func templ type inference
- Send signals to entire child process group
- Add platform api to rt.nov library
- Add api to get the current platform code
v0.5.1
Changes:
- Add 'getRuntimeVersion', 'getCompilerVersion' apis.
- Cleanup inconsistent env arg api naming.
v0.5.0
Changes:
- Rename 'stream' to 'sys_stream'.
- Add 'invoke()' functions in the func library.
- Fix inliner generating duplicate const id's.
- Tune the optimizer to more aggressively inline.
- Add interuptResetRequested api.
- win32: do not handle CTRL_CLOSE_EVENT ctrl events.
- Add mapOrErr utility to parse.nov.
- Add support for optional parsers.
- Add optional writer support to writer.nov.
- Add version.nov std file.
- Fix the optimizer failing to precompute char ops.
- Improve func template parameter type inference.
- Add trim apis to text.nov.
- Fix allParser returning a truncated string.
- Add error aggregation support to error.nov.
- Add until-parser.
- Add trim parse-modifier.
- Refactor 'optional' bool to a bit flags enum.
- Add char to long conversion.
- Add support for parsing longs.
- Add unix time parser.
- Add support for user-overloading binary ! operator.
- Add support for user-overloading binary !! operator.
- Add support for user-overloading unary ? operator.
- Add count utility to text.nov.
- Add line and column numbers to parse errors.
- Add support for starting system processes.
v0.4.0
Changes:
- Fix deadlock on vm shutdown with unresolved future.
- Intercept os interrupts (ctrl-c).
- Enable VirtualTerminalProcessing on windows.