Fost 5 release 5.16.06.44985 now out
Created 2016-06-30T07:24:20.625Z, last edited 2016-06-30T08:12:42.203Z
This release features a significantly faster JSON unparser/stringifier which can be given a std::string to use as a buffer to stringify into. This is used by a new module for the web server that we should be releasing over the next month or two.
The Android switch from gcc to clang has just been done, but didn't make it into this release. The clang versions are far in advance of gcc so we can start to use some more of the C++14 features we'd like to.
The bad news is that gcc have made a breaking change to their ABI. Although use of the new ABI is optional many distributions have picked it up, including Ubuntu. This breaks clang builds on all of these platforms. It isn't at all clear what the resolution will be or when it will land. This seems especially shameful on Ubuntu where the broken compiler first hit an LTS release.
Building on Linux
git clone --branch=5.16.03.44971 --recursive [email protected]:KayEss/fost-hello.git cd fost-hello Boost/build 58 0 Boost/install 58 0 hello/compile dist/bin/hello-world-d
Download locations
Applications
- beanbag — Stand alone transactional JSON database server — [email protected]:KayEss/beanbag.git
- beanbag-seed — Seed project for giving you a starting point to develop web applications using Beanbag — [email protected]:KayEss/beanbag-seed.git
- fost-hello — Sample seed project — [email protected]:KayEss/fost-hello.git
- mengmon — Stand alone web server — [email protected]:KayEss/mengmom.git
Libraries
- f5-threading — Preview of the first Fost 5 library which includes help for threading.
- fost-aws — Amazon AWS and OpenStack — [email protected]:KayEss/fost-aws.git
- fost-android — Eclipse project for Android that allows Fost 4 and Beanbags to be used on mobile devices — [email protected]:KayEss/fost-android.git
- 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 — [email protected]:KayEss/fost-beanbag.git
- fost-base — Build system and core libraries — [email protected]:KayEss/fost-base.git
- fost-internet — Internet protocols, servers & clients — [email protected]:KayEss/fost-internet.git
- fost-meta — All libraries in one wrapper — [email protected]:KayEss/fost-meta.git
- fost-orm — Object/Relational mapping — [email protected]:KayEss/fost-orm.git
- fost-postgres — PostgreSQL — [email protected]:KayEss/fost-postgres.git
- fost-py — Python (2.x) bindings — [email protected]:KayEss/fost-py.git
- fost-web — Web server libraries — [email protected]:KayEss/fost-web.git
Detailed change log
fost-base
- Add the F5 threading library to the standard project includes.
- Optimise the JSON unparse, especially for the case where we can unparse into a buffer.
- Add a
fostlib::json::unparsethat takes afostlib::string. - Add a
fostlib::json::getoverload that can be given a default to substitute if the value doesn't exist. - Added coercion for
std::vectorto JSON, which will give an array of the vector values coerced to JSON.
fost-beanbag
- Downgrade two log messages to debug level.
- Add
PATCHmethod to the raw beanbag view and operations for manipulating them. - Add
op:removeandop:createdtransformations forPATCHrequests.
fost-orm
- Fix up the use of the root position in the
jsondb::localand add a newrebasemethod for changing it. This causes a breaking change in the transformation function signature which now needs to take the transaction root as an argument.
fost-py
- Fixed which JSON unparse gets used by Python.
fost-web
- Improve error display and add logging of errors.
© 2002-2026 Kirit & Tai Sælensminde. All forum posts are copyright their respective authors.
Licensed under a Creative Commons License. Non-commercial use is fine so long as you provide attribution.

