Pantheios Changelog

What's new in Pantheios 1.0.1 Beta 212

Aug 14, 2011
  • Various minor fixes and documentation improvements.

New in Pantheios 1.0.1 Beta 210 (Jan 10, 2011)

  • added compile-time validation to prevent fundamental types being passed to log statements
  • added GCC 4.5 support

New in Pantheios 1.0.1 Beta 209 (Jan 6, 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.

New in Pantheios 1.0.1 Beta 207 (Dec 27, 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.

New in Pantheios 1.0.1 Beta 205 (Dec 13, 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.

New in Pantheios 1.0.1 Beta 201 (Nov 19, 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.

New in Pantheios 1.0.1 Beta 200 (Nov 15, 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).

New in Pantheios 1.0.1 Beta 195 (Mar 5, 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

New in Pantheios 1.0.1 Beta 192 (Jul 8, 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

New in Pantheios 1.0.1 Beta 190 (Jul 3, 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

New in Pantheios 1.0.1 Beta 189 (Jun 29, 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

New in Pantheios 1.0.1 Beta 188 (May 21, 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

New in Pantheios 1.0.1 Beta 187 (May 15, 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

New in Pantheios 1.0.1 Beta 186 (May 8, 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

New in Pantheios 1.0.1 Beta 185 (Apr 17, 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

New in Pantheios 1.0.1 Beta 184 (Apr 16, 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

New in Pantheios 1.0.1 Beta 182 (Feb 15, 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.

New in Pantheios 1.0.1 Beta 181 (Feb 13, 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.

New in Pantheios 1.0.1 Beta 180 (Feb 3, 2009)

  • support for Borland 5.9.x and 6.1.x

New in Pantheios 1.0.1 Beta 179 (Feb 1, 2009)

  • A defect whereby pantheios_logvprintf() (and pantheios_logprintf()) failed to check severity before logging was fixed. STLSoft 1.9.72 is required.

New in Pantheios 1.0.1 Beta 178 (Jan 16, 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

New in Pantheios 1.0.1 Beta 177 (Jan 1, 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.

New in Pantheios 1.0.1 Beta 175 (Dec 19, 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

New in Pantheios 1.0.1 Beta 177 (Dec 3, 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

New in Pantheios 1.0.1 Beta 173 (Nov 18, 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

New in Pantheios 1.0.1 Beta 170 (Nov 10, 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

New in Pantheios 1.0.1 Beta 168 (Oct 18, 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.

New in Pantheios 1.0.1 Beta 167 (Oct 16, 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.

New in Pantheios 1.0.1 Beta 164 (Oct 12, 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.

New in Pantheios 1.0.1 Beta 162 (Oct 7, 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.

New in Pantheios 1.0.1 Beta 160 (Sep 24, 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

New in Pantheios 1.0.1 Beta 159 (Sep 22, 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

New in Pantheios 1.0.1 Beta 158 (Sep 19, 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

New in Pantheios 1.0.1 Beta 157 (Sep 19, 2008)

  • added new error code (PANTHEIOS_BE_INIT_RC_INIT_CONFIG_REQUIRED)
  • improved error reporting in fe.WindowsRegistry

New in Pantheios 1.0.1 Beta 155 (Sep 11, 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.

New in Pantheios 1.0.1 Beta 154 (Sep 2, 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

New in Pantheios 1.0.1 Beta 153 (Sep 1, 2008)

  • fixed defect in pantheios/util/time/currenttime.h * added example.c.getcurrenttime (for pantheios_getCurrentTime())

New in Pantheios 1.0.1 Beta 152 (Aug 28, 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