Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

2015-06-25/Fost 4 release 4.15.06.44953 now out

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 [email protected]: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 — [email protected]:KayEss/beanbag.git
  • beanbag-seed — Seed project for giving you a starting point to develop web applications using Beanbag — [email protected]:KayEss/beanbag-seed.git
  • fost-hello — Sample seed project — [email protected]:KayEss/fost-hello.git
  • mengmon — Stand alone web server — [email protected]:KayEss/mengmom.git

Libraries

  • f5-threading — Preview of the first Fost 5 library which includes help for threading.
  • fost-aws — Amazon AWS and OpenStack — [email protected]:KayEss/fost-aws.git
  • fost-android — Eclipse project for Android that allows Fost 4 and Beanbags to be used on mobile devices — [email protected]: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 — [email protected]:KayEss/fost-beanbag.git
  • fost-base — Build system and core libraries — [email protected]:KayEss/fost-base.git
  • fost-internet — Internet protocols, servers & clients — [email protected]:KayEss/fost-internet.git
  • fost-meta — All libraries in one wrapper — [email protected]:KayEss/fost-meta.git
  • fost-orm — Object/Relational mapping — [email protected]:KayEss/fost-orm.git
  • fost-postgres — PostgreSQL — [email protected]:KayEss/fost-postgres.git
  • fost-py — Python (2.x) bindings — [email protected]:KayEss/fost-py.git
  • fost-web — Web server libraries — [email protected]: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_ptrs.

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.


This post first appeared on Kirit.com, please read the originial post: here

Share the post

2015-06-25/Fost 4 release 4.15.06.44953 now out

×

Subscribe to Kirit.com

Get updates delivered right to your inbox!

Thank you for your subscription

×