The Fiasco microkernel started as a reimplementation of the L4 Version 2 API specification. Back then, the only existing implementation was a closed source assembly kernel written by Jochen Liedtke. Michael Hohmuth and other implemented the L4 Version 2 API from scratch and using C++ as programming language.
Starting around 2003 the strict adherence to the L4 Version 2 API was softened and new features and other API implementations were added to Fiasco.
In 2007 the actually supported API of Fiasco was too disjunct with the Version 2 API, so Fiasco received its own API name which is L4.Fiasco.
Further development completely exchanged the interface, which is based on capabilities now and added features such as multiprocessing support. The latest version of Fiasco is Fiasco.OC.