Fost 5 release 5.20.03.45095 now out
Created 2020-03-22T06:24:20.890Z, last edited 2020-03-23T03:41:06.265Z
There is a new library now, Makham, which is at the moment a basic coroutines library offering asynchronous task execution with ties through futures to non-coroutine code. This sits on top of the coroutines TS and is currently only usable from Clang.
There has also been more progress towards being able to move to immutable shared strings and away from the old fostlib::string
interface, with more changes coming. A small change to the JSON parser has been shipped that gives a considerable performance boost (up to 30%) in some circumstances.
There is a new HTTP client library that supports testing through setting expectations which is part of the fost-internet library. Client code in the rest of the libraries will be migrated to it, which will improve testing capabilities for Fostgres and Odin.
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.20.03.45095 --recursive git@github.com:hotkit/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
On the Mac you will need to set DYLD_LIBRARY_PATH before running hello
export DYLD_LIBRARY_PATH=../dist/lib ../dist/bin/hello
Download locations
Applications
- fost-hello — Sample seed project — git@github.com:hotkit/fost-hello.git
- fost-meta — All libraries and applications in one wrapper — git@github.com:hotkit/fost-meta.git
- mengmon — Stand alone web server — git@github.com:hotkit/mengmom.git
- test-android — Android application that runs Fost unit tests — git@github.com:hotkit/test-android.git
- test-ios — iOS application that runs Fost unit tests — git@github.com:hotkit/test-ios.git
- wright — Experimental build system — git@github.com:hotkit/wright.git
Libraries
- cord — First version of a new string library with compile time string and Unicode support — git@github.com:hotkit/cord.git
- fost-aws — Amazon AWS and OpenStack — git@github.com:hotkit/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 — git@github.com:hotkit/fost-beanbag.git
- fost-base — Build system and core libraries — git@github.com:hotkit/fost-base.git
- fost-internet — Internet protocols, servers & clients — git@github.com:hotkit/fost-internet.git
- fost-postgres — PostgreSQL — git@github.com:hotkit/fost-postgres.git
- fost-web — Web server libraries — git@github.com:hotkit/fost-web.git
- fost-wright — Experiment in a build system — git@github.com:hotkit/fost-wright.git
- json-schema — JSON Schema validation — git@github.com:hotkit/json-schema.git
- makham — Coroutines — git@github.com:hotkit/makham.git
- threading — Preview of the first Fost 5 library which includes help for threading — git@github.com:hotkit/threading.git
Detailed change log
fost-base
json
can now be constructed from u16 literals.- Coercion should now always work if the to type is constructible from the from type.
- Add conversions between
std
andboost
shared_ptr
s. - Improve the
digester
interface to take more string types. - Have
json
store the string directly rather than as ashared_ptr
. This is a breaking change onjson
visitors. - Add source file and line/column numbers to
parse_error
. - Improve the
jcursor
API so it can mutatejson
more efficiently. - Remove
-e
(print arguments/environment) support from command line.
fost-internet
- Can now set exceptions as expected outcomes from the HTTP cache.
- Add high level user agent with test expectation support.
fost-web
- Add middleware that can replace response text with fixed strings or setting values.
- Deprecate use of view instances.
- Add a reverse proxy view that allows for changes in request and response.
fostgres
- Improve the display of test failures from
fostgres-test
. - Add sending of cookie values from
testserver.cookies
tofostgres-test
. - Add
rm-path
to test scripts so we can remove JSON from variable values. - Test scripts can now have the view JSON directly in the GET, PUT etc. calls.
odin
- allow link between two app user in odin.link.account
- Facebook and Google user with same email will merged as same user when register, and can login by both method
- Add support changing non app jwt to app jwt when renewing.
threading
tsmap::alter
added so a found member can be changed in-situ.tsmap::add_if_not_found
miss lambda can now mutate the found item.
© 2002-2025 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.