Created 29th September, 2015 02:50 (UTC), last edited 29th September, 2015 03:41 (UTC)
The detailed logs look pretty short, but that hides a few fairly big improvements and new features.
The builds are now completely C++14 for both Linux and Android. One consequence of this is that the platform versions of the Boost libraries will no longer work and Boost will need to be re-built.
We've started to sketch out the Fost 5 threading library, a set of very basic building blocks for thread safe storage of data. This is now a dependency for fost-base. There is also a new module system and new performance counters.
The beanbags have also gotten a bit smarter. The old implementation used a thread per beanbag to handle concurrency. Although easy to reason about this of course led to a lot of threads. The implementation has been changed to use a mutex instead. There is now a possibility of deadlock that wasn't there before if you try to do too much in a transaction.
Building on Linux
git clone --branch=4.15.09.44960 --recursive git@github.com:KayEss/fost-hello.git
cd fost-hello
Boost/build 58 0
Boost/install 58 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-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
- Moved the tagged string header.
- The performance counter now takes a variadic constructor to build the path that it will be recorded into.
- Changed the
jcursor
constructors to be properly variadic. - Added a mechanism for setting modules that are part of a system. The log messages now make use of this so it's easier to track where log messages come from.
-
fostlib::push_back
now accepts a fostlib::json::array_t
. - Deprecate
fostlib::counter
.
beanbag/fost-beanbag
- Improved error reporting when opening a beanbag.
- Fixed up tests to remove use of
std::auto_ptr
.
fost-orm
- Cleaned up some old conditional compilation that is no longer relevant.
- Use a mutex to serialise access to the beanbag data rather than a separate thread.
mengmom/fost-web
- Add MIME type for SVG files.
- Remove uses of
std::auto_ptr
. - Add the ability for the static view to handle DELETE requests when it's configuration includes
"verbs": {"DELETE": true}