Skip to content

Release 0.52.0 "Sparrow"

Compare
Choose a tag to compare
@wkozaczuk wkozaczuk released this 19 Oct 03:38
· 1021 commits to master since this release

This is the next release of OSv since the previous release 0.51.0 was crafted. Though this release does not deliver any dramatic features, it brings major improvements around kernel size and memory utilization and adds support of many new apps including Python 3. We hope new releases will happen every quarter and the next one should be expected around beginning of 2019.

Features Highlights

  • Smaller kernel which makes OSv use less memory and boot faster
    • reduces non-compressed kernel size from 9.2MB to 6.7MB (27% reduction) and compressed one from 6.2MB to 3.9MB (37% reduction)
    • reduces boot time by ~ 20ms
  • Reduced minimal memory to run OSv to 25MB
  • Reduced memory utilization for ram images (especially large ones)
  • Added support for Python 3 and Golang 1.11
  • Added many new apps including ffmpeg, spring boot, ratpack and akka

Specifics

  • Set non-isolated mode as a default one for Java images
  • Removed obscure UTF8 normalization feature to save 130 KB in kernel size
  • Started merging IPv6 code from Spirent
  • Relaxed ELF symbol resolution failure when BIND_NOW which should make more apps supported out of the box on OSv
  • Improved bootfs to remove unnecessary copy of data
  • Revived multi boot mode to support eventually booting on Hyperkit and on QEMU with qboot
  • Implemented almost-in-place kernel decompression to reduce minimal memory size that provides a foundation for even less memory usage changes in the future
  • Disabled '—whole-archive' linking for libgcc.a to reduce kernel size by 2.5MB

Closed issues

List of contributors alphabetically

Acknowledgments

We want to thank all contributors to the project. But the special thanks go to:

  • Nadav Har’El for contributing and reviewing many patches and providing guidance for many others
  • Waldemar Kozaczuk for contributing most patches
  • Timmons C. Player and Charles Myers for contributing patches providing initial IPV6 support

Artifacts

This time we are only publishing kernel and capstan packages for Python 3 and ffmpeg.