« Blog » 2016-03-29

Fost 5 release 5.16.03.44971 now out

Created 2016-03-29T11:11:25.937Z, last edited 2016-04-25T10:39:04.531Z

Most obvious change is the version bump has finally come through. There's also some new functionality in the crypto wrappers for better password hashes.

There's a couple of new libraries that we're going to be included sometime in the next few releases. We're also redesigning the Postgres handling which hopefully will lead to the removal of most, if not all, of the old O/RM code for a simpler and lighter wrapper around the core Postgres features.

There's also a big change in the pipeline for Android to support the switch from gcc to clang — watch this space.

Building on Linux

git clone --branch=5.16.03.44971 --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

  • Removed use of deprecated Fost APIs.

fost-base

  • New fostlib::crypto_bytes function returns an array of bytes from a cryptographically secure location.
  • Add new fostlib::array_view that allows for looking at memory areas.
  • Implement PKBKDF2 with HMAC and SHA256 that produces a fixed length (64 bytes) derived key and one that produces a derived key whose length can be chosen at run time.
  • Added fostlib::crypto_compare which is intended to be as close as possible to constant time for comparison of memory blocks (byte arrays and strings).
  • Allow HMAC with std::array<unsigned char, n> secrets.
  • gcc doesn't really get [[deprecated]] so disable the warnings.
  • Add a new werror build option which sets the -Werror compile flag and turns warnings into errors. Fix remaining warnings in clang builds.
  • Deprecated the fostlib::exceptions::exception::info members. Added a coercion from fostlib::exceptions::exception to fostlib::json. Add a new forwarded exception type. Add #define FOST_NO_STD_EXCEPTION_PTR to control use of std::exception_ptr.
  • Fix a problem with the variadic insert where it expected a jcursor rather than converted to one.
  • Add digest and HMAC overloads for std::vector<unsigned char>.

fost-beanbag

  • Removed use of deprecated Fost APIs.

fost-internet

  • Removed use of deprecated Fost APIs.
  • Make sure the web server logs an error message when it catches an excepion.

fost-orm

  • Improved an error message for file backed JSON databases.
  • Removed use of deprecated Fost APIs.

fost-py

  • Removed use of deprecated Fost APIs.

fost-web

  • Allow multiple configuration files to be loaded by the web server and explicitly load up the logging options.
  • Added Date, Expires to static response headers.
  • Implemented 304 response.
  • Removed use of deprecated Fost APIs.