August 14th, 2011· Various minor fixes and documentation improvements.
January 10th, 2011· added compile-time validation to prevent fundamental types being passed to log statements
· added GCC 4.5 support
January 6th, 2011· A non-empty string - "unrecognised status code" - is now returned if the status code is unrecognised.
· A compilation error with wide strings in example.cpp.util.strdup was corrected.
· test.unit.fe.WindowsRegistry now succeeds by skipping manipulation of HKEY_LOCAL_MACHINE when run by a user with limited permissions.
December 27th, 2010· Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types.
· Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol.
· Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx.
· Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.6+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.4+), Intel (7+), Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any reasonably modern C++ compiler.
December 13th, 2010· This version adds a new example program, example.cpp.inserter.w2m, and a new implicit link header, include/pantheios/implicit_link/appl.h.
· It also includes various improvements to examples and documentation.
November 19th, 2010· This release adds callback functionality to the stock front-ends, allowing dynamic specification/creation of process identity at runtime.
· It also includes various minor improvements to the makefiles, including resolving a symbol-too-long issue experienced with CodeWarrior's make tool.
November 15th, 2010· This version adds the ability of the be.file back-end to delete the log file (at program exit) if it is empty (via the init flag PANTHEIOS_BE_FILE_F_DELETE_IF_EMPTY.
· It also adds the pantheios::b shorthand inserter typedef (for pantheios::boolean).
March 5th, 2010· pantheios::w2m inserter class now accepts arbitrary wide string types (e.g. std::wstring, stlsoft::simple_wstring)
· enhanced component test for pantheios::w2m inserter class
July 8th, 2009· fixed defect in 64-bit bec.WindowsConsole
· enhanced compiler compatibility for GCC, Intel and VC++ compilers
· reduced dependencies in inserters header files
· bundles xTests 0.13.3
· NOTE: Now requires STLSoft 1.9.85
July 3rd, 2009· workaround of probably Intel 11 defect
· added GCC 4.4 (UNIX) makefile
· bundles xTests 0.13.2
· NOTE: Now requires STLSoft 1.9.85
June 29th, 2009· added pantheios::pad inserter function, and PANTHEIOS_LPAD() and PANTHEIOS_RPAD() macros
· added example and component-test for pantheios::pad inserter
· fixed defect in test back-end be.test
· bundles xTests 0.13.2
· NOTE: Now requires STLSoft 1.9.85
May 21st, 2009· added example.c.extended_severity example
· added two new FAQ items
· fixed defect in stock back-ends whereby severity string would be empty if extended severity information was specified
· various documentation enhancements
· NOTE: Now requires STLSoft 1.9.83
May 15th, 2009· added makefile for Mac OS-X 64-bit
· added prototype makefile for Sun Pro 5.9
· all UNIX makefiles now remove Windows newline sequence in distribution sources
· bundles xTests 0.13.1
· NOTE: Now requires STLSoft 1.9.82
May 8th, 2009· added the Pantheios Assertion API: PANTHEIOS_ASSERT() and PANTHEIOS_MESSAGE_ASSERT()
· added example.c.assert and example.cpp.assert examplee
· includes examples involving variadic macros in Borland makefiles, from 5.82 onwards
· removed unnecessary (and unhelpful) dependencies on pantheios/pantheios.hpp for inserter classes
· changed semantics of pantheios_malloc() to guarantee zeroing of allocation memory and valid alignment for any type
· fixed incorrect definition of getInitErrorString()
· numerous changes to build foundation of future wide string support
· bundles xTests 0.13.1
· NOTE: Now requires STLSoft 1.9.81
April 17th, 2009· implicit link support for Intel C/C++ 10 & 11
· preparatory work for widestring support
· corrected two defects in pantheios_util_strnlen() length-limited length calculations
· added unit test for strnlen
· implicit link example now returns EXIT_SUCCESS, so 'make test.examples' can succeed
· makefile clean.* targets now clean up all artefacts
· NoX builds now correctly suppress use of exceptions and RTTI
· bundles xTests 0.11.4
· NOTE: Now requires STLSoft 1.9.77
April 16th, 2009· added 'version' member to all back-end initialisation structures, and verification action during back-end initialisation function
· added PANTHEIOS_BE_INIT_RC_FUTURE_VERSION_REQUESTED and PANTHEIOS_BE_INIT_RC_OLD_VERSION_NOT_SUPPORTED initialisation codes
· various minor documentation enhancements
· bundles xTests 0.11.3
· NOTE: Now requires STLSoft 1.9.77
· NOTE: These are breaking changes: any programs that use stock
· back-ends must be modified, recompiled and relinked
February 15th, 2009· This release adds support for Intel C/C++ 10 and 11, incorporates a workaround to Mac OS X 10.5's defective gethostname(), and corrects a packaging problem which led to old version of xTests being bundled in 1.0.1 beta 181.
· It bundles xTests 0.10.4.
February 13th, 2009· This release forces the use of STLSoft 1.9.74, which contains workarounds for Borland 6.1.x code generation problems in Pantheios' be.file and fe.WindowsRegistry unit-tests.
February 3rd, 2009· support for Borland 5.9.x and 6.1.x
February 1st, 2009· A defect whereby pantheios_logvprintf() (and pantheios_logprintf()) failed to check severity before logging was fixed. STLSoft 1.9.72 is required.
January 16th, 2009· added PANTHEIOS_BE_FILE_F_SHARE_ON_WINDOWS, which causes be.file to allow write-sharing on Windows
· other minor changes
· NOTE: Now requires STLSoft 1.9.66
January 1st, 2009· This release now has full compatibility with VC++ 8+'s "Safe String" library.
· It also adds the GNU printf-format attribute to pantheios_logprintf() to enhance robustness when using the C API.
· Various other minor adjustments to test and example programs were made, including removal of use of deprecated functions.
December 19th, 2008· added two new initialisation codes, for resource access denial (permissions and locking)
· enhanced the return codes from be.file for file-open failure
· enhanced COM exception helper function templates to enable working with custom severity level pseudo-constants
· added scratch test for COM exception helper function templates
· NOTE: Now requires STLSoft 1.9.63
December 3rd, 2008· logputs() now subject to severity filtering
· refactored core => back-end dispatching
· added two more scratch test projects
· added one more component test project
· removal of previously deprecated files
November 18th, 2008· added new functionality to be.speech, in order to provide workaround for suspected SAPI defect
· enhanced pantheios::integer inserter class, adding 3-parameter ctors to remove ambiguity between width and format
· more changes forming part of the groundwork for future widestring support
· reduced dependencies of various components
November 10th, 2008· enhanced pantheios::pointer inserter class, adding 3-parameter ctor to remove ambiguity between width and format
· added compile-time user-customisation of pantheios_log_n() internal buffer size
· added compile-time user-customisation of pantheios_logprintf() stack size
October 18th, 2008· This release removes previously deprecated header files, adds implementations of functions deprecated (and renamed) in 1.0.1 beta 167 for backwards compatibility, and fixes a defective using declaration in pantheios/util/com/exception_helpers.hpp. It also includes two new FAQ items.
October 16th, 2008· This release includes the renaming/deprecation of badly-named API functions, and all final changes to ensure no-namespace compatibility.
· It requires STLSoft 1.9.58 or later.
October 12th, 2008· Several changes were made to ensure that the suppression of stock severity levels is complete, and the definition of custom severity levels may use the pantheios::levels constant generator class template.
· The pantheios::util::backends::Context base class was altered to facilitate a wider range of severity levels than the 8 used by the stock front-/back-ends.
· These are breaking changes: any programs that define custom back-ends based on pantheios::util::backends::Context must be modified, recompiled, and relinked.
October 7th, 2008· The ability to compile client code with namespace suppression was (re)assured.
· Also, a minor compilation bug with MFC compilation (when pantheios/pantheios.hpp is the first include in the compilation unit) was addressed.
September 24th, 2008· include/pantheios/inserters.hpp now includes include/pantheios/inserters/hostid.hpp
· modification to ensure cross-link-unit compatibility when Pantheios libraries are exported from a dynamic library
· added missing project map (HTML) files within project structure
September 22nd, 2008· added two back-end targeting/multiplexing examples
· added PANTHEIOS_MAKE_EXTENDED_SEVERITY() macro, for targeting statements to back-ends when using the C API
· added project map (HTML) files within project structure
September 19th, 2008· deprecated file pantheios/util/threading/threadid.h now #error on use
· include/pantheios/error_codes.h => include/pantheios/init_codes.h
· include/src/util/init_error_strings.c => include/src/util/init_code_strings.c
September 19th, 2008· added new error code (PANTHEIOS_BE_INIT_RC_INIT_CONFIG_REQUIRED)
· improved error reporting in fe.WindowsRegistry
September 11th, 2008· This release fixes a defect in component test for the pantheios::w2m inserter class, whereby winstl::w2m was used on Unix, rather than stlsoft::w2m.
· This release requires STLSoft 1.9.52.
September 2nd, 2008· added pantheios::w2m (widestring to multibyte) inserter, for use until widestring version of library available
· added component test for pantheios::w2m inserter class
· added performance test for pantheios::w2m inserter class
· NOTE: Now requires STLSoft 1.9.49
September 1st, 2008· fixed defect in pantheios/util/time/currenttime.h * added example.c.getcurrenttime (for pantheios_getCurrentTime())
August 28th, 2008· added source-only distribution, to reduce the download size for users that use the online documentation
· added pantheios_getVersion() function, to allow client code to do runtime tests on the version of Pantheios to which they're linking
· added unit-test for pantheios_getVersion()
· added missing implicit link headers for fe.fail and fe.null
· modified fe.fail to reduce unnecessary link dependencies