Fost 4 release now out

Created 21st September, 2009 07:05 (UTC), last edited 21st September, 2009 08:56 (UTC)

The next version of Fost 4 has now been moved to the “stable” locations within our Subversion repository. There has been a lot of activity over the last three months.

One big change is that the Mac is much better supported now* [*The fost-orm tests won't pass, but we expect that problem to be resolved and in branches/rc before long — see below for an explanation of branches/rc. There is also a problem in the WSGI library in fost-py and the examples for fost-internet.]. We have also done a fair bit of work in simplifying the build system so that most of the testing occurs within the Boost.Build Jamfiles. This means that tests are now only run when the code they test has changed.

To use the libraries you no longer need to build them — just include the header locations into your Jamroot project definition and bring the libraries in as dependencies on your targets.

A summary of some of the more significant changes:

  • fost-base
    • A new tagged string class allows us to deal force incompatible string encodings to be incompatible string types.
    • A workerpool has been added to the threading library and some rationalisation of the names of the components has been done.
    • Added Doxygen documentation for the most important parts of fost-core
    • Extended the crypto functionality to allow hashes and HMAC digests to be made more easily.
  • fost-internet — this library has been split off from fost-base.
    • A user agent has been added for HTTP requests.
    • Both single and multi-threaded web servers have been added as examples.
    • Addition of mail support with both an SMTP client and a POP3 client.
    • Some support has been added for Amazon's web services, including a command line tool for uploading files to S3.
  • fost-orm
    • The shape for the new O/RM is now starting to come together. More of it is now running this web site and the models are now able to drive the creation of databases on the PostgreSQL database.
  • fost-py
    • We have been making much more use of the spider for testing our projects, especially our Django ones and this is reflected in new features it now has.
    • There is a new Python host library that should make it easier to embed Python in C++ projects.
    • There is a basic (and incomplete) stand alone WSGI server.

Next steps

The biggest thing that we need to do now is to increase the amount of code that the Doxygen documentation covers and to put some serious effort into packaging the code to make it easier for people to make use of it. This will likely involve us starting a new fost-meta package which will contain the builds for the packages/installers and the documentation.

4.09.12 is due out on December 21st.

Subversion locations

The tagged release is at the following locations:

Each of the packages now contains a branches/rc. This is the best location to use for those who want to get new features as they become available. Typically we do a mini release into these branches once or twice a week and these stable releases are tagged versions of these branches.

We expect to be adding a fost-meta project in the next few days. The full list of packages is maintained on the Ohloh enlistments page.