Fost 5 release 5.19.06.45081 now out
Created 2019-06-23T04:17:27.031Z, last edited 2019-06-24T04:22:01.937Z
The biggest change this time around is that a large number of APIs have been marked for deprecation. These will be removed after the next tagged release (September), so please take special care with the deprecation notices and update any code.
We are currently working on full UTF-16 and UTF-32 support in f5-cord. Once this lands then we will deprecate a slew more of old string APIs. Our target is still to replace fostlib::string with f5::u8string. It will of course take a while.
Good progress is being with iOS support now. There is a new unit test runner, test-ios, that passes all unit tests and is available to download and build.
We've removed a couple of the applications that were never being updated, beanbag and beanbag-seed.
We will also cut down the scope of the open source part of Odin to remove the application handling aspects. These just cause a complication and we believe that the only use cases are particular to us. Please get in touch if this is not the case.
Building on Linux & Mac
You should install Boost development packages using your package manager or brew to safe you from having to build them.
git clone --branch=5.18.09.45065 --recursive [email protected]:KayEss/fost-hello.git cd fost-hello mkdir build.tmp cd build.tmp cmake -G Ninja .. -DCMAKE_INSTALL_PREFIX=../dist ninja install/strip export LD_LIBRARY_PATH=../dist/lib ../dist/bin/hello-world-d
On the Mac you will need to set DYLD_LIBRARY_PATH before running hello-world-d
export DYLD_LIBRARY_PATH=../dist/lib ../dist/bin/hello-world-d
Download locations
Applications
- fost-hello — Sample seed project — [email protected]:KayEss/fost-hello.git
- mengmon — Stand alone web server — [email protected]:KayEss/mengmom.git
- test-android — Android application that runs Fost unit tests — [email protected]:KayEss/test-android.git
- test-ios — iOS application that runs Fost unit tests — [email protected]:KayEss/test-ios.git
- wright — Experimental build system — [email protected]:KayEss/wright.git
Libraries
- f5-cord — First version of a new string library with compile time string and Unicode support — [email protected]:KayEss/f5-cord.git
- f5-json-schema — JSON Schema validation — [email protected]:KayEss/json-schema.git
- f5-threading — Preview of the first Fost 5 library which includes help for threading — [email protected]:KayEss/f5-threading.git
- fost-aws — Amazon AWS and OpenStack — [email protected]:KayEss/fost-aws.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-postgres — PostgreSQL — [email protected]:KayEss/fost-postgres.git
- fost-web — Web server libraries — [email protected]:KayEss/fost-web.git
- fost-wright — Experiment in a build system — [email protected]:KayEss/fost-wright.git
Detailed change log
f5-cord
- Deprecated two argument
substras the second argument handling doesn't matchstd::string::substr.
f5-threading
- Replace
std::experimental::optionalwithstd::optional
fost-base
- Implement string conversion (ISO Zulu time) for
std::chrono::system_clock - Add new nonce functions that return base64url formatted random data in ordered and un-ordered variants.
- Force conversion of the underlying string type from a tagged string to
std::stringbe explicitly invoked. - Deprecate
lengthmembers oftagged_stringandstring. - Add some APIs to
tagged_stringthat are currently onstring. - Add
bin/minitback into project. - Deprecate
string::lengthandtagged_string<>::length - Add a setting,
fostlib::test::c_files_folder, describing the root folder tests should use if they need access to the file system. - Use of define
FSL_FORCE_STD_FILESYSTEMswitches fromboost::filesystemtostd::filesystemwith names infostlib::fs. - Start to process the string deprecations that we want to have:
- Deprecate
fostlib::tagged_string<T, I>::underlying(). - Deprecate
fostlib::string::c_str(). - Add API for turning a
fostlib::stringinto anf5::u8string(u8string_transition).
- Deprecate
fost-internet
- Add methods for fetching out string version and JSON version of mime bodies.
fost-postgres
- Add
RETURNINGsupport to connection'supdatemethod.
fost-web
- Add JSON directory listing view and ability to choose directory listing view for the static file server.
- The web server takes a
-Coption which changes its current directory - Text files (
text/Content-Type) are served as UTF8.
fostgres
- Object APIs can now process JSON arrays into a separate table.
- Add a new view to retry Postgres serialisation errors.
- Add a request logging middleware that stores the per-request log to the database.
odin
- Support multiple facebook apps
- Fix view odin.password.me
- Add executable for timing password hashing rounds and configuration item for round count.
© 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.

