Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

graphics/exifprobe: fix build on SmartOS #154

Closed
wants to merge 1 commit into from

Conversation

wiedi
Copy link

@wiedi wiedi commented Dec 8, 2013

fix build on SmartOS

jperkin pushed a commit that referenced this pull request Dec 9, 2013
Upstream changes since 1.0:
log4cplus 1.1.1

- FileAppender - Accept also std::ios_base::ate as "append to a log
  file" specification.

log4cplus 1.1.1-RC4

- Fixed bug #156 - Messages are truncated when produced using the
  LOG4CPLUS_*_FMT() macros.
- Fixed bug #157 - Fedora package build failure.
- Improved log4cplus initialization:
  - Use APC to initialize log4cplus outside loader lock.
  - Use Microsoft C runtime library TLS callbacks to initialize
    log4cplus as static library.
  - Warn during compilation that automatic initialization is not
    possible when log4cplus is being compiled with static Microsoft C
    runtime library.
  - Provide log4cplus::initialize() function to allow users to
    initialize log4cplus in situations where automatic initialization
    is not possible.
- Several improvements to CMake build:
  - Fixed OpenBSD + CMake builds.
  - Fixed issues with Visual Studio 2005 CMake builds.
  - Added support for CMake builds on Android with NDK. (Sergey
    Nikulov)
  - The defines.hxx.cmake file is now generated out of defines.hxx.in.
  - Library version is parsed out of version.h. (Sergey Nikulov)
- MDC formatter for PatternLayout ("%X") now expands into list of key
  value pairs if no specific key is given. (Yaqian Shen)
- Avoid clock_nanosleep() on Android.
- ServerSocket::accept() can now be interrupted from another thread
  using new function ServerSocket::interruptAccept().

log4cplus 1.1.1-RC3

- Fixed another MinGW related build failure.
- Fixed mismatched #if/#endif in Windows builds.

log4cplus 1.1.1-RC2

- Allow to disable TLS usage in macros through
  LOG4CPLUS_MACRO_DISABLE_TLS preprocessor symbol.
- Fixed compilation with Clang on Cygwin.
- Fixed SIGSEGV when built with some MinGW distributions.
- Fixed build failure when using -march=i386.
- Implemented thread callback to initialize log4cplus for Visual
  Studio builds of static library.
- Fixed bug #154 - getHostname() failure because of uninitialized
  WinSock.
- Fixed detection of C++11 thread_local keyword.
- Fixed builds using DevKit-tdm-32-4.5.2-20111229-1559.

log4cplus 1.1.1-RC1

- Improved documentation for various classes.
- Cherry-picked various small improvements from trunk.
- Fixed Unicode builds on *NIX.
- Fixed static library builds from Visual Studio project.
- Suppressed warning C4127 from MSVC. (Chris Steenwyk)
- Improved MinGW32 and MinGW64 toolchains compatiblity.
- Fixed encoding handling in Properties class.
- Added include directive for properties files. (Jukka Lantto)
- Added colored output for Win32ConsoleAppender. (Konstantin Baumann)
- (Re)Introduced support for C++Builder (XE3)
- Reimplemented acceptSocket() using select() on Windows to allow
  interrupting the accept() call from different thread.

log4cplus 1.1.0

- Fixed MacOS X support - Reimplemented semaphores using named ones
  for Apple builds.
- Fixed resource leak on failure in openSocket().
- Improved configuration file modification check to include file size,
  in addition to file modification time.

log4cplus 1.1.0-RC10

- Fixed non-STLPort4 builds with Solaris Studio. Switch
  '-library=stlport4' is only added if CXXFLAGS does not already
  contain a switch matching -library=(stlport4|stdcxx4|Cstd).
- Fixed --disable-shared MinGW builds.
- Fixed non-working MinGW DLL binaries. DllMain() was not being called
  because of missing extern "C" in its definition.
- CMake build configuration checks have been improved. (Chernyshev
  Vyacheslav)
- GCC switch -O2 is only added if CXXFLAGS does not already contain
  any other -O.
- Improved logging speed using SysLogAppender and Log4jUdpAppender by
  optimizations in both the loggers and in common sockets code.
- FileAppender locale can now be specified in properties files using
  Locale property. See FileAppender Doxygen documentation for more
  details.

log4cplus 1.1.0-RC9

- Improved Log4jUdpAppender compatibility with Chainsaw.
- Fixed crash, bugs #3467112 and #3563699, related to thread-local
  storage destruction.
- Fixed build with Visual Studio 2005, bug #3565529. (xg00)
- Created Cygwin port's .cygport definition for log4cplus.
- Improved hiding of private symbols using GCC's
  __attribute__((visibility("hidden"))) and Solaris Studio's __hidden.
- Fixed build in environments where DEBUG (and other log level names)
  are macros. (Chernyshev Vyacheslav)
- Improved configuration of threads support. (Jens Rehsack)

log4cplus 1.1.0-RC8

- Turned on __thread (TLS) detection on NetBSD 5.1.0 and later that
  has been previously disabled.
- Improved compatibility with log4cplus 1.0.x: allow using log4cplus
  1.0.x log level to string callbacks in 1.1.x.
- Improved various M4 macros.
- Added detection and use C++11 thread_local.
- Fixed XML entities escaping in Log4jUdpAppender.
- Re-added synchronization between ConsoleAppender and LogLog.
- Changed C logger API to return int instead of bool.
- Added C logger API to Visual Studio 2010 projects.
- Implemented remote syslog logging using UDP in SysLogAppender.
- Enabled SysLogAppender on Windows with only remote syslog logging
  enabled.

log4cplus 1.1.0-RC7

IMPORTANT: Builds with --with-iconv configure switch now assume UTF-8
           for plain char strings.

- Bumped up SO version for UDP sockets support related changes.
- Removed Windows CE support.
- Regenerated with Automake 1.12.2.
- Fixed Fedora RPM builds spec file.
- Implemented log4cplus.disableOverride similar to log4j's
  log4j.disableOverride.
- Improved support of profiling and debugging builds with Sun CC.
- Added documentation for configure script options.
- Added detection and use of clock_nanosleep().
- Disabled __thread (TLS) detection for NetBSD. It is broken there.
- New appender: Log4jUdpAppender. It allows logging using UDP with
  log4j XML payload to Chainsaw or Log2Console. (Siva Chandran P)
- Added support for __func__ as function name source for logging
  events.

log4cplus 1.1.0-RC6

- Fixed compilation for build with wchar_t being alias to unsigned
  short (/Zc:wchar_t-) (Windows).
- Added new appender CLFSAppender (experimental), based on Microsoft
  Common Log File System API.
- Added new appender Qt4DebugAppender (experimenta), based on Qt4's
  qDebug(), qWarning() and qCritical() functions.
- Fixed bug #3530769 - compilation issues with Visual Studio 2011.
- Added log4cplus.quietMode property handling to PropertyConfigurator.
- Added #pragma once to all headers.
- Implemented Time::gettimeofday() using Win32 API's
  GetSystemTimeAsFileTime().
- Moved file based locking from FileAppender to Appender to make it
  available for all appenders.
- Changed Windows configuration to use __declspec(thread) when
  compiling for Windows Vista or later and TlsAlloc() otherwise.
- Implemented %r PatternLayout format specifier - miliseconds since
  process start.
- Fixed bug #3101459 - TTCCLayout time is not in milliseconds since
  process start by default.

log4cplus 1.1.0-RC5

- Fixed single threaded log4cplus build issues.
- Added ability to log to std::cerr (Andreas Bießmann).
- Fixed disabling of LOG4CPLUS_*_FMT() macros.

log4cplus 1.1.0-RC4

IMPORTANT: Compilation with Solaris Studio now depends on STLPort
           (-library=stlport4 switch). The default Cstd library is not
           conforming enough for use in log4cplus.
- Improved behaviour of log4cplus as a component of larger CMake based
  project (Andreas Bießmann).
- Updated various Autoconf detection scripts in m4/ directory to newer
  versions.
- Fixed some signedness and overflow warnings.
- Improved Autotools build system's behaviour for cross compilation.
- Added detection of C++11 <atomic> header and related
  functions. Implemented SharedObject reference counting using C++11
  atomics where possible.
- Fixed compilation with GCC 4.6 in C++11 mode.
- Fixed some single-threaded compilation and run time issues.
- Fixed bug #3520891 - FileAppender buffering issue.
- Updated to Autoconf 2.69, Automake 1.12 and Libtool 2.4.2.
- Documented build procedure for Solaris Studio.
- Improved support for Solaris Studio in configure.in.

log4cplus 1.1.0-RC3

- Fixed log4cplusS.vcxproj - Added missing source files to the
  project.

log4cplus 1.1.0-RC2

- CMake build system fixes.
- Fixed TTCCLayout double time stamp issue.

log4cplus 1.1.0-RC1

Important changes relative to PRODUCTION_1_0_x branch:
- Added AsyncAppender.
- Added simple C interface for interoperability with C.
- Added inter-process file locking to file appenders to allow logging
  into a single log file from multiple processes.
- Added Mapped Diagnostic Context (MDC) and associated converter (%X).
- Added alternative thread identification (%T) converter to pattern layout.
- Added function name converter (%M).
- Added wchar_t <-> char conversion implementations based on standard
  C locale functions and based on iconv().
- Added DeviceAppender to allow use of Boost.IOStream's Sink as appender.
- Added LOG4CPLUS_*_FMT() macros to allow printf-like formatted output
  where it is possible.
- Logging macros now accept both logger name as string and Logger
  instance as their first parameter.
jperkin pushed a commit that referenced this pull request Dec 9, 2013
…ult,

52, doesn't work. Needs -lreadline and something else. Will look into this
later. From ChangeLog:

Engine changes
--------------

* Add a very short sample quest with free graphics and musics (#232, #318).
* Allow scripted dialog boxes (#184).
* Allow a scripted game-over menu (#261).
* Replace the old built-in dialog box by a very minimal one.
* Remove the old built-in game-over menu.
* Remove the old built-in dark rooms displaying (#205).
* New entity: separators to visually separate some regions in a map (#177).
* New type of ground: ice (#182).
* New type of ground: low walls (#117).
* Blocks and thrown items can now fall into holes, lava and water (#191).
* Kill enemies that fall into holes, lava and water (#190).
* Allow quest makers and users to set the size of the playing area.
* Allow maps to have a default destination entity (#231).
* A game can now start without specifying an initial map and destination.
* Stairs inside a single floor can now go from any layer to a next one (#178).
* Fix map menus not receiving on_command_pressed/released() events.
* Fix camera callbacks never called when already on the target (#308).
* Fix a crash when adding a new menu during a menu:on_finished() event.
* Fix a crash when calling hero:start_victory() without sword.
* Fix an error when loading sounds (#236). Sounds were working anyway.
* Fix a possible memory error when playing sounds.
* Fix blocks that continue to follow the hero after picking a treasure (#284).
* Fix on_obtained() that was not called for non-brandished treasures (#295).
* Jumpers can no longer be activated the opposite way when in water.
* Jumpers are now activated after a slight delay (#253).
* Sensors no longer automatically reset the hero's movement (#292).
* Correctly detect the ground below the hero or any point.
* Don't die if there is a syntax error in dialogs.dat.
* Show a better error message if trying to play a Solarus 0.9 quest (#260).
* Remove built-in debug keys. This can be done from Lua now.
* Remove the preprocessor constant SOLARUS_DEBUG_KEYS.
* Call on_draw() before drawing menus.
* Fix .it musics looping when they should not.
* Log all errors in error.txt (#287).
* The quest archive can now also be named data.solarus.zip (#293).

Data files format changes
-------------------------

You can use the script tools/data_files_conversion/1.0_to_1.1/update_quest.lua
to automatically update your data files.
Don't forget to make a backup first.

* Sprites: New syntax easier to read and parse (#168).
* project_db.dat: New syntax easier to read and parse (#169).
* quest.dat: Allow to specify a range of supported quest sizes.
* Maps: Add the property "default" to destinations.
* Maps: Make optional the property "destination" of teletransporters.
* Tilesets: The ground value of diagonal walls with water has changed.
* Tilesets: New ground values "ice" and "low_wall".
* dialogs.dat: Allow any property in dialogs. dialog_id and text are mandatory.
* languages.dat no longer exists. Languages are in project_db.dat now (#265).

Lua API changes
---------------

Changes that introduce incompatibilities:

* map:is_dialog_enabled() is replaced by game:is_dialog_enabled().
* map:start_dialog() is replaced by game:start_dialog().
* Remove map:draw_dialog_box(), no longer needed.
* Remove map:set_dialog_style(): replace it in your own dialog box system.
* Remove map:set_dialog_position(): replace it in your own dialog box system.
* Remove map:set_dialog_variable(): use the info param of game:start_dialog().
* Make map:get_entities() returns an iterator instead of an array (#249).
* Replace map:set_pause_enabled() by game:set_pause_allowed().
* Make the enemy:create_enemy() more like map:create_enemy() (#215).
* Remove sol.language.get_default_language(), useless and misleading (#265).
* Remove sol.main.is_debug_enabled().
* Remove map:get_light() and map:set_light() (#205).
* In game:get/set_ability(), ability "get_back_from_death" no longer exists.
* Empty chests no longer show a dialog if there is no on:empty() event (#274).

Changes that do not introduce incompatibilities:

* game:get/set_starting_location(): map and destination can now be nil.
* hero:teleport(): make destination optional (maps now have a default one).
* map:create_teletransporter(): make destination optional.
* Add a function sol.video.get_quest_size().
* Make map:get_camera_position() also return the size of the visible area.
* Add a method entity:is_in_same_region(entity).
* Add a method entity:get_center_position().
* Add methods entity:get_direction4_to(), entity:get_direction8_to() (#150).
* Add a method game:get_hero().
* Add methods hero:get/set_walking_speed() (#206).
* Add hero:get_state() and hero:on_state_changed() (#207).
* Add events separator:on_activating() and separator:on_activated() (#272).
* Add methods enemy:is/set_traversable() (#147).
* Add a method enemy:immobilize() (#160).
* Add on_position_changed() to all entities, not only enemies (#298).
* Add on_obstacle_reached() to all entities, not only enemies (#298).
* Add on_movement_changed() to all entities, not only enemies (#298).
* Add on_movement_finished() to all entities, not only enemies/NPCs (#298).
* target_movement:set_target(entity) now accepts an x,y offset (#154).
* Add a method game:is_pause_allowed().
* Add a method map:get_ground() (#141).
* Add a method map:get_music() (#306).
* Add an optional parameter on_top to sol.menu.start.
* Add sprite:on_animation_changed() and sprite:on_direction_changed() (#153).
* Add a function sol.input.is_key_pressed().
* Add a function sol.input.is_joypad_button_pressed().
* Add a function sol.input.get_joypad_axis_state().
* Add a function sol.input.get_joypad_hat_direction().
* Add functions sol.input.is/set_joypad_enabled() (#175).
* Add a function sol.audio.get_music() (#146).
* Add a function sol.audio.get_music_format().
* Add a function sol.audio.get_music_num_channels().
* Add functions sol.audio.get/set_music_channel_volume() for .it files (#250).
* Add functions sol.audio.get/set_music_tempo() for .it files (#250).
* Return nil if the string is not found in sol.language.get_string().
* sol.language.get_dialog() is now implemented.
* Add a function game:stop_dialog(status) to close the scripted dialog box.
* Add an event game:on_dialog_started(dialog, info).
* Add an event game:on_dialog_finished(dialog).
* Add functions game:start_game_over() and game:stop_game_over (#261).
* Add events game:on_game_over_started(), game:on_game_over_finished (#261).
* Add sol.file functions: open(), exists(), remove(), mkdir() (#267).

Solarus Quest Editor changes
----------------------------

* Add a GUI to upgrade automatically quest files to the latest format (#247).
* Remove the initial prompt dialog to open a quest (#264).
* Replace non-free images by new icons (#245).
* Add tooltips to the add entity toolbar.
* Simplify the add entity toolbar by showing only one icon per entity type.
* Survive when images cannot be found (#256).
* Create more content when creating a new quest (#258, #279).
* Improve error messages.
* Fix a crash when creating a destructible without tileset selected (#283).
* Fix the sprite field disabled in the NPC properties dialog (#303).
@jperkin
Copy link
Collaborator

jperkin commented Dec 10, 2013

Committed upstream with a small tweak, thanks!

@jperkin jperkin closed this Dec 10, 2013
jperkin pushed a commit that referenced this pull request Jan 21, 2014
Upstream changes since 1.0:
log4cplus 1.1.1

- FileAppender - Accept also std::ios_base::ate as "append to a log
  file" specification.

log4cplus 1.1.1-RC4

- Fixed bug #156 - Messages are truncated when produced using the
  LOG4CPLUS_*_FMT() macros.
- Fixed bug #157 - Fedora package build failure.
- Improved log4cplus initialization:
  - Use APC to initialize log4cplus outside loader lock.
  - Use Microsoft C runtime library TLS callbacks to initialize
    log4cplus as static library.
  - Warn during compilation that automatic initialization is not
    possible when log4cplus is being compiled with static Microsoft C
    runtime library.
  - Provide log4cplus::initialize() function to allow users to
    initialize log4cplus in situations where automatic initialization
    is not possible.
- Several improvements to CMake build:
  - Fixed OpenBSD + CMake builds.
  - Fixed issues with Visual Studio 2005 CMake builds.
  - Added support for CMake builds on Android with NDK. (Sergey
    Nikulov)
  - The defines.hxx.cmake file is now generated out of defines.hxx.in.
  - Library version is parsed out of version.h. (Sergey Nikulov)
- MDC formatter for PatternLayout ("%X") now expands into list of key
  value pairs if no specific key is given. (Yaqian Shen)
- Avoid clock_nanosleep() on Android.
- ServerSocket::accept() can now be interrupted from another thread
  using new function ServerSocket::interruptAccept().

log4cplus 1.1.1-RC3

- Fixed another MinGW related build failure.
- Fixed mismatched #if/#endif in Windows builds.

log4cplus 1.1.1-RC2

- Allow to disable TLS usage in macros through
  LOG4CPLUS_MACRO_DISABLE_TLS preprocessor symbol.
- Fixed compilation with Clang on Cygwin.
- Fixed SIGSEGV when built with some MinGW distributions.
- Fixed build failure when using -march=i386.
- Implemented thread callback to initialize log4cplus for Visual
  Studio builds of static library.
- Fixed bug #154 - getHostname() failure because of uninitialized
  WinSock.
- Fixed detection of C++11 thread_local keyword.
- Fixed builds using DevKit-tdm-32-4.5.2-20111229-1559.

log4cplus 1.1.1-RC1

- Improved documentation for various classes.
- Cherry-picked various small improvements from trunk.
- Fixed Unicode builds on *NIX.
- Fixed static library builds from Visual Studio project.
- Suppressed warning C4127 from MSVC. (Chris Steenwyk)
- Improved MinGW32 and MinGW64 toolchains compatiblity.
- Fixed encoding handling in Properties class.
- Added include directive for properties files. (Jukka Lantto)
- Added colored output for Win32ConsoleAppender. (Konstantin Baumann)
- (Re)Introduced support for C++Builder (XE3)
- Reimplemented acceptSocket() using select() on Windows to allow
  interrupting the accept() call from different thread.

log4cplus 1.1.0

- Fixed MacOS X support - Reimplemented semaphores using named ones
  for Apple builds.
- Fixed resource leak on failure in openSocket().
- Improved configuration file modification check to include file size,
  in addition to file modification time.

log4cplus 1.1.0-RC10

- Fixed non-STLPort4 builds with Solaris Studio. Switch
  '-library=stlport4' is only added if CXXFLAGS does not already
  contain a switch matching -library=(stlport4|stdcxx4|Cstd).
- Fixed --disable-shared MinGW builds.
- Fixed non-working MinGW DLL binaries. DllMain() was not being called
  because of missing extern "C" in its definition.
- CMake build configuration checks have been improved. (Chernyshev
  Vyacheslav)
- GCC switch -O2 is only added if CXXFLAGS does not already contain
  any other -O.
- Improved logging speed using SysLogAppender and Log4jUdpAppender by
  optimizations in both the loggers and in common sockets code.
- FileAppender locale can now be specified in properties files using
  Locale property. See FileAppender Doxygen documentation for more
  details.

log4cplus 1.1.0-RC9

- Improved Log4jUdpAppender compatibility with Chainsaw.
- Fixed crash, bugs #3467112 and #3563699, related to thread-local
  storage destruction.
- Fixed build with Visual Studio 2005, bug #3565529. (xg00)
- Created Cygwin port's .cygport definition for log4cplus.
- Improved hiding of private symbols using GCC's
  __attribute__((visibility("hidden"))) and Solaris Studio's __hidden.
- Fixed build in environments where DEBUG (and other log level names)
  are macros. (Chernyshev Vyacheslav)
- Improved configuration of threads support. (Jens Rehsack)

log4cplus 1.1.0-RC8

- Turned on __thread (TLS) detection on NetBSD 5.1.0 and later that
  has been previously disabled.
- Improved compatibility with log4cplus 1.0.x: allow using log4cplus
  1.0.x log level to string callbacks in 1.1.x.
- Improved various M4 macros.
- Added detection and use C++11 thread_local.
- Fixed XML entities escaping in Log4jUdpAppender.
- Re-added synchronization between ConsoleAppender and LogLog.
- Changed C logger API to return int instead of bool.
- Added C logger API to Visual Studio 2010 projects.
- Implemented remote syslog logging using UDP in SysLogAppender.
- Enabled SysLogAppender on Windows with only remote syslog logging
  enabled.

log4cplus 1.1.0-RC7

IMPORTANT: Builds with --with-iconv configure switch now assume UTF-8
           for plain char strings.

- Bumped up SO version for UDP sockets support related changes.
- Removed Windows CE support.
- Regenerated with Automake 1.12.2.
- Fixed Fedora RPM builds spec file.
- Implemented log4cplus.disableOverride similar to log4j's
  log4j.disableOverride.
- Improved support of profiling and debugging builds with Sun CC.
- Added documentation for configure script options.
- Added detection and use of clock_nanosleep().
- Disabled __thread (TLS) detection for NetBSD. It is broken there.
- New appender: Log4jUdpAppender. It allows logging using UDP with
  log4j XML payload to Chainsaw or Log2Console. (Siva Chandran P)
- Added support for __func__ as function name source for logging
  events.

log4cplus 1.1.0-RC6

- Fixed compilation for build with wchar_t being alias to unsigned
  short (/Zc:wchar_t-) (Windows).
- Added new appender CLFSAppender (experimental), based on Microsoft
  Common Log File System API.
- Added new appender Qt4DebugAppender (experimenta), based on Qt4's
  qDebug(), qWarning() and qCritical() functions.
- Fixed bug #3530769 - compilation issues with Visual Studio 2011.
- Added log4cplus.quietMode property handling to PropertyConfigurator.
- Added #pragma once to all headers.
- Implemented Time::gettimeofday() using Win32 API's
  GetSystemTimeAsFileTime().
- Moved file based locking from FileAppender to Appender to make it
  available for all appenders.
- Changed Windows configuration to use __declspec(thread) when
  compiling for Windows Vista or later and TlsAlloc() otherwise.
- Implemented %r PatternLayout format specifier - miliseconds since
  process start.
- Fixed bug #3101459 - TTCCLayout time is not in milliseconds since
  process start by default.

log4cplus 1.1.0-RC5

- Fixed single threaded log4cplus build issues.
- Added ability to log to std::cerr (Andreas Bießmann).
- Fixed disabling of LOG4CPLUS_*_FMT() macros.

log4cplus 1.1.0-RC4

IMPORTANT: Compilation with Solaris Studio now depends on STLPort
           (-library=stlport4 switch). The default Cstd library is not
           conforming enough for use in log4cplus.
- Improved behaviour of log4cplus as a component of larger CMake based
  project (Andreas Bießmann).
- Updated various Autoconf detection scripts in m4/ directory to newer
  versions.
- Fixed some signedness and overflow warnings.
- Improved Autotools build system's behaviour for cross compilation.
- Added detection of C++11 <atomic> header and related
  functions. Implemented SharedObject reference counting using C++11
  atomics where possible.
- Fixed compilation with GCC 4.6 in C++11 mode.
- Fixed some single-threaded compilation and run time issues.
- Fixed bug #3520891 - FileAppender buffering issue.
- Updated to Autoconf 2.69, Automake 1.12 and Libtool 2.4.2.
- Documented build procedure for Solaris Studio.
- Improved support for Solaris Studio in configure.in.

log4cplus 1.1.0-RC3

- Fixed log4cplusS.vcxproj - Added missing source files to the
  project.

log4cplus 1.1.0-RC2

- CMake build system fixes.
- Fixed TTCCLayout double time stamp issue.

log4cplus 1.1.0-RC1

Important changes relative to PRODUCTION_1_0_x branch:
- Added AsyncAppender.
- Added simple C interface for interoperability with C.
- Added inter-process file locking to file appenders to allow logging
  into a single log file from multiple processes.
- Added Mapped Diagnostic Context (MDC) and associated converter (%X).
- Added alternative thread identification (%T) converter to pattern layout.
- Added function name converter (%M).
- Added wchar_t <-> char conversion implementations based on standard
  C locale functions and based on iconv().
- Added DeviceAppender to allow use of Boost.IOStream's Sink as appender.
- Added LOG4CPLUS_*_FMT() macros to allow printf-like formatted output
  where it is possible.
- Logging macros now accept both logger name as string and Logger
  instance as their first parameter.
jperkin pushed a commit that referenced this pull request Jan 21, 2014
…ult,

52, doesn't work. Needs -lreadline and something else. Will look into this
later. From ChangeLog:

Engine changes
--------------

* Add a very short sample quest with free graphics and musics (#232, #318).
* Allow scripted dialog boxes (#184).
* Allow a scripted game-over menu (#261).
* Replace the old built-in dialog box by a very minimal one.
* Remove the old built-in game-over menu.
* Remove the old built-in dark rooms displaying (#205).
* New entity: separators to visually separate some regions in a map (#177).
* New type of ground: ice (#182).
* New type of ground: low walls (#117).
* Blocks and thrown items can now fall into holes, lava and water (#191).
* Kill enemies that fall into holes, lava and water (#190).
* Allow quest makers and users to set the size of the playing area.
* Allow maps to have a default destination entity (#231).
* A game can now start without specifying an initial map and destination.
* Stairs inside a single floor can now go from any layer to a next one (#178).
* Fix map menus not receiving on_command_pressed/released() events.
* Fix camera callbacks never called when already on the target (#308).
* Fix a crash when adding a new menu during a menu:on_finished() event.
* Fix a crash when calling hero:start_victory() without sword.
* Fix an error when loading sounds (#236). Sounds were working anyway.
* Fix a possible memory error when playing sounds.
* Fix blocks that continue to follow the hero after picking a treasure (#284).
* Fix on_obtained() that was not called for non-brandished treasures (#295).
* Jumpers can no longer be activated the opposite way when in water.
* Jumpers are now activated after a slight delay (#253).
* Sensors no longer automatically reset the hero's movement (#292).
* Correctly detect the ground below the hero or any point.
* Don't die if there is a syntax error in dialogs.dat.
* Show a better error message if trying to play a Solarus 0.9 quest (#260).
* Remove built-in debug keys. This can be done from Lua now.
* Remove the preprocessor constant SOLARUS_DEBUG_KEYS.
* Call on_draw() before drawing menus.
* Fix .it musics looping when they should not.
* Log all errors in error.txt (#287).
* The quest archive can now also be named data.solarus.zip (#293).

Data files format changes
-------------------------

You can use the script tools/data_files_conversion/1.0_to_1.1/update_quest.lua
to automatically update your data files.
Don't forget to make a backup first.

* Sprites: New syntax easier to read and parse (#168).
* project_db.dat: New syntax easier to read and parse (#169).
* quest.dat: Allow to specify a range of supported quest sizes.
* Maps: Add the property "default" to destinations.
* Maps: Make optional the property "destination" of teletransporters.
* Tilesets: The ground value of diagonal walls with water has changed.
* Tilesets: New ground values "ice" and "low_wall".
* dialogs.dat: Allow any property in dialogs. dialog_id and text are mandatory.
* languages.dat no longer exists. Languages are in project_db.dat now (#265).

Lua API changes
---------------

Changes that introduce incompatibilities:

* map:is_dialog_enabled() is replaced by game:is_dialog_enabled().
* map:start_dialog() is replaced by game:start_dialog().
* Remove map:draw_dialog_box(), no longer needed.
* Remove map:set_dialog_style(): replace it in your own dialog box system.
* Remove map:set_dialog_position(): replace it in your own dialog box system.
* Remove map:set_dialog_variable(): use the info param of game:start_dialog().
* Make map:get_entities() returns an iterator instead of an array (#249).
* Replace map:set_pause_enabled() by game:set_pause_allowed().
* Make the enemy:create_enemy() more like map:create_enemy() (#215).
* Remove sol.language.get_default_language(), useless and misleading (#265).
* Remove sol.main.is_debug_enabled().
* Remove map:get_light() and map:set_light() (#205).
* In game:get/set_ability(), ability "get_back_from_death" no longer exists.
* Empty chests no longer show a dialog if there is no on:empty() event (#274).

Changes that do not introduce incompatibilities:

* game:get/set_starting_location(): map and destination can now be nil.
* hero:teleport(): make destination optional (maps now have a default one).
* map:create_teletransporter(): make destination optional.
* Add a function sol.video.get_quest_size().
* Make map:get_camera_position() also return the size of the visible area.
* Add a method entity:is_in_same_region(entity).
* Add a method entity:get_center_position().
* Add methods entity:get_direction4_to(), entity:get_direction8_to() (#150).
* Add a method game:get_hero().
* Add methods hero:get/set_walking_speed() (#206).
* Add hero:get_state() and hero:on_state_changed() (#207).
* Add events separator:on_activating() and separator:on_activated() (#272).
* Add methods enemy:is/set_traversable() (#147).
* Add a method enemy:immobilize() (#160).
* Add on_position_changed() to all entities, not only enemies (#298).
* Add on_obstacle_reached() to all entities, not only enemies (#298).
* Add on_movement_changed() to all entities, not only enemies (#298).
* Add on_movement_finished() to all entities, not only enemies/NPCs (#298).
* target_movement:set_target(entity) now accepts an x,y offset (#154).
* Add a method game:is_pause_allowed().
* Add a method map:get_ground() (#141).
* Add a method map:get_music() (#306).
* Add an optional parameter on_top to sol.menu.start.
* Add sprite:on_animation_changed() and sprite:on_direction_changed() (#153).
* Add a function sol.input.is_key_pressed().
* Add a function sol.input.is_joypad_button_pressed().
* Add a function sol.input.get_joypad_axis_state().
* Add a function sol.input.get_joypad_hat_direction().
* Add functions sol.input.is/set_joypad_enabled() (#175).
* Add a function sol.audio.get_music() (#146).
* Add a function sol.audio.get_music_format().
* Add a function sol.audio.get_music_num_channels().
* Add functions sol.audio.get/set_music_channel_volume() for .it files (#250).
* Add functions sol.audio.get/set_music_tempo() for .it files (#250).
* Return nil if the string is not found in sol.language.get_string().
* sol.language.get_dialog() is now implemented.
* Add a function game:stop_dialog(status) to close the scripted dialog box.
* Add an event game:on_dialog_started(dialog, info).
* Add an event game:on_dialog_finished(dialog).
* Add functions game:start_game_over() and game:stop_game_over (#261).
* Add events game:on_game_over_started(), game:on_game_over_finished (#261).
* Add sol.file functions: open(), exists(), remove(), mkdir() (#267).

Solarus Quest Editor changes
----------------------------

* Add a GUI to upgrade automatically quest files to the latest format (#247).
* Remove the initial prompt dialog to open a quest (#264).
* Replace non-free images by new icons (#245).
* Add tooltips to the add entity toolbar.
* Simplify the add entity toolbar by showing only one icon per entity type.
* Survive when images cannot be found (#256).
* Create more content when creating a new quest (#258, #279).
* Improve error messages.
* Fix a crash when creating a destructible without tileset selected (#283).
* Fix the sprite field disabled in the NPC properties dialog (#303).
jperkin pushed a commit that referenced this pull request Feb 6, 2014
17 Dec 2013 - 2.7.7
-------------------
Fixes:

- Changed release version to 2.7.7
- Got the configure scripts inside the release tarball


16 Dec 2013 - 2.7.6
-------------------
Improvements:

- Organizes all Makefile.am - 1cde4d2dd9d96747536c1c25d06ba0677069477f
  Now using one file per line (sorted). This is the better way to handle it, since it reduces the possibility of merge conflicts.

- nginx: generates config file using configure input. - 351b9cc357d439e30ebd61d89a9e38ecf55c6827
  The nginx config file was looking for depedencies by its own, by doing that it was ignoring the options that were passed to configure script. This commit deletes this config file and adds a meta-config which is populated by configure whenever the standalone-module is enabled.

- nginx: adds lua support - da16d9e5d51d4ef8734687514a4e1368e7fb4284

- iis: Cosmetics fixies on sqli. - 5046c8327ea21c69b4c0d0c0057c692b05b09fef
  This is needed to get it compiled with VS2011 on Windows8

- Regression tests: makes configuration compatible with 2.2 and 2.4 (try 2) - ae252ee8767069363906e5a611dff487b799b839

- nginx: Trying apxs and apxs2 while compiling nginx module - 65d9272fdc353e1263567b60604542d377d19672

- nginx: Trying apxs and apxs2 while compiling nginx module - 35fd75d859e4a8873b8843da1db13e04a1b08140

- macos: Using glibtoolize instead of libtoolize - 751a9f4e45213cd69f00c62c71edc9d7ad99b82d

- regression-tests: makes configuration compatible with 2.2 and 2.4 - 6fc4cac37ab1be8d1232140042b58fe4bd93ee17

- Regression test: get it working with apache 2.4 - e9813cd0d9bfc5b0c9aa5832634ec1b39b805108
  Changes in httpd.conf.in to get it working with apache 2.4

- Code cosmetics. - 7366f35c1d80772d739b35da8faa972f92a72b97
  Changed to reduce the number of possible fails during Build Bot compilation.

- iis: Waiting for 5 seconds before move curl directory - 9bf2959c919587ebc63f5a1b8c0785da8927bff5
  Testing buildbot.

- Redefines unixd_set_global_mutex_perms on tests - f70f6f4281b806627e0cf0dbb9c84ae5864bdb16
  Avoding conflicts with the standalone implementation

- Adds verbose quality check - 388943440cc9b8c6fdea09f5e365a2e5a3e792e2
  Vera++ and ccpcheck are not outputing to the stderr instead stdout allowing the buildbot to extract some numbers about it.

- Adds support for coding style and quality check - b77e90152d119609ac78a7028383c3b79898b2cf
  Initial effort to get the code on shape. This will be executed by the buildbots as soon as they get ready for it.

- iis: New improvements on the Wix installer - 2ea5a74a7bfb00f21312e51e48aa6dac03d84600
  * Now the installation is divided in modules: ModSecurity and CRS.
  * Added default configuration
  * Configuration was moved to "Program Files" folder
  * Build_msi script now using candle available in %PATH%

- iis: Removes the installer helper dependency - 1a12648c9f6028f251af0f03c889397c7954b74c
  Now using appcmd directly with WiX instead of calling the installer helper.

- iis: Remove readme.html - 550d5aae21cba696cac1ce75ab8113e5255d5a59
  This HTML is about "Creating a Native Module for IIS7" not straight related to ModSecurity itself.

- iis: Adds batch script to compile Wix - a2c5fc831baf0b324ebb66b0f878dacf1ec2f808
  This batch script can be used to generate our msi installer.

- iis: Adds Wix installer resources - 3604763e15a665eb7a6ecae1f7e7c65cebbb1d17
  This is all about cosmetic changes.

- iss: Removes Post-Build event. - 28bbde1bb218b004654cb865fc8563d69b848dc2
  There was a copy on Post-Build event using a hard coded path. This patch removes this Post-Build event.

- iis: Relative paths on the VS project file - 368617ddb2443f9b6036f80a648d467d07c9a054
  There are a ModSecurityIIS solution and project files, those were using hard coded paths to meet the dependencies. As consequence of the last update in our build scripts, now we are able to built the dependencies and load it to our Visual Studio project using relative paths.

- iis: Adds release script - 9477118903861ce80c4c27cb581bf3462315e98e

- iis: fixies the Installer.cpp coding style - 79875b1af8e8571098345b91557bab9c06eb7c88

- iis: Removes AppWizard remade file - 91738f93bcc82b6ab756c550a66b6cf6af2fa9f8
  Apparently the AppWizard was used to generate part of this Installer, the ReadMe.txt created by the AppWizard was removed by this commit

- iss: Removes pre-compiled headers - adfbeb85dcfa9466b72eebb8d1bd8eb7728bab79
  No need to use the pre-compiled headers in InstallerHelper, removing it, in order to keep the project lean.

- iis: Moves installer to InstallerHelper - 6adf25667dd4bfa33010bd6d8ae3d35046a69967
  To organize the folder the Installer application was renamed to installer helper. It is not the real installer, it is just an helper which is executed during the installation phase.

- iss: Removes fart dependencies - 8c3b8d81b613aaa38f28472af1eb26c90c7fc9da
  This commit removes the dependency of the fart.exe utility. The utility was responsible to rename contents inside some dependencies build files. Those modifications are not longer needed.

- iss: Better err handling in build scripts. - 192599bf63b6ae5aa08e4536a90d5d0a17f969f7
  Now checking for errors in every step of the build phase

- iis: Moves build_module.bat to build_modsecurity.bat - e25c6b2e85ced7beba4d41867dbdf30e9c1286d3
  The build_modsecurity.bat is now on the iis sub-directory, not in the dependencies anymore. Its content was also changed fixing all the paths.


- iis: Identifies arch before unzip apache - cf5de78dfb9fffd21edf17af9e1db8f2fd83c804
  Currently we need the Apache binary which could be used in 32 or 64 bits. This patch makes usage of 'cl' to identify which architecture is set.

- iis: Renamves winbuild to dependencies - 1447766e816a896e88c9c8f053fcc3f62797bac1
  Since the directory becomes all about dependencies there is no need to call it winbuild anymore.

- iis: Removes unnecessary files from winbuild dir - 9f8cbf6ed8034ba42aa4967699308df09864fd18
  Those .mak files seems to be part of an old build system. Since the script are now working fine, this commit removes all those .mac files and also a CMakeList.txt and the Makefile.win.

- iis: Improves the iis build system - b277e538f28c87c81c1b50925dd8b82996b88294
  Now checking for common errors while building. Refactoring on the build scripts, now there is this build_dependencies.bat script on the iis sub-folder. By calling this script all the dependencies should be build under the winbuild/. This commit also removes build scripts that were not needed anymore.

- iis: Fixes the vcxproj file - a946a163f0ad822c760af80ca32dda61f0e6b2a9
  Versions of the dependencies were changed, as long as the version of the Visual Studio, now 12.

- iis: Removes unecessary files from the build system - 26738d2e34bcc7620047bd23180e0e26a64c71ee
  The following files were removed:
  * VCVarsQueryRegistry.bat
  * vcvars64.bat
  * vsvars32.bat
The visual studio files can be called direcltly, not necessary to distribute those files, at least in VS12.

- iss: Changes httpd version 2.4.6 - 0a772cb0748aa51a01800e0473309b9de792b456
  Apache version was changed to 2.4.6 to sync with the current apache lounge version.

- iis: Changes the version of the dependencies - 3e6fb41d36b7a5e98a55d8f52b88b29d1bd50b64
  * pcre from 8.30 to 8.33
  * zlib from 1.2.7 to 1.2.8
  * libxml2 from 2.7.7 to 2.9.1
  * curl from 7.24 to 7.33.0

- Removes standalone/Makefile.in - e3c19d53d23c48fea337aae76a87b2a85c36a1f1
  Makefile.in is recommended to be in the repository whenever it is edit manually, in our case the automatically generated Makefile.in is ok.


Bug Fixes:

- test: Avoids conflict of fuctions definition - cef72855e4106ce29e1d39103ebf9eb9ab28f17e

- test: Makes the unit tests to work again - cc982ae42ec86c79a67be1a01c6ee35fb06c272c
  The unit tests was not working due to lack update. This patch adds the necessary stuff to have it work again.

- iis: Avoids directory link while building - ad330a44bfa39430cf6340cb52971568cccdf1d6
  Build scripts was creating links allowing the project to be loaded into Visual Studio without care about the dependencies versions. Sometimes windows refuse to delete those links leading the script to fail. This patch moves the sources directories instead of create links to it.

- QA: Avoids the utilization of 3rd filedescriptor - 69c5ccac662f4e11a6eefd54a3e912583c067b9d
  No need to use a 3rd description on the quality check scripts. Stderr is now redirected to stdout and filtered as needed.

- Supports WarningCountingShellCommand in cppcheck and vera - baaf502363e68c3240b60adb7f7c91f5b4f0ba03
  WarningCountingShellCommand allow us to have some measurements on the buildbot waterfall.

- iis: Using base_rules instead of activated_rules - 7b1537058fa451e0df7098cd907ef19f04102f9d

- iis: Fix inet_pton build problem - a4202146b8d26b6615bbab986383fe0afae60d77
  There is a function named inet_pton on windows API, with different signature. This patch just override the windows function and point the inet_pton to our implementation.

- iis: Adds Wix installer xml file.c - b32cb7d9ab397160f0154aa4bd4e9638658b41e6
  This commit adds the Wix template to our git repository.

- iis: build_modsecurity.bat fixies - 7e03e3f840375ed682c35a5bb67932461cc77013
  This commit enable a cleanup on the mod_security build directory avoiding symbols with different architectures.

- iis: Fix mlogc build on windows - 9b7663fa79377a0685130a019916d810f31e7478
  The libcurl path was not pointing to the correct directory

- Fix #154, Uses addn instead of apr_table_setn - 1734221d9d3a78f9aafd68e35717da9ee1a4fe51
  The headers are represented in the format of an apr_table, which is able to handle elements with the same key, however the function apr_table_setn checks if the key exists before add the element, if so it replaces the old value with the new one. This was making our implementation to just keep the last added Cookie. The apr_table_addn function, which is now used, just add a new item without check for olders one.

- Merge pull request #579 from zimmerle/revert_139 - 61e54f2067ae760808359926ff91d57275df1aac
  Revert merge request #139

- Revert "Merge pull request #139 from chaizhenhua/remotes/trunk" - 7f7d00fa2c364716691df1b45779304b24a0debb
  This reverts commit 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b, reversing changes made to 414033aafa94cd50c9b310afd3f164740caccc94.

- Merge pull request #578 from client9/remotes/trunk - b0c3977845f60747b15ae10531b7d20355a22627
  libinjection sync to v3.8.0

- libinjection sync - a5f175d79fac1e69124da4e1e227b622e7e233d7

- Merge pull request #152 from client9/remotes/trunk - 88ebf8a0bdbc4db1be76f3a2e70df77cc52a5925
  Sync to libinjection v3.7.1

- libinjection sync - fcb6dc13ed6efb066fb9b70405eecab8b83a2d96

- libinjection sync - f52242a013f301ca5c17e59b662124833cb7cc6d

- Merge pull request #148 from zimmerle/bugfix_charset_missing_string_terminator - b76e26d81ddafc2b99bffad53d1426f8fd33080a
  Bugfix: missing string terminator while mounting the charset (nginx)

- Bugfix: missing string terminator while mounting the charset (nginx) - ff19dcd5c53d4af61d0a9397d4616f47f80ee207
  The charset in headers is mounted using ngx_snprintf which does not place the string terminator. This patch adds the terminator at the end of the string. The size was correctly allocated, just missing the terminator.

- Merge pull request #141 from client9/remotes/trunk - 9a630eea23a7ead4e77617c86dc937fd7a421a57
  libinjection sync to v3.6.0

- libinjection sync - 11217207e8f2e0cf15742273836399866971071a

- Fix Chunked string case sensitive issue - CVE-2013-5705 - f8d441cd25172fdfe5b613442fedfc0da3cc333d

- Revert "Fix Chuncked string case sensitive issue" - 3901128f17e0763ac1a260106b79859d2aad6d90
  This reverts commit 16a815a3c2735f62238ef99af26090a2b8430d3d.

- Fix Chuncked string case sensitive issue - 16a815a3c2735f62238ef99af26090a2b8430d3d

- Merge pull request #139 from chaizhenhua/remotes/trunk - 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b
  Fixed fd leackage after reload

- Merge pull request #138 from client9/remotes/trunk - 414033aafa94cd50c9b310afd3f164740caccc94
  libinjection sync

- Fixed fd leackage after reload - e0993fcd7a166ce9e1a279a47d050af1311d9001

- libinjection sync - 2268626c20260e88cab9b7830f8a06101fa7172a

- Fix logical disjunction and conjunction issues - 7e0a9ecf7d492e85650671a0cfcfd53e5f15df2c


23 Jul 2013 - 2.7.5
-------------------
Improvements:

    * SecUnicodeCodePage is deprecated. SecUnicodeMapFile now accepts the code page as a second parameter.

    * Updated Libinjection to version 3.4.1. Many improvements were made.

    * Severity action now supports strings (emergency, alert, critical, error, warning, notice, info, debug).

Bug Fixes:

    * Fixed utf8toUnicode tfn null byte conversion.

    * Fixed NGINX crash when issue reload command.

    * Fixed flush output buffer before inject modified hashed response body.

    * Fixed url normalization for Hash Engine.

    * Fixed NGINX ap_unixd_set_global_perms_mutex compilation error with apache 2.4 devel files.

Security Issues:

10 May 2013 - 2.7.4
-------------------
Improvements:

    * Added Libinjection project http://www.client9.com/projects/libinjection/ as a new operator @detectSQLi. (Thanks Nick Galbreath).

    * Added new variable SDBM_DELETE_ERROR that will be set to 1 when sdbm engine fails to delete entries.

    * NGINX is now set to STABLE. Thanks chaizhenhua and all the people in community who help the project testing, sending feedback and patches.

Bug Fixes:

    * Fixed SecRulePerfTime storing unnecessary rules performance times.

    * Fixed Possible SDBM deadlock condition.

    * Fixed Possible @rsub memory leak.

    * Fixed REMOTE_ADDR content will receive the client ip address when mod_remoteip.c is present.

    * Fixed NGINX Audit engine in Concurrent mode was overwriting existing alert files because a issue with UNIQUE_ID.

    * Fixed CPU 100% issue in NGINX port. This is also related to an memory leak when loading response body.

Security Issues:

    * Fixed Remote Null Pointer DeReference (CVE-2013-2765). When forceRequestBodyVariable action is triggered and a unknown Content-Type is used,
      mod_security will crash trying to manipulate msr->msc_reqbody_chunks->elts however msr->msc_reqbody_chunks is NULL. (Thanks Younes JAAIDI).

28 Mar 2013 - 2.7.3
-------------------

  * Fixed IIS version race condition when module is initialized.

  * Fixed IIS version failing config commands in libapr.

  * Nginx version is now RC quality. The rule engine should works for all phases.
    We fixed many issues and missing features (for more information please check jira).
    Code is running well with latest Nginx 1.2.7 stable.
    Thanks chaizhenhua for your help.

  * Added MULTIPART_NAME and MULTIPART_FILENAME. Should be used soon by CRS
    and will help prevent attacks using multipart data.

  * Added --enable-htaccess-config configure option. It will allow the follow directives
    to be used into .htaccess files when AllowOverride Options is set:

        - SecAction
        - SecRule

        - SecRuleRemoveByMsg
        - SecRuleRemoveByTag
        - SecRuleRemoveById

        - SecRuleUpdateActionById
        - SecRuleUpdateTargetById
        - SecRuleUpdateTargetByTag
        - SecRuleUpdateTargetByMsg

  * Improvements in the ID duplicate code checking. Should be faster now.

  * SECURITY: Added SecXmlExternalEntity (On|Off - default it Off) that will disable
    by default the external entity load task executed by LibXml2. This is a security issue
    [CVE-2013-1915] reported by Timur Yunusov, Alexey Osipov (Positive Technologies).

21 Jan 2013 - 2.7.2
-------------------

  * IIS version is now stable.

  * Fixed IIS version does not pass through POST data to ASP.NET when SecRequestBodyAccess
    is set to On (MODSEC-372).

  * Fixed IIS version HTTP Request Smuggling protection does not work (MODSEC-344).

  * Fixed IIS version PHP Injection Attack (958976) protection does not work (MODSEC-346).

  * Fixed IIS version Request limit protections are not working (MODSEC-349).

  * Fixed IIS version Outbound protections are not working (MODSEC-350).

  * Added IIS version better installer.

  * NGINX version removed ModSecurityPassCommand (Thanks chaizhenhua).

  * Fixed NGINX version ngx_http_read_client_request_body returned unexpected buffer type (Thanks chaizhenhua).

  * Fixed NGINX version INCS config directories on fedora (Thanks chaizhenhua).

  * Added NGINX version Added drop action for nginx (Thanks chaizhenhua).

  * Fixed bug in cpf_verify operator (Thanks Hideaki Hayashi).

  * Fixed build modsecurity under Arch Linux.

  * Fixed make test crashing when JIT pcre is enabled.

  * Fixed better cookie separator detection code.

  * Fixed mod_security displaying wrong ip address in error.log using apache 2.4 and mod_remoteip.

  * Fixed mod_security was not compiling when use apr without ipv6 support.

  * Fixed mod_security was not compiling when use lua 5.2.

  * Fixed issue when execute make install under Solaris.

  * Fixed ipmatchf operator was not working as expected.

01 Nov 2012 - 2.7.1
-------------------

  * Changed "Encryption" name of directives and options related to hmac feature to "Hash".

    SecEncryptionEngine       to SecHashEngine
    SecEncryptionKey          to SecHashKey
    SecEncryptionParam        to SecHashParam
    SecEncryptionMethodRx     to SecHashMethodRx
    SecEncryptionMethodPm     to SecHashMethodPm
    @validateEncryption       to @validateHash
    ctl:EncryptionEnforcement to ctl:HashEnforcement
    ctl:EncryptionEngine      to ctl:HashEngine

  * Added a better random bytes generator using apr_generate_random_bytes() to create
    the HMAC key.

  * Fixed byte conversion issue during logging under Linux s390x platform.

  * Fixed compilation bug with LibXML2 2.9.0 (Thanks Athmane Madjoudj).

  * Fixed parsing error with modsecurity-recommended.conf and Apache 2.4.

  * Fixed DROP action was disabled for Apache 2 module by mistake.

  * Fixed bug when use ctl:ruleRemoveTargetByTag.

  * Fixed IIS and NGINX modules bugs.

  * Fixed bug when @strmatch patterns use invalid escape sequence (Thanks Hideaki Hayashi).

  * Fixed bugs in @verifySSN (Thanks Hideaki Hayashi).

  * The doc/ directory now contains the instructions to access online documentation.

15 Oct 2012 - 2.7.0
-------------------

  * Fixed Pause action should work as a disruptive action (MODSEC-297).

  * Fixed Problem loading mod_env variables in phase 2 (MODSEC-226).

  * Fixed Detect cookie v0 separator and use it for parsing (MODSEC-261).

  * Fixed Variable REMOTE_ADDR with wrong IP address in NGINX version (MODSEC-337).

  * Fixed Errors compiling NGINX version.

  * Added Include directive into standalone module. IIS and NGINX module should
    support Include directive like Apache2.

  * Added MULTIPART_INVALID_PART flag. Also used in rule id 200002 for multipart strict
    validation. https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20121017-0_mod_security_ruleset_bypass.txt).

  * Updated Reference Manual.

25 Sep 2012 - 2.6.8
-------------------

  * Fixed ctl:ruleRemoveTargetByID order issue (MODSEC-333). Thanks to Armadillo Dasypodidae.

  * Fixed variable HIGHEST_SEVERITY incorrectly gets reset in a chain rule (MODSEC-315). Thanks to Valery Reznic.

10 Sep 2012 - 2.7.0-rc3
-------------------

 * Fixed requests bigger than SecRequestBodyNoFilesLimit were truncated even engine mode was detection only.

 * Fixed double close() for multipart temporary files (Thanks Seema Deepak).

 * Fixed many small issues reported by Coverity Scanner (Thanks Peter Vrabek).

 * Fixed format string issue in ngnix experimental code. (Thanks Eldar Zaitov).

 * Added ctl:ruleRemoveTargetByTag/Msg and removed ctl:ruleUpdateTargetByTag/Msg.

 * Added IIS and Ngnix platform code.

 * Added new transformation utf8toUnicode.

23 Jul 2012 - 2.6.7
-------------------

 * Fixed explicit target replacement using SecUpdateTargetById was broken.

 * The ctl:ruleUpdateTargetById is deprecated and will be removed for future versions since
   there is no safe way to use it per-request.

 * Added ctl:ruleRemoveTargetById that can be used to exclude targets to be processed per-request.

22 Jun 2012 - 2.7.0-rc2
-------------------

 * Fixed compilation errors and warnings under Windows platform.

 * Fixed SecEncryptionKey was not working as expected.

08 Jun 2012 - 2.7.0-rc1
-------------------

 * Added SecEncryptionEngine. Initial crypt engine support, at the momment it will sign some Html
   and Response Header options.

 * Added SecEncryptionKey to define the a rand or static key for crypt engine.

 * Added SecEncryptionParam to define the new parameter name.

 * Added SecEncryptionMethodRx used with a regular expression to inspect the html in response
   body/header and decide what to protect.

 * Added SecEncryptionMethodPm used with multiple or single strings to inspect the html in response
   body/header and decide what to protect.

 * Added ctl encryptionEngine as a per transaction version of SecEncryptionEgine diretive.

 * Added ctl encryptionEnforcement that will allow the engine to sign the data but the enforcement is
   disabled.

 * Added validateEncryption operator to enforce the signed elements.

 * Added rsub operator supports the syntax |hex| allowing users to use special chars like \n \r.

 * Added SecRuleUpdateTargetById now supports id range.

 * Added SecRuleUpdateTargetByMsg and its ctl version (Thanks Scott Gifford).

 * Added SecRuleUpdateTargetByTag and its ctl version (Thanks Scott Gifford).

 * Added SecRulePerfTime when greater than zero it will fill rule id's execution time into PERF_RULE
   and log id=usec information in the new Perf-rule-info: line in part H.

 * Added PERF_RULES variable that contains rule execution time.

 * Added Engine-mode: section in part H.

 * Added ruleRemoveByMsg ctl version.

 * Added removeCommentsChar and removeComments now can work with <!-- --> style.

 * Added SecArgumentSeparator and SecCookieFormat can be used in different scope locations.

 * Added Rules must have ID action and must be numeric.

 * Added The use of tfns are deprecated in SecDefaultAction. Should be forbid in the future.

 * Added Macro expansion support to the action pause.

 * Added IpmatchFromFile/IpmatchF operator.

 * Added New setrsc action, the RESOURCE collection used SecWebAppId Name Space

 * Added Configure option --enable-cache-lua that allows reuse of Lua VM per transaction.
   It will only take any effect when ModSecurity has multiple scripts to run per transaction.

 * Added Configure option --enable-pcre-jit that allows ModSecurity regex engine to use PCRE Jit support.

 * Added Configure option --enable-request-early that allows ModSecurity run phase 1 in post_read_request hook.

 * Added RBL operator now support the httpBl api (http://www.projecthoneypot.org/httpbl_api.php).

 * Added SecHttpBlKey to be used with httpBl api.

 * Added SecSensorId will specify the modsecurity sensor name into audit log part H.

 * Added aliases to phase:2 (phase:request), phase:4 (phase:response) and phase:5 (phase:logging).

 * Added USERAGENT_IP variable. Created when Apache24 is used with mod_remoteip to know the real
   client ip address.

 ^ Added new rule metadata actions ver, maturity and accuracy. Also included into RULE collection.

 * Updated Reference manual into doc/ directory.

 * Fixed Variable DURATION contains the elapsed time in microseconds for compatible reasons with apache and
   other variables.

 * Fixed Preserve names/identity of the variables going into MATCHED_VARS.

 * Fixed Redirect macro expansion does not work in SecDefaultAction when SecRule uses block action.

 * Fixed rsub operator does not work as expect if regex contains parentheses (Thanks Jerome Freilinger).

 * Current Google Safe Browsing implementation is deprecated. Google changed the API and does not allow
   anymore the malware database for download.

08 Jun 2012 - 2.6.6
-------------------

 * Added build system support for KfreeBSD and HURD.

 * Fixed a multipart bypass issue related to quote parsing
   Credits to  Qualys Vulnerability & Malware Research Labs (VMRL).

20 Mar 2012 - 2.6.5
-------------------

 * Fixed increased a specific message debug level in SBDM code (MODSEC-293).

 * Cleanup build system.

09 Mar 2012 - 2.6.4
-------------------

 * Fixed Mlogc 100% CPU consume (Thanks Klaubert Herr and Ebrahim Khalilzadeh).

 * Fixed ModSecurity cannot load session and user sdbm data.

 * Fixed updateTargetById was creating rule unparsed content making apache memory grow.

 * Code cleanup.

23 Feb 2012 - 2.6.4-rc1
-------------------

 * Fixed @rsub adding garbage data into stream variables.

 * Fixed regex for section A into mlogc-batch-load.pl (Thanks Ebrahim Khalilzadeh).

 * Fixed logdata cuts message without closing it with final chars.

 * Added sanitizeMatchedBytes support to verifyCPF, verifyCC and verifySSN.


06 Dec 2011 - 2.6.3-rc1
-------------------

* Fixed MATCHED_VARS does not correctly handle multiple VARS with the same name.

* Fixed SDBM garbage collection was not working as expected, increasing the size of files.

* Fixed wrong timestamp calculation for some time zones in log files.

* Fixed SecUpdateTargetById failed to load multiple VARS (MODSEC-270).

* Fixed Reverted hexDecode for hexEncode compatibility reason.

* Added SecCollectionTimeout to set collection timeout, default is 3600.

* Added sqlHexDecode transformation to decode sql hex data. Thanks Marc Stern.

30 Sep 2011 - 2.6.2
-------------------

 * Fixed hexDecode test during make.

 * Updated the reference manual into doc/ directory.

5 Sep 2011 - 2.6.2-rc1
-------------------

 * Added support to macro expansion for rx operator.

 * Added new transformations removeComments and removeCommentsChars

 * Fixed colletion names are not case-sensitive anymore.

 * Fixed compilation errors with apache 2.0.

 * Fixed build system was not using some libraries CFLAGS.

 * Fixed check for valid hex values into hexDecode transformation.

 * Fixed ctl:ruleUpdateTargetById appending multiple targets.

18 Jun 2011 - 2.6.1
-------------------

 * Updated the reference manual into doc/ directory.

11 Jul 2011 - trunk
-------------------

 * Add HttpBl support to rbl operator.

30 Jun 2011 - 2.6.1-rc1
-------------------

 * Fixed SecUploadFileMode doesn't work with the new build system.

 * Fixed building with Lua library (Thanks Diego Elio).

 * Fixed some ./configure --enable* features not being enabled in compilation time.

 * Improvements on GSB database add/search operations.

 * Log part K was removed from modsecurity.conf-recommended.

 * Added SecUnicodeMapFile directive. Must be use to load the unicode.mapping file.

 * Added SecUnicodeCodePage directive. Used to define the unicode code page. There are a few already available:

    1250  (ANSI - Central Europe)
    1251  (ANSI - Cyrillic)
    1252  (ANSI - Latin I)
    1253  (ANSI - Greek)
    1254  (ANSI - Turkish)
    1255  (ANSI - Hebrew)
    1256  (ANSI - Arabic)
    1257  (ANSI - Baltic)
    1258  (ANSI/OEM - Viet Nam)
    20127 (US-ASCII)
    20261 (T.61)
    20866 (Russian - KOI8)
    28591 (ISO 8859-1 Latin I)
    28592 (ISO 8859-2 Central Europe)
    28605 (ISO 8859-15 Latin 9)
    37    (IBM EBCDIC - U.S./Canada)
    437   (OEM - United States)
    500   (IBM EBCDIC - International)
    850   (OEM - Multilingual Latin I)
    860   (OEM - Portuguese)
    861   (OEM - Icelandic)
    863   (OEM - Canadian French)
    865   (OEM - Nordic)
    874   (ANSI/OEM - Thai)
    932   (ANSI/OEM - Japanese Shift-JIS)
    936   (ANSI/OEM - Simplified Chinese GBK)
    949   (ANSI/OEM - Korean)
    950   (ANSI/OEM - Traditional Chinese Big5)

    Also mapping some extra unicode chars defined at http://tools.ietf.org/html/rfc3490#section-3.1

 * Fixed SecRequestBodyLimit was truncating the real request body.

18 May 2011 - 2.6.0
-------------------

 * Added SecWriteStateLimit for Slow Post DoS mitigation.

 * Fix problem when buffering in input filter.

 * Fix memory leak when use MATCHED_VAR_NAMES.


2 May 2011 - 2.6.0-rc2
-------------------

 * Added code optimizations - thanks Diego Elio.

 * Added support to AIX and HPUX in the build system (untested).

 * Renamed decodeBase64Ext to base64DecodeExt.

 * Build system improvements - thanks Diego Elio.

 * Improvements on gsblookup parser.

 * Fixed input filter bug when upload files and SecStreamInBodyInspect is enabled.

 * Logging improvements and bug fix.

 * Remove extra useless files when make clean and maintainer-clean

18 Apr 2011 - 2.6.0-rc1
-------------------

 * Replaced previous GPLv2 License to Apachev2.

 * Added Google Safe Browsing lookups operator and directive. It should be
   used to extract and lookup urls from http packets.

 * Added Data Modification operator. It must be used with STREAM_* variables
   to replace/add/edit any data from http bodies.

 * Added STREAM_OUPUT_BODY and STREAM_INPUT_BODY variables to work with data
   modification operators.

 * Added fast ip address operator. It supports partial ip address, cidr for
   IPv4 and IPv6. Thanks Tom Donovan.

 * Added new sensitive data tracking verifyCPF and verifySSN.

 * Added MATCHED_VARS and MATCHED_VARS_NAMES. It is similiar to MATCHED_VAR,
   but now we should see all matched variables.

 * Added UNIQUE_ID variable. It holds the data created my mod_unique_id.

 * Added new tranformation cmdline. Thanks Marc Stern.

 * Added new exception handling operators and directives. It should help users
   reduce FN and FPs. The directives SecRuleUpdateTargetById, SecRuleRemoveByTag
   and its ctl actions were included.

 * Added SecStreamOutBodyInspection and SecStreamInBodyInspection to enable STREAM_*
   variables.

 * Added SecGsbLookupDB used to load Google Safe Browsing malware databse into
   memory.

 * Added the directive SecInterceptOnError to control what to do if a rule returns
   values less than zero.

 * Improvements in DetectionOnly engine mode. Also added SecRequestBodyLimitAction
   to control what to do if the engine receive a http request over a hard limit.
   Note that there is now many combinations with SecRuleEngine and the limit action
   directives for response and request data. Please see the reference manual.

 * Improvements under RBL operator. It now will parse return code values for some
   RBL lists.

 * Added new Log Part J. It should log some informations about uploaded files.

 * Added new sanitizeMatchedBytes action. It will give more flexibilty for user to sanitize
   logged data, also improving peformance when sanitize big amount of data.

 * Improvements on Logging phase. It is possible now see full chains, distinguish between
   simple rules, chain starters and chain nodes.

 * Improvements on AutoTools usage.

 * Improvements on pattern matching operators, pmf, pm and strmatch now supports more flexible
   input data allowing any kind of special char.

 * Improvements on SecRuleUpdateActionById to update chain nodes.

 * Many bugs were fixed. Please see the ModSecurity Jira for more details


19 Mar 2010 - trunk
-------------------

 * Added SecDisableBackendCompression, which disabled backend compression
   while keeping the frontend compression enabled (assuming mod_deflate
   in installed and configured in the proxy). [Ivan Ristic]

 * Added REQUEST_BODY_LENGTH, which contains the number of request body
   bytes read. [Ivan Ristic]

 * Integrate with mod_log_config using the %{VARNAME}M format string.
   (MODSEC-108) [Ivan Ristic]

 * Replaced the previous time-measuring mechanism with a new one, which
   provides the following information: request time, request duration,
   phase duration (for all 5 phases), time spent dealing with persistent
   storage, and time spent on audit logging. The new information is now
   available in the Stopwatch2 audit log header. The Stopwatch header
   remains for backward compatiblity, although it now only includes
   the request time and request duration values. Added the following
   variables: PERF_COMBINED, PERF_PHASE1, PERF_PHASE2, PERF_PHASE3,
   PERF_PHASE4, PERF_PHASE5, PERF_SREAD, PERF_SWRITE, PERF_LOGGING,
   PERF_GC. [Ivan Ristic]

 * Added DURATION, which contains the time ellapsed since the beginning
   of the current transaction, in milliseconds. [Ivan Ristic]

 * Adjusted phase 5 to execute just prior to mod_log_config. This should
   allow phase 5 rules to to implement conditional logging, as well as
   pave support for allowing access to all ModSecurity variables from
   mog_log_config. [Ivan Ristic]

 * Added the URLENCODED_ERROR flag, which is raised whenever invalid URL
   encoding is encountered in the query string or in the request body
   (but only if URLENCODED request body processor is used). (MODSEC-111)
   [Ivan Ristic]

 * Removed the obsolete PDF UXSS functionality. (MODSEC-96) [Ivan Ristic]

 * Renamed normalisePath to normalizePath and normalisePathWin to
   normalizePathWin. Kept the previous names for backward compatibility.
   (MODSEC-103) [Ivan Ristic]

 * Moved phase 1 to be run in the same Apache hook as phase 2. This means
   that you can now have phase 1 rules in <Location> tags and, more
   importantly, override server configuration in <Location> and others.
   (MODSEC-98) [Ivan Ristic]

 * Renamed the sanitise family of actions to sanitize. Kept the old variants
   for backward compatibility. (MODSEC-95) [Ivan Ristic]

 * Improve the logging of the ctl action. (MODSEC-99) [Ivan Ristic]

 * Cleanup build files that were from the Apache source.
jperkin pushed a commit that referenced this pull request Mar 14, 2014
Upstream changes since 1.0:
log4cplus 1.1.1

- FileAppender - Accept also std::ios_base::ate as "append to a log
  file" specification.

log4cplus 1.1.1-RC4

- Fixed bug #156 - Messages are truncated when produced using the
  LOG4CPLUS_*_FMT() macros.
- Fixed bug #157 - Fedora package build failure.
- Improved log4cplus initialization:
  - Use APC to initialize log4cplus outside loader lock.
  - Use Microsoft C runtime library TLS callbacks to initialize
    log4cplus as static library.
  - Warn during compilation that automatic initialization is not
    possible when log4cplus is being compiled with static Microsoft C
    runtime library.
  - Provide log4cplus::initialize() function to allow users to
    initialize log4cplus in situations where automatic initialization
    is not possible.
- Several improvements to CMake build:
  - Fixed OpenBSD + CMake builds.
  - Fixed issues with Visual Studio 2005 CMake builds.
  - Added support for CMake builds on Android with NDK. (Sergey
    Nikulov)
  - The defines.hxx.cmake file is now generated out of defines.hxx.in.
  - Library version is parsed out of version.h. (Sergey Nikulov)
- MDC formatter for PatternLayout ("%X") now expands into list of key
  value pairs if no specific key is given. (Yaqian Shen)
- Avoid clock_nanosleep() on Android.
- ServerSocket::accept() can now be interrupted from another thread
  using new function ServerSocket::interruptAccept().

log4cplus 1.1.1-RC3

- Fixed another MinGW related build failure.
- Fixed mismatched #if/#endif in Windows builds.

log4cplus 1.1.1-RC2

- Allow to disable TLS usage in macros through
  LOG4CPLUS_MACRO_DISABLE_TLS preprocessor symbol.
- Fixed compilation with Clang on Cygwin.
- Fixed SIGSEGV when built with some MinGW distributions.
- Fixed build failure when using -march=i386.
- Implemented thread callback to initialize log4cplus for Visual
  Studio builds of static library.
- Fixed bug #154 - getHostname() failure because of uninitialized
  WinSock.
- Fixed detection of C++11 thread_local keyword.
- Fixed builds using DevKit-tdm-32-4.5.2-20111229-1559.

log4cplus 1.1.1-RC1

- Improved documentation for various classes.
- Cherry-picked various small improvements from trunk.
- Fixed Unicode builds on *NIX.
- Fixed static library builds from Visual Studio project.
- Suppressed warning C4127 from MSVC. (Chris Steenwyk)
- Improved MinGW32 and MinGW64 toolchains compatiblity.
- Fixed encoding handling in Properties class.
- Added include directive for properties files. (Jukka Lantto)
- Added colored output for Win32ConsoleAppender. (Konstantin Baumann)
- (Re)Introduced support for C++Builder (XE3)
- Reimplemented acceptSocket() using select() on Windows to allow
  interrupting the accept() call from different thread.

log4cplus 1.1.0

- Fixed MacOS X support - Reimplemented semaphores using named ones
  for Apple builds.
- Fixed resource leak on failure in openSocket().
- Improved configuration file modification check to include file size,
  in addition to file modification time.

log4cplus 1.1.0-RC10

- Fixed non-STLPort4 builds with Solaris Studio. Switch
  '-library=stlport4' is only added if CXXFLAGS does not already
  contain a switch matching -library=(stlport4|stdcxx4|Cstd).
- Fixed --disable-shared MinGW builds.
- Fixed non-working MinGW DLL binaries. DllMain() was not being called
  because of missing extern "C" in its definition.
- CMake build configuration checks have been improved. (Chernyshev
  Vyacheslav)
- GCC switch -O2 is only added if CXXFLAGS does not already contain
  any other -O.
- Improved logging speed using SysLogAppender and Log4jUdpAppender by
  optimizations in both the loggers and in common sockets code.
- FileAppender locale can now be specified in properties files using
  Locale property. See FileAppender Doxygen documentation for more
  details.

log4cplus 1.1.0-RC9

- Improved Log4jUdpAppender compatibility with Chainsaw.
- Fixed crash, bugs #3467112 and #3563699, related to thread-local
  storage destruction.
- Fixed build with Visual Studio 2005, bug #3565529. (xg00)
- Created Cygwin port's .cygport definition for log4cplus.
- Improved hiding of private symbols using GCC's
  __attribute__((visibility("hidden"))) and Solaris Studio's __hidden.
- Fixed build in environments where DEBUG (and other log level names)
  are macros. (Chernyshev Vyacheslav)
- Improved configuration of threads support. (Jens Rehsack)

log4cplus 1.1.0-RC8

- Turned on __thread (TLS) detection on NetBSD 5.1.0 and later that
  has been previously disabled.
- Improved compatibility with log4cplus 1.0.x: allow using log4cplus
  1.0.x log level to string callbacks in 1.1.x.
- Improved various M4 macros.
- Added detection and use C++11 thread_local.
- Fixed XML entities escaping in Log4jUdpAppender.
- Re-added synchronization between ConsoleAppender and LogLog.
- Changed C logger API to return int instead of bool.
- Added C logger API to Visual Studio 2010 projects.
- Implemented remote syslog logging using UDP in SysLogAppender.
- Enabled SysLogAppender on Windows with only remote syslog logging
  enabled.

log4cplus 1.1.0-RC7

IMPORTANT: Builds with --with-iconv configure switch now assume UTF-8
           for plain char strings.

- Bumped up SO version for UDP sockets support related changes.
- Removed Windows CE support.
- Regenerated with Automake 1.12.2.
- Fixed Fedora RPM builds spec file.
- Implemented log4cplus.disableOverride similar to log4j's
  log4j.disableOverride.
- Improved support of profiling and debugging builds with Sun CC.
- Added documentation for configure script options.
- Added detection and use of clock_nanosleep().
- Disabled __thread (TLS) detection for NetBSD. It is broken there.
- New appender: Log4jUdpAppender. It allows logging using UDP with
  log4j XML payload to Chainsaw or Log2Console. (Siva Chandran P)
- Added support for __func__ as function name source for logging
  events.

log4cplus 1.1.0-RC6

- Fixed compilation for build with wchar_t being alias to unsigned
  short (/Zc:wchar_t-) (Windows).
- Added new appender CLFSAppender (experimental), based on Microsoft
  Common Log File System API.
- Added new appender Qt4DebugAppender (experimenta), based on Qt4's
  qDebug(), qWarning() and qCritical() functions.
- Fixed bug #3530769 - compilation issues with Visual Studio 2011.
- Added log4cplus.quietMode property handling to PropertyConfigurator.
- Added #pragma once to all headers.
- Implemented Time::gettimeofday() using Win32 API's
  GetSystemTimeAsFileTime().
- Moved file based locking from FileAppender to Appender to make it
  available for all appenders.
- Changed Windows configuration to use __declspec(thread) when
  compiling for Windows Vista or later and TlsAlloc() otherwise.
- Implemented %r PatternLayout format specifier - miliseconds since
  process start.
- Fixed bug #3101459 - TTCCLayout time is not in milliseconds since
  process start by default.

log4cplus 1.1.0-RC5

- Fixed single threaded log4cplus build issues.
- Added ability to log to std::cerr (Andreas Bießmann).
- Fixed disabling of LOG4CPLUS_*_FMT() macros.

log4cplus 1.1.0-RC4

IMPORTANT: Compilation with Solaris Studio now depends on STLPort
           (-library=stlport4 switch). The default Cstd library is not
           conforming enough for use in log4cplus.
- Improved behaviour of log4cplus as a component of larger CMake based
  project (Andreas Bießmann).
- Updated various Autoconf detection scripts in m4/ directory to newer
  versions.
- Fixed some signedness and overflow warnings.
- Improved Autotools build system's behaviour for cross compilation.
- Added detection of C++11 <atomic> header and related
  functions. Implemented SharedObject reference counting using C++11
  atomics where possible.
- Fixed compilation with GCC 4.6 in C++11 mode.
- Fixed some single-threaded compilation and run time issues.
- Fixed bug #3520891 - FileAppender buffering issue.
- Updated to Autoconf 2.69, Automake 1.12 and Libtool 2.4.2.
- Documented build procedure for Solaris Studio.
- Improved support for Solaris Studio in configure.in.

log4cplus 1.1.0-RC3

- Fixed log4cplusS.vcxproj - Added missing source files to the
  project.

log4cplus 1.1.0-RC2

- CMake build system fixes.
- Fixed TTCCLayout double time stamp issue.

log4cplus 1.1.0-RC1

Important changes relative to PRODUCTION_1_0_x branch:
- Added AsyncAppender.
- Added simple C interface for interoperability with C.
- Added inter-process file locking to file appenders to allow logging
  into a single log file from multiple processes.
- Added Mapped Diagnostic Context (MDC) and associated converter (%X).
- Added alternative thread identification (%T) converter to pattern layout.
- Added function name converter (%M).
- Added wchar_t <-> char conversion implementations based on standard
  C locale functions and based on iconv().
- Added DeviceAppender to allow use of Boost.IOStream's Sink as appender.
- Added LOG4CPLUS_*_FMT() macros to allow printf-like formatted output
  where it is possible.
- Logging macros now accept both logger name as string and Logger
  instance as their first parameter.
jperkin pushed a commit that referenced this pull request Mar 14, 2014
…ult,

52, doesn't work. Needs -lreadline and something else. Will look into this
later. From ChangeLog:

Engine changes
--------------

* Add a very short sample quest with free graphics and musics (#232, #318).
* Allow scripted dialog boxes (#184).
* Allow a scripted game-over menu (#261).
* Replace the old built-in dialog box by a very minimal one.
* Remove the old built-in game-over menu.
* Remove the old built-in dark rooms displaying (#205).
* New entity: separators to visually separate some regions in a map (#177).
* New type of ground: ice (#182).
* New type of ground: low walls (#117).
* Blocks and thrown items can now fall into holes, lava and water (#191).
* Kill enemies that fall into holes, lava and water (#190).
* Allow quest makers and users to set the size of the playing area.
* Allow maps to have a default destination entity (#231).
* A game can now start without specifying an initial map and destination.
* Stairs inside a single floor can now go from any layer to a next one (#178).
* Fix map menus not receiving on_command_pressed/released() events.
* Fix camera callbacks never called when already on the target (#308).
* Fix a crash when adding a new menu during a menu:on_finished() event.
* Fix a crash when calling hero:start_victory() without sword.
* Fix an error when loading sounds (#236). Sounds were working anyway.
* Fix a possible memory error when playing sounds.
* Fix blocks that continue to follow the hero after picking a treasure (#284).
* Fix on_obtained() that was not called for non-brandished treasures (#295).
* Jumpers can no longer be activated the opposite way when in water.
* Jumpers are now activated after a slight delay (#253).
* Sensors no longer automatically reset the hero's movement (#292).
* Correctly detect the ground below the hero or any point.
* Don't die if there is a syntax error in dialogs.dat.
* Show a better error message if trying to play a Solarus 0.9 quest (#260).
* Remove built-in debug keys. This can be done from Lua now.
* Remove the preprocessor constant SOLARUS_DEBUG_KEYS.
* Call on_draw() before drawing menus.
* Fix .it musics looping when they should not.
* Log all errors in error.txt (#287).
* The quest archive can now also be named data.solarus.zip (#293).

Data files format changes
-------------------------

You can use the script tools/data_files_conversion/1.0_to_1.1/update_quest.lua
to automatically update your data files.
Don't forget to make a backup first.

* Sprites: New syntax easier to read and parse (#168).
* project_db.dat: New syntax easier to read and parse (#169).
* quest.dat: Allow to specify a range of supported quest sizes.
* Maps: Add the property "default" to destinations.
* Maps: Make optional the property "destination" of teletransporters.
* Tilesets: The ground value of diagonal walls with water has changed.
* Tilesets: New ground values "ice" and "low_wall".
* dialogs.dat: Allow any property in dialogs. dialog_id and text are mandatory.
* languages.dat no longer exists. Languages are in project_db.dat now (#265).

Lua API changes
---------------

Changes that introduce incompatibilities:

* map:is_dialog_enabled() is replaced by game:is_dialog_enabled().
* map:start_dialog() is replaced by game:start_dialog().
* Remove map:draw_dialog_box(), no longer needed.
* Remove map:set_dialog_style(): replace it in your own dialog box system.
* Remove map:set_dialog_position(): replace it in your own dialog box system.
* Remove map:set_dialog_variable(): use the info param of game:start_dialog().
* Make map:get_entities() returns an iterator instead of an array (#249).
* Replace map:set_pause_enabled() by game:set_pause_allowed().
* Make the enemy:create_enemy() more like map:create_enemy() (#215).
* Remove sol.language.get_default_language(), useless and misleading (#265).
* Remove sol.main.is_debug_enabled().
* Remove map:get_light() and map:set_light() (#205).
* In game:get/set_ability(), ability "get_back_from_death" no longer exists.
* Empty chests no longer show a dialog if there is no on:empty() event (#274).

Changes that do not introduce incompatibilities:

* game:get/set_starting_location(): map and destination can now be nil.
* hero:teleport(): make destination optional (maps now have a default one).
* map:create_teletransporter(): make destination optional.
* Add a function sol.video.get_quest_size().
* Make map:get_camera_position() also return the size of the visible area.
* Add a method entity:is_in_same_region(entity).
* Add a method entity:get_center_position().
* Add methods entity:get_direction4_to(), entity:get_direction8_to() (#150).
* Add a method game:get_hero().
* Add methods hero:get/set_walking_speed() (#206).
* Add hero:get_state() and hero:on_state_changed() (#207).
* Add events separator:on_activating() and separator:on_activated() (#272).
* Add methods enemy:is/set_traversable() (#147).
* Add a method enemy:immobilize() (#160).
* Add on_position_changed() to all entities, not only enemies (#298).
* Add on_obstacle_reached() to all entities, not only enemies (#298).
* Add on_movement_changed() to all entities, not only enemies (#298).
* Add on_movement_finished() to all entities, not only enemies/NPCs (#298).
* target_movement:set_target(entity) now accepts an x,y offset (#154).
* Add a method game:is_pause_allowed().
* Add a method map:get_ground() (#141).
* Add a method map:get_music() (#306).
* Add an optional parameter on_top to sol.menu.start.
* Add sprite:on_animation_changed() and sprite:on_direction_changed() (#153).
* Add a function sol.input.is_key_pressed().
* Add a function sol.input.is_joypad_button_pressed().
* Add a function sol.input.get_joypad_axis_state().
* Add a function sol.input.get_joypad_hat_direction().
* Add functions sol.input.is/set_joypad_enabled() (#175).
* Add a function sol.audio.get_music() (#146).
* Add a function sol.audio.get_music_format().
* Add a function sol.audio.get_music_num_channels().
* Add functions sol.audio.get/set_music_channel_volume() for .it files (#250).
* Add functions sol.audio.get/set_music_tempo() for .it files (#250).
* Return nil if the string is not found in sol.language.get_string().
* sol.language.get_dialog() is now implemented.
* Add a function game:stop_dialog(status) to close the scripted dialog box.
* Add an event game:on_dialog_started(dialog, info).
* Add an event game:on_dialog_finished(dialog).
* Add functions game:start_game_over() and game:stop_game_over (#261).
* Add events game:on_game_over_started(), game:on_game_over_finished (#261).
* Add sol.file functions: open(), exists(), remove(), mkdir() (#267).

Solarus Quest Editor changes
----------------------------

* Add a GUI to upgrade automatically quest files to the latest format (#247).
* Remove the initial prompt dialog to open a quest (#264).
* Replace non-free images by new icons (#245).
* Add tooltips to the add entity toolbar.
* Simplify the add entity toolbar by showing only one icon per entity type.
* Survive when images cannot be found (#256).
* Create more content when creating a new quest (#258, #279).
* Improve error messages.
* Fix a crash when creating a destructible without tileset selected (#283).
* Fix the sprite field disabled in the NPC properties dialog (#303).
jperkin pushed a commit that referenced this pull request Mar 14, 2014
17 Dec 2013 - 2.7.7
-------------------
Fixes:

- Changed release version to 2.7.7
- Got the configure scripts inside the release tarball


16 Dec 2013 - 2.7.6
-------------------
Improvements:

- Organizes all Makefile.am - 1cde4d2dd9d96747536c1c25d06ba0677069477f
  Now using one file per line (sorted). This is the better way to handle it, since it reduces the possibility of merge conflicts.

- nginx: generates config file using configure input. - 351b9cc357d439e30ebd61d89a9e38ecf55c6827
  The nginx config file was looking for depedencies by its own, by doing that it was ignoring the options that were passed to configure script. This commit deletes this config file and adds a meta-config which is populated by configure whenever the standalone-module is enabled.

- nginx: adds lua support - da16d9e5d51d4ef8734687514a4e1368e7fb4284

- iis: Cosmetics fixies on sqli. - 5046c8327ea21c69b4c0d0c0057c692b05b09fef
  This is needed to get it compiled with VS2011 on Windows8

- Regression tests: makes configuration compatible with 2.2 and 2.4 (try 2) - ae252ee8767069363906e5a611dff487b799b839

- nginx: Trying apxs and apxs2 while compiling nginx module - 65d9272fdc353e1263567b60604542d377d19672

- nginx: Trying apxs and apxs2 while compiling nginx module - 35fd75d859e4a8873b8843da1db13e04a1b08140

- macos: Using glibtoolize instead of libtoolize - 751a9f4e45213cd69f00c62c71edc9d7ad99b82d

- regression-tests: makes configuration compatible with 2.2 and 2.4 - 6fc4cac37ab1be8d1232140042b58fe4bd93ee17

- Regression test: get it working with apache 2.4 - e9813cd0d9bfc5b0c9aa5832634ec1b39b805108
  Changes in httpd.conf.in to get it working with apache 2.4

- Code cosmetics. - 7366f35c1d80772d739b35da8faa972f92a72b97
  Changed to reduce the number of possible fails during Build Bot compilation.

- iis: Waiting for 5 seconds before move curl directory - 9bf2959c919587ebc63f5a1b8c0785da8927bff5
  Testing buildbot.

- Redefines unixd_set_global_mutex_perms on tests - f70f6f4281b806627e0cf0dbb9c84ae5864bdb16
  Avoding conflicts with the standalone implementation

- Adds verbose quality check - 388943440cc9b8c6fdea09f5e365a2e5a3e792e2
  Vera++ and ccpcheck are not outputing to the stderr instead stdout allowing the buildbot to extract some numbers about it.

- Adds support for coding style and quality check - b77e90152d119609ac78a7028383c3b79898b2cf
  Initial effort to get the code on shape. This will be executed by the buildbots as soon as they get ready for it.

- iis: New improvements on the Wix installer - 2ea5a74a7bfb00f21312e51e48aa6dac03d84600
  * Now the installation is divided in modules: ModSecurity and CRS.
  * Added default configuration
  * Configuration was moved to "Program Files" folder
  * Build_msi script now using candle available in %PATH%

- iis: Removes the installer helper dependency - 1a12648c9f6028f251af0f03c889397c7954b74c
  Now using appcmd directly with WiX instead of calling the installer helper.

- iis: Remove readme.html - 550d5aae21cba696cac1ce75ab8113e5255d5a59
  This HTML is about "Creating a Native Module for IIS7" not straight related to ModSecurity itself.

- iis: Adds batch script to compile Wix - a2c5fc831baf0b324ebb66b0f878dacf1ec2f808
  This batch script can be used to generate our msi installer.

- iis: Adds Wix installer resources - 3604763e15a665eb7a6ecae1f7e7c65cebbb1d17
  This is all about cosmetic changes.

- iss: Removes Post-Build event. - 28bbde1bb218b004654cb865fc8563d69b848dc2
  There was a copy on Post-Build event using a hard coded path. This patch removes this Post-Build event.

- iis: Relative paths on the VS project file - 368617ddb2443f9b6036f80a648d467d07c9a054
  There are a ModSecurityIIS solution and project files, those were using hard coded paths to meet the dependencies. As consequence of the last update in our build scripts, now we are able to built the dependencies and load it to our Visual Studio project using relative paths.

- iis: Adds release script - 9477118903861ce80c4c27cb581bf3462315e98e

- iis: fixies the Installer.cpp coding style - 79875b1af8e8571098345b91557bab9c06eb7c88

- iis: Removes AppWizard remade file - 91738f93bcc82b6ab756c550a66b6cf6af2fa9f8
  Apparently the AppWizard was used to generate part of this Installer, the ReadMe.txt created by the AppWizard was removed by this commit

- iss: Removes pre-compiled headers - adfbeb85dcfa9466b72eebb8d1bd8eb7728bab79
  No need to use the pre-compiled headers in InstallerHelper, removing it, in order to keep the project lean.

- iis: Moves installer to InstallerHelper - 6adf25667dd4bfa33010bd6d8ae3d35046a69967
  To organize the folder the Installer application was renamed to installer helper. It is not the real installer, it is just an helper which is executed during the installation phase.

- iss: Removes fart dependencies - 8c3b8d81b613aaa38f28472af1eb26c90c7fc9da
  This commit removes the dependency of the fart.exe utility. The utility was responsible to rename contents inside some dependencies build files. Those modifications are not longer needed.

- iss: Better err handling in build scripts. - 192599bf63b6ae5aa08e4536a90d5d0a17f969f7
  Now checking for errors in every step of the build phase

- iis: Moves build_module.bat to build_modsecurity.bat - e25c6b2e85ced7beba4d41867dbdf30e9c1286d3
  The build_modsecurity.bat is now on the iis sub-directory, not in the dependencies anymore. Its content was also changed fixing all the paths.


- iis: Identifies arch before unzip apache - cf5de78dfb9fffd21edf17af9e1db8f2fd83c804
  Currently we need the Apache binary which could be used in 32 or 64 bits. This patch makes usage of 'cl' to identify which architecture is set.

- iis: Renamves winbuild to dependencies - 1447766e816a896e88c9c8f053fcc3f62797bac1
  Since the directory becomes all about dependencies there is no need to call it winbuild anymore.

- iis: Removes unnecessary files from winbuild dir - 9f8cbf6ed8034ba42aa4967699308df09864fd18
  Those .mak files seems to be part of an old build system. Since the script are now working fine, this commit removes all those .mac files and also a CMakeList.txt and the Makefile.win.

- iis: Improves the iis build system - b277e538f28c87c81c1b50925dd8b82996b88294
  Now checking for common errors while building. Refactoring on the build scripts, now there is this build_dependencies.bat script on the iis sub-folder. By calling this script all the dependencies should be build under the winbuild/. This commit also removes build scripts that were not needed anymore.

- iis: Fixes the vcxproj file - a946a163f0ad822c760af80ca32dda61f0e6b2a9
  Versions of the dependencies were changed, as long as the version of the Visual Studio, now 12.

- iis: Removes unecessary files from the build system - 26738d2e34bcc7620047bd23180e0e26a64c71ee
  The following files were removed:
  * VCVarsQueryRegistry.bat
  * vcvars64.bat
  * vsvars32.bat
The visual studio files can be called direcltly, not necessary to distribute those files, at least in VS12.

- iss: Changes httpd version 2.4.6 - 0a772cb0748aa51a01800e0473309b9de792b456
  Apache version was changed to 2.4.6 to sync with the current apache lounge version.

- iis: Changes the version of the dependencies - 3e6fb41d36b7a5e98a55d8f52b88b29d1bd50b64
  * pcre from 8.30 to 8.33
  * zlib from 1.2.7 to 1.2.8
  * libxml2 from 2.7.7 to 2.9.1
  * curl from 7.24 to 7.33.0

- Removes standalone/Makefile.in - e3c19d53d23c48fea337aae76a87b2a85c36a1f1
  Makefile.in is recommended to be in the repository whenever it is edit manually, in our case the automatically generated Makefile.in is ok.


Bug Fixes:

- test: Avoids conflict of fuctions definition - cef72855e4106ce29e1d39103ebf9eb9ab28f17e

- test: Makes the unit tests to work again - cc982ae42ec86c79a67be1a01c6ee35fb06c272c
  The unit tests was not working due to lack update. This patch adds the necessary stuff to have it work again.

- iis: Avoids directory link while building - ad330a44bfa39430cf6340cb52971568cccdf1d6
  Build scripts was creating links allowing the project to be loaded into Visual Studio without care about the dependencies versions. Sometimes windows refuse to delete those links leading the script to fail. This patch moves the sources directories instead of create links to it.

- QA: Avoids the utilization of 3rd filedescriptor - 69c5ccac662f4e11a6eefd54a3e912583c067b9d
  No need to use a 3rd description on the quality check scripts. Stderr is now redirected to stdout and filtered as needed.

- Supports WarningCountingShellCommand in cppcheck and vera - baaf502363e68c3240b60adb7f7c91f5b4f0ba03
  WarningCountingShellCommand allow us to have some measurements on the buildbot waterfall.

- iis: Using base_rules instead of activated_rules - 7b1537058fa451e0df7098cd907ef19f04102f9d

- iis: Fix inet_pton build problem - a4202146b8d26b6615bbab986383fe0afae60d77
  There is a function named inet_pton on windows API, with different signature. This patch just override the windows function and point the inet_pton to our implementation.

- iis: Adds Wix installer xml file.c - b32cb7d9ab397160f0154aa4bd4e9638658b41e6
  This commit adds the Wix template to our git repository.

- iis: build_modsecurity.bat fixies - 7e03e3f840375ed682c35a5bb67932461cc77013
  This commit enable a cleanup on the mod_security build directory avoiding symbols with different architectures.

- iis: Fix mlogc build on windows - 9b7663fa79377a0685130a019916d810f31e7478
  The libcurl path was not pointing to the correct directory

- Fix #154, Uses addn instead of apr_table_setn - 1734221d9d3a78f9aafd68e35717da9ee1a4fe51
  The headers are represented in the format of an apr_table, which is able to handle elements with the same key, however the function apr_table_setn checks if the key exists before add the element, if so it replaces the old value with the new one. This was making our implementation to just keep the last added Cookie. The apr_table_addn function, which is now used, just add a new item without check for olders one.

- Merge pull request #579 from zimmerle/revert_139 - 61e54f2067ae760808359926ff91d57275df1aac
  Revert merge request #139

- Revert "Merge pull request #139 from chaizhenhua/remotes/trunk" - 7f7d00fa2c364716691df1b45779304b24a0debb
  This reverts commit 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b, reversing changes made to 414033aafa94cd50c9b310afd3f164740caccc94.

- Merge pull request #578 from client9/remotes/trunk - b0c3977845f60747b15ae10531b7d20355a22627
  libinjection sync to v3.8.0

- libinjection sync - a5f175d79fac1e69124da4e1e227b622e7e233d7

- Merge pull request #152 from client9/remotes/trunk - 88ebf8a0bdbc4db1be76f3a2e70df77cc52a5925
  Sync to libinjection v3.7.1

- libinjection sync - fcb6dc13ed6efb066fb9b70405eecab8b83a2d96

- libinjection sync - f52242a013f301ca5c17e59b662124833cb7cc6d

- Merge pull request #148 from zimmerle/bugfix_charset_missing_string_terminator - b76e26d81ddafc2b99bffad53d1426f8fd33080a
  Bugfix: missing string terminator while mounting the charset (nginx)

- Bugfix: missing string terminator while mounting the charset (nginx) - ff19dcd5c53d4af61d0a9397d4616f47f80ee207
  The charset in headers is mounted using ngx_snprintf which does not place the string terminator. This patch adds the terminator at the end of the string. The size was correctly allocated, just missing the terminator.

- Merge pull request #141 from client9/remotes/trunk - 9a630eea23a7ead4e77617c86dc937fd7a421a57
  libinjection sync to v3.6.0

- libinjection sync - 11217207e8f2e0cf15742273836399866971071a

- Fix Chunked string case sensitive issue - CVE-2013-5705 - f8d441cd25172fdfe5b613442fedfc0da3cc333d

- Revert "Fix Chuncked string case sensitive issue" - 3901128f17e0763ac1a260106b79859d2aad6d90
  This reverts commit 16a815a3c2735f62238ef99af26090a2b8430d3d.

- Fix Chuncked string case sensitive issue - 16a815a3c2735f62238ef99af26090a2b8430d3d

- Merge pull request #139 from chaizhenhua/remotes/trunk - 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b
  Fixed fd leackage after reload

- Merge pull request #138 from client9/remotes/trunk - 414033aafa94cd50c9b310afd3f164740caccc94
  libinjection sync

- Fixed fd leackage after reload - e0993fcd7a166ce9e1a279a47d050af1311d9001

- libinjection sync - 2268626c20260e88cab9b7830f8a06101fa7172a

- Fix logical disjunction and conjunction issues - 7e0a9ecf7d492e85650671a0cfcfd53e5f15df2c


23 Jul 2013 - 2.7.5
-------------------
Improvements:

    * SecUnicodeCodePage is deprecated. SecUnicodeMapFile now accepts the code page as a second parameter.

    * Updated Libinjection to version 3.4.1. Many improvements were made.

    * Severity action now supports strings (emergency, alert, critical, error, warning, notice, info, debug).

Bug Fixes:

    * Fixed utf8toUnicode tfn null byte conversion.

    * Fixed NGINX crash when issue reload command.

    * Fixed flush output buffer before inject modified hashed response body.

    * Fixed url normalization for Hash Engine.

    * Fixed NGINX ap_unixd_set_global_perms_mutex compilation error with apache 2.4 devel files.

Security Issues:

10 May 2013 - 2.7.4
-------------------
Improvements:

    * Added Libinjection project http://www.client9.com/projects/libinjection/ as a new operator @detectSQLi. (Thanks Nick Galbreath).

    * Added new variable SDBM_DELETE_ERROR that will be set to 1 when sdbm engine fails to delete entries.

    * NGINX is now set to STABLE. Thanks chaizhenhua and all the people in community who help the project testing, sending feedback and patches.

Bug Fixes:

    * Fixed SecRulePerfTime storing unnecessary rules performance times.

    * Fixed Possible SDBM deadlock condition.

    * Fixed Possible @rsub memory leak.

    * Fixed REMOTE_ADDR content will receive the client ip address when mod_remoteip.c is present.

    * Fixed NGINX Audit engine in Concurrent mode was overwriting existing alert files because a issue with UNIQUE_ID.

    * Fixed CPU 100% issue in NGINX port. This is also related to an memory leak when loading response body.

Security Issues:

    * Fixed Remote Null Pointer DeReference (CVE-2013-2765). When forceRequestBodyVariable action is triggered and a unknown Content-Type is used,
      mod_security will crash trying to manipulate msr->msc_reqbody_chunks->elts however msr->msc_reqbody_chunks is NULL. (Thanks Younes JAAIDI).

28 Mar 2013 - 2.7.3
-------------------

  * Fixed IIS version race condition when module is initialized.

  * Fixed IIS version failing config commands in libapr.

  * Nginx version is now RC quality. The rule engine should works for all phases.
    We fixed many issues and missing features (for more information please check jira).
    Code is running well with latest Nginx 1.2.7 stable.
    Thanks chaizhenhua for your help.

  * Added MULTIPART_NAME and MULTIPART_FILENAME. Should be used soon by CRS
    and will help prevent attacks using multipart data.

  * Added --enable-htaccess-config configure option. It will allow the follow directives
    to be used into .htaccess files when AllowOverride Options is set:

        - SecAction
        - SecRule

        - SecRuleRemoveByMsg
        - SecRuleRemoveByTag
        - SecRuleRemoveById

        - SecRuleUpdateActionById
        - SecRuleUpdateTargetById
        - SecRuleUpdateTargetByTag
        - SecRuleUpdateTargetByMsg

  * Improvements in the ID duplicate code checking. Should be faster now.

  * SECURITY: Added SecXmlExternalEntity (On|Off - default it Off) that will disable
    by default the external entity load task executed by LibXml2. This is a security issue
    [CVE-2013-1915] reported by Timur Yunusov, Alexey Osipov (Positive Technologies).

21 Jan 2013 - 2.7.2
-------------------

  * IIS version is now stable.

  * Fixed IIS version does not pass through POST data to ASP.NET when SecRequestBodyAccess
    is set to On (MODSEC-372).

  * Fixed IIS version HTTP Request Smuggling protection does not work (MODSEC-344).

  * Fixed IIS version PHP Injection Attack (958976) protection does not work (MODSEC-346).

  * Fixed IIS version Request limit protections are not working (MODSEC-349).

  * Fixed IIS version Outbound protections are not working (MODSEC-350).

  * Added IIS version better installer.

  * NGINX version removed ModSecurityPassCommand (Thanks chaizhenhua).

  * Fixed NGINX version ngx_http_read_client_request_body returned unexpected buffer type (Thanks chaizhenhua).

  * Fixed NGINX version INCS config directories on fedora (Thanks chaizhenhua).

  * Added NGINX version Added drop action for nginx (Thanks chaizhenhua).

  * Fixed bug in cpf_verify operator (Thanks Hideaki Hayashi).

  * Fixed build modsecurity under Arch Linux.

  * Fixed make test crashing when JIT pcre is enabled.

  * Fixed better cookie separator detection code.

  * Fixed mod_security displaying wrong ip address in error.log using apache 2.4 and mod_remoteip.

  * Fixed mod_security was not compiling when use apr without ipv6 support.

  * Fixed mod_security was not compiling when use lua 5.2.

  * Fixed issue when execute make install under Solaris.

  * Fixed ipmatchf operator was not working as expected.

01 Nov 2012 - 2.7.1
-------------------

  * Changed "Encryption" name of directives and options related to hmac feature to "Hash".

    SecEncryptionEngine       to SecHashEngine
    SecEncryptionKey          to SecHashKey
    SecEncryptionParam        to SecHashParam
    SecEncryptionMethodRx     to SecHashMethodRx
    SecEncryptionMethodPm     to SecHashMethodPm
    @validateEncryption       to @validateHash
    ctl:EncryptionEnforcement to ctl:HashEnforcement
    ctl:EncryptionEngine      to ctl:HashEngine

  * Added a better random bytes generator using apr_generate_random_bytes() to create
    the HMAC key.

  * Fixed byte conversion issue during logging under Linux s390x platform.

  * Fixed compilation bug with LibXML2 2.9.0 (Thanks Athmane Madjoudj).

  * Fixed parsing error with modsecurity-recommended.conf and Apache 2.4.

  * Fixed DROP action was disabled for Apache 2 module by mistake.

  * Fixed bug when use ctl:ruleRemoveTargetByTag.

  * Fixed IIS and NGINX modules bugs.

  * Fixed bug when @strmatch patterns use invalid escape sequence (Thanks Hideaki Hayashi).

  * Fixed bugs in @verifySSN (Thanks Hideaki Hayashi).

  * The doc/ directory now contains the instructions to access online documentation.

15 Oct 2012 - 2.7.0
-------------------

  * Fixed Pause action should work as a disruptive action (MODSEC-297).

  * Fixed Problem loading mod_env variables in phase 2 (MODSEC-226).

  * Fixed Detect cookie v0 separator and use it for parsing (MODSEC-261).

  * Fixed Variable REMOTE_ADDR with wrong IP address in NGINX version (MODSEC-337).

  * Fixed Errors compiling NGINX version.

  * Added Include directive into standalone module. IIS and NGINX module should
    support Include directive like Apache2.

  * Added MULTIPART_INVALID_PART flag. Also used in rule id 200002 for multipart strict
    validation. https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20121017-0_mod_security_ruleset_bypass.txt).

  * Updated Reference Manual.

25 Sep 2012 - 2.6.8
-------------------

  * Fixed ctl:ruleRemoveTargetByID order issue (MODSEC-333). Thanks to Armadillo Dasypodidae.

  * Fixed variable HIGHEST_SEVERITY incorrectly gets reset in a chain rule (MODSEC-315). Thanks to Valery Reznic.

10 Sep 2012 - 2.7.0-rc3
-------------------

 * Fixed requests bigger than SecRequestBodyNoFilesLimit were truncated even engine mode was detection only.

 * Fixed double close() for multipart temporary files (Thanks Seema Deepak).

 * Fixed many small issues reported by Coverity Scanner (Thanks Peter Vrabek).

 * Fixed format string issue in ngnix experimental code. (Thanks Eldar Zaitov).

 * Added ctl:ruleRemoveTargetByTag/Msg and removed ctl:ruleUpdateTargetByTag/Msg.

 * Added IIS and Ngnix platform code.

 * Added new transformation utf8toUnicode.

23 Jul 2012 - 2.6.7
-------------------

 * Fixed explicit target replacement using SecUpdateTargetById was broken.

 * The ctl:ruleUpdateTargetById is deprecated and will be removed for future versions since
   there is no safe way to use it per-request.

 * Added ctl:ruleRemoveTargetById that can be used to exclude targets to be processed per-request.

22 Jun 2012 - 2.7.0-rc2
-------------------

 * Fixed compilation errors and warnings under Windows platform.

 * Fixed SecEncryptionKey was not working as expected.

08 Jun 2012 - 2.7.0-rc1
-------------------

 * Added SecEncryptionEngine. Initial crypt engine support, at the momment it will sign some Html
   and Response Header options.

 * Added SecEncryptionKey to define the a rand or static key for crypt engine.

 * Added SecEncryptionParam to define the new parameter name.

 * Added SecEncryptionMethodRx used with a regular expression to inspect the html in response
   body/header and decide what to protect.

 * Added SecEncryptionMethodPm used with multiple or single strings to inspect the html in response
   body/header and decide what to protect.

 * Added ctl encryptionEngine as a per transaction version of SecEncryptionEgine diretive.

 * Added ctl encryptionEnforcement that will allow the engine to sign the data but the enforcement is
   disabled.

 * Added validateEncryption operator to enforce the signed elements.

 * Added rsub operator supports the syntax |hex| allowing users to use special chars like \n \r.

 * Added SecRuleUpdateTargetById now supports id range.

 * Added SecRuleUpdateTargetByMsg and its ctl version (Thanks Scott Gifford).

 * Added SecRuleUpdateTargetByTag and its ctl version (Thanks Scott Gifford).

 * Added SecRulePerfTime when greater than zero it will fill rule id's execution time into PERF_RULE
   and log id=usec information in the new Perf-rule-info: line in part H.

 * Added PERF_RULES variable that contains rule execution time.

 * Added Engine-mode: section in part H.

 * Added ruleRemoveByMsg ctl version.

 * Added removeCommentsChar and removeComments now can work with <!-- --> style.

 * Added SecArgumentSeparator and SecCookieFormat can be used in different scope locations.

 * Added Rules must have ID action and must be numeric.

 * Added The use of tfns are deprecated in SecDefaultAction. Should be forbid in the future.

 * Added Macro expansion support to the action pause.

 * Added IpmatchFromFile/IpmatchF operator.

 * Added New setrsc action, the RESOURCE collection used SecWebAppId Name Space

 * Added Configure option --enable-cache-lua that allows reuse of Lua VM per transaction.
   It will only take any effect when ModSecurity has multiple scripts to run per transaction.

 * Added Configure option --enable-pcre-jit that allows ModSecurity regex engine to use PCRE Jit support.

 * Added Configure option --enable-request-early that allows ModSecurity run phase 1 in post_read_request hook.

 * Added RBL operator now support the httpBl api (http://www.projecthoneypot.org/httpbl_api.php).

 * Added SecHttpBlKey to be used with httpBl api.

 * Added SecSensorId will specify the modsecurity sensor name into audit log part H.

 * Added aliases to phase:2 (phase:request), phase:4 (phase:response) and phase:5 (phase:logging).

 * Added USERAGENT_IP variable. Created when Apache24 is used with mod_remoteip to know the real
   client ip address.

 ^ Added new rule metadata actions ver, maturity and accuracy. Also included into RULE collection.

 * Updated Reference manual into doc/ directory.

 * Fixed Variable DURATION contains the elapsed time in microseconds for compatible reasons with apache and
   other variables.

 * Fixed Preserve names/identity of the variables going into MATCHED_VARS.

 * Fixed Redirect macro expansion does not work in SecDefaultAction when SecRule uses block action.

 * Fixed rsub operator does not work as expect if regex contains parentheses (Thanks Jerome Freilinger).

 * Current Google Safe Browsing implementation is deprecated. Google changed the API and does not allow
   anymore the malware database for download.

08 Jun 2012 - 2.6.6
-------------------

 * Added build system support for KfreeBSD and HURD.

 * Fixed a multipart bypass issue related to quote parsing
   Credits to  Qualys Vulnerability & Malware Research Labs (VMRL).

20 Mar 2012 - 2.6.5
-------------------

 * Fixed increased a specific message debug level in SBDM code (MODSEC-293).

 * Cleanup build system.

09 Mar 2012 - 2.6.4
-------------------

 * Fixed Mlogc 100% CPU consume (Thanks Klaubert Herr and Ebrahim Khalilzadeh).

 * Fixed ModSecurity cannot load session and user sdbm data.

 * Fixed updateTargetById was creating rule unparsed content making apache memory grow.

 * Code cleanup.

23 Feb 2012 - 2.6.4-rc1
-------------------

 * Fixed @rsub adding garbage data into stream variables.

 * Fixed regex for section A into mlogc-batch-load.pl (Thanks Ebrahim Khalilzadeh).

 * Fixed logdata cuts message without closing it with final chars.

 * Added sanitizeMatchedBytes support to verifyCPF, verifyCC and verifySSN.


06 Dec 2011 - 2.6.3-rc1
-------------------

* Fixed MATCHED_VARS does not correctly handle multiple VARS with the same name.

* Fixed SDBM garbage collection was not working as expected, increasing the size of files.

* Fixed wrong timestamp calculation for some time zones in log files.

* Fixed SecUpdateTargetById failed to load multiple VARS (MODSEC-270).

* Fixed Reverted hexDecode for hexEncode compatibility reason.

* Added SecCollectionTimeout to set collection timeout, default is 3600.

* Added sqlHexDecode transformation to decode sql hex data. Thanks Marc Stern.

30 Sep 2011 - 2.6.2
-------------------

 * Fixed hexDecode test during make.

 * Updated the reference manual into doc/ directory.

5 Sep 2011 - 2.6.2-rc1
-------------------

 * Added support to macro expansion for rx operator.

 * Added new transformations removeComments and removeCommentsChars

 * Fixed colletion names are not case-sensitive anymore.

 * Fixed compilation errors with apache 2.0.

 * Fixed build system was not using some libraries CFLAGS.

 * Fixed check for valid hex values into hexDecode transformation.

 * Fixed ctl:ruleUpdateTargetById appending multiple targets.

18 Jun 2011 - 2.6.1
-------------------

 * Updated the reference manual into doc/ directory.

11 Jul 2011 - trunk
-------------------

 * Add HttpBl support to rbl operator.

30 Jun 2011 - 2.6.1-rc1
-------------------

 * Fixed SecUploadFileMode doesn't work with the new build system.

 * Fixed building with Lua library (Thanks Diego Elio).

 * Fixed some ./configure --enable* features not being enabled in compilation time.

 * Improvements on GSB database add/search operations.

 * Log part K was removed from modsecurity.conf-recommended.

 * Added SecUnicodeMapFile directive. Must be use to load the unicode.mapping file.

 * Added SecUnicodeCodePage directive. Used to define the unicode code page. There are a few already available:

    1250  (ANSI - Central Europe)
    1251  (ANSI - Cyrillic)
    1252  (ANSI - Latin I)
    1253  (ANSI - Greek)
    1254  (ANSI - Turkish)
    1255  (ANSI - Hebrew)
    1256  (ANSI - Arabic)
    1257  (ANSI - Baltic)
    1258  (ANSI/OEM - Viet Nam)
    20127 (US-ASCII)
    20261 (T.61)
    20866 (Russian - KOI8)
    28591 (ISO 8859-1 Latin I)
    28592 (ISO 8859-2 Central Europe)
    28605 (ISO 8859-15 Latin 9)
    37    (IBM EBCDIC - U.S./Canada)
    437   (OEM - United States)
    500   (IBM EBCDIC - International)
    850   (OEM - Multilingual Latin I)
    860   (OEM - Portuguese)
    861   (OEM - Icelandic)
    863   (OEM - Canadian French)
    865   (OEM - Nordic)
    874   (ANSI/OEM - Thai)
    932   (ANSI/OEM - Japanese Shift-JIS)
    936   (ANSI/OEM - Simplified Chinese GBK)
    949   (ANSI/OEM - Korean)
    950   (ANSI/OEM - Traditional Chinese Big5)

    Also mapping some extra unicode chars defined at http://tools.ietf.org/html/rfc3490#section-3.1

 * Fixed SecRequestBodyLimit was truncating the real request body.

18 May 2011 - 2.6.0
-------------------

 * Added SecWriteStateLimit for Slow Post DoS mitigation.

 * Fix problem when buffering in input filter.

 * Fix memory leak when use MATCHED_VAR_NAMES.


2 May 2011 - 2.6.0-rc2
-------------------

 * Added code optimizations - thanks Diego Elio.

 * Added support to AIX and HPUX in the build system (untested).

 * Renamed decodeBase64Ext to base64DecodeExt.

 * Build system improvements - thanks Diego Elio.

 * Improvements on gsblookup parser.

 * Fixed input filter bug when upload files and SecStreamInBodyInspect is enabled.

 * Logging improvements and bug fix.

 * Remove extra useless files when make clean and maintainer-clean

18 Apr 2011 - 2.6.0-rc1
-------------------

 * Replaced previous GPLv2 License to Apachev2.

 * Added Google Safe Browsing lookups operator and directive. It should be
   used to extract and lookup urls from http packets.

 * Added Data Modification operator. It must be used with STREAM_* variables
   to replace/add/edit any data from http bodies.

 * Added STREAM_OUPUT_BODY and STREAM_INPUT_BODY variables to work with data
   modification operators.

 * Added fast ip address operator. It supports partial ip address, cidr for
   IPv4 and IPv6. Thanks Tom Donovan.

 * Added new sensitive data tracking verifyCPF and verifySSN.

 * Added MATCHED_VARS and MATCHED_VARS_NAMES. It is similiar to MATCHED_VAR,
   but now we should see all matched variables.

 * Added UNIQUE_ID variable. It holds the data created my mod_unique_id.

 * Added new tranformation cmdline. Thanks Marc Stern.

 * Added new exception handling operators and directives. It should help users
   reduce FN and FPs. The directives SecRuleUpdateTargetById, SecRuleRemoveByTag
   and its ctl actions were included.

 * Added SecStreamOutBodyInspection and SecStreamInBodyInspection to enable STREAM_*
   variables.

 * Added SecGsbLookupDB used to load Google Safe Browsing malware databse into
   memory.

 * Added the directive SecInterceptOnError to control what to do if a rule returns
   values less than zero.

 * Improvements in DetectionOnly engine mode. Also added SecRequestBodyLimitAction
   to control what to do if the engine receive a http request over a hard limit.
   Note that there is now many combinations with SecRuleEngine and the limit action
   directives for response and request data. Please see the reference manual.

 * Improvements under RBL operator. It now will parse return code values for some
   RBL lists.

 * Added new Log Part J. It should log some informations about uploaded files.

 * Added new sanitizeMatchedBytes action. It will give more flexibilty for user to sanitize
   logged data, also improving peformance when sanitize big amount of data.

 * Improvements on Logging phase. It is possible now see full chains, distinguish between
   simple rules, chain starters and chain nodes.

 * Improvements on AutoTools usage.

 * Improvements on pattern matching operators, pmf, pm and strmatch now supports more flexible
   input data allowing any kind of special char.

 * Improvements on SecRuleUpdateActionById to update chain nodes.

 * Many bugs were fixed. Please see the ModSecurity Jira for more details


19 Mar 2010 - trunk
-------------------

 * Added SecDisableBackendCompression, which disabled backend compression
   while keeping the frontend compression enabled (assuming mod_deflate
   in installed and configured in the proxy). [Ivan Ristic]

 * Added REQUEST_BODY_LENGTH, which contains the number of request body
   bytes read. [Ivan Ristic]

 * Integrate with mod_log_config using the %{VARNAME}M format string.
   (MODSEC-108) [Ivan Ristic]

 * Replaced the previous time-measuring mechanism with a new one, which
   provides the following information: request time, request duration,
   phase duration (for all 5 phases), time spent dealing with persistent
   storage, and time spent on audit logging. The new information is now
   available in the Stopwatch2 audit log header. The Stopwatch header
   remains for backward compatiblity, although it now only includes
   the request time and request duration values. Added the following
   variables: PERF_COMBINED, PERF_PHASE1, PERF_PHASE2, PERF_PHASE3,
   PERF_PHASE4, PERF_PHASE5, PERF_SREAD, PERF_SWRITE, PERF_LOGGING,
   PERF_GC. [Ivan Ristic]

 * Added DURATION, which contains the time ellapsed since the beginning
   of the current transaction, in milliseconds. [Ivan Ristic]

 * Adjusted phase 5 to execute just prior to mod_log_config. This should
   allow phase 5 rules to to implement conditional logging, as well as
   pave support for allowing access to all ModSecurity variables from
   mog_log_config. [Ivan Ristic]

 * Added the URLENCODED_ERROR flag, which is raised whenever invalid URL
   encoding is encountered in the query string or in the request body
   (but only if URLENCODED request body processor is used). (MODSEC-111)
   [Ivan Ristic]

 * Removed the obsolete PDF UXSS functionality. (MODSEC-96) [Ivan Ristic]

 * Renamed normalisePath to normalizePath and normalisePathWin to
   normalizePathWin. Kept the previous names for backward compatibility.
   (MODSEC-103) [Ivan Ristic]

 * Moved phase 1 to be run in the same Apache hook as phase 2. This means
   that you can now have phase 1 rules in <Location> tags and, more
   importantly, override server configuration in <Location> and others.
   (MODSEC-98) [Ivan Ristic]

 * Renamed the sanitise family of actions to sanitize. Kept the old variants
   for backward compatibility. (MODSEC-95) [Ivan Ristic]

 * Improve the logging of the ctl action. (MODSEC-99) [Ivan Ristic]

 * Cleanup build files that were from the Apache source.
jperkin pushed a commit that referenced this pull request Mar 17, 2014
# Release Notes

## 1.0.0

### External changes
* Assume 'mocha' has been required when requiring 'mocha/setup'.
* Provide shortcuts for integrating with specific test library i.e. `require 'mocha/test_unit'` or `require 'mocha/mini_test'`
as alternatives to `require 'mocha/setup'`.
* Do not automatically try to integrate with test libraries. Since the automatic test library integration functionality
requires the test library to be loaded and this doesn't usually happen until *after* the bundle is loaded, it makes things
simpler if we use `require 'mocha/setup'` to explicitly setup Mocha when we know the test library has been loaded. Fixes #146 & #155.
* Consider stubs on superclasses if none exist on primary receiver. Largely based on changes suggested by @ccutrer in #145.
Note: this may break existing tests which rely on the old behaviour. Stubbing a superclass method and then invoking that
method on a child class would previously cause an unexpected invocation error. By searching up through the inheritance
hierarchy for each of the delegate mock objects, we can provide more intuitive behaviour. Instead of an unexpected invocation
error, invoking the method on the child class will cause the stubbed method on the superclass to be used.
* Avoid recursion when constructing unexpected invocation message. Fixes #168.
* Add explanation of method dispatch. Heavily based on the relevant jMock v1 documentation. Fixes #172.
* Make class_eval line number more accurate. This sets the line number as the line number of the `def` statement. Closes #169.
* Allow nesting of `responds_with` parameter matcher. Closes #166.
* Define `Mocha` module before it's referenced. The test helper defines a class `TestCase` within the `Mocha` module. When
running the tests inside the bundle, the `Mocha` module happens to be defined at this point. However when running the tests outside the bundle, it is not defined and so an exception is raised: `uninitialized constant Mocha (NameError)`. Fixes #163.
* Document lack of thread-safety. Fixes #154.
* Document how to use the build-matrix script. Fixes #160.
* Stubbing non-public method should use same visibility. This will probably break some existing tests that were somehow relying
on the stubbed method being public while the original method was protected or private. Fixes #150.

### Internal changes
* Use lastest Rubygems in Travis CI builds.
* Run the standard test suite against Ruby 2.1.0 in the build matrix.
* Run integration tests against Ruby 2.0.0 with latest Test::Unit gem in the build matrix.
* Test::Unit is not available in Ruby v1.9.3 standard library, so remove it from the build matrix.
* Force use of Test::Unit runner, etc in relevant integration tests. Prior to this, I don't think we were really testing the
Mocha integration with Test::Unit much, because, although `TestUnitTest` was a subclass of `Test::Unit::TestCase`, the
important test case instances are the temporary ones built by `TestRunner#run_as_test` et al. Prior to this change, these
would only have used Test::Unit where MiniTest was not available *at all* i.e. only in early versions of Ruby and when the
MiniTest gem was not loaded.
* Reset environment variables between build matrix builds.
* Only activate integration with relevant test library for each of the integration tests.
* Include standard build combinations from Travis CI config i.e. builds using standard library versions of test libraries.
* Fix `build-matrix.rb` script. Also use `.travis.yml` to decide what combinations to run. This means we
can now simulate the Travis CI build locally and avoid duplication. Fixes #157.
* Remove Ruby version map from build matrix script. I'm using the `rbenv-aliases` plugin to alias minor versions to the
relevant patch version.
jperkin pushed a commit that referenced this pull request Mar 18, 2014
# Release Notes

## 1.0.0

### External changes
* Assume 'mocha' has been required when requiring 'mocha/setup'.
* Provide shortcuts for integrating with specific test library i.e. `require 'mocha/test_unit'` or `require 'mocha/mini_test'`
as alternatives to `require 'mocha/setup'`.
* Do not automatically try to integrate with test libraries. Since the automatic test library integration functionality
requires the test library to be loaded and this doesn't usually happen until *after* the bundle is loaded, it makes things
simpler if we use `require 'mocha/setup'` to explicitly setup Mocha when we know the test library has been loaded. Fixes #146 & #155.
* Consider stubs on superclasses if none exist on primary receiver. Largely based on changes suggested by @ccutrer in #145.
Note: this may break existing tests which rely on the old behaviour. Stubbing a superclass method and then invoking that
method on a child class would previously cause an unexpected invocation error. By searching up through the inheritance
hierarchy for each of the delegate mock objects, we can provide more intuitive behaviour. Instead of an unexpected invocation
error, invoking the method on the child class will cause the stubbed method on the superclass to be used.
* Avoid recursion when constructing unexpected invocation message. Fixes #168.
* Add explanation of method dispatch. Heavily based on the relevant jMock v1 documentation. Fixes #172.
* Make class_eval line number more accurate. This sets the line number as the line number of the `def` statement. Closes #169.
* Allow nesting of `responds_with` parameter matcher. Closes #166.
* Define `Mocha` module before it's referenced. The test helper defines a class `TestCase` within the `Mocha` module. When
running the tests inside the bundle, the `Mocha` module happens to be defined at this point. However when running the tests outside the bundle, it is not defined and so an exception is raised: `uninitialized constant Mocha (NameError)`. Fixes #163.
* Document lack of thread-safety. Fixes #154.
* Document how to use the build-matrix script. Fixes #160.
* Stubbing non-public method should use same visibility. This will probably break some existing tests that were somehow relying
on the stubbed method being public while the original method was protected or private. Fixes #150.

### Internal changes
* Use lastest Rubygems in Travis CI builds.
* Run the standard test suite against Ruby 2.1.0 in the build matrix.
* Run integration tests against Ruby 2.0.0 with latest Test::Unit gem in the build matrix.
* Test::Unit is not available in Ruby v1.9.3 standard library, so remove it from the build matrix.
* Force use of Test::Unit runner, etc in relevant integration tests. Prior to this, I don't think we were really testing the
Mocha integration with Test::Unit much, because, although `TestUnitTest` was a subclass of `Test::Unit::TestCase`, the
important test case instances are the temporary ones built by `TestRunner#run_as_test` et al. Prior to this change, these
would only have used Test::Unit where MiniTest was not available *at all* i.e. only in early versions of Ruby and when the
MiniTest gem was not loaded.
* Reset environment variables between build matrix builds.
* Only activate integration with relevant test library for each of the integration tests.
* Include standard build combinations from Travis CI config i.e. builds using standard library versions of test libraries.
* Fix `build-matrix.rb` script. Also use `.travis.yml` to decide what combinations to run. This means we
can now simulate the Travis CI build locally and avoid duplication. Fixes #157.
* Remove Ruby version map from build matrix script. I'm using the `rbenv-aliases` plugin to alias minor versions to the
relevant patch version.
jperkin pushed a commit that referenced this pull request Jul 23, 2014
-----
5.4.1
-----

* Python #7776: (ssl_support) Correct usage of host for validation when
  tunneling for HTTPS.

---
5.4
---

* Issue #154: ``pkg_resources`` will now cache the zip manifests rather than
  re-processing the same file from disk multiple times, but only if the
  environment variable ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` is set. Clients
  that package many modules in the same zip file will see some improvement
  in startup time by enabling this feature. This feature is not enabled by
  default because it causes a substantial increase in memory usage.

---
5.3
---

* Issue #185: Make svn tagging work on the new style SVN metadata.
  Thanks cazabon!
* Prune revision control directories (e.g .svn) from base path
  as well as sub-directories.

---
5.2
---

* Added a `Developer Guide
  <https://pythonhosted.org/setuptools/developer-guide.html>`_ to the official
  documentation.
* Some code refactoring and cleanup was done with no intended behavioral
  changes.
* During install_egg_info, the generated lines for namespace package .pth
  files are now processed even during a dry run.

---
5.1
---

* Issue #202: Implemented more robust cache invalidation for the ZipImporter,
  building on the work in Issue #168. Special thanks to Jurko Gospodnetic and
  PJE.

-----
5.0.2
-----

* Issue #220: Restored script templates.
jperkin pushed a commit that referenced this pull request Aug 22, 2014
---
5.7
---

* Issue #240: Based on real-world performance measures against 5.4, zip
  manifests are now cached in all circumstances. The
  ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` environment variable is no longer
  relevant. The observed "memory increase" referenced in the 5.4 release
  notes and detailed in Issue #154 was likely not an increase over the status
  quo, but rather only an increase over not storing the zip info at all.

---
5.6
---

* Issue #242: Use absolute imports in svn_utils to avoid issues if the
  installing package adds an xml module to the path.

-----
5.5.1
-----

* Issue #239: Fix typo in 5.5 such that fix did not take.

---
5.5
---

* Issue #239: Setuptools now includes the setup_requires directive on
  Distribution objects and validates the syntax just like install_requires
  and tests_require directives.
jperkin pushed a commit that referenced this pull request Oct 3, 2014
This is a leaf package, OK by wiz@.

ChangeLog:
Thu, 15 May 2014 23:41:07 +0200  Daniel Friesel <derf+feh@finalrewind.org>

* Releasev v2.12
    * feh-cam and gen-cam-menu are no longer installed by default. Use
      'make install cam=1' to install them or 'make uninstall cam=1 && make
      install cam=0' to remove them permanently
    * feh no longer depends on giblib. Instead, the relevant parts of the
      giblib source were imported into the feh source.
      Rationale: giblib is unmaintained and, as far as I know, only used by
      three projects (one of which is feh). There is at least one known bug
      in it, and as I do not have the time to take over giblib development,
      importing the library seems to be the best solution.
    * Fix/improve --randomize for short filelists (closes #151)
    * Fix a buffer overflow in the printf implementation when handling unknown
      format specifiers (affects --action, --customlist, --index-info, --info,
      --thumb-title and --title)
    * Update help (if built with help=1)

Sun, 27 Apr 2014 20:28:02 +0200  Daniel Friesel <derf+feh@finalrewind.org>

* Release v2.11
    * Patch by Michael Vorburger: Fix erroneous free() in case of failed
      scandir (closes #140, #147)
    * Patch by rangerer: --randomize: re-randomize after list is through
      (closes #154)
    * When setting a wallpaper from a URL, do not try to store it as
      absolute path in .fehbg (closes #153)
    * Add --scroll-step <px> option to change scroll_{up,left,down,right}
      scroll offset in pixels
    * feh(1): Escape %V (interpreted as mdoc macro)
      (closes debian #745467)
    * Respect --image-bg=checks in fullscreen mode (default remains black)
      (closes #156)

Fri, 28 Feb 2014 18:20:25 +0100  Daniel Friesel <derf+feh@finalrewind.org>

* Release v2.10
    * Allow non-centered wallpapers using the --geometry option
      (Patch by Joel Bradshaw)
    * Add ; flag to --info (as in "--info ';echo foo'") to disable info
      display on startup
    * Partially fix off-by-one pixel error when warping the pointer in the
      bottom/right window border
    * thumbnail mode: If --action is set, run specified command instead of
      opening image on click.
    * feh.desktop: Use feh %F since we support multiple files
    * Fix --borderless not working on some 64bit systems
      (Patch by Brian Mattern)
    * Always use absolute paths in .fehbg
jperkin pushed a commit that referenced this pull request Dec 1, 2014
4.09 2014-10-21

    [ RELEASE NOTES ]
    - with this release the large backlog of issues against CGI.pm has been
      cleared. All fixes have been made in the versions 4.00 and above so if
      you are upgrading from 3.* you should thoroughly test your code against
      recent versions of CGI.pm
    - an effort has been made to retain back compatibility against previous
      versions of CGI.pm for any fixes made, however some changes related to
      the handling of temporary files may have consequences for your code
    - please refer to the RELEASE NOTES for version 4.00 and above for all
      recent changes and file an issue on github if there has been a regression.
    - please do *NOT* file issues regarding HTML generating functions, these
      are no longer being maintained (see perldoc for rational)

    [ SPEC / BUG FIXES ]
    - tweak url to DTRT when the web server is IIS (RT #89827 / GH #152)
    - fix temporary file handling when dealing with multiple files in MIME uploads
      (GH #154, thanks to GeJ for the test case)

4.08 2014-10-18

    [ DOCUMENTATION ]
    - note that calling headers without a -charset may lead to a nonsensical
      charset being added to certain content types due to the default and the
      workaround
    - remove documentation stating that calls to escapeHTML with a changed
      charset force numeric encoding of all characters, because that does not
      happen
    - documentation tweaks for calling param() in list context and the addition
      of multi_param()

    [ SPEC / BUG FIXES ]
    - don't sub out PATH_INFO in url if PATH_INFO is the same as SCRIPT_NAME
      (RT #89827)
    - add multi_param() method to allow calling of param() in list context
      without having to disable the $LIST_CONTEXT_WARN flag (see RELEASE NOTES
      for version 4.05 on why calling param() in list context could be a bad
      thing)

4.07 2014-10-12

    [ RELEASE NOTES ]
    - please see changes for v4.05

    [ TESTING ]
    - typo and POD fixes, add test to check POD and compiles
jperkin pushed a commit that referenced this pull request Dec 1, 2014
Serf 1.3.8 [2014-10-20, from /tags/1.3.8, rxxxx]
Fix issue #152: CRC calculation error for gzipped http reponses > 4GB.
Fix issue #153: SSPI CredHandle not freed when APR pool is destroyed.
Fix issue #154: Disable SSLv2 and SSLv3 as both or broken.
jperkin pushed a commit that referenced this pull request Apr 3, 2015
Remove DateY and replace it by real XY datetime, date, time and timedelta support. (#188)
Introduce new XY configuration options: `xrange`, `x_value_formatter`.
Add show_x_labels option to remove them and the x axis.
Set print_values to False by default.
Fix secondary serie text values when None in data. (#192)

V 1.6.2
Add margin_top, margin_right, margin_bottom, margin_left options which defaults to margin. (thanks djt)
Update django mime parameter from mimetype to content_type. (thanks kswiat)
Allow a color and a style parameter to value metadata.

V 1.6.1
Fix Decimal incompatibility

V 1.6.0
Adds config option missing_value_fill_truncation. (thanks sirlark)
Avoid HTTP 301 Moved Permanently (thanks jean)
Add a Django response method (thanks inlanger)
Fix setup.py (#170)
Fix format error on list like in table
Add legend_at_bottom_columns option to specify number of columns in legend when at bottom. (#157)
Fix secondary interpolation (#165)
Adds an extra class (axis) to horizontal guides if the label is "0" (#147) (thanks sirlark)
Add line stroke customization parameters to style.py (#154) (thanks blakev)
jperkin pushed a commit that referenced this pull request May 22, 2015
Upstream changes:
1.2.0 2015-04-14 07:13:00+0000
	- [core] bundle libyaml #248 (Kazuho Oku)
	- [core] implement master-worker process mode and daemon mode (bundles Server::Starter) #258 #270 (Kazuho Oku)
	- [file] more mime-types by default #250 #254 #280 (Tatsuhiko Kubo, George Liu, Kazuho Oku)
	- [file][http1] fix connection being closed if the length of content is zero #276 (Kazuho Oku)
	- [headers] fix heap overrun during configuration #251 (Kazuho Oku)
	- [http2] do not delay sending PUSH_PROMISE #221 (Kazuho Oku)
	- [http2] reduce memory footprint under high load #271 (Kazuho Oku)
	- [http2] fix incorrect error sent when number of streams exceed the limit #268 (Kazuho Oku)
	- [proxy] fix heap overrun when building request sent to upstream #266 #269 (Moto Ishizawa, Kazuho Oku)
	- [proxy] fix laggy response in case the length of content is zero #274 #276 (Kazuho Oku)
	- [SSL] fix potential stall while reading data from client #268 (Kazuho Oku)
	- [SSL] bundle LibreSSL #236 #272 (Kazuho Oku)
	- [SSL] obtain source-level compatibility with BoringSSL #228 (Kazuho Oku)
	- [SSL] add directive `listen.ssl.cipher-preference` for controlling the selection logic of cipher-suites #233 (Kazuho Oku)
	- [SSL] disable TLS compression #252 (bisho)
	- [libh2o] fix C++ compatibility (do not use empty struct) #225 (Kazuho Oku)
	- [libh2o] search external dependencies using pkg-config #227 (Kazuho Oku)
	- [misc] fix GCC version detection bug used for controlling compiler warnings #224 (Kazuho Oku)
	- [misc] check merory allocation failures in socket pool #265 (Tatsuhiko Kubo)

1.1.1 2015-03-09 06:12:00+0000
	- [proxy] fix crash on NetBSD when upstream connection is persistent #217 (Kazuho Oku)
	- [misc] fix compile error on FreeBSD #211 #212 (Syohei Yoshida)

1.1.0 2015-03-06 06:41:00+0000
	- [core][file] send redirects appending '/' as abs-path redirects #209 (Kazuho Oku)
	- [headers] add directives for manipulating response headers #204 (Kazuho Oku)
	- [http2] do not send a corrupt response if header value is longer than 126 bytes #193 (Kazuho Oku)
	- [http2] fix interoperability issue with nghttp2 0.7.5 and above 5c42eb1 (Kazuho Oku)
	- [proxy] send `via` header to upstream #191 (Kazuho Oku)
	- [proxy] resolve hostname asynchronously #207 (Kazuho Oku)
	- [proxy] distribute load between upstream servers (using `rand()`) #208 (Kazuho Oku)
	- [proxy] fix a bug that may cause a corrupt `location` header being forwarded #190 (Kazuho Oku)
	- [reproxy] add support for `x-reproxy-url` header #187 #197 (Daisuke Maki, Kazuho Oku)

1.0.1 2015-02-23 05:50:00+0000
	- [core] change backlog size from 65,536 to 65,535 #183 (Tatsuhiko Kubo)
	- [http2] fix assertion failure in HPACK encoder #186 (Kazuho Oku)
	- [http2] add `extern` to some global variables that were not marked as such #178 (Kazuho Oku)
	- [proxy] close persistent upstream connection if client abruptly closes the stream #188 (Kazuho Oku)
	- [proxy] fix internal state corruption in case upstream sends response headers divided into multpile packets #189 (Kazuho Oku)
	- [SSL] add host header to OCSP request #176 (Masaaki Hirose)
	- [libh2o] do not require header files under `deps/` when using libh2o #173 (Kazuho Oku)
	- [libh2o] fix compile error in examples when compiled with `H2O_USE_LIBUV=0` #177 (Kazuho Oku)
	- [libh2o] in example, add missing / after the reference path #180 (Matthieu Garrigues)
	- [misc] fix invalid HTML in sample page #175 (Deepak Prakash)

1.0.0 2015-02-18 20:01:00+0000
	- [core] add redirect handler #150 (Kazuho Oku)
	- [core] add `pid-file` directive for specifying the pid file #164 (Kazuho Oku)
	- [core] connections accepted by host-specific listeners should not be handled by handlers of other hosts #163 (Kazuho Oku)
	- [core] (FreeBSD) fix a bug that prevented the standalone server from booting when run as root #160 (Kazuho Oku)
	- [core] switch to pipe-based interthread messaging #154 (Kazuho Oku)
	- [core] use kqueue on all BSDs #156 (Kazuho Oku)
	- [access-log] more logging directives: %H, %m, %q, %U, %V, %v #158 (Kazuho Oku)
	- [access-log] bugfix: header values were not logged when specified using uppercase letters #157 (Kazuho Oku)
	- [file] add application/json to defalt MIME-types #159 (Tatsuhiko Kubo)
	- [http2] add support for the finalized version of HTTP/2 #166 (Kazuho Oku)
	- [http2] fix issues reported by h2spec v0.0.6 #165 (Kazuho Oku)
	- [proxy] merge the cookie headers before sending to upstream #161 (Kazuho Oku)
	- [proxy] simplify the configuration directives (and make persistent upstream connections as default) #162 (Kazuho Oku)
	- [SSL] add configuration directive to preload DH params #148 (Jeff Marrison)
	- [libh2o] separate versioning scheme using H2O_LIBRARY_VERSION_* #167 (Kazuho Oku)

0.9.2 2015-02-10 04:17:00+0000
	- [core] graceful shutdown on SIGTERM #119 (Kazuho Oku)
	- [core] less TCP errors under high load #81 (Kazuho Oku)
	- [file] add support for HEAD requests #110 (Mark Hoersken)
	- [http1] MSIE workaround (send `Cache-Control: private` in place of Vary) #114 (Kazuho Oku)
	- [http2] support server-push #133 (Kazuho Oku)
	- [http2] fix spurious RST_STREAMS being sent #132 (Kazuho Oku)
	- [http2] weight-based distribution of bandwidth #135 (Kazuho Oku)
	- [proxy] added configuration directive `proxy.preserve-host` #112 (Masahiro Nagano)
	- [proxy] sends X-Forwarded-For and X-Forwarded-Proto headers #112 (Masahiro Nagano)
	- [proxy] stability improvements #61 (Kazuho Oku)
	- [misc] adjustments to make the source code more analyzer-friendly #113,#117 (Nick Desaulniers, Maks Naumov)

0.9.1 2015-01-19 21:13:00+0000
	- added configuration directives: ssl/cipher-suite, ssl/ocsp-update-interval, ssl/ocsp-max-failures, expires, file.send-gzip
	- [http2] added support for draft-16 (draft-14 is also supported)
	- [http2] dependency-based prioritization
	- [http2] improved conformance to the specification
	- [SSL] OCSP stapling (automatically enabled by default)
	- [SSL] fix compile error with OpenSSL below version 1.0.1
	- [file] content negotiation (serving .gz files)
	- [expires] added support for Cache-Control: max-age
	- [libh2o] libh2o and the header files installed by `make install`
	- [libh2o] fix compile error when used from C++
	- automatically setuids to nobody when run as root and if `user` directive is not set
	- automatically raises RLIMIT_NOFILE
	- uses all CPU cores by default
	- now compiles on NetBSD and other BSD-based systems
jperkin pushed a commit that referenced this pull request Sep 6, 2015
pkgsrc changes:
 * Now liferea depends on www/webkit24-gtk3 (and x11/gtk3)
 * Update DESCR, MASTER_SITES, HOMEPAGE

Changes:
2015-06-19  Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.16
	* Fixes Github #180: Removing item from (v)folder marks all read
	  (reported by GreenLunar)
	* Fixes Github #140, #158: Vertical pane placement is forgotten.
	  (patch by foresto)
	* Fixes Github #182: Missing config.h include in date.c
	  (reported by Paul Gevers)

2015-04-20  Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.15
	* Fixes launching URLs in Firefox 36+
	  (reported by Geoffrey Leach)
	* Fixes Github #30: Segfault after updating from 1.8 to 1.10
	  (reported by vakuum)
	* Improves Github #36, #113: UI lock up during refresh
	  (suggested by mozbugbox)
	* Fixes typo in Italian translation.

2015-02-26   Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.14
	* Fixes Github #154: Crashes while starting (on corrupt icon)
	  (reported by jcamposz)
	* Fixes Github #134: Broken default news feed.
	  (reported by pvdl)
	* Fixes Github #122: Crashes at launch, "segmentation fault"
	  (reported by geoffm)
	* Fixes some memory leaks
	  (patch by Rich Coe)
	* Fixes Github #145: Wrong method triggered on 'Launch External'
	  (patch by mozbugbox)
	* Fixes Github #149: Fixes a random crash on startup
	  (patch by mozbugbox)
	* Fixes all issues reported by Coverity scan

2015-01-07   Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.13
	* Fixes Github #112: Wrapping issue in folder display
	  (reported by Jeff Fortin)
	* Fixes Github #114: Avoid termination on UTF-8 validation error
	* Fixes Github #132: Broken link in documentation
	  (reported by kallus)

2014-10-14   Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.12
	* Fixes Github #86: Support HTTP content negotiation
	  (suggested by DanMan)
	* Fixes Github #98:  Stop calling Atom person constructs w/ URI invalid
	  (patch by Aristotle Pagaltzis)
	* Fixes Github #100: Problems with dark Adwaita theme in GTK 3.14
	  (reported by majutsushi)

2014-08-24   Lars Windolf <lars.windolf@gmx.de>
	Version 1.10.11
	* Fixes Github #53: Doesn't automatically update feed name and favicon
	  for new feed (reported by asl97)
	* Fixes Github #67: Missing dist files for documentation
	  (patch by Mikel Olasagasti)
	* Fixes Javascript links not opening in new browser tabs
	* Updated French translation (Guillaume Bernard)
	* Updated Hebrew translation (Genghis Khan)

2014-07-20   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.10
	* Fixes Github #26: RTL comments appear incorrectly
	  (reported by yaronf)
	* Fixes Github #21: No notifications for Tiny Tiny RSS feeds
	  (reported by simontunnat)

2014-04-21   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.9
	* Fixes Github #19: non void function should return value
	  (reported by kwm81)
	* Fixes SF #1141: Liferea does not update feeds with TinyTinyRSS
	  (reported by Dominik Grafenhofer, denk_mal, Fabian Henze)
	* Fixes SF #1150: subscription prop/source: not all fields and
	  buttons visible (reported by David Smith)

2014-03-26   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.8
	* Fixes Github #13: Parsing errors not visible with dark themes
	  (reported by Steve Kelly)
	* Fixes SF #1137, #1142: startup race with LifereaHtmlView
	  (reported by Yanko Kaneti)

2014-03-17   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.7
	* Make Liferea use ETags and send If-None-Match
	  (patch by Chris Siebenmann)

2014-02-24   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.6
	* Fixes SF #1135: liferea-add-feed doesn't process feed:https//
	  (patch by Kevin Walke)
	* Fixes SF #1137: crash on startup in enclosure_list_view_load
	  (reported in Redhat #1048499, Fedora #214888)

2014-01-15   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.5
	* Fixes #1056, #1089, #1098: Honor preferences when opening links
	  (patch by Daniel Seither)
	* Fixes SF #1096: missing installation of liferea.convert file
	  (reported by stqn)
	* Fixes Redhat #947358: popup notification only for new items
	  (patch by Fabrice Bellet)

2014-01-13   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.4
	* Fixes SF #1123: Mistakenly claims "TinyTinyRSS source is not self-updating"
	  (reported by Dominik Grafenhoher)
	* Fixes SF #1119: Crash on font resize at startup.
	  (reported by David Smith)
	* Fixes #1117: Selecting last unread item in reduced feed list jumps to next feed
	  (reported by Bruce Guenter)
	* Updated Arabic translation (Khaled Hosny)

2013-10-08   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.3
	* Asking for credentials again if TinyTinyRSS login fails
	* Asking for TinyTinyRSS credentials only 3 times
	* Checking wether TinyTinyRSS base URL is lost
	* Added warning on TinyTinyRSS login when source is not self-updating
	* "--debug-net --debug-verbose" now traces POST data
	* Patch #230 Add GNOME AppData XML (Mikel Olasagasti)
	* Updated Italian translation (Gianvito Cavasoli)
	* Updated Italian localized feed list (Gianvito Cavasoli)

2013-09-05   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.2
	* Patch SF #222: Make media player seekable
	  (Simon Kågedal Reimer)
	* Fixes SF #1102: Spelling error in man page
	  (David Smith)
	* Fixes SF #1104: liferea.desktop missing keywords
	  (David Smith)
	* Fixes SF #1105: Start Minimized to Tray Does Not Work
	  (reported by bitlord)
	* Fixes SF #1114: Crashes opening browser on item without link via popup
	  (reported by Rich Coe, David Smith)
	* Improved handling of broken Atom author information.
	  (Lars Windolf)
	* Removed dead Google Reader code to avoid doing requests to Google.
	  Replaced with dummy source that even allows normal feed updates.
	  (Lars Windolf)
	* Added hint to FAQ on how to workaround broken Flash support
	  (Lars Windolf)
	* Dumping feedlist.opml with indentation for readability.
	  (suggested by Christoph Temmel and Simon Kågedal Reimer)

2013-07-28   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.1a
	* Fixes SF #1102: Liferea does not show a window
	  (reported by genodeftest)

2013-07-28   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.1
	* Fixes SF #1059: Liferea crashes with system proxy enabled
	  (reported by genodeftest)
	* Fixes SF #1095: Theme color detection bug / white fonts.
	  (reported by David Smith and others)
	* Fixes SF #1097: Default feed refresh interval cannot be set to 0
	  (reported by stqn)
	* Fixes SF #1100: --debug-gui crashes with segmentation fault
	  (reported by genodeftest)
	* Fixes SF #1101: Outdated manpage
	  (reported by genodeftest)
	* Patch SF #225: Make media player work with GStreamer 1.0
	  (Simon Kågedal Reimer)
	* Patch SF #226: Add trailing semi-colon to MimeType so that the desktop
	  file validates (Yanko Kaneti)
	* Patch SF #227: Remove letfover square bracket configure.ac
	  (Yanko Kaneti)
	* Patch SF #228: Add net.sf.liferea.gschema.xml to AC_CONFIG_FILES
	  (Yanko Kaneti)

2013-07-10   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10.0
	* Added experimental sync support for TheOldReader
	  (Lars Windolf)
	* Removed 'Update' link in comments display as it is pretty useless
	  (Lars Windolf)
	* Removed 'No Comments' display as it is rather useless
	  (Lars Windolf)
	* Prevent re-rendering item display on setting item flagged
	  (Lars Windolf)
	* Changed unread number rendering to be right bound and non-ellipsized
	  (Lars Windolf)
	* Fixes g_strstr_len assertions caused by search folder item matching
	  (Rich Coe)
	* Updated documentation to reflect Google Reader, TheOldReader changes
	  (Lars Windolf)
	* Removed welcome text, restoring last feed/item selection instead
	  (Lars Windolf)
	* autogen.sh now reports errors on missing autoconf or intltool
	  (suggested by Scott Kostyshak)
	* Correctly check for gobject-introspection build dependency
	  (suggested by Scott Kostyshak)
	* Updated Basque translation (Mikel Olasagasti Uranga)
	* Updated Danish translation (Joe Hansen)
	* Updated Dutch translation (Erwin Poeze)
	* Updated Finnish translation (Jorma Karvonen)
	* Updated Russian translation (Leonid Selivanov)
	* Updated Ukrainian translation (Yuri Chornoivan)
	* Updated Vietnamese translation (Trần Ngọc Quân)
	* Updated German translation (Lars Windolf)

2013-05-22   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10-RC4
	* Added an option to convert Google Reader subscriptions
	  to local feeds (Lars Windolf)
	* Fixes SF #1080: segfault opening attachment due to incorrect g_free()
	  (reported by Adam Nielsen)
	* Fixes SF #1075: GLib warnings of "string != NULL" assertion failure
	  (reported by Simon Kågedal Reimer)
	* Fixes missing shading in 2-pane mode rendering
	  (reported by Zoho Vignochi)
	* Fixes search folders including comment items
	  (reported by David Willmore)

2013-05-22   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10-RC3
	* Fixes SF #1069: broken rendering in tt-rss feeds
	  (patch by Simon Kågedal Reimer)
	* Merged SF #219: View *.xml files along with *.opml files in file chooser
	  (patch by Simon Kågedal Reimer)
	* Merged SF #233: Show feed name in item view when in merged views.
	  (patch by Simon Kågedal Reimer)
	* Merged SF #193: Use GtkInfoBar for note in preferences window
	  (patch by Fred Morcos)
	* Require intltool >= 0.40.4 (Adrian Bunk)
	* Updated Catalan translation (Gil Forcada)
	* Updated Danish translation (Joe Hansen)
	* Updated Polish translation (Piotr Sokół)

2013-05-12   Lars Windolf <lars.lindner@gmail.com>
	Version 1.10-RC2
	* Extended user agent by "AppleWebKit (KHTML, like Gecko)"
	  to solve incorrect mobile redirect with zdf.de
	* Added social bookmarking support for Mister Wong
	* Added social bookmarking support for Google Bookmarks
	* Update of German FAQ
	* Update of English FAQ
	* Added MimeType to .desktop file (Craig Barnes)
	* Fixes SF #1063: Can't open preferences twice
	  (Emilio Pozuelo Monfort, reported by David Smith)
	* Fixes SF #1040: In feed entries, spaces are replaced with "+"
	  (reported by Emmanuel Seyman)
	* Fixes SF #1051: Issues in RTL GUI of Liferea
	  (reported by phixy)
	* Fixes SF #1038, #1074: Updates ttrss feeds over and over
	  (reported by many users)
	* Fix several memory leaks (Emilio Pozuelo Monfort)
	* Require glib >= 2.28 for GApplication (Adrian Bunk)
	* Use the GTK+ 3 version, not wrongly the GTK+ 2 version,
	  of the libindicate GTK+ bindings (Adrian Bunk)
	* Updated the default feedlists (Adrian Bunk)
	* Removed support for libnotify < 0.7 (Adrian Bunk)
	* Added Vietnamese translation (Trần Ngọc Quân)
	* Updated Albanian translation (Besnik Bleta)
	* Updated Asturian translation (Iñigo Varela)
	* Updated Basque translation (Mikel Olasagasti Uranga)
	* Updated Danish translation (Joe Hansen)
	* Updated Finnish translation (Jorma Karvonen)
	* Updated German translation (Christian Stadelmann)
	* Updated Hungarian translation (Gabor Kelemen)
	* Updated Japanese translation (Takeshi Hamasaki)
	* Updated Latvian translation (Rihards Priedītis)
	* Updated Ukrainian translation (Yuri Chornoivan)

2013-01-30  Lars Windolf <lars.lindner@gmail.com>
	Version 1.10-RC1
	Please note that due to the SourceForge upgrade bug ticket numbering
	did change. This might be confusing... Old numbers are 7 figures,
	newer ones only 4!
	* Patch SF #3407290: Migrate to GSettings
	  (by Mikel Olasagasti)
	* Patch SF #3579177: Change .desktop category to News;Feed;
	  (by Stanislav Brabec)
	* Fix for Debian #668197: x-www-browser preference not working
	  (David Smith)
	* Added slider and time display to media player plugin.
	* Added Google Plus to social bookmarking options.
	* Removing deprecated g_thread_init() call
	* Auto-enable plugins on migration
	* Added missing -a option to manpage
	* Updated manpage to reflect XDG path migration
	* Changing GSettings path from /apps/liferea to /org/gnome/liferea
	* Changes default download thread concurrency from 2 to 3
	* Fixes regression about using the GNOME default font
	* Improves all item/link launching menus to consistently provide
	  three options: Tab, Browser and External Browser
	* Fixes SF #1037: Incorrect notifications for Google Reader
	  (patch by David Smith)
	* Fixes SF #1048: Removed all feedvalidator.org references from FAQ
	  and XSLT as it was reported to host malware.
	  (reported by bkat)
	* Fixes SF #1041: Some GPLv2 license headers were outdated
	  (reported by Emmanuel Seyman)
	* Fixes SF #1044: tt-rss API changed (we now support only 1.6 API)
	  (patch by Sebastian Noel)
	* Fixes assertion when creating new tt-rss subscriptions
	* Fixes XHTML errors caused by extra <body> tags returned by tt-rss
	* Fixes missing item list update when browsing item URLs in Liferea

2012-10-28  Lars Windolf <lars.lindner@gmail.com>
	Version 1.9.7
	* Added new preference for default viewing mode.
	* Changing toolbar button order to prevent accidental clicks on
	  "Mark All Read" when clicking on more frequent buttons like
	  "Next Unread".
	* Added Google Chrome as a browser choice to preferences.
	* Roughly reordered browser choices after browser market share.
	* Removed shading behaviour for unread items in combined view
	  as it doesn't match GTK theming well
	* Removed auto-hide Javascript menu from combined view to simplify
	  rendering in 3-pane modes.
	* Fixes items not removed from search folder count when feed is removed.
	* Fixes search folder rebuilding (do not include comment items).
	* Fixes SELECT offset handling when rebuilding search folders.
	* Now gives feedback when rebuilding search folders in feed list.
	* Update of German translation

2012-10-09  Lars Windolf <lars.lindner@gmail.com>
	Version 1.9.6
	* Removed "pass URL" check box from MIME type dialog.
	* Removed "Save In" entry from "Download" tab in preferences.
	* Removed "curl" choice in download tool preferences.
	* Removed "wget" choice in download tool preferences.
	* Added "steadyflow" choice in download tool preferences.
	* Patch SF #3569056: Use symbolic close buttons and spacing on tabs like gedit
	  (Sebastian Keller)
	* Fixes reloading item when browsing the web inside the item view.
	* Fixes preferences dialog not opening up a second time.
	* Fixes padding/alignments in preferences dialog.
	* Fixes SF #1418701: Remote server pounded into dirt on auto-download
	  (reported by anonymous)
	* Fixes SF #3567827: Double border around webview
	  (reported by borschty)
	* Fixes SF #3572660: crash in google_source_remove_node
	  (reported by Yanko Kaneti)
	* Prevents adding folders/search folders/newsbins to Google Reader
	* Prevents sorting subscriptions in Google Reader
	* Updated Polish translation (Wojciech Myrda)

2012-09-14  Lars Windolf <lars.lindner@gmail.com>
	Version 1.9.5
	* GIR dependencies are now mandatory
	* Migration to XDG directory layout in $HOME
	* Migrate from X session manager to GtkApplication
	* Raising GTK dependency to 3.4 for GtkApplication
	* Storing last window state in GConf now instead in the session command
	* Added Instapaper.com to social bookmarking sites (SF #3564393)
	  (patch by prurigro)
	* Use hint label for manual browser command preference (SF #3129429)
	  (patch by Fred Morcos)
	* Fixes comments_deinit() never being called
	* Fixes search folder counter update on feed removal
	* Fixes SF #3567715: Crash on network online status changes
	  (patch by Yanko Kaneti)

2012-08-24  Lars Windolf <lars.lindner@gmail.com>
	Version 1.9.4
	* Changes (c) name "Lars Lindner" -> "Lars Windolf" due to marriage
	* Removed compilation support for GTK2
	* Added GIR plugin system with libpeas
	* Added GnomeKeyring plugin that stores password in a keyring
	  instead of in the exported OPML.
	* Added simple media player plugin to play audio and video enclosures.
	* Only present enclosures of audio and video MIME type
	* Raise libindicate minimum dependency to 0.6
	* Patch SF #3515882: Also support libindicate 0.7 (Chow Loong Jin)
	* Dropping SIGSEGV signal handler to allow distro crash report tools to
	  work (as found in Ubuntu)
	* Ensure node ids are in DB node relation on startup.
	* Adding AM_PROG_AR to configure.ac to work with automake 1.12
	* Moved tab close button from the URL bar to the right of the tab label.
	* Smarter browser toolbar: appears now also in the item view when
	  browsing external content.
	* Don't ask for Google Reader authentication more than three times
	  with auto-update to avoid annoying the user.
	* Fixes SF Trac #10: Crash on empty search folders within folders
	  (reported by phyxi)
	* Fixes SF Trac #19: Auto-load-link doesn't work with feeds with comments
	  (reported by wonk0)
	* Fixes SF #2855990: Crash when dragging Google Reader feeds outside
	  Google Reader. This is now prevented.
	  (reported by algnod)
	* Fixes SF #3515880: missing include when compiling with libindicate
	  (patch by Chow Loong Jin)
	* Fixes search folders being invisible in reduced mode.
	* Fixes ever growing temporary DB files.
	  (patch by Sven Hartge)
	* Fixes visibility of enclosure list view for Ubuntu.
	* Fixes crashes on enclosure list context menu.
	* Fixes SF #3557513: Fixes crash on empty links in auto-load-link mode.
	  (patch by msquared84)
	* Fixes unknown metadata types reported in trace when loading Google
	  Reader subscriptions from DB.

2012-03-30  Lars Lindner <lars.lindner@gmail.com>
	Version 1.9.3
	* Added a new item history feature that allows navigating
	  through recently viewed items.
	* Added new "Fullscreen" toggle menu option.
	* For GTK+3: request dark theme variant for better contrast
	  between GUI and content. (Jeff Fortin)
	* Change schema defaults for folder display. Now unread
	  items are loaded per-default when clicking a folder.
	* Patch SF #3473743: GTK2 dependency has to be 2.24 (bento)
	* Improve DB item counting statements.
	  (patch by Regis Floret)
	* Change OpenStreetMap rendering from osmarender to mapnik.
	  (patch by Mikel Olasagasti)
	* Patch SF #3127016: Automatic scrollbars on enclosure actions view
	  (patch by Fred Morcos)
	* SF Trac #7: Removing icon from "Cancel All" in update dialog
	  so that .gtkrc "gtk-button-images=0" does have correct effect.
	  (reported by phixy)
	* Fixes SF #3480238: crashes when double clicking find
	  (reported by joeserneem)
	* Fixes Debian #660602: Item pane may be reset during feed update
	  (reported by Ben Hutchings)
	* Reimplemented search folder rule for item with enclosures.
	* Reimplemented search folder rule for item categories.
	* Reimplemented feed title matching rule for search folders.
	  (patch by John Levon)
	* Updated Catalan translation (Gil Forcada)

2012-03-23  Lars Lindner <lars.lindner@gmail.com>
	Version 1.9.2
	* Fixes another migration issue left from 1.9.1
	* Increasing sqlite3 dependency to 3.7+ for WAL journaling.
	* Removed sqliteasync code in favour of WAL journaling.
	  This significantly improves performance for ext4.
	* Added indices for parent_item_id and parent_node_id
	  to avoid slow item removal. (suggested by Paulo Anes)

2012-03-18  Lars Lindner <lars.lindner@gmail.com>
	Version 1.9.1
	* Disabled migration to ~/.liferea_1.9
	* Revert ISO 8601 parsing using Glib due to Debian #653196
	  This fixes SF #3465106 (reported by Vincent Lefevre)
	* Fixes SF #3477582: welcome screen not using theme colors.
	  (reported by stqn)
	* Do not update DB node and subscription info on startup
	  for performance reasons.
	* Perform VACCUM only when page fragmentation ratio < 10%.
	  (suggested by adriatic)
	* Removed tooltip on the "Next Unread Item" button to avoid
	  having it flashing each time it is clicked when skimming
	  through items.

2011-12-23  Lars Lindner <lars.lindner@gmail.com>
	Version 1.9.0
	* Add configure switch to compile against GTK2 or GTK3.
	  (Emilio Pozuelo Monfort, Adrian Bunk)
	* Raise dependencies and updated code to compile against GTK3.
	  (Emilio Pozuelo Monfort, Adrian Bunk)
	* Fixes proxy preference not affecting the HTML widget.
	  (reported by Chris Siebenmann)
	* Fixes SF #3363481: Feeds fail to update properly when entries ordered
	  "wrong" (patch by Robert Trace)
	* Fixes writing subscriptions into DB when importing from OPML
	  (reported by Dennis Nezic)
jperkin pushed a commit that referenced this pull request Dec 30, 2015
Ok MAINTAINER bsiegert.

While doing that, update to current release, 0.29.0.
Changes since 0.24.0:

Version 0.29.0
--------------

Compatibility notes:

- when upgrading to 0.29.0 you need to upgrade client as well as server
  installations due to the locking and commandline interface changes otherwise
  you'll get an error msg about a RPC protocol mismatch or a wrong commandline
  option.
  if you run a server that needs to support both old and new clients, it is
  suggested that you have a "borg-0.28.2" and a "borg-0.29.0" command.
  clients then can choose via e.g. "borg --remote-path=borg-0.29.0 ...".
- the default waiting time for a lock changed from infinity to 1 second for a
  better interactive user experience. if the repo you want to access is
  currently locked, borg will now terminate after 1s with an error message.
  if you have scripts that shall wait for the lock for a longer time, use
  --lock-wait N (with N being the maximum wait time in seconds).

Bug fixes:

- hash table tuning (better chosen hashtable load factor 0.75 and prime initial
  size of 1031 gave ~1000x speedup in some scenarios)
- avoid creation of an orphan lock for one case, #285
- --keep-tag-files: fix file mode and multiple tag files in one directory, #432
- fixes for "borg upgrade" (attic repo converter), #466
- remove --progress isatty magic (and also --no-progress option) again, #476
- borg init: display proper repo URL
- fix format of umask in help pages, #463

New features:

- implement --lock-wait, support timeout for UpgradableLock, #210
- implement borg break-lock command, #157
- include system info below traceback, #324
- sane remote logging, remote stderr, #461:

  - remote log output: intercept it and log it via local logging system,
    with "Remote: " prefixed to message. log remote tracebacks.
  - remote stderr: output it to local stderr with "Remote: " prefixed.
- add --debug and --info (same as --verbose) to set the log level of the
  builtin logging configuration (which otherwise defaults to warning), #426
  note: there are few messages emitted at DEBUG level currently.
- optionally configure logging via env var BORG_LOGGING_CONF
- add --filter option for status characters: e.g. to show only the added
  or modified files (and also errors), use "borg create -v --filter=AME ...".
- more progress indicators, #394
- use ISO-8601 date and time format, #375
- "borg check --prefix" to restrict archive checking to that name prefix, #206

Other changes:

- hashindex_add C implementation (speed up cache re-sync for new archives)
- increase FUSE read_size to 1024 (speed up metadata operations)
- check/delete/prune --save-space: free unused segments quickly, #239
- increase rpc protocol version to 2 (see also Compatibility notes), #458
- silence borg by default (via default log level WARNING)
- get rid of C compiler warnings, #391
- upgrade OS X FUSE to 3.0.9 on the OS X binary build system
- use python 3.5.1 to build binaries
- docs:

  - new mailing list borgbackup@python.org, #468
  - readthedocs: color and logo improvements
  - load coverage icons over SSL (avoids mixed content)
  - more precise binary installation steps
  - update release procedure docs about OS X FUSE
  - FAQ entry about unexpected 'A' status for unchanged file(s), #403
  - add docs about 'E' file status
  - add "borg upgrade" docs, #464
  - add developer docs about output and logging
  - clarify encryption, add note about client-side encryption
  - add resources section, with videos, talks, presentations, #149
  - Borg moved to Arch Linux [community]
  - fix wrong installation instructions for archlinux


Version 0.28.2
--------------

New features:

- borg create --exclude-if-present TAGFILE - exclude directories that have the
  given file from the backup. You can additionally give --keep-tag-files to
  preserve just the directory roots and the tag-files (but not backup other
  directory contents), #395, attic #128, attic #142

Other changes:

- do not create docs sources at build time (just have them in the repo),
  completely remove have_cython() hack, do not use the "mock" library at build
  time, #384
- avoid hidden import, make it easier for PyInstaller, easier fix for #218
- docs:

  - add description of item flags / status output, fixes #402
  - explain how to regenerate usage and API files (build_api or
    build_usage) and when to commit usage files directly into git, #384
  - minor install docs improvements


Version 0.28.1
--------------

Bug fixes:

- do not try to build api / usage docs for production install,
  fixes unexpected "mock" build dependency, #384

Other changes:

- avoid using msgpack.packb at import time
- fix formatting issue in changes.rst
- fix build on readthedocs


Version 0.28.0
--------------

Compatibility notes:

- changed return codes (exit codes), see docs. in short:
  old: 0 = ok, 1 = error. now: 0 = ok, 1 = warning, 2 = error

New features:

- refactor return codes (exit codes), fixes #61
- add --show-rc option enable "terminating with X status, rc N" output, fixes 58, #351
- borg create backups atime and ctime additionally to mtime, fixes #317
  - extract: support atime additionally to mtime
  - FUSE: support ctime and atime additionally to mtime
- support borg --version
- emit a warning if we have a slow msgpack installed
- borg list --prefix=thishostname- REPO, fixes #205
- Debug commands (do not use except if you know what you do: debug-get-obj,
  debug-put-obj, debug-delete-obj, debug-dump-archive-items.

Bug fixes:

- setup.py: fix bug related to BORG_LZ4_PREFIX processing
- fix "check" for repos that have incomplete chunks, fixes #364
- borg mount: fix unlocking of repository at umount time, fixes #331
- fix reading files without touching their atime, #334
- non-ascii ACL fixes for Linux, FreeBSD and OS X, #277
- fix acl_use_local_uid_gid() and add a test for it, attic #359
- borg upgrade: do not upgrade repositories in place by default, #299
- fix cascading failure with the index conversion code, #269
- borg check: implement 'cmdline' archive metadata value decoding, #311
- fix RobustUnpacker, it missed some metadata keys (new atime and ctime keys
  were missing, but also bsdflags). add check for unknown metadata keys.
- create from stdin: also save atime, ctime (cosmetic)
- use default_notty=False for confirmations, fixes #345
- vagrant: fix msgpack installation on centos, fixes #342
- deal with unicode errors for symlinks in same way as for regular files and
  have a helpful warning message about how to fix wrong locale setup, fixes #382
- add ACL keys the RobustUnpacker must know about

Other changes:

- improve file size displays, more flexible size formatters
- explicitly commit to the units standard, #289
- archiver: add E status (means that an error occured when processing this
  (single) item
- do binary releases via "github releases", closes #214
- create: use -x and --one-file-system (was: --do-not-cross-mountpoints), #296
- a lot of changes related to using "logging" module and screen output, #233
- show progress display if on a tty, output more progress information, #303
- factor out status output so it is consistent, fix surrogates removal,
  maybe fixes #309
- move away from RawConfigParser to ConfigParser
- archive checker: better error logging, give chunk_id and sequence numbers
  (can be used together with borg debug-dump-archive-items).
- do not mention the deprecated passphrase mode
- emit a deprecation warning for --compression N (giving a just a number)
- misc .coverragerc fixes (and coverage measurement improvements), fixes #319
- refactor confirmation code, reduce code duplication, add tests
- prettier error messages, fixes #307, #57
- tests:

  - add a test to find disk-full issues, #327
  - travis: also run tests on Python 3.5
  - travis: use tox -r so it rebuilds the tox environments
  - test the generated pyinstaller-based binary by archiver unit tests, #215
  - vagrant: tests: announce whether fakeroot is used or not
  - vagrant: add vagrant user to fuse group for debianoid systems also
  - vagrant: llfuse install on darwin needs pkgconfig installed
  - vagrant: use pyinstaller from develop branch, fixes #336
  - benchmarks: test create, extract, list, delete, info, check, help, fixes #146
  - benchmarks: test with both the binary and the python code
  - archiver tests: test with both the binary and the python code, fixes #215
  - make basic test more robust
- docs:

  - moved docs to borgbackup.readthedocs.org, #155
  - a lot of fixes and improvements, use mobile-friendly RTD standard theme
  - use zlib,6 compression in some examples, fixes #275
  - add missing rename usage to docs, closes #279
  - include the help offered by borg help <topic> in the usage docs, fixes #293
  - include a list of major changes compared to attic into README, fixes #224
  - add OS X install instructions, #197
  - more details about the release process, #260
  - fix linux glibc requirement (binaries built on debian7 now)
  - build: move usage and API generation to setup.py
  - update docs about return codes, #61
  - remove api docs (too much breakage on rtd)
  - borgbackup install + basics presentation (asciinema)
  - describe the current style guide in documentation
  - add section about debug commands
  - warn about not running out of space
  - add example for rename
  - improve chunker params docs, fixes #362
  - minor development docs update


Version 0.27.0
--------------

New features:

- "borg upgrade" command - attic -> borg one time converter / migration, #21
- temporary hack to avoid using lots of disk space for chunks.archive.d, #235:
  To use it: rm -rf chunks.archive.d ; touch chunks.archive.d
- respect XDG_CACHE_HOME, attic #181
- add support for arbitrary SSH commands, attic #99
- borg delete --cache-only REPO (only delete cache, not REPO), attic #123


Bug fixes:

- use Debian 7 (wheezy) to build pyinstaller borgbackup binaries, fixes slow
  down observed when running the Centos6-built binary on Ubuntu, #222
- do not crash on empty lock.roster, fixes #232
- fix multiple issues with the cache config version check, #234
- fix segment entry header size check, attic #352
  plus other error handling improvements / code deduplication there.
- always give segment and offset in repo IntegrityErrors


Other changes:

- stop producing binary wheels, remove docs about it, #147
- docs:
  - add warning about prune
  - generate usage include files only as needed
  - development docs: add Vagrant section
  - update / improve / reformat FAQ
  - hint to single-file pyinstaller binaries from README


Version 0.26.1
--------------

This is a minor update, just docs and new pyinstaller binaries.

- docs update about python and binary requirements
- better docs for --read-special, fix #220
- re-built the binaries, fix #218 and #213 (glibc version issue)
- update web site about single-file pyinstaller binaries

Note: if you did a python-based installation, there is no need to upgrade.


Version 0.26.0
--------------

New features:

- Faster cache sync (do all in one pass, remove tar/compression stuff), #163
- BORG_REPO env var to specify the default repo, #168
- read special files as if they were regular files, #79
- implement borg create --dry-run, attic issue #267
- Normalize paths before pattern matching on OS X, #143
- support OpenBSD and NetBSD (except xattrs/ACLs)
- support / run tests on Python 3.5

Bug fixes:

- borg mount repo: use absolute path, attic #200, attic #137
- chunker: use off_t to get 64bit on 32bit platform, #178
- initialize chunker fd to -1, so it's not equal to STDIN_FILENO (0)
- fix reaction to "no" answer at delete repo prompt, #182
- setup.py: detect lz4.h header file location
- to support python < 3.2.4, add less buggy argparse lib from 3.2.6 (#194)
- fix for obtaining ``char *`` from temporary Python value (old code causes
  a compile error on Mint 17.2)
- llfuse 0.41 install troubles on some platforms, require < 0.41
  (UnicodeDecodeError exception due to non-ascii llfuse setup.py)
- cython code: add some int types to get rid of unspecific python add /
  subtract operations (avoid ``undefined symbol FPE_``... error on some platforms)
- fix verbose mode display of stdin backup
- extract: warn if a include pattern never matched, fixes #209,
  implement counters for Include/ExcludePatterns
- archive names with slashes are invalid, attic issue #180
- chunker: add a check whether the POSIX_FADV_DONTNEED constant is defined -
  fixes building on OpenBSD.

Other changes:

- detect inconsistency / corruption / hash collision, #170
- replace versioneer with setuptools_scm, #106
- docs:

  - pkg-config is needed for llfuse installation
  - be more clear about pruning, attic issue #132
- unit tests:

  - xattr: ignore security.selinux attribute showing up
  - ext3 seems to need a bit more space for a sparse file
  - do not test lzma level 9 compression (avoid MemoryError)
  - work around strange mtime granularity issue on netbsd, fixes #204
  - ignore st_rdev if file is not a block/char device, fixes #203
  - stay away from the setgid and sticky mode bits
- use Vagrant to do easy cross-platform testing (#196), currently:

  - Debian 7 "wheezy" 32bit, Debian 8 "jessie" 64bit
  - Ubuntu 12.04 32bit, Ubuntu 14.04 64bit
  - Centos 7 64bit
  - FreeBSD 10.2 64bit
  - OpenBSD 5.7 64bit
  - NetBSD 6.1.5 64bit
  - Darwin (OS X Yosemite)


Version 0.25.0
--------------

Compatibility notes:

- lz4 compression library (liblz4) is a new requirement (#156)
- the new compression code is very compatible: as long as you stay with zlib
  compression, older borg releases will still be able to read data from a
  repo/archive made with the new code (note: this is not the case for the
  default "none" compression, use "zlib,0" if you want a "no compression" mode
  that can be read by older borg). Also the new code is able to read repos and
  archives made with older borg versions (for all zlib levels  0..9).

Deprecations:

- --compression N (with N being a number, as in 0.24) is deprecated.
  We keep the --compression 0..9 for now to not break scripts, but it is
  deprecated and will be removed later, so better fix your scripts now:
  --compression 0 (as in 0.24) is the same as --compression zlib,0 (now).
  BUT: if you do not want compression, you rather want --compression none
  (which is the default).
  --compression 1 (in 0.24) is the same as --compression zlib,1 (now)
  --compression 9 (in 0.24) is the same as --compression zlib,9 (now)

New features:

- create --compression none (default, means: do not compress, just pass through
  data "as is". this is more efficient than zlib level 0 as used in borg 0.24)
- create --compression lz4 (super-fast, but not very high compression)
- create --compression zlib,N (slower, higher compression, default for N is 6)
- create --compression lzma,N (slowest, highest compression, default N is 6)
- honor the nodump flag (UF_NODUMP) and do not backup such items
- list --short just outputs a simple list of the files/directories in an archive

Bug fixes:

- fixed --chunker-params parameter order confusion / malfunction, fixes #154
- close fds of segments we delete (during compaction)
- close files which fell out the lrucache
- fadvise DONTNEED now is only called for the byte range actually read, not for
  the whole file, fixes #158.
- fix issue with negative "all archives" size, fixes #165
- restore_xattrs: ignore if setxattr fails with EACCES, fixes #162

Other changes:

- remove fakeroot requirement for tests, tests run faster without fakeroot
  (test setup does not fail any more without fakeroot, so you can run with or
  without fakeroot), fixes #151 and #91.
- more tests for archiver
- recover_segment(): don't assume we have an fd for segment
- lrucache refactoring / cleanup, add dispose function, py.test tests
- generalize hashindex code for any key length (less hardcoding)
- lock roster: catch file not found in remove() method and ignore it
- travis CI: use requirements file
- improved docs:

  - replace hack for llfuse with proper solution (install libfuse-dev)
  - update docs about compression
  - update development docs about fakeroot
  - internals: add some words about lock files / locking system
  - support: mention BountySource and for what it can be used
  - theme: use a lighter green
  - add pypi, wheel, dist package based install docs
  - split install docs into system-specific preparations and generic instructions
jperkin pushed a commit that referenced this pull request Jan 17, 2016
* Disable debug library

Changelog:
Release 1.6.1 (2015-08-03)
==========================

- added project and solution files for Visual Studio 2015
- upgraded bundled SQLite to 3.8.11.1
- fixed GH #782: Poco::JSON::PrintHandler not working for nested arrays
- fixed GH #819: JSON Stringifier fails with preserve insert order
- fixed GH #878: UUID tryParse
- fixed GH #869: FIFOBuffer::read(T*, std::size_t) documentation inaccurate
- fixed GH #861: Var BadCastException
- fixed GH #779: BUG in 1.6.0 Zip code
- fixed GH #769: Poco::Var operator== throws exception
- fixed GH #766: Poco::JSON::PrintHandler not working for objects in array
- fixed GH #763: Unable to build static with NetSSL_OpenSSL for OS X
- fixed GH #750: BsonWriter::write<Binary::Ptr> missing size ?
- fixed GH #741: Timestamp anomaly in Poco::Logger on WindowsCE
- fixed GH #735: WEC2013 build fails due to missing Poco::Path methods.
- fixed GH #722: poco-1.6.0: Unicode Converter Test confuses string and char types
- fixed GH #719: StreamSocket::receiveBytes and FIFOBuffer issue in 1.6
- fixed GH #706: POCO1.6 Sample EchoServer BUG
- fixed GH #646: Prevent possible data race in access to Timer::_periodicInerval
- DeflatingStream: do not flush underlying stream on sync() as these can cause
  corrupted files in Zip archives


Release 1.6.0 (2014-12-22)
==========================

- fixed GH #625: MongoDB ensureIndex double insert?
- fixed GH #622: Crypto: RSATest::testSign() should verify with public key only
- fixed GH #620: Data documentation sample code outdated
- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
- fixed GH #616: Visual Studio warning C4244
- fixed GH #612: OpenSSLInitializer calls OPENSSL_config but not CONF_modules_free
- fixed GH #608: (Parallel)SocketAcceptor ctor/dtor call virtual functions
- fixed GH #607: Idle Reactor high CPU usage
- fixed GH #606: HTMLForm constructor read application/x-www-form-urlencoded UTF-8 request
  body first parameter with BOM in name
- fixed GH #596: For OpenSSL 1.0.1, include openssl/crypto.h not openssl/fips.h
- fixed GH #592: Incorrect format string in Poco::Dynamic::Struct
- fixed GH #590: Poco::Data::SQlite doesn't support URI filenames
- fixed GH #564: URI::encode
- fixed GH #560: DateTime class calculates a wrong day
- fixed GH #549: Memory allocation is not safe between fork() and execve()
- fixed GH #500: SSLManager causes a crash
- fixed GH #490: 2 byte frame with payload length of 0 throws "Incomplete Frame Received" exception
- fixed GH #483: multiple cases for sqlite_busy
- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
- fixed GH #478: HTTPCredentials not according to HTTP spec
- fixed GH #471: vs2010 release builds have optimization disabled ?
- fixed GH #468: HTTPClientSession/HTTPResponse not forwarding exceptions
- fixed GH #438: Poco::File::setLastModified() doesn't work
- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
  not thread safe
- fixed GH #345: Linker warning LNK4221 in Foundation for SignalHandler.obj, String.obj
  and ByteOrder.obj
- fixed GH #331: Poco::Zip does not support files with ".." in the name.
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #294: Poco::Net::TCPServerParams::setMaxThreads(int count) will not accept count == 0.
- fixed GH #215: develop WinCE build broken
- fixed GH #63: Net::NameValueCollection::size() returns int
- Poco::Logger: formatting methods now support up to 10 arguments.
- added Poco::Timestamp::raw()
- Poco::DeflatingOutputStream and Poco::InflatingOutputStreams also flush underlying stream
  on flush()/sync().
- Poco::Util::Timer: prevent re-schedule of cancelled TimerTask
- enabled WinRegistryKey and WinRegistryConfiguration for WinCE
- Poco::BasicEvent improvements and preparations for future support of lambdas/std::function
- upgraded bundled sqlite to 3.8.7.2
- Poco::Thread: added support for starting functors/lambdas
- Poco::Net::HTTPClientSession: added support for global proxy configuration
- added support for OAuth 1.0/2.0 via Poco::Net::OAuth10Credentials and
  Poco::Net::OAuth20Credentials classes.
- Poco::Net::IPAddress: fixed IPv6 prefix handling issue on Windows
- added Poco::Timestamp::TIMEVAL_MIN and Poco::Timestamp::TIMEVAL_MAX
- added Poco::Clock::CLOCKVAL_MIN and Poco::Clock::CLOCKVAL_MAX
- added poco_assert_msg() and poco_assert_msg_dbg() macros
- Poco::Net::Context: fixed a memory leak if the CA file was not found while creating the
  Context object (the underlying OpenSSL context would leak)
- Poco::URI: added new constructor to create URI from Path
- Various documentation and style fixes
- Removed support (project/solution files) for Visual Studio.NET 2003 and Visual Studio 2005.
- Improved CMake support


Release 1.5.4 (2014-10-14)
==========================

- fixed GH #326: compile Net lib 1.5.2 without UTF8 support enabled
- fixed GH #518: NetworkInterface.cpp compile error w/ POCO_NO_WSTRING (1.5.3)
- Fixed MSVC 2010 warnings on large alignment
- make HTTPAuthenticationParams::parse() add value on end of string
- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
- fixed GH #508: Can't compile for arm64 architecture
- fixed GH #510: Incorrect RSAKey construction from istream
- fix SharedMemory for WinCE/WEC2013
- Add NIOS2 double conversion detection, fixes compile errors
- added VS2013 project/solution files for Windows Embedded Compact 2013
- added Process::isRunning()
- NetSSL: Fix typo in documentation
- NetSSL_OpenSSL: support for TLS 1.1 and 1.2
- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based
  on file extension. Used to avoid double-compression of already compressed file
  formats such as images.
- added %L modifier to PatternFormatter to switch to local time
- removed unnecessary explicit in some multi-arg constructors
- Allow SecureStreamSocket::attach() to be used in server connections
- added Var::isBoolean() and fixed JSON stringifier
- added poco_unexpected() macro invoking Bugcheck::unexpected() to deal
  with unexpected exceptions in destructors
- fixed GH #538 prevent destructors from throwing exceptions
- improved HTTP server handling of errors while reading header
- fixed GH #545: use short for sign
- upgraded SQLite to 3.8.6
- fixed GH #550 WebSocket fragmented message problem
- improved HTTPClientSession handling of network errors while sending the request
- updated bundled PCRE to 8.35.0
- fixed GH #552: FIFOBuffer drain() problem
- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
  not thread safe
- HTTPCookie: fix documentation for max age
- added Timestamp::raw() and Clock::raw()
- Poco::Buffer properly handles zero-sized buffers
- GH #512: Poco:Data:ODBC:Binder.h causes a crash
- Added Crypto_Win and NetSSL_Win libraries which are re-implementations of existing
  Crypto and NetSSL_OpenSSL libraries based on WinCrypt/Schannel. The new libraries
  can be used as an almost drop-in replacement for the OpenSSL based libraries on
  Windows and Windows Embedded Compact platforms. Only available from GitHub for now.


Release 1.5.3 (2014-06-30)
==========================

- fixed GH# 316: Poco::DateTimeFormatter::append() gives wrong result for
  Poco::LocalDateTime
- Poco::Data::MySQL: added SQLite thread cleanup handler
- Poco::Net::X509Certificate: improved and fixed domain name verification for
  wildcard domains
- added Poco::Clock class, which uses a system-provided monotonic clock
  (if available) and is thus not affected by system realtime clock changes.
  Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
  supporting clock_gettime() and CLOCK_MONOTONIC.
- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
  have been changed to use Poco::Clock instead of Poco::Timestamp and are now
  unaffected by system realtime clock changes.
- fixed GH# 350: Memory leak in Data/ODBC with BLOB
- Correctly set MySQL time_type for Poco::Data::Date.
- fixed GH #352: Removed redundant #includes and fixed spelling mistakes.
- fixed setting of MYSQL_BIND is_unsigned value.
- fixed GH #360: CMakeLists foundation: add Clock.cpp in the list of source files
- Add extern "C" around <net/if.h> on HPUX platform.
- added runtests.sh
- fixed CPPUNIT_IGNORE parsing
- fixed Glob from start path, for platforms not alowing transverse from root (Android)
- added NTPClient (Rangel Reale)
- added PowerShell build script
- added SmartOS build support
- fix warnings in headers
- XMLWriter: removed unnecessary apostrophe escaping (&apos)
- MongoDB: use Int32 for messageLength
- fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
- Improve RSADigestEngine, using Poco::Crypto::DigestEngine to calculate hash before signing
- added Poco::PBKDF2Engine
- Fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
- added support for a 'Priority' attribute on cookies.
- GH #386: fixed bug in MailMessage without content-transfer-encoding header
- GH #384: ew hash algorithms support for RSADigestEngine
- fixed Clock overflow bug on Windows
- Poco::ByteOrder now uses intrinsics, if available
- CMake: added /bigobj option for msvc
- Fix typo to restore Net/TestSuite_x64_vs120 build
- correct path for CONFIGURE_FILE in CMakeLists.txt
- Building Poco 1.5.2 for Synology RS812+ (Intel Atom) (honor POCO_NO_INOTIFY)
- added WEC2013 support to buildwin.cmd and buildwin.ps1
- HTMLForm: in URL encoding, percent-encode more characters
- Fixed #include <linux/if.h> conflict with other libraries
- Poco::Net::X509Certificate::verify() no longer uses DNS reverse lookups to validate host names
- cert hostname validation is case insensitive and stricter for wildcard certificates
- TCPServer: do not reduce the capacity of the default ThreadPool
- added POCO_LOG_DEBUG flag
- Zip: fixed a crash caused by an I/O error
- added runtest script for windows
- added SQlite Full Text Search support
- added Thread::trySleep() and Thread::wakeUp()
- fixed GH #410: Bug in JSON::Object.stringify() in 1.5.2
- fixed GH #362: Defect in Var::parseString when there is no space between value and newline
- fixed GH #314: JSON parsing bug
- added GH #313: MetaColumn additions for Data::ODBC and Data::SQLite
- fixed GH #346: Make Poco::Data::Date and Poco::Data::Time compare functions const.
- fixed GH #341: Compiling poco-1.5.2 for Cygwin
- fixed GH #305: There are bugs in Buffer.h
- fixed GH #321: trivial build fixes (BB QNX build)
- fixed GH #440: MongoDB ObjectId string formatting
- added SevenZip library (Guenter Obiltschnig)
- fixed GH #442: Use correct prefix length field of Windows IP_ADAPTER_PREFIX structure
- improved GH #328: NetworkInterface on Windows XP
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
- fixed GH #290: Unicode support
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #363: DateTimeParser tryParse/parse
- added HTMLForm Content-Length calculation (Rangel Reale)
- Make TemporaryFile append a slash to tempDir
- fixed GH #319 android build with cmake
- added hasDelegates() method to AbstractEvent
- fixed GH #230: Poco::Timer problem
- fixed GH #317: Poco::Zip does not support newer Zip file versions.
- fixed GH #176: Poco::JSON::Stringifier UTF encoding
- fixed GH #458: Broadcast address and subnet mask for IEEE802.11 network interface
- fixed GH #456: poco: library install dirs per RUNTIME/LIBRARY/ARCHIVE


Release 1.5.2 (2013-09-16)
==========================

- added MongoDB library
- fixed GH #57: poco-1.5.1: Doesn't compile for Android
- added VoidEvent (Arturo Castro)
- fixed GH #80: NumberFormatter::append broken
- fixed GH #93: ParallelSocketAcceptor virtual functions
- optional small object optimization for IPAddress, SocketAddress, Any and Dynamic::Var
- SQLite events (insert, update, delete, commit, rollback) handlers
- merged GH #91: Improve SQLite multi-threaded use (Rangel Reale)
- merged GH #86: Invalid pointers to vector internals (Adrian Imboden)
- automatic library initialization macros
- fixed GH #110: WebSocket accept() fails when Connection header contains multiple tokens
- fixed GH #71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
- fixed GH #109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain
- added clang libc++ build configurations for Darwin and iPhone (Andrea Bigagli)
- fixed GH #116: Wrong timezone parsing in DateTimeParse (Matej Knopp)
- fixed GH #118: JSON::Object::stringify endless loop
- added Recursive and SortedDirectoryIterator (Marian Krivos)
- added ListMap (map-like container with preserving insertion order)
- MailMessage: attachments saving support and consistent read/write
- fixed GH #124: Possible buffer overrun in Foundation/EventLogChannel
- fixed GH #119: JSON::Object holds values in ordered map
- added JSON::PrintHandler
- renamed JSON::DefaultHandler to ParseHandler (breaking change!)
- fixed GH #127: Eliminate -Wshadow warnings
- fixed GH #79: Poco::Thread leak on Linux
- fixed GH #61: static_md build configs for Crypto and NetSSL
- fixed GH #130: prefer sysconf over sysctlbyname
- fixed GH #131: no timezone global var on OpenBSD
- fixed GH #102: Some subprojects don't have x64 solutions for VS 2010
- added GH #75: Poco::Uri addQueryParameter method
- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
- fixed GH #140: Poco::Runnable threading cleanup issue
- simplified default TCP/HTTPServer construction
- fixed GH #141: Application::run() documentation/implementation discrepancy
- changed RowFormatter to SharedPtr<RowFormatter> in Data::RecordSet interface (breaking change!)
- fixed GH #144: Poco::Dynamic emits invalid JSON
- removed naked pointers from Data interfaces
- fixed GH #82: name conflict in Data::Keywords::bind
- fixed GH #157: MySQL: cannot bind to 'long' data type on Windows/Visual C++
- fixed GH #158: MySQL: MYSQL_BIND 'is_unsigned' member is not set
- fixed GH #160: MultipartReader ignores first part, if preamble is missing
- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
- XML: fixed an issue with parsing a memory buffer > 2 GB
- upgraded to expat 2.1.0
- Data/ODBC: added support for setting query timeout (via setProperty
  of "queryTimeout"). Timeout is int, given in seconds.
- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
  and also removed unnecessary code.
- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
  has been unloaded.
- fixed GH #155: MailOutputStream mangles consecutive newline sequences
- fixed GH #139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
- fixed GH #173: HTTPClientSession::proxyConnect forces DNS lookup of host names
- fixed GH #194: MessageNotification constructor is inefficient.
- fixed GH #189: Poco::NumberParser::tryParse() documentation bug
- fixed GH #172: IPv6 Host field is stripped of Brackets in HTTPClientSession
- fixed GH #188: Net: SocketAddress operator < unusable for std::map key
- fixed GH #128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
  already specified
- fixed GH #65: Poco::format() misorders sign and padding specifiers
- upgraded bundled SQLite to 3.7.17
- replaced JSON parser with Poco::Web::JSON parser (from sandbox)
- added JSON conversion to Dynamic Struct and Array
- added VarIterator
- modified behavior of empty Var (empty == empty)
- added Alignment.h header for C++03 alignment needs
- added Data/WebNotifier (DB, WebSocket) example
- fixed GH #209: Poco::NumberFormatter double length
- fixed GH #204: Upgrade zlib to 1.2.8
- fixed GH #198: The "application.configDir" property is not always created.
- fixed GH #185: Poco::NumberFormatter::format(double value, int precision)
  ignore precision == 0
- fixed GH #138: FreeBSD JSON tests fail
- fixed GH #99: JSON::Query an JSON::Object
- limited allowed types for JSON::Query to Object, Array, Object::Ptr,
  Array::Ptr and empty
- fixed GH #175: HTMLForm does not read URL parameters on POST or PUT
- added GH #187: MySQL: allow access to the underlying connection handle
- added GH #186: MySQL: support for MYSQL_SECURE_AUTH
- fixed GH #174: MySQL: 4GB allocated when reading any largetext or largeblob field
- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
  (e.g., sendRequest() is sent two times in a row without an intermediate call to
  receiveResponse(), or by calling receiveResponse() two times in a row without
  an intermediate call to sendRequest()) - GH #217
- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
  that would provide inappropriate access to internal state
- merged GH #210: Don't call CloseHandle() twice on Windows; Ability to select the
  threadpool that will be used to start an Activity(Patrice Tarabbia)
- fixed GH #212: JSONConfiguration was missing from the vs90 project(Patrice Tarabbia)
- fixed GH #220: add qualifiers for FPEnvironment in C99 (Lucas Clemente)
- fixed GH #222: HTTPCookie doesn't support expiry times in the past (Karl Reid)
- fixed GH #224: building 1.5.1 on Windows for x64
- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only) does not work
- fixed GH# 231: Compatibility issue with Poco::Net::NetworkInterface
- fixed GH# 236: Bug in RecursiveDirectoryIterator
- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
  colorizing log messages
- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
- fixed GH# 254: UTF8::icompare unexpected behavior
- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
  (links to specifications).
- added GH# 268: Method to get JSON object value using Poco::Nullable
- fixed GH# 267: JSON 'find' not returning empty result if object is expected but another value is found
- Added support for ARM64 architecture and iPhone 5s 64-bit builds
  (POCO_TARGET_OSARCH=arm64).


Release 1.5.1 (2013-01-11)
==========================

- using double-conversion library for floating-point numeric/string conversions
- added Poco::istring (case-insensitive string) and Poco::isubstr
- added SQLite sys.dual (in-memory system table)
- applied SF Patch #120: The ExpireLRUCache does not compile with a tuple as key on Visual Studio 2010
- fixed SF Bug #599: JSON::Array and JSON::Object size() member can implicitly lose precision
- fixed SF Bug #602: iterating database table rows not correct if no data in table
- fixed SF Bug #603: count() is missing in HashMap
- fixed GH #23: JSON::Object::stringify throw BadCastException
- fixed GH #16: NetworkInterface::firstAddress() should not throw on unconfigured interfaces
- Android compile/build support (by Rangel Reale)
- TypeHandler::prepare() now takes const-reference
- fixed GH #27: Poco::URI::decode() doesn't properly handle '+'
- fixed GH #31: JSON implementation bug
- fixed SF #597: Configure script ignores cflags
- fixed SF #593: Poco 1.5.0 on FreeBSD: cannot find -ldl
- added SF #542: SocketAddress() needs port-only constructor
- fixed SF #215: Wrong return type in SocketConnector.h
- applied SF Patch #97: fix c++0x / clang++ bugs
- fixed GH32/SF596: Poco::JSON: Parsing long integer (int64) value fails.
- added Net ifconfig sample (contributed by Philip Prindeville)
- merged GH #34: add algorithm header (Roger Meier/Philip Prindeville)
- fixed GH #26: Cannot compile on gcc
- merged SF #111: FTP Client logging (Marian Krivos)
- fixed GH #30: Poco::Path::home() throws when called from Windows Service
- fixed GH #22: MySQL connection string lowercased
- added MySQL support for Date/Time
- upgraded SQLite to version 3.7.15.1 (2012-12-19)
- improved SQLite execute() return (affected rows) value and added tests
- added SQLite::Utility::isThreadSafe() function
- added SQLite::Utility::setThreadMode(int mode) function
- fixed GH #36: 'distclean' requires 3 traversals of project tree
- fixed GH #41: Buffer::resize crash
- fixed GH #42: Linux unbundled builds don't link
- fixed GH #44: Problems with win x64 build
- fixed GH #46: 1.5.1 build fails on OS X when using libc++
- fixed GH #48: Need getArgs() accessor to Util::Application to retrieve start-up arguments
- fixed GH #49: NetworkInterface::list doesn't return MAC addresses
- fixed GH #51: Android should use isfinite, isinf, isnan and signbit from the std namespace
- fixed GH #53: JSON unicode fixes and running tests on invalid unicode JSON
- added ParallelAcceptor and ParallelReactor classes
- added EOF and error to FIFOBuffer


Release 1.5.0 (2012-10-14)
==========================

- added JSON library
- added Util::JSONConfiguration
- added FIFOBuffer and FIFOBufferStream
- fixed SF# 3522906: Unregistering handlers from SocketReactor
- fixed SF# 3522084: AbstractConfiguration does not support 64-bit integers
- HTTPServer::stopAll(): close the socket instead of just shutting it down, as the latter won't wake up a select() on Windows
- added SMTPLogger
- added cmake support
- fixed SF#3538778: NetworkInterface enumeration uses deprecated API
- fixed SF#3538779: IPAddress lacks useful constructors: from prefix mask, native SOCKADDR
- fixed SF#3538780: SocketAddress needs operator < function
- fixed SF#3538775: Issues building on Fedora/Centos, etc. for AMD64
- fixed SF#3538786: Use size_t for describing data-blocks in DigestEngine
- added IPAddress bitwise operators (&,|,^,~)
- added IPAddress BinaryReader/Writer << and >> operators
- modified IPAddress to force IPv6 to lowercase (RFC 5952)
- fixed SF#3538785: SMTPClientSession::sendMessage() should take recipient list
- added IPAddress::prefixLength()
- UTF portability improvements
- fixed SF#3556186: Linux shouldn't use <net/if.h> in Net/SocketDefs.h
- added IPAddress RFC 4291 compatible site-local prefix support
- fixed SF#3012166: IPv6 patch
- added SF#3558085: Add formatter to MACAddress object
- fixed SF#3552774: Don't hide default target in subordinate makefile
- fixed SF#3534307: Building IPv6 for Linux by default
- fixed SF#3516844: poco missing symbols with external >=lipcre-8.13
- added SF#3544720: AbstractConfigurator to support 64bit values
- fixed SF#3522081: WinRegistryConfiguration unable to read REG_QWORD values
- fixed SF#3563626: For Win32 set Up/Running flags on NetworkInterface
- fixed SF#3560807: Deprecate setPeerAddress() as this is now done in getifaddrs
- fixed SF#3560776: Fix byte-ordering issues with INADDR_* literals
- fixed SF#3563627: Set IP address on multicast socket from socket family
- fixed SF#3563999: Size BinaryWriter based on buffer's capacity(), not size()
- fixed SF#102 Fix building Poco on Debian GNU/kFreeBSD
- fixed SF#321 Binding DatTime or Timestamp
- fixed SF#307 Detect the SQL driver type at run time
- added VS 2012 Projects/Solutions
- enhanced and accelerated numeric parsing for integers and floats
- fixed SF#590 Segfault on FreeBSD when stack size not rounded
- added warn function and warnmsg macro in CppUnit
- fixed SF# 3558012 Compilation fails when building with -ansi or -std=c++0x
- fixed SF# 3563517 Get rid of loss-of-precision warnings on x64 MacOS
- fixed SF#3562244: Portability fix for AF_LINK
- fixed SF #3562400: DatagramSocketImpl comment is incorrect


Release 1.4.7p1 (2014-11-25)
============================

- Fixed Visual C++ 2010-2013 project files. Release builds now have optimization enabled.
- Poco::URI: added constructor to create URI from Path.
- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
- Poco::Net::HTTPClientSession: added support for global proxy configuration
- fixed GH #331: Poco::Zip does not support files with .. in the name.
- fixed a memory leak in Poco::Net::Context constructor when it fails to load the certificate
  or private key files.
- upgraded bundled SQLite to 3.8.7.2
- fixed GH #229: added missing value() function
- fixed GH #69: MySQL empty text/blob


Release 1.4.7 (2014-10-06)
==========================

- fixed GH #398: PropertyFileConfiguration: input != output
- fixed GH #368: Build failure of Poco 1.4.6p2 on FreeBSD 9.2
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #317: Poco::Zip does not support newer Zip file versions.
- fixed GH #454: Fix: handle unhandled exceptions
- fixed GH #463: XML does not compile with XML_UNICODE_WCHAR_T
- fixed GH #282: Using Thread in a global can cause crash on Windows
- fixed GH #424: Poco::Timer deadlock
- fixed GH #465: Fix result enum type XML_Error -> XML_Status
- fixed GH #510: Incorrect RSAKey construction from istream
- fixed GH #332: POCO::ConsoleChannnel::initColors() assigns no color to
  PRIO_TRACE and wrong color to PRIO_FATAL
- fixed GH #550: WebSocket fragmented message problem
- Poco::Data::MySQL: added SQLite thread cleanup handler
- Poco::Net::X509Certificate: improved and fixed domain name verification for
  wildcard domains
- fixed a crash in Foundation testsuite with Visual C++ 2012
- improved and fixed domain name verification for wildcard domains in
  Poco::Net::X509Certificate
- updated TwitterClient sample to use new 1.1 API and OAuth
- added Poco::Clock class, which uses a system-provided monotonic clock
  (if available) and is thus not affected by system realtime clock changes.
  Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
  supporting clock_gettime() and CLOCK_MONOTONIC.
- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
  have been changed to use Poco::Clock instead of Poco::Timestamp and are now
  unaffected by system realtime clock changes.
- added Poco::PBKDF2Engine class template
- Poco::Net::HTTPCookie: added support for Priority attribute (backport from develop)
- fixed makedepend.* scripts to work in paths containing '.o*'
  (contributed by Per-Erik Bjorkstad, Hakan Bengtsen)
- Upgraded bundled SQLite to 3.8.6
- Support for Windows Embedded Compact 2013 (Visual Studio 2012)
- Project and solution files for Visual Studio 2013
- Changes for C++11 compatibility.
- fixed an issue with receiving empty web socket frames (such as ping)
- improved error handling in secure socket classes
- Poco::ByteOrder now uses intrinsics if available
- added new text encoding classes: Latin2Encoding, Windows1250Encoding, Windows1251Encoding
- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based on file extension.
  Used to avoid double-compression of already compressed file formats such as images.


Release 1.4.6p4 (2014-04-18)
============================

- no longer use reverse DNS lookups for cert hostname validation
- cert hostname validation is case insensitive and more strict
- HTMLForm: in URL encoding, percent-encode more special characters
- fixed thread priority issues on POSIX platforms with non-standard scheduling policy
- XMLWriter no longer escapes apostrophe character
- fixed GH #316: Poco::DateTimeFormatter::append() gives wrong result for Poco::LocalDateTime
- fixed GH #305 (memcpy in Poco::Buffer uses wrong size if type != char)
- Zip: fixed a crash caused by an I/O error (e.g., full disk) while creating a Zip archive


Release 1.4.6p3 (2014-04-02)
============================

- Fixed a potential security vulnerability in client-side X509
  certificate verification.


Release 1.4.6p2 (2013-09-16)
============================

- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
- XML: fixed an issue with parsing a memory buffer > 2 GB
- upgraded to expat 2.1.0
- Data/ODBC: added support for setting query timeout (via setProperty
  of "queryTimeout"). Timeout is int, given in seconds.
- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
  and also removed unnecessary code.
- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
  has been unloaded.
- fixed GH #155: MailOutputStream mangles consecutive newline sequences
- fixed GH# 139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
- fixed GH# 173: HTTPClientSession::proxyConnect forces DNS lookup of host names
- fixed GH# 194: MessageNotification constructor is inefficient.
- fixed GH# 189: Poco::NumberParser::tryParse() documentation bug
- fixed GH# 172: IPv6 Host field is stripped of Brackets in HTTPClientSession
- fixed GH# 188: Net: SocketAddress operator < unusable for std::map key
- fixed GH# 128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
  already specified
- fixed GH# 65: Poco::format() misorders sign and padding specifiers
- upgraded bundled SQLite to 3.7.17
- upgraded bundled zlib to 1.2.8
- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
  (e.g., sendRequest() is sent two times in a row without an intermediate call to
  receiveResponse(), or by calling receiveResponse() two times in a row without
  an intermediate call to sendRequest()) - GH #217
- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
  that would provide inappropriate access to internal state
- fixed GH# 223 (Poco::Net::HTTPCookie does not support expiry times in the past)
- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only)
  does not work
- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
  colorizing log messages
- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
- fixed GH# 254: UTF8::icompare unexpected behavior
- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
  (links to specifications).
- Added support for ARM64 architecture and iPhone 5s 64-bit builds
  (POCO_TARGET_OSARCH=arm64).


Release 1.4.6p1 (2013-03-06)
============================

- fixed GH# 71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
- fixed an ambiguity error with VC++ 2010 in Data/MySQL testsuite
- Poco::Net::NetworkInterface now provides the interface index even for IPv4
- added DNS::reload() as a wrapper for res_init().
- On Linux, Poco::Environment::nodeId() first always tries to obtain the
  MAC address of eth0, before looking for other interfaces.
- Poco::Net::HTTPSession now always resets the buffer in connect() to clear
  any leftover data from a (failed) previous session
- fixed copysign namespace issue in FPEnvironment_DUMMY.h
- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
- added a build configuration for BeagleBoard/Angstrom
- fixed GH# 109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain)
- fixed compile errors with clang -std=c++11
- fixed GH# 116: Wrong timezone parsing in DateTimeParse (fix by Matej Knopp)
- updated bundled SQLite to 3.7.15.2


Release 1.4.6 (2013-01-10)
==========================

- changed FPEnvironment_DUMMY.h to include <cmath> instead of <math.h>
- updated bundled SQLite to 3.7.15.1
- fixed GH# 30: Poco::Path::home() throws
- fixed SF Patch# 120 The ExpireLRUCache does not compile with a tuple as key on VS2010
- fixed SF# 603 count() is missing in HashMap
- Crypto and NetSSL_OpenSSL project files now use OpenSSL *MD.lib library files for
  static_md builds. Previously, the DLL import libs were used.
- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012


Release 1.4.5 (2012-11-19)
==========================

- added Visual Studio 2012 project files
- buildwin.cmd now support building with msbuild for VS2010 and 2012.
- added Poco::Optional class
- fixed SF# 3558012 Compilation fails when building with -ansi or -std=c++0x
- fixed SF# 3563517 Get rid of loss-of-precision warnings on x64 MacOS
- fixed SF# 3562244: Portability fix for AF_LINK
- fixed SF# 3562400: DatagramSocketImpl comment
- fixed SF# 594: Websocket fails with small masked payloads
- fixed SF# 588: Missing POCO_ARCH and POCO_ARCH_LITTLE_ENDIAN define for WinCE on SH4
- fixed SF# 581: Out-of-bound array access in Unicode::properties() function.
- fixed SF# 590: Segfault on FreeBSD when stack size not rounded
- fixed SF# 586: Poco::DateTimeParser and ISO8601 issues when seconds fraction has more than 6 digits
- Poco::Net::HTTPSSessionInstantiator::registerInstantiator() now optionally accepts a
  Poco::Net::Context object.
- added Poco::XML::XMLWriter::depth() member function.
- added Poco::XML::XMLWriter::uniquePrefix() and Poco::XML::XMLWriter::isNamespaceMapped().
- Poco::FileChannel now supports a new rotateOnOpen property (true/false) which can be used
  to force rotation of the log file when it's opened.
- fixed a bug in Poco::XML::XMLWriter::emptyElement(): need to pop namespace context
- OS X builds now use Clang as default compiler
- Updated SQLite to 3.7.14.1
- POCO_SERVER_MAIN macro now has a try ... catch block for Poco::Exception and writes
  the displayText to stderr.
- Poco/Platform.h now defines POCO_LOCAL_STATIC_INIT_IS_THREADSAFE macro if the compiler
  generates thread-safe static local initialization code.


Release 1.4.4 (2012-09-03)
==========================

- ZipStream now builds correctly in unbundled build.
- added proxy digest authentication support to Net library
- integrated MySQL BLOB fixes from Franky Braem.
- use standard OpenSSL import libraries (libeay32.lib, ssleay32.lib) for Crypto and
  NetSSL_OpenSSL Visual Studio project files.
- fixed a potential buffer corruption issue in Poco::Net::SecureStreamSocket if lazy
  handshake is enabled and the first attempt to complete the handshake fails
- Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601
  date/times with fractional seconds.
- Poco::Process::launch() now has additional overloads allowing to specify an initial
  directory and/or environment.
- Poco::Net::FTPClientSession: timeout was not applied to data connection, only to
  control connection.
- Fixed potential IPv6 issue with socket constructors if IPv6 SocketAddress is given
  (contributed by ??????? ????????? <milovidov@yandex-team.ru>).
- Added an additional (optional) parameter to Poco::Thread::setOSPriority() allowing to
  specify a scheduling policy. Currently this is only used on POSIX platforms and allows
  specifying SCHED_OTHER (default), SCHED_FIFO or SCHED_RR, as well as other
  platform-specific policy values.
- Added Poco::Crypto::DigestEngine class providing a Poco::DigestEngine interface to
  the digest algorithms provided by OpenSSL.
- Fixed some potential compiler warnings in Crypto library
- In some cases, when an SSL exception was unexpectedly closed, a generic Poco::IOException
  was thrown. This was fixed to throw a SSLConnectionUnexpectedlyClosedException instead.
- Added Poco::ObjectPool class template.
- Poco::Net::HTTPServer has a new stopAll() method allowing stopping/aborting of all
  currently active client connections.
- The HTTP server framework now actively prevents sending a message body in the
  response to a HEAD request, or in case of a 204 No Content or 304 Not Modified
  response status.
- fixed a DOM parser performance bug (patch by Peter Klotz)
- fixed SF# 3559325: Util Windows broken in non-Unicode
- updated iOS build configuration to use xcode-select for finding toolchain
- Poco::Net::SecureSocketImpl::shutdown() now also shuts down the underlying socket.
- fixed SF# 3552597: Crypto  des-ecb error
- fixed SF# 3550553: SecureSocketImpl::connect hangs
- fixed SF# 3543047: Poco::Timer bug for long startInterval/periodic interval
- fixed SF# 3539695: Thread attributes should be destroyed using the pthread_attr_destroy()
- fixed SF# 3532311: Not able to set socket option on ServerSocket before bind
  Added Poco::Net::Socket::init(int af) which can be used to explicitely
  initialize the underlying socket before calling bind(), connect(), etc.
- fixed SF# 3521347: Typo in UnWindows.h undef
- fixed SF# 3519474: WinRegistryConfiguration bug
  Also added tests and fixed another potential issue with an empty root path passed to the constructor.
- fixed SF# 3516827: wrong return value of WinRegistryKey::exists()
- fixed SF# 3515284: RSA publickey format(X.509 SubjectPublicKeyInfo)
- fixed SF# 3503267: VxWorks OS prio is not set in standard constructor
- fixed SF# 3500438: HTTPResponse failure when reason is empty
- fixed SF# 3495656: numberformater, numberparser error in mingw
- fixed SF# 3496493: Reference counting broken in TaskManager postNotification
- fixed SF# 3483174: LogFile flushing behavior on Windows
  Flushing is now configurable for FileChannel and SimpleFileChannel
  using the "flush" property (true or false).
- fixed SF# 3479561: Subsequent IPs on a NIC is not enumerated
- fixed SF# 3478665: Permission checks in Poco::File not correct for root
- fixed SF# 3475050: Threading bug in initializeNetwork() on Windows
- fixed SF# 3552680: websocket small frames bug and proposed fix
- fixed a WebSocket interop issue with Firefox
- added Poco::Net::MessageHeader::hasToken()
- Poco::AtomicCounter now uses GCC 4.3 builtin atomics on more platforms
- fixed SF# 3555938: NetSSL: socket closed twice
- socket exceptions now include OS error code
- fixed SF# 3556975: Need to fix Shared Memory for memory map
- Poco::Net::SecureSocketImpl::close() now catches exceptions thrown by its call to shutdown().
- fixed SF# 3535990: POCO_HAVE_IPv6 without POCO_WIN32_UTF8 conflict
- fixed SF# 3559665: Poco::InflatingInputStream may not always inflate completely
- added Poco::DirectoryWatcher class
- fixed SF# 3561464: Poco::File::isDevice() can throw due to sharing violation
- Poco::Zip::Compress::addRecursive() has a second variant that allows to specify the compression method.
- Upgraded internal SQLite to 3.7.14


Release 1.4.3p1 (2012-01-23)
============================

- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit


Release 1.4.3 (2012-01-16)
==========================

- fixed a compilation error with Data/MySQL on QNX.
- fixed Util project files for WinCE (removed sources not compileable on CE)
- removed MD2 license text from Ackowledgements document
- fixed iPhone build config for Xcode 4.2 (compiler name changed to llvm-g++)
- Poco::Util::XMLConfiguration: delimiter char (default '.') is now configurable.
  This allows for working with XML documents having element names with '.' in them.
- Poco::Util::OptionProcessor: Required option arguments can now be specified as
  separate command line arguments, as in "--option value" in addition to the
  "--option=value" format.
- Poco::Util::HelpFormatter: improved option help formatting if  indentation has
  been set explicitely.
- added Mail sample to NetSSL_OpenSSL, showing use of Poco::Net::SecureSMTPClientSession.
- added additional read() overloads to Poco::Net::HTMLForm.
- fixed SF# 3440769: Poco::Net::HTTPResponse doesn't like Amazon EC2 cookies.
- added support for requiring TLSv1 to Poco::Net::Context.
- added an additional constructor to Poco::Net::HTTPBasicCredentials, allowing
  the object to be created from a string containing a base64-encoded, colon-separated
  username and password.
- Poco::Zip::ZipStreamBuf: fixed a crash if CM_STORE was used.
- Added setContentLength64() and getContentLength64() to Poco::Net::HTTPMessage.
- added Poco::Environment::osDisplayName().
- fixed SF# 3463096: WinService leaves dangling handles (open() now does not reopen the
  service handle if it's already open)
- fixed SF# 3426537: WinRegistryConfiguration can't read virtualized keys
- added Poco::Buffer::resize()
- fixed SF# 3441822: thread safety issue in HTTPClientSession:
  always use getaddrinfo() instead of gethostbyname() on all platforms supporting it
- added version resource to POCO DLLs
- fixed SF# 3440599: Dir Path in Quotes in PATH cause PathTest::testFind to fail.
- fixed SF# 3406030: Glob::collect problem
- added Poco::Util::AbstractConfiguration::enableEvents()
- Poco::AtomicCounter now uses GCC builtins with GCC 4.1 or newer
  (contributed by Alexey Milovidov)
- made Poco::Logger::formatDump() public as it may be useful for others as well
  (SF# 3453446)
- Poco::Net::DialogSocket now has a proper copy constructor (SF# 3414602)
- Poco::Net::MessageHeader and Poco::Net::HTMLForm now limit the maximum number of
  fields parsed from a message to prevent certain kinds of denial-of-service
  attacks. The field limit can be changed with the new method setFieldLimit().
  The default limit is 100.
- Poco::NumberFormatter, Poco::NumberParser and Poco::format() now always use the
  classic ("C") locale to format and parse floating-point numbers.
- added Poco::StreamCopier::copyStream64(), Poco::StreamCopier::copyStreamUnbuffered64()
  and Poco::StreamCopier::copyToString64(). These functions use a 64-bit integer
  to count the number of bytes copied.
- upgraded internal zlib to 1.2.5
- upgraded internal sqlite to 3.7.9
- XML: integrated bugfix for Expat bug# 2958794 (memory leak in poolGrow)
- Added support for HTTP Digest authentication (based on a contribution by
  Anton V. Yabchinskiy (arn at bestmx dot ru)). For information on how
  to use this, see the Poco::Net::HTTPCredentials, Poco::Net::HTTPDigestCredentials
  and Poco::Net::HTTPAuthenticationParams classes.
- Poco::Net::HTTPStreamFactory and Poco::Net::HTTPSStreamFactory now support Basic
  and Digest authentication. Username and password must be provided in the URI.
- added Poco::Net::WebSocket, supporting the WebSocket protocol as described in RFC 6455
- NetSSL_OpenSSL: added client-side support for Server Name Indication.
  Poco::Net::SecureSocketImpl::connectSSL() now calls SSL_set_tlsext_host_name()
  if its available (OpenSSL 9.8.6f and later).
- added Poco::Net::HTTPClientSession::proxyConnect() (factored out from
  Poco::Net::HTTPSClientSession::connect())
- added Poco::Process::kill(const Poco::ProcessHandle&) which is preferable to
  kill(pid) on Windows, as process IDs on Windows may be reused.
- fixed SF# 3471463: Compiler warnings with -Wformat
- Poco::Util::Application::run() now catches and logs exceptions thrown in initialize()
- Fixed a WinCE-specific bug in Poco::Util::ServerApplication where uninitialize() would
  be called twice.
- fixed SF# 3471957: WinRegistryKey::deleteKey() unable to delete alt views
- Added additional constructor to Poco::ScopedLock and Poco::ScopedLockWithUnlock
  accepting a timeout as second argument.
- Added Poco::Logger::parseLevel()
- Poco::format(): an argument that does not match the format
  specifier no longer results in a BadCastException. The string [ERRFMT] is
  written to the result string instead.
- PageCompiler: added createSession page attribute.
jperkin pushed a commit that referenced this pull request Jul 3, 2016
2016-05-27  Bob Halley  <halley@dnspython.org>

	* (Version 1.14.0 released)

	* Add CSYNC RR support

	* Fix bug in LOC which destroyed N/S and E/W distinctions within
	  a degree of the equator or prime merdian respectively.

	* Misc. fixes to deal with fallout from the Python 2 & 3 merge.
	  [issue #156], [issue #157], [issue #158], [issue #159],
	  [issue #160].

	* Running with python optimization on caused issues when
	  stripped docstrings were referenced. [issue #154]

	* dns.zone.from_text() erroneously required the zone to be provided.
	  [issue #153]

2016-05-13  Bob Halley  <halley@dnspython.org>

	* dns/message.py (make_query): Setting any value which implies
	  EDNS will turn on EDNS if 'use_edns' has not been specified.

2016-05-12  Bob Halley  <halley@dnspython.org>

	* TSIG signature algorithm setting was broken by the Python 2
	  and Python 3 code line merge.  Fixed.

2016-05-10  Bob Halley  <halley@dnspython.org>

	* (Version 1.13.0 released)

2016-05-10  Bob Halley  <halley@dnspython.org>

	* Dropped support for Python 2.4 and 2.5.

	* Zone origin can be specified as a string.

	* Support string representation for all DNSExceptions.

	* Use setuptools not distutils

	* A number of Unicode name bug fixes.

	* Added support for CAA, CDS, CDNSKEY, EUI48, EUI64, and URI RR
	  types.

	* Names now support the pickle protocol.

	* NameDicts now keep the max-depth value correct, and update
	  properly.

	* resolv.conf processing rejects lines with too few tokens.

	* Ports can be specified per-nameserver in the stub resolver.

2016-05-03  Arthur Gautier

        * Single source support for python 2.6+ and 3.3+

2014-09-04  Bob Halley  <halley@dnspython.org>

	* Comparing two rdata is now always done by comparing the binary
	  data of the DNSSEC digestable forms.  This corrects a number of
	  errors where dnspython's rdata comparison order was not the
	  DNSSEC order.

	* Add CAA implementation.  Thanks to Brian Wellington for the
	  patch.
jperkin pushed a commit that referenced this pull request Jul 17, 2016
- Fix incorrectly reporting files containing disabled formatting as
  being formatted.
- Fix incorrect handling of quoted arguments in the options file (#321).
- Fix error in identifying an enum return type as an enumeration
  (#322, 323).
- Fix error in identifying an enum argument as an enumeration (#327).
- Fix recognition of Qt keywords when used as variables in C++ (#329).
- Fix recognition of a pointer in a C++ cast (#316).
- Fix removing trailing whitespace after a changed pointer or
  reference cast.

- Add new bracket style option "style=vtk" (#155).
- Add new option "indent-preproc-block" to indent blocks of preprocessor
  directives (#21, #114, #229, #242, #294).
- Add new option, "dry-run", to run AStyle without updating the files
  (#184, #285).
- Add new options, "html" (-!") and "html=###", to display the HTML help
  documentation in the default browser.
- Add tags "*INDENT-OFF*" and "*INDENT_ON*" to disable formatting of
  source code blocks (#2, #47, #55, #78, #110, #176).
- Add tag *NOPAD* to disable selected formatting on a single line.
- Add '__attribute__ ((visibility ("default")))' to Linux exported functions.
- Remove option "style=ansi" and make it depreciated (#146).
- Remove fix for broken 'case' statements from release 2.02.1, Nov 21, 2011.
- Improve Korean translation (#256).
- Change shared libraries to include the version number as part of the
  file name (#264)
- Change "help" display to stdout to allow piping and redirection (#63).
- Change "version" display to stdout.
- Change headers to include foreach, forever, Q_FOREACH, and Q_FOREVER
  (#98, #154).
- Change compiler definition ASTYLE_NO_VCX (no Visual Studio exports) to
  ASTYLE_NO_EXPORTS.
- Change shared library error handler argument from "char*" to "const char*".
- Fix not recognizing noexcept, interrupt, and autoreleasepool as
  pre-command headers (#225, #259).
- Fix formatting of C++11 uniform initializer brackets (#253, #257,
  #260, #284).
- Fix to not automatically space pad C++11 uniform initializer
  brackets (#275).
- Fix formatting of enums with leading commas (#159, #179, #270).
- Fix formatting of logical && operator in class initializers (#290).
- Fix flagging a 'const' variable as a 'const' method (#275).
- Fix piping and redirection adding an extra character to the output
  (#245, #252, #305).
- Fix "indent-modifiers" to attach class access modifiers to Horstmann
  style brackets.
- Fix ASFormatter to correctly recognize the end of a C++ raw string
  literal (#261).
- Fix to recognize C++11 "enum class" as an enum (#303).
- Fix indent of C++11 "noexecpt" statements within a class (#260, #304).
- Fix not resetting templateDepth when a template was not found (#295).
- Fix formatting of multiplication in a block paren (#144).
- Fix whitespace padding when formatting an rvalue references (#297).
- Fix to recognize an rvalue reference without a name (#265).
- Fix to not identify an operator overload method as a calculation (#296).
- Fix concatenating multiplication with a pointer dereference (#291).
- Fix recognition of a pointer dereference following a question mark (#213).
- Fix extra space after a trailing reference type (#300).
- Fix _asm blocks not being identified as a block opener and the
  variable not cleared on exit (#163).
- Fix indentation of line comments before a "class" opening bracket.
- Fix indentation of line comments before a "namespace" opening bracket.
- Fix isBracketType() method to correctly process a NULL_TYPE.
- Fix unpad-paren to recognize additional variables (#43, #132, #143).
- Fix indentation of C# "let" statements.
- Fix a few omissions with "fill-empty-lines".
- Fix file read to read 64K blocks of data.
- Refactor to un-obfuscate (clarify) the code, and improve design and
  decomposition::
    - Extract class Utf8_16 from ASConsole.
    - Replace Linux dependency on iconv with a Utf8_16 class for ASLibrary.
    - Move global "using" statements to the astyle namespace in astyle.h
      and ASLocalizer.h.
    - Move shared library declarations from astyle.h to astyle_main.h.
    - Move indentable macros from ASEnhancer to ASResource and create
      static pairs.
    - Simplify ASBeautifier procedure to identify the colon (:) type.
    - Major refactoring in ASBeautifier to create separate variables for
      an enum, a class statement and a class initializer.
    - This was needed to fix the processing of C++11 uniform
      initializers in a class initializer.
    - Minor changes to ASFormatter and ASBeautifier based on results of
      the Clang analyzer.
    - Change several methods in astyle_main to "const".
jperkin pushed a commit that referenced this pull request Aug 24, 2016
NEWS:
Version 2.5.3
-------------
- Updated zoneinfo to 2016d
- Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is
  set to true. (gh issue #233, pr #234)
- Bug in zoneinfo file on platforms such as Google App Engine which do not
  do not allow importing of subprocess.check_call was reported and fixed by
  @savraj (gh issue #239, gh pr #240)
- Fixed incorrect version in documentation (gh issue #235, pr #243)

Version 2.5.2
-------------
- Updated zoneinfo to 2016c
- Fixed parser bug where yearfirst and dayfirst parameters were not being
  respected when no separator was present. (gh issue #81 and #217, pr #229)

Version 2.5.1
-------------
- Updated zoneinfo to 2016b
- Changed MANIFEST.in to explicitly include test suite in source distributions,
  with help from @koobs (gh issue #193, pr #194, #201, #221)
- Explicitly set all line-endings to LF, except for the NEWS file, on a
  per-repository basis (gh pr #218)
- Fixed an issue with improper caching behavior in rruleset objects (gh issue
  #104, pr #207)
- Changed to an explicit error when rrulestr strings contain a missing BYDAY
  (gh issue #162, pr #211)
- tzfile now correctly handles files containing leapcnt (although the leapcnt
  information is not actually used). Contributed by @hjoukl (gh issue #146, pr
  #147)
- Fixed recursive import issue with tz module (gh pr #204)
- Added compatibility between tzwin objects and datetime.time objects (gh issue
  #216, gh pr #219)
- Refactored monolithic test suite by module (gh issue #61, pr #200 and #206)
- Improved test coverage in the relativedelta module (gh pr #215)
- Adjusted documentation to reflect possibly counter-intuitive properties of
  RFC-5545-compliant rrules, and other documentation improvements in the rrule
  module (gh issue #105, gh issue #149 - pointer to the solution by @phep,
  pr #213).


Version 2.5.0
-------------
- Updated zoneinfo to 2016a
- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
  script will work with older zoneinfo_metadata.json files, but new metadata
  files will not work with older updatezinfo.py versions. Additionally, we have
  started hosting our own mirror of the Olson databases on a github pages
  site (https://dateutil.github.io/tzdata/) (gh pr #183)
- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
  to generate them. (gh issue #27, gh pr #85)
- relativedelta can now be safely subclassed without derived objects reverting
  to base relativedelta objects as a result of arithmetic operations.
  (lp:1010199, gh issue #44, pr #49)
- relativedelta 'weeks' parameter can now be set and retrieved as a property of
  relativedelta instances. (lp: 727525, gh issue #45, pr #49)
- relativedelta now explicitly supports fractional relative weeks, days, hours,
  minutes and seconds. Fractional values in absolute parameters (year, day, etc)
  are now deprecated. (gh issue #40, pr #190)
- relativedelta objects previously did not use microseconds to determine of two
  relativedelta objects were equal. This oversight has been corrected.
  Contributed by @elprans (gh pr #113)
- rrule now has an xafter() method for retrieving multiple recurrences after a
  specified date. (gh pr #38)
- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
  @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160)
- rrule performance under certain conditions has been significantly improved
  thanks to a patch contributed by @dekoza, based on an article by Brian Beck
  (@exogen) (gh pr #136)
- The use of both the 'until' and 'count' parameters is now deprecated as
  inconsistent with RFC2445 (gh pr #62, #185)
- Parsing an empty string will now raise a ValueError, rather than returning the
  datetime passed to the 'default' parameter. (gh issue #78, pr #187)
- tzwinlocal objects now have a meaningful repr() and str() implementation
  (gh issue #148, prs #184 and #186)
- Added equality logic for tzwin and tzwinlocal objects. (gh issue #151,
  pr #180, #184)
- Added some flexibility in subclassing timelex, and switched the default
  behavior over to using string methods rather than comparing against a fixed
  list. (gh pr #122, #139)
- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
  gh issue #51, pr #55)
- An issue with string encoding causing exceptions under certain circumstances
  when tzname() is called was fixed. (gh issue #60, #74, pr #75)
- Parser issue where calling parse() on dates with no day specified when the
  day of the month in the default datetime (which is "today" if unspecified) is
  greater than the number of days in the parsed month was fixed (this issue
  tended to crop up between the 29th and 31st of the month, for obvious reasons)
  (canonical gh issue #25, pr #30, #191)
- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
  in certain circumstances. Contributed by @MichaelAquilina (gh pr #91)
- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
  by @Bachmann1234 (gh pr #130)
- Fixed parser issue where commas were not a valid separator between seconds
  and microseconds, preventing parsing of ISO 8601 dates. Contributed by
  @ryanss (gh issue #28, pr #106)
- Fixed issue with tzwin encoding in locales with non-Latin alphabets
  (gh issue #92, pr #98)
- Fixed an issue where tzwin was not being properly imported on Windows.
  Contributed by @labrys. (gh pr #134)
- Fixed a problem causing issues importing zoneinfo in certain circumstances.
  Issue and solution contributed by @alexxv (gh issue #97, pr #99)
- Fixed an issue where dateutil timezones were not compatible with basic time
  objects. One of many, many timezone related issues contributed and tested by
  @labrys. (gh issue #132, pr #181)
- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135,
  pr #141, #142)
- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
  parsed from the registry. (gh issue #143, pr #178)
- updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv
  (gh pr #164)
- An issue that arose when timezone locale changes during runtime has been
  fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109)
- Python 3.5 was added to the supported platforms in the metadata (@tacaswell
  gh pr #159) and the test suites (@moreati gh pr #117).
- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
  by @moreati (gh pr #115)
- Several deprecated functions were replaced in the tests by @moreati
  (gh pr #116)
- Improved the logic in Travis and Appveyor to alleviate issues where builds
  were failing due to connection issues when downloading the IANA timezone
  files. In addition to adding our own mirror for the files (gh pr #183), the
  download is now retried a number of times (with a delay) (gh pr #177)
- Many failing doctests were fixed by @moreati. (gh pr #120)
- Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere,
  gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits)
- Added a code coverage tool to the CI to help improve the library. (gh pr #182)
- We now have a mailing list - dateutil@python.org, graciously hosted by
  Python.org.


Version 2.4.2
-------------
- Updated zoneinfo to 2015b.
- Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded
  if not a unicode type. gh #51 (lp:1331576), gh pr #55.
- Fix a parser issue where AM and PM tokens were showing up in fuzzy date
  stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63.
- Missing function "setcachesize" removed from zoneinfo __all__ list by @ryanss,
  fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66).
- (PyPi only) Fix an issue with source distributions not including the test
  suite.


Version 2.4.1
-------------

- Added explicit check for valid hours if AM/PM is specified in parser.
  (gh pr #22, issue #21)
- Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not
  handled properly. (gh pr #35, issue #34)
- Fix error where parser allowed some invalid dates, overwriting existing hours
  with the last 2-digit number in the string. (gh pr #32, issue #31)
- Fix and add test for Python 2.x compatibility with boolean checking of
  relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier
  (lp: 1035038)
- Replaced parse() calls with explicit datetime objects in unit tests unrelated
  to parser. (gh pr #36)
- Changed private _byxxx from sets to sorted tuples and fixed one currently
  unreachable bug in _construct_byset. (gh pr #54)
- Additional documentation for parser (gh pr #29, #33, #41) and rrule.
- Formatting fixes to documentation of rrule and README.rst.
- Updated zoneinfo to 2015a.
jperkin pushed a commit that referenced this pull request Sep 12, 2016
init: mark Mercurial 3.7 as supported and prepare for 0.8.5
test-help: fix for Mercurial 3.7
test-renames.t: don't use "seq"
push: better formatting of messages from the server
git_handler: use util method for writing bookmarks
util: add method for writing bookmarks
util: regularize mercurial imports
ignore: add .testtimes to ignored files
version: bump up to 0.8.4
all-version-tests: test Mercurial 3.6.3
git_handler: work around dulwich using unicode for ref names Dulwich treats ref names internally as unicode strings (probably because of Python 3?), which means that at some points it tries to do os.path.join between the repo path and the unicode of the ref name, which fails miserably if we construct the repo with a str and not a unicode. Kludge around this problem. Fixes issue 172. This is a roll-forward of a593069575bb, which should be valid now that th…
hgrepo: ensure all git-origin tags are bytes If we don't do this we might end up with unicodes being written using ui, which then breaks in popbuffer in test-encoding.t. This appears to be an academic concern until we start passing unicode paths to git repos, which we need to do in order to resolve some other problems. Yay.
all-version-tests: wrap to 80 columns and test 3.{5,6}.2
Makefile: respect HGTESTFLAGS environment variable
test-push.t: clean up compat cruft
testutil: clean up compat cruft
test-subrepos.t: clean up compat cruft
gitdirstate: fix up compat comment pathutil isn't in 2.8.
gitrepo: clean up compat cruft
merge
overlay: regularize mercurial imports
gitdirstate: regularize mercurial imports
ssh: regularize mercurial imports
hgrepo: regularize mercurial imports
hg2git: regularize mercurial imports
init: regularize mercurial imports
git_handler: regularize mercurial imports
bookmarks: use bookmarks.recordchange instead of bookmarks.write if available bookmarks.write is deprecated and it was showing warning messages in test-hg-branch.t with the latest test runner from core mercurial. Tested with both hg 2.8 and hg tip.
init: handle AttributeError in addition to ImportError If a module doesn't exist, it yields an ImportError, if an attribtue doesn't exist on a module, it yields an AttributeError
ssh: fix breakage again with dulwich update dulwich 0.12.x changed the way they pass parameters around, so we reformat that to what hg-git expects. This is just plain ridiculous.
push: print messages from the server Some servers, for example, Bitbucket, output helpful messages. This patch reports the output, if any exist, to the user.
init: only activate git ignore logic in reposetup This will massively speed up 'hg status' on repos that are not git based. On my macports repo, status went from Before: 0m0.591s After: 0m0.297s
Backed out changeset a593069575bb This was causing test-encoding.t to fail.
git_handler: work around dulwich using unicode for ref names Dulwich treats ref names internally as unicode strings (probably because of Python 3?), which means that at some points it tries to do os.path.join between the repo path and the unicode of the ref name, which fails miserably if we construct the repo with a str and not a unicode. Kludge around this problem. Fixes issue 172.
readme: document the specific behaviors of hg author translation Particularly the odd ext:(%xx) feature.
manifest: include test and test data Closes issue #154.
determine_wants: deal with refs being None Not clear how this is happening, but this should fix it. Resolves issue #166.
jperkin pushed a commit that referenced this pull request Nov 28, 2016
A major update to Streamlink.

With this release, we include a Windows binary as well as numerous plugin changes and fixes.

The main features are:

    Windows binary (and generation!) thanks to the fabulous work by @beardypig
    Multiple plugin fixes
    Remove unneeded run-as-root (no more warning you when you run as root, we trust that you know what you're doing)
    Fix stream quality naming issue

Beardypig <beardypig@users.noreply.github.com> (13):
      fix stream quality naming issue with py2 vs. py3, fixing #89 (#96)
      updated connectcast plugin to support the new rtmp streams; fixes #93 (#95)
      Fix for erroneous escape coding the livecoding plugin. Fixes #106 (#121)
      TVPlayer.com: fix for 400 error, correctly set the platform parameter (#123)
      Added a method to automatically determine the encoding when parsing JSON, if no encoding is provided. (#122)
      when retry-streams and twitch-disable-hosting arguments are used the stream is retried until a non-hosted stream is found (#125)
      plugins.goodgame: Update for API change (#130)
      plugins.adultswim: added a new adultswim.com plugin (#139)
      plugins.goodgame: restored DDOS protection cookie support (#136)
      plugins.younow: update API url (#135)
      plugins.euronew: update to support the new site (#141)
      plugins.webtv: added a new plugin to support web.tv (#144)
      plugins.connectcast: fix regex issue with python 3 (#152)

Brainzyy <Brainzyy@users.noreply.github.com> (1):
      Add piczel.tv plugin (courtesy of @intact) (#114)

Charlie Drage <charlie@charliedrage.com> (1):
      Update release scripts

Erk- <Erk-@users.noreply.github.com> (1):
      Changed the twitch plugin to use https instead of http as discussed in #103 (#104)

Forrest <gravyboat@users.noreply.github.com> (2):
      Modify the changelog link (#107)
      Update cli to note a few windows issues (#108)

Simon Bernier St-Pierre <sbernierstpierre@gmail.com> (1):
      change icon

Simon Bernier St-Pierre <sbstp@users.noreply.github.com> (1):
      finish the installer (#98)

Stefan <stefan-github@yrden.de> (1):
      Debian packaging base (#80)

Stefan <stefanhani@gmail.com> (1):
      remove run-as-root option, reworded warning #85 (#109)

Weslly <weslly.honorato@gmail.com> (1):
      Fixed afreecatv.com url matching (#90)

bastimeyer <mail@bastimeyer.de> (2):
      Improve NSIS installer script
      Remove shortcut from previous releases on Windows

beardypig <beardypig@users.noreply.github.com> (8):
      plugins.cybergame: update to support changes to the live streams on the cybergame.tv website
      Use pycryptodome inplace of pyCrypto
      Automated build of the Windows NSIS installer
      support for relative paths for rtmpdump
      makeinstaller: install the streamlinkrc file in to the users %APPDATA% directory
      remove references to livestreamer in the win32 config template
      stream.rtmpdump: fixed the rtmpdump path issue, introduced in 6bf7fd7
      pin requests to <2.12.0 to avoid the strict IDNA2008 validation

ethanhlc <ethanhlc@users.noreply.github.com> (1):
      fixed instance of livestreamer (#99)

intact <intact.devel@gmail.com> (1):
      plugins.livestream: Support old player urls

mmetak <mmetak@users.noreply.github.com> (2):
      fix vaughnlive.tv info_url (#88)
      fix vaughnlive.tv info_url (yet again...) (#143)

skulblakka <pascal.romahn@mailbox.org> (1):
      Overworked Plugin for ZDF Mediathek (#154)

sqrt2 <sqrt2@users.noreply.github.com> (1):
      Fix ORF TVthek plugin (#113)

tam1m <tam1m@users.noreply.github.com> (1):
      Fix zdf_mediathek TypeError (#156)
jperkin pushed a commit that referenced this pull request Mar 20, 2017
== 2.2.0 / 2017-03-09

Enhancements
- diagnostic context inheritance is now optional [PR #160]
- add support for setting a UTC offset [PR #157]
- setting a basepath for call tracing [PR #154]

Bug Fixes
- use thread-local variables for diagnostic contexts [PR #162]
- replace `Fixnum` with `Integer` [PR #161]
- fixed a race condition in the rolling file appender [PR #151]

Deprecations
- dropped Ruby 1.9 support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants