Skip to content

Release 0.51.0 "Phoenix"

Compare
Choose a tag to compare
@wkozaczuk wkozaczuk released this 31 May 14:25
· 1129 commits to master since this release

This is the first release of OSv since late 2015 when the last release 0.24.0 was crafted. Even though the development has not been as vigorous as in previous years, new release 0.51.0 delivers many new exciting features as well as fixes of many outstanding defects. We hope new releases will happen more frequently in future.

Features Highlights

  • New MikelAngelo capstan by XLAB Slovenia
    • Enhanced to support packages which makes building OSv even easier than before
    • See this crash course for more details
  • New filesystems
    • ROFS (Read Only File System) - for more details read cd44966 and 1f122ae
    • RAMFS-only images support
    • NFS (Network File System) support
  • New languages/runtimes support
    • Golang (for more details read here
    • Node.JS 6.10.3, 8.11.2
    • Python 2.7
    • Free Pascal
    • Rust
  • New hypervisors support
    • XEN support for aarch64 (ARM) by Sergiy Kibrik
    • OSv can boot on HyperV
    • Fixed critical bug related to VirtualBox - 13b8acb
  • New applications support
    • Nginx
    • Lighttpd
  • Improved Java support
  • Added support of SYSCALL instruction needed by Golang and Free Pascal
    • libvdso - fast syscall compatibility library
    • Added number of SYSCALLs to support Golang
  • Improved httpserver module
  • Cloud init improvements
    • ISO image support
    • Supports mount points
  • Many pthread improvements/bugs
  • ELF namespaces support - e9758b9
  • Support Open MPI apps (High Performance Computing)
  • Support compilation using GCC 6, 7 and 8
  • Improved signals support
  • Added runscript support
  • Improved DHCP
  • Added many missing C-lib functions
  • Support for Virtlet (https://github.com/mirantis/virtlet)
  • Added new docker file to build OSv kernel and capstan packages
  • Added new docker file to make it easy to run selected set of apps on OSv
  • Overall committed 549 patches and closed 206 issues

Acknowledgments

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

  • Nadav Har’El for contributing and reviewing most patches and providing guidance for many others
  • Gregor Berginc, Justin Cinkelj and Miha Pleško (@miha-plesko) from XLAB Slovenia for greatly enhancing capstan, enhancing cloud init module and contributing many other patches to make Node.JS, Python 2.7 and nginx work on OSv.
  • Benoit Canet for implementing NFS and contributing many patches to support Golang on OSv
  • Sergiy Kibrik for contributing patches to make OSv run on XEN with Arm architecture
  • Dor Laor for words of encouragements without which this release may have not happenned

List of contributors alphabetically

  • Quentin Barnes - 2 patches
  • Gregor Berginc (@gberginc) - 2 patches
  • Benoit Canet (@benoit-canet) - 47 patches
  • Brandon Cox (@justnoise) - 1 patch
  • Hawx Chen (@HawxChen) - 1 patch
  • Justin Cinkelj (@justinc1) - 77 patches
  • Glauber Costa (@glommer) - 1 patch
  • Shiqing Fan - 1 patch
  • Dongjiu Geng - 1 patch
  • Rean Griffith - 3 patches
  • Nadav Har'El (@nyh) - 272 patches
  • Sergiy Kibrik (@sa-kib) - 32 patches
  • Waldemar Kozaczuk(@wkozaczuk) - 57 patches
  • Michael Meeuwisse (@Meeuwisse) - 3 patches
  • Vilmos Nebehaj - 1 patch
  • Geraldo Netto (@geraldo-netto) - 13 patches
  • Rick Payne (@rickpayne) - 5 patches
  • Timmons C. Player (@DerangedMonkeyNinja) - 8 patches
  • Christian Schwarz (@problame) - 3 patches
  • Vincent Schwarzer - 1 patch
  • Joel Thompson (@joelthompson) - 2 patches
  • Yuri Volchkov (@yvolchkov) - 10 patches
  • Iori YONEJI - 1 patch
  • Madhuri Yechuri (@myechuri) - 1 patch
  • Wang Yu - 2 patches
  • eyujugu - 1 patch
  • Hidehito Yabuuchi - 1 patch

Artifacts

This is also first time we are publishing many binary artifacts along these release notes on GitHub to download from. These binaries match exact files used by new capstan to build OSv images and go into $HOME/.capstan directory. We hope these will make much easier for newcomers to OSv to try their apps. The published artifacts include:

  • osv-loader.qemu - OSv kernel
  • OSv modules
    • osv.bootstrap.* - default bootstrap
    • osv.cli.* - command line app
    • osv.httpserver-api.* - REST API (backed)
    • osv.httpserver-html5-cli.* - HTML5 command line app
    • osv.httpserver-html5-gui.* - HTML5 monitoring GUI
  • runtimes
    • osv.run-java.* - provides 'java' executable functionality in OSv to bootstrap Java apps
    • osv.run-go.* - tiny app to bootstrap Golang apps
    • osv.openjdk10-java-base.* - Java 10 minimal JRE repackaged to run Java apps on OSv
    • osv.node-js.* - Node 8.11.2 built as PIE shared library to run on OSv
  • example apps
    • iperf
    • lighttpd
    • memcached
    • mysql
    • netperf
    • nginx
    • redis

Going forward we will be publishing kernel and possibly modules binaries if they change.