Skip to content

Tags: mylearning2017/IncludeOS

Tags

v0.10.0

Toggle v0.10.0's commit message
IncludeOS v0.10.0

Partial POSIX support
* Blocking sockets
* Syslog
* Tar/gzip
* Read only file support (read, open, stat, seek etc.)

Replaced old build system with CMake
* Extra special thanks to @andreashappe

HTTP 1.1 support
* HTTP server functionality
* Simple, highly usable HTTP client

Monorepo: All IncludeOS subprojects moved into main IncludeOS repo, including:
* Mana Web Application Framework
* Acorn Web Appliance service

Other notable features
* VFS (Virtual file system)
* System RNG (Thanks, @randombit)
* Boot with Grub (Thanks @sarum90)

Utility classes
* CRC32 checksumming
* Fixed queue
* Path to regex
* URI support
* Syslogd with RFC5424 over UDP plugin
* TAR support, including gzip support with the help of uzlib.

Dependencies
* http-parser - Efficient http parsing
* rapidjson (optional)
* uzlib
* python-psutil
* python-jsonschema

Tools
* Diskbuilder: Easily create and link a memdisk with the content of a directory
* boot tool: Python program to easily boot IncludeOS services

v0.10.0-rc.2

Toggle v0.10.0-rc.2's commit message
IncludeOS v0.10.0 Release Candidate 2

    * Full release notes will be made available with the actual release

v0.10.0-rc.1

Toggle v0.10.0-rc.1's commit message
IncludeOS v0.10.0 Release Candidate 1

* Full release notes will be made available with the actual release

v0.9.3

Toggle v0.9.3's commit message
IncludeOS v0.9.3

Distro support
  * Support for Arch by @GuzTech
  * Support for Fedora by @andreashappe
  * Support for LinuxMint by @h4tr3d

Examples
  * 256-color mode VGA (@lefticus)
  * Snake rewrite (@Voultapher)

Kernel
  * Stack switching utility (context). Create and use custom area in memory as
    stack for a provided delegate.
  * CPUID (@gurka). Includes KVM feature support

Misc
  * Minor fixes and refactoring from @RicoAntonioFelix
  * Move ELF symbols (yet again) into its own section, but pre-pruned
  * Further reductions in binary sizes
  * Move stack to the old 640k conventional memory hole, reducing memory usage
  * Updated logotype and READMEs

Heap debugging
  * Validate new and frees
  * Buffer overflow checks (@gurka)
  * Verbose mode for tracking allocations

Utility
  * Added Logger - ring buffer log utility
  * Added Timer - makes it easier to start, stop and restart a task

Profiling
  * Add mode toggle for stack sampler allowing Switch between caller mode
    (show who calls function) and current mode (show current function).

Networking
  * Packet now travels through the network stack as a unique_ptr instead of
    shared_ptr (avoiding control block allocation)
  * Isolated network layering a bit by moving ethernet address to hw::MAC_addr
  * TCP optimizations
    * Fixed bug where read would result in double free
    * No longer sets up default callbacks, saving allocations
    * Minor reduction in size

Testing
  * Improvements to test automation

v0.9.2

Toggle v0.9.2's commit message
IncludeOS v0.9.2

* Fixed CPU usage issue caused by PIT timeouts
* Added optional file system caching
* Various fixes and cleanups.

v0.9.1

Toggle v0.9.1's commit message
IncludeOS v0.9.1

* Fixed DHCP
* Relaxed too strict IP filter
* Major improvement to testrunner
* Various bugfixes and minor improvements

Full release notes on gihub

v0.9.0

Toggle v0.9.0's commit message
IncludeOS v0.9.0

Platform support
  * OpenStack support using IDE boot device
  * Injectable support for platform specific protocols, like Unik instance registration

Instrumentation
  * Backtrace from ELF symbols
  * Context buffer for crashes
  * Real-time stack sampling for profiling

Boot
  * Stack and heap randomization
  * Multiboot support

Kernel features
  * ACPI tables, ACPI shutdown
  * xAPIC support
  * Basic SMP support
  * MSI-X support
  * APIC timer
  * Memory map of named, fixed memory ranges
  * Improved timer system
  * RTC that is auto-calibrated and inexpensive
  * New driver injection system
  * Statman: centrally located statistics for anything

Networking
  * Inet4 is now driver independent
  * TCP modularized with lots of API changes and improvements

Tooling and testing
  * Building kernel with minimal code and stripped symbols
  * Improvements to install scripts
  * Automatic builds using Jenkins for PRs and main branches
  * New automatic test suite for unit testing, using LEST

Misc
  * IPv4 addresses can now be created from string
  * Code refactoring to make use of new C++ features and Core Guidelines
  * Lots of bugfixes

For more detailed release notes, see github

v0.8.1

Toggle v0.8.1's commit message
Quite a few bug fixes after running a new stress test. The OS seems very

stable now, having survived a continous flood of Arp, ICMP and HTTP
packets, run in parallel over ~9 hours. The VM showed no signs of
having problems and gave a HTTP request rate of 3327.1 conn/s. after
the flood ended.

v0.8.0

Toggle v0.8.0's commit message
IncludeOS v0.0.8

Release notes (compact version):

* Block device, filesystem and memdisk
  - Finished filesystem interface with sync and async calls
  - Support for custom filesystems
  - FAT 12/16/32 filesystem implementation
  - Added the Memdisk disk device, linked in as binary section
  - Added Virtio Block device driver
  - Added Virtio Console device driver
  - Automated MemDisk builder from disk image file
  - Async class for automatic handling of async file transfers

* TCP - more or less complete rewrite
  - State logic is now separated into classes
  - "Socket" replaced with "Connection".
  - Fully implemented RFC 793 "TransmissionControl Protocol".
  - Retransmission, round trip time calculation (RFC 6298)
  - Support options - MSS implemented.
  - Congestion Control (New Reno) (RFC 5681 & 6582)
  - Fixed checksum bug causing instability
  - Send queue - queue several write requests which will be stored
  until fully acknowledged to be used for retransmission. Possible to
  avoid any copy by assigning a shared pointer to data.
  - Fair packet distribution among connections.
  - Packets with payload now released immediately after copying data
  once to a shared buffer, released to the user when subscribed.
  - More events to subscribe to - OnConnect, OnDisconnect among
  others.

* Time
  - Async timers, one-shot and repeating (using PIT)
  - We finally have a wall clock! (RTC via CMOS)

* Test
  - Added tests covering the major kernel and networking features
  - New system for automating tests written in python
  - Added support for LEST unit test framework (used in e.g. ./test/GSL)

* Misc
  - UDP now has send queue to help maximize bandwidth
  - Improvements in packet- and buffer-management increasing bandwidth
  - Added an optional async terminal with TCP and Serial backend,
  support for Telnet
  - C++ GSL now included with project, with some limited usage in the kernel
  - New safer virtio interface with GSL
  - Pretty boot
  - Pretty boot screen
  - Tons of bugfixes
  - Updated to llvm 3.8, both libc++ and clang, also for OS X.

v0.8.0-rc.2

Toggle v0.8.0-rc.2's commit message
v0.8.0 release candidate 2.