Fost 5 release now out

Created 28th December, 2017 04:42 (UTC), last edited 28th December, 2017 08:32 (UTC)

This release includes a step towards revised string handling. The eventual goal is to be able to remove the fostlib::string from most places in favour of a smarter structure based on a std::variant that can better handle different string sources. This work is ongoing and you can see progress in the develop branches.

We're also taking a look at macos and Windows again, but both platforms are quite difficult so no real progress yet.

Building on Linux

You will need a C++14 compiler. Recent versions of either gcc or clang are suitable.

git clone --branch= --recursive
cd fost-hello

Download locations


  • beanbag — Stand alone transactional JSON database server —
  • beanbag-seed — Seed project for giving you a starting point to develop web applications using Beanbag —
  • fost-hello — Sample seed project —
  • mengmon — Stand alone web server —
  • wright — Experimental build system —


  • f5-cord — First version of a new string library with compile time string and Unicode support —
  • f5-threading — Preview of the first Fost 5 library which includes help for threading —
  • fost-aws — Amazon AWS and OpenStack —
  • fost-android — Eclipse project for Android that allows Fost 4 and Beanbags to be used on mobile devices —
  • fost-android-ndk — The native code for Android. Includes required parts of Boost configured to use the standard Android build system.
  • fost-beanbag — Transactional JSON database —
  • fost-base — Build system and core libraries —
  • fost-internet — Internet protocols, servers & clients —
  • fost-meta — All libraries in one wrapper —
  • fost-orm — Object/Relational mapping —
  • fost-postgres — PostgreSQL —
  • fost-py — Python (2.x) bindings —
  • fost-web — Web server libraries —
  • fost-wright — Experiment in a build system —

Detailed change log


  • Add string equality comparison and substr operations to u8view.
  • Fill in more of the lstring comparison members.
  • Add shared buffers who can own strings (and other things).
  • Rename array_view to buffer as it is not always immutable.
  • Add u8view and UTF8 decode function.
  • Added an array_view with some constexpr support.


  • Add scripting call setting for manipulating settings.
  • Add parser support for all JSON atom values.
  • Add RETURNING support to PUT request for objects.
  • Move some tests so Postgres is not needed for a normal build.