Created 21st December, 2016 04:09 (UTC), last edited 28th March, 2017 03:04 (UTC)
The tags were pushed a few days ago now.
There is one potentially breaking change in the updates to the nullable
type. Now that std::optional
is in C++17 it seems sensible to move towards that. The new nullable
implementation is a wrapper around std::experimental::optional
, but retains the old nullable
methods as well, but marks them as deprecated. It also adds a couple of methods that are in the upcoming std::optional
but aren't in std::experimental::optional
.
As part of the nullable
changes we also stopped bringing in the std::rel_ops
namespace. This could be a breaking change where you've been inadvertently relying on it for implementations of things like operator !=
.
We've also improved the error handling in the fostlib::utf::save_file
such that it should now throw if there is a problem saving the file. There's also a new file based log sink called panoptes
which features built-in file rotation.
We didn't do the changes to the fost-orm library this time around, but expect them for the next release.
Building on Linux
git clone --branch=5.16.12.45004 --recursive git@github.com:KayEss/fost-hello.git
cd fost-hello
Boost/build 62 0
Boost/install 62 0
hello/compile
dist/bin/hello-world-d
Download locations
Applications
- beanbag — Stand alone transactional JSON database server — git@github.com:KayEss/beanbag.git
- beanbag-seed — Seed project for giving you a starting point to develop web applications using Beanbag — git@github.com:KayEss/beanbag-seed.git
- fost-hello — Sample seed project — git@github.com:KayEss/fost-hello.git
- mengmon — Stand alone web server — git@github.com:KayEss/mengmom.git
Libraries
- f5-cord — First version of a new string library —
- f5-threading — Preview of the first Fost 5 library which includes help for threading.
- fost-aws — Amazon AWS and OpenStack — git@github.com:KayEss/fost-aws.git
- fost-android — Eclipse project for Android that allows Fost 4 and Beanbags to be used on mobile devices — git@github.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 — git@github.com:KayEss/fost-beanbag.git
- fost-base — Build system and core libraries — git@github.com:KayEss/fost-base.git
- fost-internet — Internet protocols, servers & clients — git@github.com:KayEss/fost-internet.git
- fost-meta — All libraries in one wrapper — git@github.com:KayEss/fost-meta.git
- fost-orm — Object/Relational mapping — git@github.com:KayEss/fost-orm.git
- fost-postgres — PostgreSQL — git@github.com:KayEss/fost-postgres.git
- fost-py — Python (2.x) bindings — git@github.com:KayEss/fost-py.git
- fost-web — Web server libraries — git@github.com:KayEss/fost-web.git
Detailed change log
fost-base
- Extend
exceptions::file_error
to also take a boost::system::error_code
. - Add error detection into
save_file
. - Refactor
nullable
to look much more like the upcoming std::optional
. - Remove
using namespace std::rel_ops
. - Change the
fostlib::nullable
class to be implemented on top of std::experimental::optional
. - Exceptions caught in FSL_MAIN are now printed to stderr rather than stdout.
- Fix a problem for Boost 1.62.0
- Add the Panoptes file logger as the first of a set of optional loggers.
- Start to make use of the Unicode support in f5-cord.
- Make hashing digester and hmac digester movable.
- Add a
set
member to the jcursor
that overwrites old values in JSON structures. - Add logging messages about why a JWT gets rejected.
- We need to have
<
defined on JSON so do that instead of std::less
. - Added
std::less
overload for JSON with new fost/json
header.
fost-internet
- Add a cookie header parser.
- Replace older Boost code with
std::function
and lambdas.
fost-orm
- Record jsondb saves and handle rename errors better.
- Add a missing lock when adding database post-commit hooks.
- Refactor the jsondb save process to make it more clear what the actual process is.
fost-postgres
- Add support for passing a password for the PG DSN.
fost-web
- Load shared objects before setting up the logger so that optional loggers can be loaded.
- Add a generic 200 response.
- Web view execution now gives a stack trace when an exception is thrown.
- Improved error output where a view name is mis-configured.
- Removed the old
router
function as it's been replaced by view::execute
. - Add a middleware that logs the HTTP request details and some response details.
fostgres
- Add default lookups for the Postgres connection string parameters.
cord
- Start to add support for Unicode with UTF-8 decoding.
threading
- Allow for fetching of the Boost.ASIO work pool thread count.
-
lower_bound
on tsmap
takes the key value by reference not by copy. - Added a missing header.
- Removed a dependancy on algorithms header.