V0.13.0 Lucky Luke (pew pew) Release notes

Major features:

  • Replaced newlib libc with musl libc- which includes POSIX. An upcoming blog post will detail this out.
  • Added a linux syscall layer to be compatible with musl
  • TCP SACK option support (receiver side).

Minor features:

  • Stateful TCP conntrack module.
  • New memory allocator as backend for mmap. This increases resilience against memory fragmentation.
  • VFS plugin and config support
  • Now used to mount file descriptors for POSIX support - utilized by RNG and Syslog
  • Timestamp plugin for stdout
  • Statman and Bufferstore rewritten to use more modern C++
  • Many features added to Linux platform (LTO, PGO, callstack generation etc.)

Compatibility:

  • Boot and vmrunner now supports solo5

Experimental:

  • New IPv6 implementation. Currently a work in progress.
  • Including TCP API support
  • MLDv2 and NDP (not finished)

Fixes:

  • Too many to count
  • Fixed a flag in vmxnet3 restricting it from receiving VLAN tagged frames.

Other:

  • TCP buffer sizes is now set per stack (and not per connection).
  • DHCP now continues “forever” (but with less frequency).
  • net::Socket is now using union address net::Addr which contains either a IPv4 or IPv6 address - many calls has now been replaced with net::Addr.
  • Print last received packet on panic
  • Updated NaCl version
  • Timer type added, which makes it possible to have the service print a timestamp or information about memory, CPU and more at a set interval
  • New implementation under the hood, where each NaCl type can register into the transpiler dynamically
  • Updates to the Iface type which now incorporates the Vlan type (Vlan as its own type has been removed). Iface members added: buffer_limit and send_queue_limit
  • Updated solo5 version

This release represents significant effort in terms of development time. At this point in time we’re certain the quality of the routing and firewalling code is very good and we’ll soon push out a 1.0 release.