This is the first release for C++14. It includes a preview of a first version of the Fost 5 threading library, but fost-windows has been removed due to continued in-accessibility to a compiler and test platform. Old versions of Boost should probably be rebuilt so that they will be built with C++14.
All of the changes for this switch are going to take a bit of time to settle down. So far we are using C++14 for Android and Linux projects based on this release, but the packaging of it is probably still a bit off in some of the -dev projects.
We've also restricted the Boost versions that we're supporting to 1.55 through 1.58. And Android library is currently using 1.56.
Building on Linux
git clone --branch=4.15.06.44953 --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-aws
- Remove explicit types to get rid of auto_ptr uses.
fost-base
- Use
std::rethrow_exception
to move an exception between threads. - Added variadic versions of
fostlib::push_back
and fostlib::insert
. - Add coercions for ascii_string and utf8_string to json.
- We need libatomic if we're using gcc++ (or clang) for many programs so just have it included.
- Pretty up some common log patterns when using colour output.
- Added colour options to the
stdout
logger. - Remove the
FOST_HAS_MOVE
define because with C++14 we don't need it. - Test file names can now end in
.tests.cpp
as well as -tests.cpp
. - Removed internal uses of
boost::scoped_ptr
. - Add SHA256 to the crypto wrappers.
- Replace all uses of
boost::filesystem::wpath
with path
. - When building an executable make sure that we pull in at least everything for fost-core.
- Fix a build error with Boost 1.58.0.
- Switch to C++14.
- Improve the exception information where a
jcursor::insert
fails due to existing data at the requested key.
fost-internet
- Remove all uses of auto_ptr. Replace some with move semantics, others with unique_ptr.
- Fixed up the tests to use the new service API on the network connections.
- Changed the way that Boost ASIO IO services are used so that server accept sockets can be serviced totally independantly. This is an ugly workaround for the problem, but does at least cause all requests to be properly serviced.
- Allow apostrophes in the
fostlib::url::filepath_string
strings.
fost-orm
- Add a pre-commit mechanism to the
jsondb::local
. - Make the JSON DB local transaction movable.
- Add a
data
member to the local JSON transaction so all of the data can be fetched. - Add JSON database post-commit hooks to augement the transactions ones we already had.
- Fix a build error with Boost 1.58.0.
- Switch to C++14 and remove
auto_ptr
s.
fost-py
- Strip out auto_ptr.
- Add a new test so we can check the version of Python we're using.
- Alter the fpython tests so they don't rebuild the host for each one.
- Updated to C++14.