Fost 4 release 4.10.06.39877 now out
Created 2010-06-21T03:18:29.588Z, last edited 2010-06-21T03:36:30.801Z
This release contains mostly a lot of work on the HTTP client (user agent) and the HTTP servers. For the Mac we now also support 32/64 bit fat binaries, and the iOS (iPhone/iPad etc.) support is much better.
If you want to get started the best place to look is the fost-hello example project.
Linux & Mac |
---|
svn co http://svn.felspar.com/public/fost-hello/tags/4.10.06.39877 fost-hello cd fost-hello Boost/build hello/compile dist/bin/hello-world-d On the Mac you will need to set DYLD_LIBRARY_PATH before running hello-world-d export DYLD_LIBRARY_PATH=dist/lib dist/bin/hello-world-d |
Windows |
svn co http://svn.felspar.com/public/fost-hello/tags/4.10.06.39877 fost-hello cd fost-hello Boost\build hello\compile dist\bin\hello-world-gd |
The next release is due out on September 21st.
Download locations
Everything is available through our Subversion repository. Below are the locations for the tagged releases for Fost 4.10.03.39008 components.
- fost-aws — Amazon Web Services support — http://svn.felspar.com/public/fost-aws/tags/4.10.06.39877
- fost-base — Core libraries — http://svn.felspar.com/public/fost-base/tags/4.10.06.39877
- fost-internet — Internet networking libraries — http://svn.felspar.com/public/fost-internet/tags/4.10.06.39877
- fost-meta — Everything — http://svn.felspar.com/public/fost-meta/tags/4.10.06.39877
- fost-orm — Database libraries — http://svn.felspar.com/public/fost-orm/tags/4.10.06.39877
- fost-postgres — PostgreSQL database libraries — http://svn.felspar.com/public/fost-postgres/tags/4.10.06.39877
- fost-py — Python language bindings — http://svn.felspar.com/public/fost-py/tags/4.10.06.39877
- fost-windows — Microsoft Windows specific libraries — http://svn.felspar.com/public/fost-windows/tags/4.10.06.39877
Detailed change log
- Exception handling
- Allow us to throw not implemented exceptions based on Boost system errors.
- String handling
- Added coercion from string::hex_string to std::size_t
- Fost authentication
- Added a utility function to add the authentication to a user agent.
- Fixed the signature so that it signs the query string when there is no post data.
- Parsers
- Removed the parser instances because they're not thread safe.
- Host
- Added JSON coercions for fostlib::host.
- A host can now be configured with a port number as the service.
- Added Python binding for the host class.
- URL
- The host and port number are now mutable fields of the URL.
- Fixed a bug where port numbers weren't properly shown in URLs converted to strings.
- Query string values may now contain forward slashes and colons.
- Fixed a bug where query strings were being thrown away when URLs were parsed.
- The query string can now be any sequence rather than only a map of key/value pairs.
- TCP/IP
- Most errors should now end up with a fostlib::exceptions::exception which allows the error to be annotated.
- HTTP client/server
- Fixed a bug in chunked encoding that was causing the chunks to end up in the data block in the reverse order.
- The user agent request can now be built from passed in MIME data.
- The response body can now be detached from the client response as can the request body from the server.
- The HTTP server now accepts additional verbs, more correct resource paths and can return all status codes supported by HTTP 1.1.
- The fget example now allows us to save to a file by using an extra parameter.
- There is a new MIME type binary_body for handling in-memory binary MIME data.
- Added more allowable characters to the resource parser for HTTP requests.
- The server request now supports handling of bad requests.
- The HTTP client post and put short cuts now accept all data types supported by the request.
- Changed the type of the server request query string to match that of the URL.
- The parsing of the beginning of the HTTP request by the server is now protected by a mutex because Boost.Spirit is not thread safe.
- Corrected behaviour for 304 responses.
- Added the 207 response code
- URLs may contain bangs (!)
- The request data can now be retrieved from the Python request object.
- The user agent body is now returned as a Python string rather than as a Unicode string. Interpretation of the data is now up to the Python code.
- POP3 client
- Improved the error reporting by annotating exceptions in as many places as possible.
- fget example
- Now supports the use of FOST authentication through the -authentication, -key and -secret command line switches. There's also a -user switch to handle authentication where the REST end point supports impersonation.
- MIME
- Improved handling of headers that don't have values.
- Added support for multiple headers of the same name.
- Object pointers
- Implemented more of the pointer dereferencing operators.
- Model initialisation
- There is now an explicit type for the parameter used to initialise a model instance. This will allow the available information to be extended in a sane manner.
- Mac builds
- Added support for Postgres installation into /usr/local/pgsql/
- Code layout
- Moved all non-private fost-internet headers out of include/fost/detail
- Moved a number of fost-orm headers into much more sensible locations
- Changed the layout of the internet Python code.
- Moved internal headers in fost-py to a better location
© 2002-2025 Kirit & Tai Sælensminde. All forum posts are copyright their respective authors.
Licensed under a Creative Commons License. Non-commercial use is fine so long as you provide attribution.