Release 0.51.0 "Phoenix"
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
- 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
- Simpler non-isolated run java mode - read more details here 785e57e and f0bb5c2
- Support for Java 8 compact profiles, Java 9 and 10 - more details here bee9421
- Modularized Java build (19bf18f)
- Added new Zulu JREs (look for openjdk[89]-zulu-* named apps under https://github.com/cloudius-systems/osv-apps)
- 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
- Modularization by API
- Added HTML5 command line app
- Configurable to serve arbitrary static content
- 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.