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
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@example.com:KayEss/fost-hello.git
cmake -G Ninja .. -DCMAKE_INSTALL_PREFIX=../dist
On the Mac you will need to set DYLD_LIBRARY_PATH before running hello-world-d
- fost-hello — Sample seed project — firstname.lastname@example.org:KayEss/fost-hello.git
- mengmon — Stand alone web server — email@example.com:KayEss/mengmom.git
- test-android — Android application that runs Fost unit tests — firstname.lastname@example.org:KayEss/test-android.git
- test-ios — iOS application that runs Fost unit tests — email@example.com:KayEss/test-ios.git
- wright — Experimental build system — firstname.lastname@example.org:KayEss/wright.git
- f5-cord — First version of a new string library with compile time string and Unicode support — email@example.com:KayEss/f5-cord.git
- f5-json-schema — JSON Schema validation — firstname.lastname@example.org:KayEss/json-schema.git
- f5-threading — Preview of the first Fost 5 library which includes help for threading — email@example.com:KayEss/f5-threading.git
- fost-aws — Amazon AWS and OpenStack — firstname.lastname@example.org: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@example.com:KayEss/fost-beanbag.git
- fost-base — Build system and core libraries — firstname.lastname@example.org:KayEss/fost-base.git
- fost-internet — Internet protocols, servers & clients — email@example.com:KayEss/fost-internet.git
- fost-meta — All libraries in one wrapper — firstname.lastname@example.org:KayEss/fost-meta.git
- fost-postgres — PostgreSQL — email@example.com:KayEss/fost-postgres.git
- fost-web — Web server libraries — firstname.lastname@example.org:KayEss/fost-web.git
- fost-wright — Experiment in a build system — email@example.com:KayEss/fost-wright.git
Detailed change log
- Deprecated two argument
substr as the second argument handling doesn't match
- Implement string conversion (ISO Zulu time) for
- 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::string be explicitly invoked.
length members of
- Add some APIs to
tagged_string that are currently on
bin/minit back into project.
- 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_FILESYSTEM switches from
std::filesystem with names in
- Start to process the string deprecations that we want to have:
- Add API for turning a
fostlib::string into an
- Add methods for fetching out string version and JSON version of mime bodies.
RETURNING support to connection's
- Add JSON directory listing view and ability to choose directory listing view for the static file server.
- The web server takes a
-C option which changes its current directory
- Text files (
text/ Content-Type) are served as UTF8.
- 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.
- Support multiple facebook apps
- Fix view odin.password.me
- Add executable for timing password hashing rounds and configuration item for round count.