Changelogs of ecosystem libraries

MirageOS consists of numerous libraries that are independently developed and released. This page lists the chronological stream of releases, along with the summary of changes that went into each library. The MirageOSorganizationholds most of the major libraries if you just want to browse.

We also provide a short list of backwards incompatible changes

ocaml-cohttp-v0.19.0: Support Lwt 2.5.0 and assorted interface cleanups

Released on 2015-08-05 as v0.19.0. See for full history.

Compatibility breaking interface changes:

New features and bug fixes:

alcotest-0.4.4: Fix regressions

Released on 2015-07-31 as 0.4.4. See for full history.

ocaml-dns-v0.15.3: Critical Dns_server_unix.listen regression bugfix

Released on 2015-07-30 as v0.15.3. See for full history.

0.15.3 (2015-07-30):

ocaml-cow-v1.2.2: Fix int32 support in JSON syntax

Released on 2015-07-30 as v1.2.2. See for full history.

mirage-tcpip-v2.6.0: Better ARP

Released on 2015-07-30 as v2.6.0. See for full history.

mirage-v2.6.0: Better ARP and tar-formatted block devices

Released on 2015-07-29 as v2.6.0. See for full history.

mirage-flow-1.0.3: support latest lwt

Released on 2015-07-29 as 1.0.3. See for full history.

alcotest-0.4.3: Flush display and UTF8 documentation strings

Released on 2015-07-28 as 0.4.3. See for full history.

mirage-seal-0.4.2: Support for case-sensitive filesystems

Released on 2015-07-28 as 0.4.2. See for full history.

mirage-block-volume-v0.12.0: Even more debugability

Released on 2015-07-23 as v0.12.0. See for full history.

mirage-xen-minios-v0.8.0: Depend on minios-xen opam package

Released on 2015-07-23 as v0.8.0. See for full history.

mirage-fs-unix-v1.2.0: Remove use of Sys.command and much consistent semantics

Released on 2015-07-22 as v1.2.0. See for full history.

ocaml-tar-v0.4.1: Bugfix release

Released on 2015-07-21 as v0.4.1. See for full history.

mirage-seal-0.4.1: HSTS headers

Released on 2015-07-21 as 0.4.1. See for full history.

ocaml-tar-v0.4.0: Added Mirage support

Released on 2015-07-19 as v0.4.0. See for full history.

mirage-seal-0.4.0: Add HTTP to HTTPS redirection

Released on 2015-07-17 as 0.4.0. See for full history.

irmin-0.9.8: Mirage support

Released on 2015-07-17 as 0.9.8. See for full history.

mirage-v2.5.1: Make FS.page_aligned_buffer less abstract in mirage-types

Released on 2015-07-17 as v2.5.1. See for full history.

ocaml-git-1.6.2: Support 32bit architectures

Released on 2015-07-17 as 1.6.2. See for full history.

ocaml-git-1.6.1: Bug fixes in the smart HTTP protocol

Released on 2015-07-14 as 1.6.1. See for full history.

ocaml-conduit-v0.8.6: Add Conduit_mirage.Context

Released on 2015-07-14 as v0.8.6. See for full history.

ocaml-conduit-v0.8.5: Fix client-side https resolution for Conduit_mirage

Released on 2015-07-12 as v0.8.5. See for full history.

ocaml-cohttp-v0.18.3: HTTP pipelining and DELETE improvements

Released on 2015-07-12 as v0.18.3. See for full history.

ocaml-git-1.6.0: Fix regressions in Sync.clone, fix reading hashes in .git/HEAD, change API to reset the store and start to improve 32bit support

Released on 2015-07-11 as 1.6.0. See for full history.

ocaml-git-1.5.3: Fix listing of packed references

Released on 2015-07-10 as 1.5.3. See for full history.

ocaml-nocrypto-0.5.1: Several Species of Small Furry Animals

Released on 2015-07-07 as 0.5.1. See for full history.

mirage-tcpip-v2.5.1: Fix regression which causes slow-downs on packet loss, close connection cleanly and extract the channels out

Released on 2015-07-07 as v2.5.1. See for full history.

irmin-0.9.7: Fix regression in the Git backend, add HTTP API versionning

Released on 2015-07-06 as 0.9.7. See for full history.

mirage-http-v2.5.0: less dependencies

Released on 2015-07-05 as v2.5.0. See for full history.

ocaml-dns-v0.15.2: Mirage bugfixes and Lwt improvements

Released on 2015-07-04 as v0.15.2. See for full history.

0.15.2 (2015-07-04):

mirage-channel-1.0.0: Initial release

Released on 2015-07-03 as 1.0.0. See for full history.

irmin-0.9.6: Fix slice serialisation and race in watch initialisation

Released on 2015-07-03 as 0.9.6. See for full history.

alcotest-0.4.2: Better looking outputs

Released on 2015-07-03 as 0.4.2. See for full history.

ocaml-git-1.5.2: Fix serialization of dates, support shallow packs, fix (?) memory leak, etc

Released on 2015-07-03 as 1.5.2. See for full history.

alcotest-0.4.1: Fix error reporting

Released on 2015-07-02 as 0.4.1. See for full history.

ocaml-tls-0.6.0: sanity and fixes

Released on 2015-07-02 as 0.6.0. See for full history.


ocaml-x509-0.4.0: all the PKCS!!!11!!!

Released on 2015-07-02 as 0.4.0. See for full history.

from our CHANGES:

ocaml-dns-v0.15.1: Fix critical DNS resolver timeout bug causing unexpected exceptions

Released on 2015-07-02 as v0.15.1. See for full history.

0.15.1 (2015-07-02):

ocaml-nocrypto-0.5.0: The Faster-Than-Light Release

Released on 2015-07-02 as 0.5.0. See for full history.

The highlight of this release is the use of AES-NI.

RNG APIs were changed to make them more flexible.

From the

>0.5.0 (2015-07-02):

mirage-flow-1.0.2: Fix build dependencies

Released on 2015-06-30 as 1.0.2. See for full history.

alcotest-0.4.0: Remove dependency to OUnit, add TESTABLE combinators

Released on 2015-06-29 as 0.4.0. See for full history.

ocaml-uri-v1.9.1: Fix with_password None bug

Released on 2015-06-26 as v1.9.1. See for full history.

1.9.1 (2015-06-26):

alcotest-0.3.3: Add a JSON output, allow to call multiple run in a program.

Released on 2015-06-22 as 0.3.3. See for full history.

ocaml-cohttp-v0.18.2: Fix 204 code response headers

Released on 2015-06-19 as v0.18.2. See for full history.

ocaml-git-1.5.1: filesystem expansion and remote refs fixes

Released on 2015-06-18 as 1.5.1. See for full history.

mirage-seal-0.3.1: More memory

Released on 2015-06-17 as 0.3.1. See for full history.

ocaml-git-1.5.0: Improve the pack file API, support conduit 0.8.4, support for short hashes, add mirage sync support

Released on 2015-06-12 as 1.5.0. See for full history.

mirage-seal-0.3.0: Add --no-tls

Released on 2015-06-12 as 0.3.0. See for full history.

irmin-0.9.5: New watch API, fixes to export, views, lca computation. Remove Snapshots.

Released on 2015-06-11 as 0.9.5. See for full history.

mirage-v2.5.0: TLS release

Released on 2015-06-10 as v2.5.0. See for full history.


( [] *) ( in 2.4 ) let http = http_server (TCP (Port 80)) conduit ( in 2.5 *) let http = http_server conduit

( [] *) let start http = ( in 2.4 ) http (S.make ~conn_closed ~callback ()) ( in 2.5 *) http (TCP 80) (S.make ~conn_closed ~callback ()) ``` * Change the type of the Mirage.conduit_directcombinator. Previously, it took an optionalvchanimplementation, an optional tlsimmplementation and an optionalstackv4implemenation. Now, it simply takes astackv4implementation and a boolean to enable or disable thetlsstack. Users who want to continue to use vchanwithconduitshould now use theVchanfunctors inside unikernel.mlinstead of the combinators To enable the TLS stack: ```ocaml (* [] *) let conduit = conduit_direct ~tls:true (stack default_console) (* [] *) module Main (C: Conduit_mirage.S): struct let start conduit = C.listen conduit (TLS (tls_config, TCP 443)) callback end ``` * [types] Remove V1.ENTROPYandV1LWT.ENTROPY. The entropy is now handled directly by nocrypto.0.4.0and the mirage-tool is only responsible to call theNocrypto_entropy{mode}.initializefunction. * RemoveMirage.vchan, Mirage.vchan_localhost, Mirage.vchan_xenand Mirage.vchan_default. Vchan users need to adapt their code to directly use the Vchanfunctors instead of relying on the combinators. * RemoveMirage.conduit_clientandMirage.conduit_servertypes. * Fix misleading "Compiling for target" messages inmirage build (#408 by @lnmx) * Add --no-depextto disable the automatic installation of opam depexts (#402) * Support@name/filefindlib's extended name syntax inxen_linkoptsfields. @nameis expanded to%{lib}%/name * Modernize the Travis CI scripts ### mirage-http-v2.4.0: Support cohttp 0.18 Released on 2015-06-10 as [v2.4.0]( See <> for full history. * Support cohttp 0.18 (#13, by @rgrinberg) ### mirage-tcpip-v2.5.0: Strip trailing bits from packets, fix windows parameters for out-of-order packets, add a Log module Released on 2015-06-10 as [v2.5.0]( See <> for full history. * The test runs now produce .pcapfiles (#141, by @MagnusS) * Strip trailing bytes from network packets (#145, by @talex5) * Add tests for uniform packet loss (#147, by @MagnusS) * fixed bug where in case of out of order packets the ack and window were set incorrectly (#140, #146) * Properly handle RST packets (#107, #148) * Add aLogmodule to control at runtime the debug statements which are displayed (#142) * Writing in a PCB which does not have the right state now returns an error instead of blocking (#150) ### alcotest-0.3.2: Add a logo, a simple example, and try to not fail if the output file does not exist Released on 2015-06-08 as [0.3.2]( See <> for full history. * Do not fail if the output file does not exist * Add a simple example (#10, by @leowzukw) * Add a logo (#12, by @leowzukw) ### ocaml-conduit-v0.8.4: Support ocaml-tls in mirage, rework the mirage API Released on 2015-06-08 as [v0.8.4]( See <> for full history. * Full support forocaml-tls.0.5.0 * Breaking API change for mirage-conduit. Now all the flows are dynamic, the functors are becoming first-class values so no big functor to build first. ### mirage-profile-v0.5: mirage-profile 0.5 Released on 2015-06-08 as [v0.5]( See <> for full history. Note: the traces produced by this release can only be read using mirage-trace-viewer version 0.2 or later. Getting all of the new events requires my Lwt tracing-asyncbranch, which I will merge soon after this release. Changes since 0.4: - Report absolute counter values. This allows the reader to see the correct value even if they don't have the start of the trace. - Add new callback thread types (on_success, on_terminate, etc). Requires new Lwt. - Add Trace.should_resolve. Application code can call this to hint that a particular thread is expected to resolve (return or fail). The viewer will check that the thread resolved and highlight it if not (without this, unresolved threads are difficult to see). - Record note_try_readevent (requires new Lwt). This indicates that one thread is waiting for another one. The trace viewer will render this as a yellow arrow if the thread never resolved. - Allow getting and setting the absolute value of a counter. Before, you could only record a delta. Note: callingCounter.increasenow calculates the new value and records that, so you don't need to update existing code. - Don't abort on unknown thread types. Makes it easier to add new types to Lwt. - Link to Mirage tracing documentation. - Updated Lwt repository link in README. Reported by Mindy Preston. ### mirage-trace-viewer-0.2: mirage-trace-viewer 0.2 Released on 2015-06-08 as [0.2]( See <> for full history. - If a thread attempts to read from another one, but it never completes, show a yellow arrow at the attempt so it's clear why it didn't complete (requires new mirage-profile and lwt). - If a thread is marked as "should_resolve" (requires new mirage-profile) then mark it as failed if it never resolved and set its end time to the end of the trace to make it more visible. - Double-click a thread to highlight it. This makes it easier to keep track of it when moving around. It also highlights any thread which this one merges into, and any threads which merge into this one, recursively. - The metric lines are now more visible, with a black outline. - The GTK viewer has a right-click pop-up menu and the HTML viewer has a corresponding side panel that can be opened by clicking the new hamburger icon in the bottom left. - Display of metric lines can be toggled, either all at once by pressing Space or individually via the menu/panel. - You can restrict the default metrics shown when using the HTML viewer API. - You can search for threads with a label matching some string (keyboard short-cut: '/'). - Some metrics now share their scales. e.g. tcp-to-ip and tcp-ackd-segs share a single scale. By default, the scale name is the metric name with any trailing '#...' part removed. So, 'tx_window#445' and 'tx_window#446' (the transmit window for two separate TCP connections) will share the same scale. - Trace files can now report absolute counter values, not just deltas (requires new mirage-profile). Scales now always go down to zero. - There are some new callback thread types (on_success, on_failure, etc; requires new mirage-profile and lwt). Previously, events from such callbacks were shown against the thread that registered the callback. This could cause redraw glitches if that thread ended before the callback events occured. - Don't abort on unknown thread types (allows upgrading the format more easily). - Draw failed threads in red. - Fix positioning of metric lines. - Updated opam file to use new configure option name. Reported by Luke Dunstan. Closes #3. - Adapt to latest io-page (Thomas Gazagnaire). - Install the xen pluggin (Thomas Gazagnaire). ### mirage-net-unix-v2.2.2: Workaround Linux 3.19 bug by forcing non-blocking tuntap Released on 2015-06-08 as [v2.2.2]( See <> for full history. Force non-blocking mode in the tun file descriptor to workaround a Linux 3.19+ kernel bug (see mirage/ocaml-tuntap#15). Requires tuntap 1.3.0+ for the corresponding fix. ### ocaml-tuntap-v1.3.0: Avoid need for root, support persistent and IPv6 interfaces, and Linux 3.19+ Released on 2015-06-07 as [v1.3.0]( See <> for full history. * Do not leak a file descriptor per tun interface (#12 via Justin Cormack) * Avoid the need for root access for persistent interfaces by not calling SIOCSIFFLAGSif not needed (#13 via Justin Cormack). * Use centralised Travis scripts. * Work around OS X bug in getifaddrs concerning lo0@ipv6 (#14) * Force a default of non-blocking for the Linux tuntap file descriptor. This works around a kernel bug in 3.19+ that results in 0-byte reads causing processes to spin ( Workaround is to open the device in nonblock mode, via Justin Cormack. *set_ipaddrrenamed toset_ipv4since it can only set IPv4 addresses. * Improvedgetifaddrsinterface to an association list iface -> addr. * Dropped OCaml < 4.01.x support. * Added convenience functionsgettifaddrs_v{4,6}, v{4,6}_of_ifname. * Do not change the persistsetting if unspecified when opening a new tun interface (#9 from Luke Dunstan). ### ocaml-cohttp-v0.18.1: HTTP header parsing bug fixes Released on 2015-06-05 as [v0.18.1]( See <> for full history. * Remove trailing whitespace from headers (#372) * Don't reverse order of list valued headers (#372) ### ocaml-mbr-v0.3: Support new Mirage 2.3+ Released on 2015-06-04 as [v0.3]( See <> for full history. - Expose a connect function for mirage-types > 2.3 - Fix bounds checks - Add unit tests - Fix integer overflow - Add opam file ### ocaml-cohttp-v0.18.0: Top level printers, Async callv, bug fixes Released on 2015-06-02 as [v0.18.0]( See <> for full history. * Add Cohttp_async.Client.callv. Allows for making requests while reusing an HTTP connection (#344) * Responses of status 1xx/204/304 have no bodies and cohttp should not attempt to read them (#355) * Add top level printers. See findlib package (#363) * AddHeader.to_string(#362) * Fix chunk truncation in chunked transfer encoding (#360) Compatibility breaking interface changes: * RemoveRequest/Responsemodules outside of Cohttp pack (#349) ### mirage-http-v2.3.0: Simplify theClientsignature, works with conduit 0.8.4 Released on 2015-06-02 as [v2.3.0]( See <> for full history. * Simplify theClientsignature to be a simple module. It is not a functor depending onConduitanymore and the context is now more explicit. * Expose type equalities forIO.connin theServerfunctor * Adapt to conduit 0.8.4 ### mirage-seal-0.2.0: Add content-types headers, support latest conduit Released on 2015-06-02 as [0.2.0]( See <> for full history. * Add content-type header to responses from sealed kernel (#7 by @mattgray) * Support conduit 0.8.4 ### ocaml-github-v1.0.0: Stable LTS API Released on 2015-06-01 as [v1.0.0]( See <> for full history. 1.0.0 included many breaking changes and major new features. For a full list of changes, see the file CHANGES in the repository or distribution. atdgen >=1.5.0andyojson >=1.2.0are now required for theirtag_fieldsupport.cohttp >=0.17.0is now required for itsLinkheader support. Many functions now return an'a Response.t Monad.tinstead of an'a Monad.t. This is a future-proofing mechanism to enable progressive disclosure of API call metadata such as headers, redirects, endpoint polling, and so on. Many functions now return a 'a Stream.twhich lazily encapsulates a series of API requests when collections may be too large to fit into a single response (#46). Two-factor authentication is now supported., Monad.(>|=), and Monad.embed : 'a Lwt.t -> 'a Monad.twere added.Monad.(>>~)was added to bind and project an'a Response.t Monad.tvalue. git-jar savewas removed after the Authorizations API response changes of 2015-04-20.git-jar makenow requires a cookie name and defaults to that for the token note.git-jar revokenow accepts either a cookie name or a token ID. Agit-jartoken file permissions security vulnerability was fixed. AGithub.Messageexception was added and is now raised when GitHub returns an API error.API.string_of_messagewas added for human consumption of those structured errors. A number of rate limit query (Rate_limit) and caching (API.get_rate*) features were added. The Searchmodule was added in order to access GitHub's repository search API. Thegit-searchjar command was added to expose this to users. TheEventmodule was added which gives users easy access to a variety of event sources. A new jar command,git-list-events, has been added to print events for a repo. A new test binary, parse_events, has been added which downloads and attempts to parse archived event data. Several bugs with issue listing (#49, #53) were fixed and a new jar command, git-list-issues, was introduced. A command line tool for gist manipulation was added. ### mirage-block-unix-v2.0.0: NetBSD and preliminary rumprun support Released on 2015-05-27 as [v2.0.0]( See <> for full history. * Incompatible API change: Block.blkgetsize takes an extra argument (a file descriptor) * Support NetBSD through DIOCGMEDIASIZE * Support rumprun by avoiding re-opening files, instead we use file descriptors internally ### ocaml-cohttp-v0.17.2: Much better handling of large fixed size bodies Released on 2015-05-24 as [v0.17.2]( See <> for full history. * Remove dependency on the Lwt Camlp4 syntax extension (#334). * Add make githubtarget to push documentation to GitHub Pages (#338 from Jyotsna Prakash). * [async] AddCohttp_async.Server.closeto shutdown server (#337). * Add Async integration tests and consolidate Lwt tests using the new framework (#337). * Fix allocation of massive buffer when handling fixed size http bodies (#345) ### mirage-platform-v2.3.2: Support cstruct 1.6.0 Released on 2015-05-21 as [v2.3.2]( See <> for full history. * [xen] Synchronize Cstruct C stubs with version 1.6.0. ### ocaml-uri-v1.9.0: Verbatim query strings, URN support, colon-handling, Uri_services updates Released on 2015-05-15 as [v1.9.0]( See <> for full history. 1.9.0 (2015-05-15): * Colon (":") is no longer percent-encoded in path segments * URNs are now supported (#67) * Relative paths with colons in first segment have "./" prepended in to_string * Add Uri.empty, the zero length URI reference * Uri_services now includes service aliases (e.g. www, www-http, http) * Uri_services now includes chargen and git * AddUri.canonicalizefor scheme-specific normalization (#70) * AddUri.verbatim_queryto extract literal query string (#57) * AddUri.equal * Add Uri.userandUri.passwordaccessors for subcomponents of userinfo (#62) * AddUri.with_passwordfunctional setter for password subcomponent of userinfo * Fix file scheme host normalization bug which introduced empty host (#59) ### ocaml-dns-v0.15.0: Name module improvements Released on 2015-05-14 as [v0.15.0]( See <> for full history. 0.15.0 (2015-05-14): * Name.domain_name has been renamed to Name.t and is now abstract * Name.domain_name_to_string has been renamed to Name.to_string * Name.string_to_domain_name has been deprecated for Name.of_string * Name.parse_name has been renamed to Name.parse * Name.marshal_name has been renamed to Name.marshal * Name.hashcons_charstring has been renamed to Name.hashcons_string * Name.hashcons_domainname has been renamed to Name.hashcons * Name.canon2key has been renamed to Name.to_key * Name.for_reverse has been replaced by Name.of_ipaddr * Name.of_ipaddr accepts a Ipaddr.t and produces a name suitable for reverse DNS * We now require >= ipaddr.2.6.0 to support Name.of_ipaddr * uri 1.7.0+ is now required for its service registry * Named service lookups are now supported in zone files * Dig string serializations are now in Dns.Dig (#61 from Heidi Howard) ### mirage-seal-0.1.0: Initial release Released on 2015-05-05 as [0.1.0]( See <> for full history. ### mirage-tcpip-v2.4.3: Fix an infinite loop inChannel.read_line Released on 2015-05-05 as [v2.4.3]( See <> for full history. * Fix infinite loop in Channel.read_linewhen the line does not contain a CRLF sequence (#131) ### ocaml-conduit-v0.8.3: Set TCP_NODELAY on unix domain sockets Released on 2015-05-04 as [v0.8.3]( See <> for full history. * Partial support forocaml-tls.0.5.0 * setsockopt TCP_NODELAY fails on a Unix domain socket (#63 by @djs55) ### ocaml-x509-0.3.1: partial PKCS8 support Released on 2015-05-02 as [0.3.1]( See <> for full history. * unencrypted PKCS8 private key support #49 ### ocaml-tls-0.5.0: temporarily stable Released on 2015-05-02 as [0.5.0]( See <> for full history. * updates to extension enum (contributed by Dave Garrett #264) * removed entropy feeding (done by nocrypto) #265 * Tls_lwt file descriptor lifecycle: not eagerly close file descriptors #266 ### ocaml-nocrypto-0.4.0: The Effervescing Elephant Released on 2015-05-02 as [0.4.0]( See <> for full history. * module for injecting entropy into RNG on Unix/Lwt (optional) * module for injecting entropy into RNG on Mirage/Xen (optional; depends on mirage-entropy-xen) * API changes in Rng * do not 0-pad DH public and shared representations * more named DH groups If you edit src/, you just might find @hannesm is hiding in there! ### mirage-entropy-0.3.0: Internally unstable Released on 2015-05-02 as [0.3.0]( See <> for full history. * Remove mirage-entropy-unixfrom the repository; it now only containsmirage-entropy-xen. * Add internal entropy harvesting via timing and CPU RNG if available. * Temporarily disable xentropyd. * The API is no longer V1.ENTROPYcompatible. Thanks to @talex5! ### ocaml-asn1-combinators-0.1.2: Released on 2015-05-02 as [0.1.2]( See <> for full history. A minor release.cstruct-1.6.0compatible. ### mirage-block-volume-v0.11.0: Reliability and debugability Released on 2015-04-30 as [v0.11.0]( See <> for full history. * Erase the redo log when it is created * Update to shared-block-ring.2.0.0 * Avoid using bisect by default ### mirage-vnetif-0.1: v0.1 Released on 2015-04-30 as [0.1]( See <> for full history. First release ### mirage-tcpip-v2.4.2: Fix a memory leak inChanneland addAlcotestframework Released on 2015-04-29 as [v2.4.2]( See <> for full history. * Fix a memory leak inChannel(#119, by @yomimono) * Add basic unit-test for channels (#119, by @yomimono) * Add alcotest testing templates * Modernize Travis CI scripts ### mirage-flow-1.0.1: Support for mirage-types 2.3.0 Released on 2015-04-28 as [1.0.1]( See <> for full history. * AddFflow.error_message ### mirage-block-volume-v0.10.0: Add support for wiping PVs Released on 2015-04-28 as [v0.10.0]( See <> for full history. - PV wipe: this obscures the labels - PV unwipe: this reveals the hidden labels, as an undo ### ocaml-tar-0.3.0: interoperability and portability improvements Released on 2015-04-28 as [0.3.0]( See <> for full history. - add Tar.Make functor which allows easier integration with camlzip - always initialise tar header unused bytes to 0 (previously would use uninitialised data) - modernise Travis CI scripts to use OPAM 1.2 workflow. ### mirage-block-volume-v0.9.2: Idempotent redo-log Released on 2015-04-27 as [v0.9.2]( See <> for full history. * Fixes to ensure redo-log is idempotent. This has resulted in some interface changes. ### ocaml-cohttp-v0.17.1: Improved Async buffer handling Released on 2015-04-24 as [v0.17.1]( See <> for full history. * [async] Limit buffer size to a maximum of 32K in the Async backend (#330 from Stanislav Artemkin). * Add Cohttp.Conf.versionwith the library version number included. * Remove debug output fromcohttp-curl-async. * Add the beginning of a DESIGN.mddocument to explain the library structure. ### mirage-tcpip-v2.4.1: Merge between 2.4.0 and 2.3.1 Released on 2015-04-21 as [v2.4.1]( See <> for full history. ### mirage-platform-v2.3.1: Fix uninstallation of Xen libraries Released on 2015-04-19 as [v2.3.1]( See <> for full history. Fix uninstall ofmirage-xen-ocaml(#126, patch from @hannesm) ### ocaml-cohttp-v0.17.0: Support more HTTP methods, Link support and stability improvements Released on 2015-04-18 as [v0.17.0]( See <> for full history. Compatibility breaking interface changes: *CONNECTandTRACEmethods added toCode.Exhaustive matches will need updating. New features and bug fixes: * Linkheader parsing has been added asCohttp.Link, Header.getlinksandHeader.add_links * cohttp_servernow obeysHEAD` requests and responds 405 to unknown methods Cohttp_async.Server.response type is now exposed as a response * body pair

ocaml-conduit-v0.8.2: Make Mirage_TLS an optional dependency

Released on 2015-04-18 as v0.8.2. See for full history.

Make TLS optional in Conduit_mirage, and disable it by default so that it is a developer-only option until it is properly released. It can be enabled by setting the HAVE_MIRAGE_LWT env variable.

ocaml-conduit-v0.8.1: Plug Unix resource leaks and support latest Async_ssl

Released on 2015-04-17 as v0.8.1. See for full history.

mirage-http-v2.2.0: Rename HTTP to Cohttp_mirage and expose the Server functor

Released on 2015-04-16 as v2.2.0. See for full history.

mirage-v2.4.0: Support latest tcpip, conduit and mirage-http. Remove mirage run, add opam depext and Makefile.user`

Released on 2015-04-16 as v2.4.0. See for full history.

mirage-block-volume-v0.9.1: With oasis generated files and without a bisect dependency.

Released on 2015-04-15 as v0.9.1. See for full history.

No code change from v0.9.0, but following the release guidelines.

alcotest-0.3.1: Fix OCaml 4.01 regression support and and Travis tests

Released on 2015-04-14 as 0.3.1. See for full history.

alcotest-0.3.0: Fix backtrace and use Bytes instead of String

Released on 2015-04-13 as 0.3.0. See for full history.

mirage-block-volume-v0.9.0: First release

Released on 2015-04-10 as v0.9.0. See for full history.

The first release of mirage-block-volume

jitsu-0.1: v0.1

Released on 2015-04-10 as 0.1. See for full history.

First release.

ocaml-cohttp-v0.16.1: Fix Uri Handling

Released on 2015-04-09 as v0.16.1. See for full history.

New features and bug fixes:

ocaml-ctypes-0.4.1: ocaml-ctypes 0.4.1

Released on 2015-04-06 as 0.4.1. See for full history.

See for details.

ocaml-cohttp-v0.16.0: Improved interface for headers, bug fixes for Uri, empty chunks, uninstalling binaries

Released on 2015-04-04 as v0.16.0. See for full history.

Compatibility breaking interface changes:

New features and bug fixes:

ocaml-cstruct-v1.6.0: Add fillv, memset and comparison functions

Released on 2015-04-03 as v1.6.0. See for full history.


Released on 2015-04-02 as 0.2.4. See for full history.

mirage-nat-0.2.2: 0.2.2

Released on 2015-04-02 as 0.2.2. See for full history.

mirage-tcpip-v2.3.1: Permit excess trailing bytes in an IP frame

Released on 2015-03-31 as v2.3.1. See for full history.

ocaml-dns-v0.14.1: Fix namespace pollution, add composition functions, Async_kernel support

Released on 2015-03-30 as v0.14.1. See for full history.

ocaml-conduit-v0.8.0: TLS compatibility

Released on 2015-03-24 as v0.8.0. See for full history.

mirage-tcpip-v2.4.0: ARP improvement

Released on 2015-03-24 as v2.4.0. See for full history.

mirage-bootvar-xen-0.2: v0.2

Released on 2015-03-19 as 0.2. See for full history.

mirage-bootvar-xen-0.1: v0.1

Released on 2015-03-19 as 0.1. See for full history.

First release

ocaml-tls-0.4.0: solar eclipse - special edition release

Released on 2015-03-19 as 0.4.0. See for full history.

ocaml-x509-0.3.0: solar eclipse - special edition release

Released on 2015-03-19 as 0.3.0. See for full history.

mirage-platform-v2.3.0: split the mirage-xen package into 3

Released on 2015-03-17 as v2.3.0. See for full history.

mirage-platform-v2.2.3: Add opam files and remove page_stubs.c

Released on 2015-03-16 as v2.2.3. See for full history.

io-page-v1.5.0: Fix equality and have self-contained stubs

Released on 2015-03-16 as v1.5.0. See for full history.

irmin-0.9.4: better concurrency properties

Released on 2015-03-16 as 0.9.4. See for full history.

ocaml-ctypes-0.4.0: ocaml-ctypes 0.4.0

Released on 2015-03-13 as 0.4.0. See for full history.

See for details.

mirage-net-xen-v1.4.1: Close race condition on device connection

Released on 2015-03-12 as v1.4.1. See for full history.

Wait for the backend network device to enter the Connected state before transmitting packets. This fixes a race condition in a fast-booting unikernel that caused the first packet to be lost (#20, #23).

ocaml-git-1.4.11: Fix the smart HTTP protocol

Released on 2015-03-11 as 1.4.11. See for full history.

mirage-v2.3.0: Interface cleanups and entropy support

Released on 2015-03-10 as v2.3.0. See for full history.

ocaml-fat-v0.10.3: Add explicit connect function, and modernise Travis scripts

Released on 2015-03-10 as v0.10.3. See for full history.

mirage-tcpip-v2.3.0: Support for Mirage 2.3.0's connect removal

Released on 2015-03-09 as v2.3.0. See for full history.

mirage-entropy-v0.2.0: Support for xentropyd

Released on 2015-03-09 as v0.2.0. See for full history.

ocaml-crunch-v1.4.0: Add an explicit connect function to generated code

Released on 2015-03-09 as v1.4.0. See for full history.

mirage-console-v2.1.3: Simplify build and install mirage-console-cli tool

Released on 2015-03-08 as v2.1.3. See for full history.

mirage-fs-unix-v1.1.4: Add explicit connect function, and modernise Travis scripts

Released on 2015-03-08 as v1.1.4. See for full history.

mirage-console-v2.1.2: Add explicit connect function, and modernise Travis scripts

Released on 2015-03-08 as v2.1.2. See for full history.

mirage-block-unix-v1.2.2: Add an explicit connect function, and OPAM pinning support

Released on 2015-03-08 as v1.2.2. See for full history.

mirage-block-xen-v1.3.1: Add connect method to interface

Released on 2015-03-07 as v1.3.1. See for full history.

mirage-net-xen-v1.4.0: Add an explicit connect function

Released on 2015-03-07 as v1.4.0. See for full history.

mirage-net-unix-v2.2.0: Support tuntap persistent interfaces

Released on 2015-03-07 as v2.2.0. See for full history.

ocaml-cow-v1.2.1: Support new ezjsonm in syntax extension

Released on 2015-03-05 as v1.2.1. See for full history.

mirage-platform-v2.2.2: Add generic engine hooks and restore GC tracing support

Released on 2015-03-04 as v2.2.2. See for full history.

mirage-net-macosx-v1.1.0: Interface compatibility improvements with newer Mirage libraries

Released on 2015-03-04 as v1.1.0. See for full history.

mirage-tcpip-v2.2.3: IPv6 and robustness improvements

Released on 2015-03-04 as v2.2.3. See for full history.

mirage-flow-1.0.0: Initial release

Released on 2015-02-26 as 1.0.0. See for full history.

ocaml-uri-v1.8.0: Add URI ordering and comparison functions, and bugfixes

Released on 2015-02-17 as v1.8.0. See for full history.

ocaml-cohttp-v0.15.2: Stability improvements and utility functions

Released on 2015-02-15 as v0.15.2. See for full history.

mirage-xen-minios-v0.7.0: Disable stack protection on x86_64

Released on 2015-02-12 as v0.7.0. See for full history.

Stack protection doesn't work yet on x86_64, so explicitly disable it to prevent boot-time crashes on systems that enable it by default on their host toolchains (like Ubuntu).

ocaml-magic-mime-v1.0.0: Initial public release

Released on 2015-02-08 as v1.0.0. See for full history.

This library contains a database of MIME types that maps filename extensions into MIME types suitable for use in many Internet protocols such as HTTP or e-mail. It is generated from the mime.types file found in Unix systems, but has no dependency on a filesystem since it includes the contents of the database as an ML datastructure.

ocaml-cow-v1.2.0: Now with valid HTML5 Output

Released on 2015-02-06 as v1.2.0. See for full history.

ocaml-git-1.4.10: Fix the smart HTTP protocol

Released on 2015-02-05 as 1.4.10. See for full history.

ocaml-git-1.4.9: Remove OGITTMPDIR

Released on 2015-02-04 as 1.4.9. See for full history.


Released on 2015-02-04 as 0.9.3. See for full history.

ezjsonm-0.4.1: avoid manual coercion

Released on 2015-02-04 as 0.4.1. See for full history.

ocaml-git-1.4.8: Fix bug in LRU cache, flush the cat-file commands

Released on 2015-02-04 as 1.4.8. See for full history.

ocaml-git-1.4.7: Fix for non-bare repositories, remove stdout/stderr messages

Released on 2015-02-03 as 1.4.7. See for full history.

ocaml-nocrypto-0.3.1: The Ditch-Your-OS minor

Released on 2015-02-01 as 0.3.1. See for full history.

Now with Mirage/Xen compatibility. Shout-out to @talex5!

ocaml-fat-0.10.2: Narrow dependency on IO_PAGE signature

Released on 2015-01-31 as 0.10.2. See for full history.

ocaml-git-1.4.6: Improve LRU settings and add the package

Released on 2015-01-29 as 1.4.6. See for full history.

mirage-v2.2.1: Fix external C library linking and command line bug fixes

Released on 2015-01-29 as v2.2.1. See for full history.

mirage-block-xen-v1.3.0: Update to latest io-page 1.4.0 interface

Released on 2015-01-29 as v1.3.0. See for full history.

ocaml-dns-v0.14.0: Interface improvements for DNS packet manipulation

Released on 2015-01-29 as v0.14.0. See for full history.

io-page-v1.4.0: Add Cstruct to Io_page conversion function

Released on 2015-01-28 as v1.4.0. See for full history.

ocaml-vchan-v2.0.2: Support the Io_page 1.3.0 interface

Released on 2015-01-27 as v2.0.2. See for full history.

The io-page 1.3.0 API changed the type of the page to be private, and so this library now ensures that it allocates the grant pages via Io_page. This is backwards compatible with older versions of Io_page.

mirage-net-unix-v2.1.0: Support for Io_page 1.3.0

Released on 2015-01-27 as v2.1.0. See for full history.