The Mac builds are finally back! This means we now have Linux, Mac and Android. Regaining iOS support is still something for the future.
The Mac build does drop the Python 2 bindings and the Wright application. Wright isn't going to be a loss, and the Python 2 bindings need to be deprecated in favour of a newer set of Python 3 ones.
One upshot of this is that the oldest compiler we need to support is now likely to be the Mac one rather than the Android one, but it's hard to tell because Apple have a completely different versioning scheme than the llvm project uses.
There have been many changes to the string handling. This is still leading up to the large refactoring. The
u8view has become much more useful and there is a shared version of this in the works. Eventually this will lead to the replacement and deprecation of the
fostlib::string for a variant based constant string, and the use of
std::string everywhere else.
There has also been more cleaning up and removing of Boost libraries. You may find you need to now include Boost threading headers or Boost function headers.
Building on Linux & Mac
git clone --branch=5.18.03.45059 --recursive firstname.lastname@example.org:KayEss/fost-hello.git
On the Mac you will need to set DYLD_LIBRARY_PATH before running hello-world-d
- beanbag — Stand alone transactional JSON database server — email@example.com:KayEss/beanbag.git
- beanbag-seed — Seed project for giving you a starting point to develop web applications using Beanbag — firstname.lastname@example.org:KayEss/beanbag-seed.git
- fost-hello — Sample seed project — email@example.com:KayEss/fost-hello.git
- mengmon — Stand alone web server — firstname.lastname@example.org:KayEss/mengmom.git
- wright — Experimental build system — email@example.com:KayEss/wright.git
- f5-cord — First version of a new string library with compile time string and Unicode support — firstname.lastname@example.org:KayEss/f5-cord.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 — Eclipse project for Android that allows Fost 4 and Beanbags to be used on mobile devices — email@example.com: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 — firstname.lastname@example.org:KayEss/fost-beanbag.git
- fost-base — Build system and core libraries — email@example.com:KayEss/fost-base.git
- fost-internet — Internet protocols, servers & clients — firstname.lastname@example.org:KayEss/fost-internet.git
- fost-meta — All libraries in one wrapper — email@example.com:KayEss/fost-meta.git
- fost-orm — Object/Relational mapping — firstname.lastname@example.org:KayEss/fost-orm.git
- fost-postgres — PostgreSQL — email@example.com:KayEss/fost-postgres.git
- fost-py — Python (2.x) bindings — firstname.lastname@example.org:KayEss/fost-py.git
- fost-web — Web server libraries — email@example.com:KayEss/fost-web.git
- fost-wright — Experiment in a build system — firstname.lastname@example.org:KayEss/fost-wright.git
Detailed change log
empty to the
u8view and buffers.
- Add ability to output
u8view and move overloaded
operator <<s to
- Allow appending of a
u8view to a
u8views can be concatenated to form
lstring now also has a string literal,
empty() member to
- The const shared string buffers need to be immutable.
u8view can be explicitly converted to a
u8view is now comparable with
const char *.
- Don't include any Fost headers.
- Bypass the coroutine unwind exceptions for the reactor and sync.
- Move the
reactor_pool can be closed and its threads joined at any time.
- Fix the fg parser to allow whitespace and comments in more places.
- Removed use of
- Fix bug to handle requirements for autotest libraries properly.
- Removed Boost lambda and bind
- Remove previously deprecated
- Allow the C++ version to be specified as
std-version in the requirments.jam file.
crypto_compare works with Unicode strings.
- More tagged strings can now be coerced to
json and to
- Improve the converting nullable constructor so it uses explicit type conversions.
- Make more string utilties compatible with
f5::u8view, at the cost of wide character literals.
nullable<f5::u8view> coercions from JSON not throw errors if the value isn't a string.
- Improve the jcursor APIs to better support u8view and move semantics.
- Add f5::lstring as an option for storage inside
- Control characters need to be escaped when producing JSON strings.
- Can now mint a JWT with an initial payload.
- Remove uses of
boost::function and make
- Add missing namespaces to the log definition macros.
- Small readability improvement to the default stdout logger.
- Crypto hashes now take a
f5::u8view which should remove some memory allocations.
fostlib::utf::u8_view in favour of
utf::u8_view to f5-cord.
array_view and replace with
f5::array_view from f5-cord.
- Deprecate use of the
fostlib::string JSON coercion in favour of
- Make the
query_string API a bit less pathalogical by caching the stringified version.
- JSON arrays used as header sub-values are now set as the JSON string.
- Removed all uses of
- Remove all instances of
- Put session variable names in double quotes.
- Changed the upsert function to also take an array of strings for a RETURNING clause.
- Fix a problem with Boost 1.65
- Work is distributed between workers more evenly.