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

miniupnpd: update to 1.8, fix build on SmartOS #86

Closed
wants to merge 1 commit into from

Conversation

wiedi
Copy link

@wiedi wiedi commented Oct 20, 2013

  • update to 1.8 (20130730)
  • some patches were needed to build on SmartOS

@mamash
Copy link

mamash commented Oct 21, 2013

Thanks, committed to upstream CVS.

@mamash mamash closed this Oct 21, 2013
jperkin pushed a commit that referenced this pull request Nov 1, 2013
News
====

Release 3.0.8 - 2013/09/29
--------------------------

Improvements
^^^^^^^^^^^^

* [admin] Improved error handling of select functionality. This change shows error message
  and hides loading dialog. [Patch by orangain]
* [admin] Improved to submit search form with the enter key. [Patch by orangain]
* [admin] Improved to show placeholder in search form.
  This change shows usage examples. [Patch by orangain]
* [httpd] Supported :ref:`groonga-query-log-path` directive
* [doc] Updated :doc:`/reference/commands/select` documentation about the number of
  hits in select response.
* Improved to ignore an empty token which is generated by continuous spaces from tokenizer.
  [groonga-dev,01729] [Suggested by Naoya Murakami]
* [token delimit] Improved to treat continuous spaces as a space.
  The tokenizer regards 2 or more spaces are valid input.
* [doc] Added note about indexes for each column vs indexes for multiple column.
* [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe]
* Supported :ref:`cascade-delete` to referenced records. In previous version,
  You got an error for the operation.
* [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe]
* [experimental] Added :doc:`/reference/commands/ruby_eval` command.
* [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe]

Fixes
^^^^^

* [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work.

Thanks
^^^^^^

* orangain
* Naoya Murakami
* Kazuhiro Isobe

Release 3.0.7 - 2013/08/29
--------------------------

Improvements
^^^^^^^^^^^^

* [doc] Added API documentation. [groonga-dev,01593]
  [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100]
  [Patch by whombx]
* [table_remove] Improved not to remove patricia trie table or hash table
  which is still referenced. This change avoids that referenced table is removed accidentally.
* Improved to just ignore too long token (4096 bytes or more).
  This change affects when it is registered. In the previous version, it is treated as an
  error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami]
* Improved to show actual discarded posting term in log message.
  [groonga-dev,01621] [Reported by Naoya Murakami]
* [httpd] Supported loading data using POST method. [GitHub#101]
  [Patch by Motoi Washida]
* [httpd] Supported groonga log as ``groonga_log_path`` directive.
* [httpd] Supported groonga log level as ``groonga_log_level`` directive.
* [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive.

Fixes
^^^^^

* Fixed a bug that error in expression may cause stack overflow.
  This change avoids that groonga crashes suddenly as a result of error accumlation.
* Fixed a crash bug that offline index construction for vector column which has
  orphan reference causes.
* Fixed a bug that groonga doesn't exit on error while daemon mode starts.
  For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug.
* [dump] Fixed a bug that wrong table type is dumped.
  This bug occurs when table type is TABLE_PAT_KEY and key is reference type.
* Fixed a bug that the default ``--cache-limit`` value is 0.
  The default value is changed to '100'.
* Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used.
* [doc] Fixed description of defrag command. [Reported by @naoina]
* [doc] Fixed description about the way to contribute. [GitHub#77]
  [Patch by Masafumi Yokoyama]
* [plugin] Fixed a crash bug on multiple DB open case.
  This bug affects the case that multiple plugin is used and the same database is opened from
  multiple process. [groonga-dev,01596] [Reported by Naoya Murakami]
* Fixed a bug that nested match operation after ``AND`` operator doesn't work.
  The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug.
  [groonga-dev,01599] [Reported by Motoi Washida]
* [doc] Fixed a typo about documentation of special characters.
  [Reported by Genki Takiuchi]
* Fixed a typo in error message when invalid character is given.
  [Reported by YOSHIDA Mitsuo]

Thanks
^^^^^^

* whombx
* @naoina
* Masafumi Yokoyama
* Motoi Washida
* Genki Takiuchi
* YOSHIDA Mitsuo
jperkin pushed a commit that referenced this pull request Nov 1, 2013
(No changelog for 0.9.3 supplied, but includes maintainer change.)

Version 0.9.2
-------------

Released 2013/9/11

- Upgrade wtforms to 1.0.5.
- No lazy string for i18n `#77`_.
- No DateInput widget in html5 `#81`_.
- PUT and PATCH for CSRF `#86`_.

.. _`#77`: pallets-eco/flask-wtf#77
.. _`#81`: pallets-eco/flask-wtf#81
.. _`#86`: pallets-eco/flask-wtf#86


Version 0.9.1
-------------

Released 2013/8/21

This is a patch version for backward compitable for Flask<0.10 `#82`_.

.. _`#82`: pallets-eco/flask-wtf#82

Version 0.9.0
-------------

Released 2013/8/15

- Add i18n support (issue #65)
- Use default html5 widgets and fields provided by wtforms
- Python 3.3+ support
- Redesign form, replace SessionSecureForm
- CSRF protection solution
- Drop wtforms imports
- Fix recaptcha i18n support
- Fix recaptcha validator for python 3
- More test cases, it's 90%+ coverage now
- Redesign documentation
jperkin pushed a commit that referenced this pull request Dec 3, 2013
Upstream changes:
3.1.0 2013-11-16 16:46:35+0900
    [BUG FIXES]
    - Close #95; $/ affected the parse() method

    [FEATURES]
    - Add $xslate->validate($file) method to check template syntax

3.0.2 2013-11-15 21:56:53+0900
    [BUG FIXES]
    - Fix a mojibake issue where utf8::upgrade() was always called when
      loading caches (hanabukuro++)

3.0.1 2013-11-04 12:27:51+0900
    [TEST FIXES]
    - Fix a test that might fail on a slow machine like Raspberry Pi
      (Getty++)

3.0.0 2013-10-18 08:59:22+0900
    - No code changes from 2.1.0, just re-packaging for package managers

2.1.0 2013-10-17 22:18:21+0900
    [BUG FIXES]
    - Fix an issue that multi-bytes string literals used for a hash key
      was not dealt as a text string (@niratama++)
      WARNING: this change could break your code if you use multi-byte
               text string as a hash key.

2.0010 2013-10-07 21:56:12+0900
    [BUG FIXES]
    - Fix an issue that vpath with text-strings raised errors
      on newer perls due to specification changes in PerlIO::scalar (#90)
    - Documentation tweaks (#84, #86)
jperkin pushed a commit that referenced this pull request Dec 9, 2013
Changelog since 3.3.1
3.4.3 - 11/30/2012
------------------
- Reverted squeue changes intended for Nagios 4
- Reapplied all patches from 3.4.2 release
- Applied fix for pagination and sorting on status.cgi #381 (Phil Randal)

3.4.2 - 11/09/2012
------------------
FIXES
* Fixed issue where deleting a downtime could cause Nagios to crash (Eric Stanley)
* Corrected logic so that end times for flexible downtimes are calculated from the dow
ntime start rather than the current time in the case where Nagios is restarted (Eric S
tanley)
* Fixed issue introduced by fix for bug #124 where flexible downtimes are not taken in
to account on Nagios restart. (Scott Wilkerson, Eric Stanley)
* Fixed bug #247: If a service reports no performance data, the perfdata log file has
no line indicating the test. ([email protected])
* Fixed link for unhandled unreachable host problems on tactical overview page (Rudolf
 Cejka)
* Fixed bug #345 with wild card searches not paging properly on status.cgi (Phil Randa
l)
* Fixed bug #343 on status.cgi where Service Group Summary can potentially show wrong
totals (Mark Ziesemer)
* Fixed memory leaks on SIGHUP (Carlos Velasco)

3.4.1 - 05/11/2012
------------------
FIXES
* Double quotes in check_command definition break functionality (#332, reverts #86)


3.4.0 - 05/04/2012
------------------
ENHANCEMENTS
* Added service_check_timeout_state configuration variable (Bill McGonigle)
* Permanently remove sleep on run_event == FALSE in main loop (Max <perldork@webwizard
design.com>)
* Reduce notification load by moving notification viability check into notification li
st creation (Opsview Team)
* Added code to apply allow_empty_hostgroup_assignment flag to host and service depend
encies (Daniel Wittenberg)
* Users can now see hostgroups and servicegroups that contain at least one host or ser
vice they are authorized for, instead of having to be authorized for them all (Ethan G
alstad)
* RSS feed boxes fallback if an error occurs (Ethan Galstad)
* RSS feeds no longer block main page load (Mike Guthrie)

FIXES
* Fix $NOTIFICATIONRECIPIENTS$ macro to contain all contacts assigned to host|service,
 not only notified contacts (Bug #98 Matt Harrington)
* Scheduled Downtime Notifications Resent On Nagios Restart/reload (Bug #124 - ricardo
)
* NOTIFICATIONTYPE MACRO never became CUSTOM (Bug #168 - Alexey Dvoryanchikov)
* Plugged minor memory leaks in notification logic
jperkin pushed a commit that referenced this pull request Dec 9, 2013
=============

 - Tig now has its own tag on Stack Overflow, where users are invited to
   ask questions: http://stackoverflow.com/questions/tagged/tig

Improvements:

 - Make tig prompt commands bindable to keys. For example:
   `bind diff F :set diff-options = --full-diff`. (GH #69, #116)
 - Add a diff-options setting for specifying default diff options.
   Example: `set diff-options = --patience`. (GH #116)
 - Options in diff-options and blame-options matching tig browsing state
   variables are replaced.
 - Show diff stats as wide as the terminal. (GH #109)
 - Show line numbers in the branch view. (GH #135)
 - Add toggles for showing author email or email user names. (GH #115)
 - Open editor at the selected line by prefixing the file argument with
   `+<lineno>`. Tested in vi, vim, emacs, nano, gedit, geany. Disable
   by adding `set editor-line-number = no` to ~/.tigrc. (GH #118, #119)
 - Add toggle-files to control whether to show full commit diff or only
   the diff concerning the currently selected file, e.g. for blame.
 - Optionally highlight exceeding characters in long commit titles.
   The default title max width is 50 characters. Customize using:
   `set title-overflow = 50` (GH #125)
 - Add +ESC key bindings. Example: `bind generic ^[v move-page-up` (GH #120)
 - Create temporary files in TMPDIR, TEMP, or TMP before defaulting to /tmp.
 - Reenable `tig log` as a subcommand. (GH #146)
 - Enable tilde expansion in ~/.tigrc "source" commands. (GH #168)
 - Introduce the stash view, bound to the 'y' keybinding. (GH #169, #174)

Bug fixes:

 - Fix blame and status to work in directories starting with a dot. (GH #172)
 - Reload current branch name when reloading the status view. (GH #93)
 - Fix compile errors on old Solaris. (GH #97)
 - Reload HEAD info when reloading the stage view. (GH #104, #93)
 - Fix disappearing branch labels after external commands. (GH #148)
 - Fix diff view display for staged/unstaged changes when using 'd'.
 - Fix display of status messages when toggling view options. (GH #111)
 - Fix illegal memory access. (GH #98)
 - Fix display of all branches label in repos with short branch names.
 - Fix rendering glitch for branch names.
 - Do not apply diff styling to untracked files in the stage view. (GH #153)
 - Fix tree indentation for entries containing combining characters. (GH #170)
 - Ignore unrepresentable characters when transliterating text for rendering.
 - Transliterate text to output encoding before trimming it to avoid
   misalignment. (GH #86)
 - Introduce a more natural context-sensitive log display. (GH #155)
jperkin pushed a commit that referenced this pull request Dec 9, 2013
News
====

Release 3.0.8 - 2013/09/29
--------------------------

Improvements
^^^^^^^^^^^^

* [admin] Improved error handling of select functionality. This change shows error message
  and hides loading dialog. [Patch by orangain]
* [admin] Improved to submit search form with the enter key. [Patch by orangain]
* [admin] Improved to show placeholder in search form.
  This change shows usage examples. [Patch by orangain]
* [httpd] Supported :ref:`groonga-query-log-path` directive
* [doc] Updated :doc:`/reference/commands/select` documentation about the number of
  hits in select response.
* Improved to ignore an empty token which is generated by continuous spaces from tokenizer.
  [groonga-dev,01729] [Suggested by Naoya Murakami]
* [token delimit] Improved to treat continuous spaces as a space.
  The tokenizer regards 2 or more spaces are valid input.
* [doc] Added note about indexes for each column vs indexes for multiple column.
* [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe]
* Supported :ref:`cascade-delete` to referenced records. In previous version,
  You got an error for the operation.
* [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe]
* [experimental] Added :doc:`/reference/commands/ruby_eval` command.
* [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe]

Fixes
^^^^^

* [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work.

Thanks
^^^^^^

* orangain
* Naoya Murakami
* Kazuhiro Isobe

Release 3.0.7 - 2013/08/29
--------------------------

Improvements
^^^^^^^^^^^^

* [doc] Added API documentation. [groonga-dev,01593]
  [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100]
  [Patch by whombx]
* [table_remove] Improved not to remove patricia trie table or hash table
  which is still referenced. This change avoids that referenced table is removed accidentally.
* Improved to just ignore too long token (4096 bytes or more).
  This change affects when it is registered. In the previous version, it is treated as an
  error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami]
* Improved to show actual discarded posting term in log message.
  [groonga-dev,01621] [Reported by Naoya Murakami]
* [httpd] Supported loading data using POST method. [GitHub#101]
  [Patch by Motoi Washida]
* [httpd] Supported groonga log as ``groonga_log_path`` directive.
* [httpd] Supported groonga log level as ``groonga_log_level`` directive.
* [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive.

Fixes
^^^^^

* Fixed a bug that error in expression may cause stack overflow.
  This change avoids that groonga crashes suddenly as a result of error accumlation.
* Fixed a crash bug that offline index construction for vector column which has
  orphan reference causes.
* Fixed a bug that groonga doesn't exit on error while daemon mode starts.
  For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug.
* [dump] Fixed a bug that wrong table type is dumped.
  This bug occurs when table type is TABLE_PAT_KEY and key is reference type.
* Fixed a bug that the default ``--cache-limit`` value is 0.
  The default value is changed to '100'.
* Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used.
* [doc] Fixed description of defrag command. [Reported by @naoina]
* [doc] Fixed description about the way to contribute. [GitHub#77]
  [Patch by Masafumi Yokoyama]
* [plugin] Fixed a crash bug on multiple DB open case.
  This bug affects the case that multiple plugin is used and the same database is opened from
  multiple process. [groonga-dev,01596] [Reported by Naoya Murakami]
* Fixed a bug that nested match operation after ``AND`` operator doesn't work.
  The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug.
  [groonga-dev,01599] [Reported by Motoi Washida]
* [doc] Fixed a typo about documentation of special characters.
  [Reported by Genki Takiuchi]
* Fixed a typo in error message when invalid character is given.
  [Reported by YOSHIDA Mitsuo]

Thanks
^^^^^^

* whombx
* @naoina
* Masafumi Yokoyama
* Motoi Washida
* Genki Takiuchi
* YOSHIDA Mitsuo
jperkin pushed a commit that referenced this pull request Dec 9, 2013
(No changelog for 0.9.3 supplied, but includes maintainer change.)

Version 0.9.2
-------------

Released 2013/9/11

- Upgrade wtforms to 1.0.5.
- No lazy string for i18n `#77`_.
- No DateInput widget in html5 `#81`_.
- PUT and PATCH for CSRF `#86`_.

.. _`#77`: pallets-eco/flask-wtf#77
.. _`#81`: pallets-eco/flask-wtf#81
.. _`#86`: pallets-eco/flask-wtf#86


Version 0.9.1
-------------

Released 2013/8/21

This is a patch version for backward compitable for Flask<0.10 `#82`_.

.. _`#82`: pallets-eco/flask-wtf#82

Version 0.9.0
-------------

Released 2013/8/15

- Add i18n support (issue #65)
- Use default html5 widgets and fields provided by wtforms
- Python 3.3+ support
- Redesign form, replace SessionSecureForm
- CSRF protection solution
- Drop wtforms imports
- Fix recaptcha i18n support
- Fix recaptcha validator for python 3
- More test cases, it's 90%+ coverage now
- Redesign documentation
jperkin pushed a commit that referenced this pull request Dec 9, 2013
Upstream changes:
3.1.0 2013-11-16 16:46:35+0900
    [BUG FIXES]
    - Close #95; $/ affected the parse() method

    [FEATURES]
    - Add $xslate->validate($file) method to check template syntax

3.0.2 2013-11-15 21:56:53+0900
    [BUG FIXES]
    - Fix a mojibake issue where utf8::upgrade() was always called when
      loading caches (hanabukuro++)

3.0.1 2013-11-04 12:27:51+0900
    [TEST FIXES]
    - Fix a test that might fail on a slow machine like Raspberry Pi
      (Getty++)

3.0.0 2013-10-18 08:59:22+0900
    - No code changes from 2.1.0, just re-packaging for package managers

2.1.0 2013-10-17 22:18:21+0900
    [BUG FIXES]
    - Fix an issue that multi-bytes string literals used for a hash key
      was not dealt as a text string (@niratama++)
      WARNING: this change could break your code if you use multi-byte
               text string as a hash key.

2.0010 2013-10-07 21:56:12+0900
    [BUG FIXES]
    - Fix an issue that vpath with text-strings raised errors
      on newer perls due to specification changes in PerlIO::scalar (#90)
    - Documentation tweaks (#84, #86)
jperkin pushed a commit that referenced this pull request Jan 21, 2014
=============

 - Tig now has its own tag on Stack Overflow, where users are invited to
   ask questions: http://stackoverflow.com/questions/tagged/tig

Improvements:

 - Make tig prompt commands bindable to keys. For example:
   `bind diff F :set diff-options = --full-diff`. (GH #69, #116)
 - Add a diff-options setting for specifying default diff options.
   Example: `set diff-options = --patience`. (GH #116)
 - Options in diff-options and blame-options matching tig browsing state
   variables are replaced.
 - Show diff stats as wide as the terminal. (GH #109)
 - Show line numbers in the branch view. (GH #135)
 - Add toggles for showing author email or email user names. (GH #115)
 - Open editor at the selected line by prefixing the file argument with
   `+<lineno>`. Tested in vi, vim, emacs, nano, gedit, geany. Disable
   by adding `set editor-line-number = no` to ~/.tigrc. (GH #118, #119)
 - Add toggle-files to control whether to show full commit diff or only
   the diff concerning the currently selected file, e.g. for blame.
 - Optionally highlight exceeding characters in long commit titles.
   The default title max width is 50 characters. Customize using:
   `set title-overflow = 50` (GH #125)
 - Add +ESC key bindings. Example: `bind generic ^[v move-page-up` (GH #120)
 - Create temporary files in TMPDIR, TEMP, or TMP before defaulting to /tmp.
 - Reenable `tig log` as a subcommand. (GH #146)
 - Enable tilde expansion in ~/.tigrc "source" commands. (GH #168)
 - Introduce the stash view, bound to the 'y' keybinding. (GH #169, #174)

Bug fixes:

 - Fix blame and status to work in directories starting with a dot. (GH #172)
 - Reload current branch name when reloading the status view. (GH #93)
 - Fix compile errors on old Solaris. (GH #97)
 - Reload HEAD info when reloading the stage view. (GH #104, #93)
 - Fix disappearing branch labels after external commands. (GH #148)
 - Fix diff view display for staged/unstaged changes when using 'd'.
 - Fix display of status messages when toggling view options. (GH #111)
 - Fix illegal memory access. (GH #98)
 - Fix display of all branches label in repos with short branch names.
 - Fix rendering glitch for branch names.
 - Do not apply diff styling to untracked files in the stage view. (GH #153)
 - Fix tree indentation for entries containing combining characters. (GH #170)
 - Ignore unrepresentable characters when transliterating text for rendering.
 - Transliterate text to output encoding before trimming it to avoid
   misalignment. (GH #86)
 - Introduce a more natural context-sensitive log display. (GH #155)
jperkin pushed a commit that referenced this pull request Jan 21, 2014
News
====

Release 3.0.8 - 2013/09/29
--------------------------

Improvements
^^^^^^^^^^^^

* [admin] Improved error handling of select functionality. This change shows error message
  and hides loading dialog. [Patch by orangain]
* [admin] Improved to submit search form with the enter key. [Patch by orangain]
* [admin] Improved to show placeholder in search form.
  This change shows usage examples. [Patch by orangain]
* [httpd] Supported :ref:`groonga-query-log-path` directive
* [doc] Updated :doc:`/reference/commands/select` documentation about the number of
  hits in select response.
* Improved to ignore an empty token which is generated by continuous spaces from tokenizer.
  [groonga-dev,01729] [Suggested by Naoya Murakami]
* [token delimit] Improved to treat continuous spaces as a space.
  The tokenizer regards 2 or more spaces are valid input.
* [doc] Added note about indexes for each column vs indexes for multiple column.
* [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe]
* Supported :ref:`cascade-delete` to referenced records. In previous version,
  You got an error for the operation.
* [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe]
* [experimental] Added :doc:`/reference/commands/ruby_eval` command.
* [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe]

Fixes
^^^^^

* [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work.

Thanks
^^^^^^

* orangain
* Naoya Murakami
* Kazuhiro Isobe

Release 3.0.7 - 2013/08/29
--------------------------

Improvements
^^^^^^^^^^^^

* [doc] Added API documentation. [groonga-dev,01593]
  [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100]
  [Patch by whombx]
* [table_remove] Improved not to remove patricia trie table or hash table
  which is still referenced. This change avoids that referenced table is removed accidentally.
* Improved to just ignore too long token (4096 bytes or more).
  This change affects when it is registered. In the previous version, it is treated as an
  error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami]
* Improved to show actual discarded posting term in log message.
  [groonga-dev,01621] [Reported by Naoya Murakami]
* [httpd] Supported loading data using POST method. [GitHub#101]
  [Patch by Motoi Washida]
* [httpd] Supported groonga log as ``groonga_log_path`` directive.
* [httpd] Supported groonga log level as ``groonga_log_level`` directive.
* [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive.

Fixes
^^^^^

* Fixed a bug that error in expression may cause stack overflow.
  This change avoids that groonga crashes suddenly as a result of error accumlation.
* Fixed a crash bug that offline index construction for vector column which has
  orphan reference causes.
* Fixed a bug that groonga doesn't exit on error while daemon mode starts.
  For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug.
* [dump] Fixed a bug that wrong table type is dumped.
  This bug occurs when table type is TABLE_PAT_KEY and key is reference type.
* Fixed a bug that the default ``--cache-limit`` value is 0.
  The default value is changed to '100'.
* Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used.
* [doc] Fixed description of defrag command. [Reported by @naoina]
* [doc] Fixed description about the way to contribute. [GitHub#77]
  [Patch by Masafumi Yokoyama]
* [plugin] Fixed a crash bug on multiple DB open case.
  This bug affects the case that multiple plugin is used and the same database is opened from
  multiple process. [groonga-dev,01596] [Reported by Naoya Murakami]
* Fixed a bug that nested match operation after ``AND`` operator doesn't work.
  The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug.
  [groonga-dev,01599] [Reported by Motoi Washida]
* [doc] Fixed a typo about documentation of special characters.
  [Reported by Genki Takiuchi]
* Fixed a typo in error message when invalid character is given.
  [Reported by YOSHIDA Mitsuo]

Thanks
^^^^^^

* whombx
* @naoina
* Masafumi Yokoyama
* Motoi Washida
* Genki Takiuchi
* YOSHIDA Mitsuo
jperkin pushed a commit that referenced this pull request Jan 21, 2014
(No changelog for 0.9.3 supplied, but includes maintainer change.)

Version 0.9.2
-------------

Released 2013/9/11

- Upgrade wtforms to 1.0.5.
- No lazy string for i18n `#77`_.
- No DateInput widget in html5 `#81`_.
- PUT and PATCH for CSRF `#86`_.

.. _`#77`: pallets-eco/flask-wtf#77
.. _`#81`: pallets-eco/flask-wtf#81
.. _`#86`: pallets-eco/flask-wtf#86


Version 0.9.1
-------------

Released 2013/8/21

This is a patch version for backward compitable for Flask<0.10 `#82`_.

.. _`#82`: pallets-eco/flask-wtf#82

Version 0.9.0
-------------

Released 2013/8/15

- Add i18n support (issue #65)
- Use default html5 widgets and fields provided by wtforms
- Python 3.3+ support
- Redesign form, replace SessionSecureForm
- CSRF protection solution
- Drop wtforms imports
- Fix recaptcha i18n support
- Fix recaptcha validator for python 3
- More test cases, it's 90%+ coverage now
- Redesign documentation
jperkin pushed a commit that referenced this pull request Jan 21, 2014
Upstream changes:
3.1.0 2013-11-16 16:46:35+0900
    [BUG FIXES]
    - Close #95; $/ affected the parse() method

    [FEATURES]
    - Add $xslate->validate($file) method to check template syntax

3.0.2 2013-11-15 21:56:53+0900
    [BUG FIXES]
    - Fix a mojibake issue where utf8::upgrade() was always called when
      loading caches (hanabukuro++)

3.0.1 2013-11-04 12:27:51+0900
    [TEST FIXES]
    - Fix a test that might fail on a slow machine like Raspberry Pi
      (Getty++)

3.0.0 2013-10-18 08:59:22+0900
    - No code changes from 2.1.0, just re-packaging for package managers

2.1.0 2013-10-17 22:18:21+0900
    [BUG FIXES]
    - Fix an issue that multi-bytes string literals used for a hash key
      was not dealt as a text string (@niratama++)
      WARNING: this change could break your code if you use multi-byte
               text string as a hash key.

2.0010 2013-10-07 21:56:12+0900
    [BUG FIXES]
    - Fix an issue that vpath with text-strings raised errors
      on newer perls due to specification changes in PerlIO::scalar (#90)
    - Documentation tweaks (#84, #86)
jperkin pushed a commit that referenced this pull request Jan 21, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy.
PyFITS is a Python module for reading, writing, and manipulating FITS files.
The module uses Python's object-oriented features to provide quick, easy, and
efficient access to FITS files. The use of Python's array syntax enables
immediate access to any FITS extension, header cards, or data items.

Changes to 2.4.0 (in py-pyfits):

Changelog
===========

3.2 (2013-11-26)
----------------

Highlights
^^^^^^^^^^

- Rewrote CFITSIO-based backend for handling tile compression of FITS files.
  It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO
  as before.  PyFITS ships with its own copy of CFITSIO v3.35 which supports
  the latest version of the Tiled Image Convention (v2.3), but system
  packagers may choose instead to strip this out in favor of a
  system-installed version of CFITSIO.  Earlier versions may work, but nothing
  earlier than 3.28 has been tested yet. (#169)

- Added support for reading and writing tables using the Q format for columns.
  The Q format is identical to the P format (variable-length arrays) except
  that it uses 64-bit integers for the data descriptors, allowing more than
  4 GB of variable-length array data in a single table. (#160)

- Added initial support for table columns containing pseudo-unsigned integers.
  This is currently enabled by using the ``uint=True`` option when opening
  files; any table columns with the correct BZERO value will be interpreted
  and returned as arrays of unsigned integers.

- Some refactoring of the table and ``FITS_rec`` modules in order to better
  separate the details of the FITS binary and ASCII table data structures from
  the HDU data structures that encapsulate them.  Most of these changes should
  not be apparent to users (but see API Changes below).


API Changes
^^^^^^^^^^^

- Assigning to values in ``ColDefs.names``, ``ColDefs.formats``,
  ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return
  lists of column properties is no longer supported.  Assigning to those lists
  will no longer update the corresponding columns.  Instead, please just
  modify the ``Column`` instances directly (``Column.name``, ``Column.null``,
  etc.)

- The ``pyfits.new_table`` function is marked "pending deprecation".  This
  does not mean it will be removed outright or that its functionality has
  changed.  It will likely be replaced in the future for a function with
  similar, if not subtly different functionality.  A better, if not slightly
  more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create
  a new ``FITS_rec`` table--this has the same interface as
  ``pyfits.new_table``.  The difference is that it returns a plan ``FITS_rec``
  array, and not an HDU instance.  This ``FITS_rec`` object can then be used
  as the data argument in the constructors for ``BinTableHDU`` (for binary
  tables) or ``TableHDU`` (for ASCII tables).  This is analogous to creating
  an ``ImageHDU`` by passing in an image array.
  ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a
  FITS-compatible recarray from a FITS column specification.

- The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData``
  methods of the ``CompDataHDU`` class are pending deprecation and moved to
  internal methods.  The operation of these methods depended too much on
  internal state to be used safely by users; instead they are invoked
  automatically in the appropriate places when reading/writing compressed image
  HDUs.

- The ``CompDataHDU.compData`` attribute is pending deprecation in favor of
  the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``.

- The constructor for ``CompDataHDU`` has been changed to accept new keyword
  arguments.  The new keyword arguments are essentially the same, but are in
  underscore_separated format rather than camelCase format.  The old arguments
  are still pending deprecation.

- The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and
  ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``,
  and ``_data_size`` respectively.  The old attribute names are still pending
  deprecation.  This should only be of interest to advanced users who have
  created their own HDU subclasses.

- The following previously deprecated functions and methods have been removed
  entirely: ``createCard``, ``createCardFromString``, ``upperKey``,
  ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``,
  ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``.

  If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with
  the ``python -Wd`` argument, warnings for all deprecated interfaces still in
  use will be displayed.

- Interfaces that were pending deprecation are now fully deprecated.  These
  include: ``create_card``, ``create_card_from_string``, ``upper_key``,
  ``Header.get_history``, and ``Header.get_comment``.

- The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so
  that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa.

- The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to
  ``pyfits.file.PYFITS_MODES`` which better reflects its purpose.  This is
  rarely used by client code, however.  Support for the old name will be
  removed by PyFITS 3.4.


Other Changes and Additions
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- The new compression code also adds support for the ZQUANTIZ and ZDITHER0
  keywords added in more recent versions of this FITS Tile Compression spec.
  This includes support for lossless compression with GZIP. (#198) By default
  no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and
  ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct
  constants to the ``quantize_method`` argument to the ``CompImageHDU``
  constuctor.  A seed can be manually specified, or automatically generated
  using either the system clock or checksum-based methods via the
  ``dither_seed`` argument.  See the documentation for ``CompImageHDU`` for
  more details. (#198) (spacetelescope/PYFITS#32)

- Images compressed with the Tile Compression standard can now be larger than
  4 GB through support of the Q format. (#159)

- All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of
  the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist.  This
  was added for consistency with the ``.name`` attribute which returns the
  EXTNAME value from the header.

- Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes
  which give the Numpy dtype for the column data in the first case, and the
  full Numpy compound dtype for each table row in the latter case.

- There was an issue where new tables created defaulted the values in all
  string columns to '0.0'.  Now string columns are filled with empty strings
  by default--this seems a less surprising default, but it may cause
  differences with tables created with older versions of PyFITS.

- Improved round-tripping and preservation of manually assigned column
  attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers.
  (astropy/astropy#996)


Bug Fixes
^^^^^^^^^

- Binary tables containing compressed images may, optionally, contain other
  columns unrelated to the tile compression convention. Although this is an
  uncommon use case, it is permitted by the standard. (#159)

- Reworked some of the file I/O routines to allow simpler, more consistent
  mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more
  "PyFITS-specific" modes used by PyFITS like "readonly" and "update".
  That is, if reading a FITS file from an open file object, it doesn't matter
  as much what "mode" it was opened in so long as it has the right
  capabilities (read/write/etc.)  Also works around bugs in the Python io
  module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968)


3.1.3 (2013-11-26)
------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (spacetelescope/PyFITS#11)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general.

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.0.12 (2013-11-26)
-------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (Backported from 3.1.3)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (Backported from 3.1.3)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general. (Backported from 3.1.3)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.1.2 (2013-04-22)
------------------

- When an error occurs opening a file in fitsdiff the exception message will
  now at least mention which file had the error. (#168)

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images
  did not correctly write the TFORMn keywords for variable-length array
  columns (they ommitted the max array length parameter of the format). (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. (#201)

- Added use of the console_scripts entry point to install the fitsdiff and
  fitscheck scripts, which if nothing else provides better Windows support.
  The generated scripts now override the ones explicitly defined in the
  scripts/ directory (which were just trivial stubs to begin with). (#202)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. (#218)

- Fixed inconsistent behavior in creating CONTINUE cards from byte strings
  versus unicode strings in Python 2--CONTINUE cards can now be created
  properly from unicode strings (so long as they are convertable to ASCII).
  (spacetelescope/PyFITS#1)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. (spacetelescope/PyFITS#3)

- Fixed a bug in parsing HIERARCH keywords that do not have a space after
  the first equals sign (before the value). (spacetelescope/PyFITS#5)

- Prevented extra leading whitespace on HIERARCH keywords from being treated
  as part of the keyword. (spacetelescope/PyFITS#6)

- Fixed a bug where HIERARCH keywords containing lower-case letters was
  mistakenly marked as invalid during header validation.
  (spacetelescope/PyFITS#7)

- Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the
  ``Header.index()`` method did not work correctly with HIERARCH keywords
  containing lower-case letters.


3.0.11 (2013-04-17)
-------------------

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. Backported from 3.1.2. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. Backported from 3.1.2. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images did
  not correctly write the TFORMn keywords for variable-length array columns
  (they ommitted the max array length parameter of the format). Backported from
  3.1.2. (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. Backported from 3.1.2. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. Backported from 3.1.2. (#201)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2.
  (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. Backported from 3.1.2. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. Backported from 3.1.2. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. Backported
  from 3.1.2. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. Backported from 3.1.2. (#218)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. Backported from 3.1.2.
  (spacetelescope/PyFITS#3)


3.1.1 (2013-01-02)
------------------

This is a bug fix release for the 3.1.x series.

Bug Fixes
^^^^^^^^^

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verboten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will automatically use compatible tile sizes even if they're not
  explicitly specified. (#171)

- Added support for the optional ``endcard`` parameter in the
  ``Header.fromtextfile()`` and ``Header.totextfile()`` methods.  Although
  ``endcard=False`` was a reasonable default assumption, there are still text
  dumps of FITS headers that include the END card, so this should have been
  more flexible. (#176)

- Fixed a crash when running fitsdiff on two empty (that is, zero row) tables.
  (#178)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. (#180)

- Fixed a crash when generating diff reports from diffs using the
  ``ignore_comments`` options. (#181)

- Fixed some bugs with WCS Paper IV record-valued keyword cards:

  - Cards that looked kind of like RVKCs but were not intended to be were
    over-permissively treated as such--commentary keywords like COMMENT and
    HISTORY were particularly affected. (#183)

  - Looking up a card in a header by its standard FITS keyword only should
    always return the raw value of that card.  That way cards containing
    values that happen to valid RVKCs but were not intended to be will still
    be treated like normal cards. (#184)

  - Looking up a RVKC in a header with only part of the field-specifier (for
    example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a
    wildcard lookup. (#184)

- Fixed a crash when diffing two FITS files where at least one contains a
  compressed image HDU which was not recognized as an image instead of a
  table. (#187)

- Fixed bugs in the backwards compatibility layer for the ``CardList.index``
  and ``CardList.count`` methods. (#190)

- Improved ``__repr__`` and text file representation of cards with long values
  that are split into CONTINUE cards. (#193)

- Fixed a crash when trying to assign a long (> 72 character) value to blank
  ('') keywords. This also changed how blank keywords are represented--there
  are still exactly 8 spaces before any commentary content can begin; this
  *may* affect the exact display of header cards that assumed there could be
  fewer spaces in a blank keyword card before the content begins. However, the
  current approach is more in line with the requirements of the FITS standard.
  (#194)


3.0.10 (2013-01-02)
-------------------

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too.  Backported from 3.1.1. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing.  Backported
  from 3.1.1. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verbotten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  Backported from 3.1.1. (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will not automatically use compatible tile sizes even if they're not
  explicitly specified.  Backported from 3.1.1. (#171)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  Backported from 3.1.0. (#174)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified.  Backported from 3.1.1. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180)


3.1 (2012-08-08)
----------------

Highlights
^^^^^^^^^^

- The ``Header`` object has been significantly reworked, and ``CardList``
  objects are now deprecated (their functionality folded into the ``Header``
  class).  See API Changes below for more details.

- Memory maps are now used by default to access HDU data.  See API Changes
  below for more details.

- Now includes a new version of the ``fitsdiff`` program for comparing two
  FITS files, and a new FITS comparison API used by ``fitsdiff``.  See New
  Features below.

API Changes
^^^^^^^^^^^

- The ``Header`` class has been rewritten, and the ``CardList`` class is
  deprecated.  Most of the basic details of working with FITS headers are
  unchanged, and will not be noticed by most users.  But there are differences
  in some areas that will be of interest to advanced users, and to application
  developers.  For full details of the changes, see the "Header Interface
  Transition Guide" section in the PyFITS documentation.  See ticket #64 on
  the PyFITS Trac for futher details and background. Some highlights are
  listed below:

  * The Header class now fully implements the Python dict interface, and can
    be used interchangably with a dict, where the keys are header keywords.

  * New keywords can be added to the header using normal keyword assignment
    (previously it was necessary to use ``Header.update`` to add new
    keywords).  For example::

        >>> header['NAXIS'] = 2

    will update the existing 'FOO' keyword if it already exists, or add a new
    one if it doesn't exist, just like a dict.

  * It is possible to assign both a value and a comment at the same time using
    a tuple::

        >>> header['NAXIS'] = (2, 'Number of axes')

  * To add/update a new card and ensure it's added in a specific location, use
    ``Header.set()``::

        >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX')

    This works the same as the old ``Header.update()``.  ``Header.update()``
    still works in the old way too, but is deprecated.

  * Although ``Card`` objects still exist, it generally is not necessary to
    work with them directly.  ``Header.ascardlist()``/``Header.ascard`` are
    deprecated and should not be used.  To directly access the ``Card``
    objects in a header, use ``Header.cards``.

  * To access card comments, it is still possible to either go through the
    card itself, or through ``Header.comments``.  For example::

       >>> header.cards['NAXIS'].comment
       Number of axes
       >>> header.comments['NAXIS']
       Number of axes

  * ``Card`` objects can now be used interchangeably with
    ``(keyword, value, comment)`` 3-tuples.  They still have ``.value`` and
    ``.comment`` attributes as well.  The ``.key`` attribute has been renamed
    to ``.keyword`` for consistency, though ``.key`` is still supported (but
    deprecated).

- Memory mapping is now used by default to access HDU data.  That is,
  ``pyfits.open()`` uses ``memmap=True`` as the default.  This provides better
  performance in the majority of use cases--there are only some I/O intensive
  applications where it might not be desirable.  Enabling mmap by default also
  enabled finding and fixing a large number of bugs in PyFITS' handling of
  memory-mapped data (most of these bug fixes were backported to PyFITS
  3.0.5). (#85)

  * A new ``pyfits.USE_MEMMAP`` global variable was added.  Set
    ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for
    opening files.  This is especially useful for controlling the behavior in
    applications where pyfits is deeply embedded.

  * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported.
    Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default
    behavior.

- The ``size()`` method on HDU objects is now a ``.size`` property--this
  returns the size in bytes of the data portion of the HDU, and in most cases
  is equivalent to ``hdu.data.nbytes`` (#83)

- ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use
  ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead.  The new methods
  output the table data in a slightly different format from previous versions,
  which places quotes around each value.  This format is compatible with data
  dumps from previous versions of PyFITS, but not vice-versa due to a parsing
  bug in older versions.

- Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function
  versions of these methods have been renamed ``pyfits.tabledump`` and
  ``pyfits.tableload``.  The old deprecated, but currently retained for
  backwards compatibility. (r1125)

- A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added.
  This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive``
  which is not deprecated and may be removed in a future version.  To enable
  case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI')
  set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``.  The default is
  ``False``. (r1139)

- A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was
  added.  By default, if a string value in a header contains trailing
  whitespace, that whitespace is automatically removed when the value is read.
  Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is
  preserved. (#146)

- The old ``classExtensions`` extension mechanism (which was deprecated in
  PyFITS 3.0) is removed outright.  To our knowledge it was no longer used
  anywhere. (r1309)

- Warning messages from PyFITS issued through the Python warnings API are now
  output to stderr instead of stdout, as is the default.  PyFITS no longer
  modifies the default behavior of the warnings module with respect to which
  stream it outputs to. (r1319)

- The ``checksum`` argument to ``pyfits.open()`` now accepts a value of
  'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored,
  and removed when the file is saved.

New Features
^^^^^^^^^^^^

- Added support for the proposed "FITS" extension HDU type.  See
  http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html.  FITS
  HDUs contain an entire FITS file embedded in their data section.  `FitsHDU`
  objects work like other HDU types in PyFITS.  Their ``.data`` attribute
  returns the raw data array.  However, they have a special ``.hdulist``
  attribute which processes the data as a FITS file and returns it as an
  in-memory HDUList object.  FitsHDU objects also support a
  ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object
  that embeds the supplied HDUList. (#80)

- Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU
  data is an 'image' as opposed to a table or something else.  Here the
  meaning of 'image' is fairly loose, and mostly just means a Primary or Image
  extension HDU, or possibly a compressed image HDU (#71)

- Added an ``HDUList.fromstring`` classmethod which can parse a FITS file
  already in memory and instantiate and ``HDUList`` object from it.  This
  could be useful for integrating PyFITS with other libraries that work on
  FITS file, such as CFITSIO.  It may also be useful in streaming
  applications.  The name is a slight misnomer, in that it actually accepts
  any Python object that implements the buffer interface, which includes
  ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90)

- Added a new ``pyfits.diff`` module which contains facilities for comparing
  FITS files.  One can use the ``pyfits.diff.FITSDiff`` class to compare two
  FITS files in their entirety.  There is also a ``pyfits.diff.HeaderDiff``
  class for just comparing two FITS headers, and other similar interfaces.
  See the PyFITS Documentation for more details on this interface.  The
  ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with
  PyFITS.  After installing PyFITS, run ``fitsdiff --help`` for usage details.

- ``pyfits.open()`` now accepts a ``scale_back`` argument.  If set to
  ``True``, this automatically scales the data using the original BZERO and
  BSCALE parameters the file had when it was first opened, if any, as well as
  the original BITPIX.  For example, if the original BITPIX were 16, this
  would be equivalent to calling ``hdu.scale('int16', 'old')`` just before
  calling ``flush()`` or ``close()`` on the file.  This option applies to all
  HDUs in the file. (#120)

- ``pyfits.open()`` now accepts a ``save_backup`` argument.  If set to
  ``True``, this automatically saves a backup of the original file before
  flushing any changes to it (this of course only applies to update and append
  mode).  This may be especially useful when working with scaled image data.
  (#121)

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Warnings from PyFITS are not output to stderr by default, instead of stdout
  as it has been for some time.  This is contrary to most users' expectations
  and makes it more difficult for them to separate output from PyFITS from the
  desired output for their scripts. (r1319)

Bug Fixes
^^^^^^^^^

- Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust
  when encountering blank lines in a column definition file (#14)

- Fixed a fairly rare crash that could occur in the handling of CONTINUE cards
  when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by
  PyFITS). (r1330)

- Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU
  object from a string/buffer containing the header and data of that HDU.
  This allowed for the implementation of ``HDUList.fromstring`` described
  above. (#90)

- Fixed a rare corner case where, in some use cases, (mildly, recoverably)
  malformatted float values in headers were not properly returned as floats.
  (#137)

- Fixed a corollary to the previous bug where float values with a leading zero
  before the decimal point had the leading zero unnecessarily removed when
  saving changes to the file (eg. "0.001" would be written back as ".001" even
  if no changes were otherwise made to the file). (#137)

- When opening a file containing CHECKSUM and/or DATASUM keywords in update
  mode, the CHECKSUM/DATASUM are updated and preserved even if the file was
  opened with checksum=False.  This change in behavior prevents checksums from
  being unintentionally removed. (#148)

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  This fix will be backported to the 3.0.x series in
  version 3.0.10.  (#174)


3.0.9 (2012-08-06)
------------------

This is a bug fix release for the 3.0.x series.

Bug Fixes
^^^^^^^^^

- Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/
  ``Header.iteritems()`` to correctly return the different values for
  duplicate keywords (particularly commentary keywords like HISTORY and
  COMMENT).  This makes the old Header implementation slightly more compatible
  with the new implementation in PyFITS 3.1. (#127)

  .. note::
      This fix did not change the existing behavior from earlier PyFITS
      versions where ``Header.keys()`` returns all keywords in the header with
      duplicates removed.  PyFITS 3.1 changes that behavior, so that
      ``Header.keys()`` includes duplicates.

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug where opening a file containing compressed image HDUs in
  'update' mode and then immediately closing it without making any changes
  caused the file to be rewritten unncessarily. (#167)

- Fixed two memory leaks that could occur when writing compressed image data,
  or in some cases when opening files containing compressed image HDUs in
  'update' mode. (#168)


3.0.8 (2012-06-04)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Prior to this release, image data sections did not work with scaled
  data--that is, images with non-trivial BSCALE and/or BZERO values.
  Previously, in order to read such images in sections, it was necessary to
  manually apply the BSCALE+BZERO to each section.  It's worth noting that
  sections *did* support pseudo-unsigned ints (flakily).  This change just
  extends that support for general BSCALE+BZERO values.

Bug Fixes
^^^^^^^^^

- Fixed a bug that prevented updates to values in boolean table columns from
  being saved.  This turned out to be a symptom of a deeper problem that could
  prevent other table updates from being saved as well. (#139)

- Fixed a corner case in which a keyword comment ending with the string "END"
  could, in some circumstances, cause headers (and the rest of the file after
  that point) to be misread. (#142)

- Fixed support for scaled image data and psuedo-unsigned ints in image data
  sections (``hdu.section``).  Previously this was not supported at all.  At
  some point support was supposedly added, but it was buggy and incomplete.
  Now the feature seems to work much better. (#143)

- Fixed the documentation to point out that image data sections *do* support
  non-contiguous slices (and have for a long time).  The documentation was
  never updated to reflect this, and misinformed users that only contiguous
  slices were supported, leading to some confusion. (#144)

- Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY
  HDUs caused an infinite recursion when validating the object prior to
  writing to a file. (#145)

- Fixed a rare but serious case where saving an update to a file that
  previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum
  in saving, could cause the file to be slightly corrupted and unreadable.
  (#147)

- Fixed problems with reading "non-standard" FITS files with primary headers
  containing SIMPLE = F.  PyFITS has never made many guarantees as to how such
  files are handled.  But it should at least be possible to read their
  headers, and the data if possible.  Saving changes to such a file should not
  try to prepend an unwanted valid PRIMARY HDU. (#157)

- Fixed a bug where opening an image with ``disable_image_compression = True``
  caused compression to be disabled for all subsequent ``pyfits.open()`` calls.
  (r1651)


3.0.7 (2012-04-10)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Slices of GroupData objects now return new GroupData objects instead of
  extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed
  FITS_rec slicing, and should have been fixed for GroupData at the same time.
  The old behavior caused bugs where functions internal to Numpy expected that
  slicing an ndarray would return a new ndarray.  As this is a rare usecase
  with a rare feature most users are unlikely to be affected by this change.

- The previously internal _Group object for representing individual group
  records in a GroupData object are renamed Group and are now a public
  interface.  However, there's almost no good reason to create Group objects
  directly, so it shouldn't be considered a "new feature".

- An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND
  keyword was always being set to F if there are not actually any extension
  HDUs.  It was unnecessary to modify this value.

Bug Fixes
^^^^^^^^^

- Fixed GroupData objects to return new GroupData objects when sliced instead
  of _Group record objects.  See "Changes in behavior" above for more details.

- Fixed slicing of Group objects--previously it was not possible to slice
  slice them at all.

- Made it possible to assign `np.bool_` objects as header values. (#123)

- Fixed overly strict handling of the EXTEND keyword; see "Changes in
  behavior" above. (#124)

- Fixed many cases where an HDU's header would be marked as "modified" by
  PyFITS and rewritten, even when no changes to the header are necessary.
  (#125)

- Fixed a bug where the values of the PTYPEn keywords in a random groups HDU
  were forced to be all lower-case when saving the file. (#130)

- Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was
  causing some slowdown when opening files containing a large number of
  extensions, plus a few other small (but not insignficant) performance
  improvements thanks to Julian Taylor. (#133)

- Fixed a regression where header blocks containing invalid end-of-header
  padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS.
  Such headers can be parsed again, but a warning is raised, as such headers
  are not valid FITS. (#136)

- Fixed a memory leak where table data in random groups HDUs weren't being
  garbage collected. (#138)


3.0.6 (2012-02-29)
------------------

Highlights
^^^^^^^^^^

The main reason for this release is to fix an issue that was introduced in
PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with
non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data
to be automatically rescaled--possibly converting the data from ints to
floats--as soon as the file is closed, even if the application did not touch
the data.  Now PyFITS will only rescale the data in an extension when the data
is actually accessed by the application.  So opening a file in 'update' mode
in order to modify the header or append new extensions will not cause any
change to the data in existing extensions.

This release also fixes a few Windows-specific bugs found through more
extensive Windows testing, and other miscellaneous bugs.

Bug Fixes
^^^^^^^^^

- More accurate error messages when opening files containing invalid header
  cards. (#109)

- Fixed a possible reference cycle/memory leak that was caught through more
  extensive testing on Windows. (#112)

- Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w'
  mode. (#112)

- Fixed a Windows-only issue where trying to save updates to a resized FITS
  file could result in a crash due to there being open mmaps on that file.
  (#112)

- Fixed a crash when trying to create a FITS table (i.e. with new_table())
  from a Numpy array containing bool fields. (#113)

- Fixed a bug where manually initializing an ``HDUList`` with a list of of
  HDUs wouldn't set the correct EXTEND keyword value on the primary HDU.
  (#114)

- Fixed a crash that could occur when trying to deepcopy a Header in Python <
  2.7. (#115)

- Fixed an issue where merely opening a scaled image in 'update' mode would
  cause the data to be converted to floats when the file is closed. (#119)


3.0.5 (2012-01-30)
------------------

- Fixed a crash that could occur when accessing image sections of files
  opened with memmap=True. (r1211)

- Fixed the inconsistency in the behavior of files opened in 'readonly' mode
  when memmap=True vs. when memmap=False.  In the latter case, although
  changes to array data were not saved to disk, it was possible to update the
  array data in memory.  On the other hand with memmap=True, 'readonly' mode
  prevented even in-memory modification to the data.  This is what
  'copyonwrite' mode was for, but difference in behavior was confusing.  Now
  'readonly' is equivalent to 'copyonwrite' when using memmap.  If the old
  behavior of denying changes to the array data is necessary, a new
  'denywrite' mode may be used, though it is only applicable to files opened
  with memmap. (r1275)

- Fixed an issue where files opened with memmap=True would return image data
  as a raw numpy.memmap object, which can cause some unexpected
  behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285)

- Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3
  interacted badly with some other software, namely to vo.table package (and
  possibly others). (r1320, r1337, and #110)

- Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard
  interrupts) while flushing changes to a FITS file.  PyFITS already prevented
  SIGINTs from causing an incomplete flush, but did not clean up the signal
  handlers properly afterwards, or reraise the keyboard interrupt once the
  flush was complete. (r1321)

- Fixed a crash that could occur in Python 3 when opening files with checksum
  checking enabled. (r1336)

- Fixed a small bug that could cause a crash in the `StreamingHDU` interface
  when using Numpy below version 1.5.

- Fixed a crash that could occur when creating a new `CompImageHDU` from an
  array of big-endian data. (#104)

- Fixed a crash when opening a file with extra zero padding at the end.
  Though FITS files should not have such padding, it's not explictly forbidden
  by the format either, and PyFITS shouldn't stumble over it. (#106)

- Fixed a major slowdown in opening tables containing large columns of string
  values.  (#111)


3.0.4 (2011-11-22)
------------------

- Fixed a crash when writing HCOMPRESS compressed images that could happen on
  Python 2.5 and 2.6. (r1217)

- Fixed a crash when slicing an table in a file opened in 'readonly' mode with
  memmap=True. (r1230)

- Writing changes to a file or writing to a new file verifies the output in
  'fix' mode by default instead of 'exception'--that is, PyFITS will
  automatically fix common FITS format errors rather than raising an
  exception. (r1243)

- Fixed a bug where convenience functions such as getval() and getheader()
  crashed when specifying just 'PRIMARY' as the extension to use (r1263).

- Fixed a bug that prevented passing keyword arguments (beyond the standard
  data and header arguments) as positional arguments to the constructors of
  extension HDU classes.

- Fixed some tests that were failing on Windows--in this case the tests
  themselves failed to close some temp files and Windows refused to delete them
  while there were still open handles on them. (r1295)

- Fixed an issue with floating point formatting in header values on Python 2.5
  for Windows (and possibly other platforms).  The exponent was zero-padded to
  3 digits; although the FITS standard makes no specification on this, the
  formatting is now normalized to always pad the exponent to two digits.
  (r1295)

- Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were
  broken into multiple CONTINUE cards.  However, commentary cards are not
  expected to be found in CONTINUE cards.  Instead these long cards are broken
  into multiple commentary cards. (#97)

- GZIP/ZIP-compressed FITS files can be detected and opened regardless of
  their filename extension. (#99)

- Fixed a serious bug where opening scaled images in 'update' mode and then
  closing the file without touching the data would cause the file to be
  corrupted. (#101)


3.0.3 (2011-10-05)
------------------

- Fixed several small bugs involving corner cases in record-valued keyword
  cards (#70)

- In some cases HDU creation failed if the first keyword value in the header
  was not a string value (#89)

- Fixed a crash when trying to compute the HDU checksum when the data array
  contains an odd number of bytes (#91)

- Disabled an unnecessary warning that was displayed on opening compressed
  HDUs with disable_image_compression = True (#92)

- Fixed a typo in code for handling HCOMPRESS compressed images.


3.0.2 (2011-09-23)
------------------

- The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate``
  function don't get tripped up by blank lines anymore (#14)

- The presence, value, and position of the EXTEND keyword in Primary HDUs is
  verified when reading/writing a FITS file (#32)

- Improved documentation (in warning messages as well as in the handbook) that
  PyFITS uses zero-based indexing (as one would expect for C/Python code, but
  contrary to the PyFITS standard which was written with FORTRAN in mind)
  (#68)

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69) [Note: This and the bug above it
  were originally reported as being fixed in version 3.0.1, but the fix was
  never included in the release.]

- Improved file handling, particularly in Python 3 which had a few small file
  I/O-related bugs (#76)

- Fixed a bug where updating a FITS file would sometimes cause it to lose its
  original file permissions (#79)

- Fixed the handling of TDIMn keywords; 3.0 added support for them, but got
  the axis order backards (they were treated as though they were row-major)
  (#82)

- Fixed a crash when a FITS file containing scaled data is opened and
  immediately written to a new file without explicitly viewing the data first
  (#84)

- Fixed a bug where creating a table with columns named either 'names' or
  'formats' resulted in an infinite recursion (#86)


3.0.1 (2011-09-12)
------------------

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a
  ``FITS_rec`` object with zero rows is returned rather than ``None``.

- The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full
  keyword+field-specifier value, instead of just the plain keyword (#46)

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69)

- Fixed a bug where writing a table with zero rows could fail in some cases
  (#72)

- Miscellanous small bug fixes that were causing some tests to fail,
  particularly on Python 3 (#74, #75)

- Fixed a bug where creating a table column from an array in non-native byte
  order would not preserve the byte order, thus interpreting the column array
  using the wrong byte order (#77)


3.0.0 (2011-08-23)
--------------------

- Contains major changes, bumping the version to 3.0

- Large amounts of refactoring and reorganization of the code; tried to
  preserve public API backwards-compatibility with older versions (private API
  has many changes and is not guaranteed to be backwards-compatible).  There
  are a few small public API changes to be aware of:

  * The pyfits.rec module has been removed completely.  If your version of
    numpy does not have the numpy.core.records module it is too old to be used
    with PyFITS.

  * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard``
    attribute instead.

  * ``Card`` instances have a new ``.cardimage`` attribute that should be used
    rather than ``.ascardimage()``, which may become deprecated.

  * The ``Card.fromstring()`` method is now a classmethod.  It returns a new
    ``Card`` instance rather than modifying an existing instance.

  * The ``req_cards()`` method on HDU instances has changed:  The ``pos``
    argument is not longer a string.  It is either an integer value (meaning
    the card's position must match that value) or it can be a function that
    takes the card's position as it's argument, and returns True if the
    position is valid.  Likewise, the ``test`` argument no longer takes a
    string, but instead a function that validates the card's value and returns
    True or False.

  * The ``get_coldefs()`` method of table HDUs is deprecated.  Use the
    ``.columns`` attribute instead.

  * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns``
    instead (though in general you shouldn't mess with it directly--it might
    become internal at some point).

  * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of
    ``startColumn`` and ``endColumn`` (these are rarely created manually, so
    it's unlikely that this change will affect anyone).

  * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new
    ``BinTableHDU`` instance.

  * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU
    classes.  They are now public interfaces, wheres previously they were
    private and prefixed with underscores.

  * Possibly others--please report if you find any changes that cause
    difficulties.

- Calls to deprecated functions will display a Deprecation warning.  However,
  in Python 2.7 and up Deprecation warnings are ignored by default, so run
  Python with the `-Wd` option to see if you're using any deprecated
  functions.  If we get close to actually removing any functions, we might
  make the Deprecation warnings display by default.

- Added basic Python 3 support

- Added support for multi-dimensional columns in tables as specified by the
  TDIMn keywords (#47)

- Fixed a major memory leak that occurred when creating new tables with the
  ``new_table()`` function (#49)
  be padded with zero-bytes) vs ASCII tables (where strings are padded with
  spaces) (#15)

- Fixed a bug in which the case of Random Access Group parameters names was not
  preserved when writing (#41)

- Added support for binary table fields with zero width (#42)

- Added support for wider integer types in ASCII tables; although this is non-
  standard, some GEIS images require it (#45)

- Fixed a bug that caused the index_of() method of HDULists to crash when the
  HDUList object is created from scratch (#48)

- Fixed the behavior of string padding in binary tables (where strings should
  be padded with nulls instead of spaces)

- Fixed a rare issue that caused excessive memory usage when computing
  checksums using a non-standard block size (see r818)

- Add support for forced uint data in image sections (#53)

- Fixed an issue where variable-length array columns were not extended when
  creating a new table with more rows than the original (#54)

- Fixed tuple and list-based indexing of FITS_rec objects (#55)

- Fixed an issue where BZERO and BSCALE keywords were appended to headers in
  the wrong location (#56)

- ``FITS_record`` objects (table rows) have full slicing support, including
  stepping, etc. (#59)

- Fixed a bug where updating multiple files simultaneously (such as when
  running parallel processes) could lead to a race condition with mktemp()
  (#61)

- Fixed a bug where compressed image headers were not in the order expected by
  the funpack utility (#62)
jperkin pushed a commit that referenced this pull request Mar 14, 2014
Changelog since 3.3.1
3.4.3 - 11/30/2012
------------------
- Reverted squeue changes intended for Nagios 4
- Reapplied all patches from 3.4.2 release
- Applied fix for pagination and sorting on status.cgi #381 (Phil Randal)

3.4.2 - 11/09/2012
------------------
FIXES
* Fixed issue where deleting a downtime could cause Nagios to crash (Eric Stanley)
* Corrected logic so that end times for flexible downtimes are calculated from the dow
ntime start rather than the current time in the case where Nagios is restarted (Eric S
tanley)
* Fixed issue introduced by fix for bug #124 where flexible downtimes are not taken in
to account on Nagios restart. (Scott Wilkerson, Eric Stanley)
* Fixed bug #247: If a service reports no performance data, the perfdata log file has
no line indicating the test. ([email protected])
* Fixed link for unhandled unreachable host problems on tactical overview page (Rudolf
 Cejka)
* Fixed bug #345 with wild card searches not paging properly on status.cgi (Phil Randa
l)
* Fixed bug #343 on status.cgi where Service Group Summary can potentially show wrong
totals (Mark Ziesemer)
* Fixed memory leaks on SIGHUP (Carlos Velasco)

3.4.1 - 05/11/2012
------------------
FIXES
* Double quotes in check_command definition break functionality (#332, reverts #86)


3.4.0 - 05/04/2012
------------------
ENHANCEMENTS
* Added service_check_timeout_state configuration variable (Bill McGonigle)
* Permanently remove sleep on run_event == FALSE in main loop (Max <perldork@webwizard
design.com>)
* Reduce notification load by moving notification viability check into notification li
st creation (Opsview Team)
* Added code to apply allow_empty_hostgroup_assignment flag to host and service depend
encies (Daniel Wittenberg)
* Users can now see hostgroups and servicegroups that contain at least one host or ser
vice they are authorized for, instead of having to be authorized for them all (Ethan G
alstad)
* RSS feed boxes fallback if an error occurs (Ethan Galstad)
* RSS feeds no longer block main page load (Mike Guthrie)

FIXES
* Fix $NOTIFICATIONRECIPIENTS$ macro to contain all contacts assigned to host|service,
 not only notified contacts (Bug #98 Matt Harrington)
* Scheduled Downtime Notifications Resent On Nagios Restart/reload (Bug #124 - ricardo
)
* NOTIFICATIONTYPE MACRO never became CUSTOM (Bug #168 - Alexey Dvoryanchikov)
* Plugged minor memory leaks in notification logic
jperkin pushed a commit that referenced this pull request Mar 14, 2014
=============

 - Tig now has its own tag on Stack Overflow, where users are invited to
   ask questions: http://stackoverflow.com/questions/tagged/tig

Improvements:

 - Make tig prompt commands bindable to keys. For example:
   `bind diff F :set diff-options = --full-diff`. (GH #69, #116)
 - Add a diff-options setting for specifying default diff options.
   Example: `set diff-options = --patience`. (GH #116)
 - Options in diff-options and blame-options matching tig browsing state
   variables are replaced.
 - Show diff stats as wide as the terminal. (GH #109)
 - Show line numbers in the branch view. (GH #135)
 - Add toggles for showing author email or email user names. (GH #115)
 - Open editor at the selected line by prefixing the file argument with
   `+<lineno>`. Tested in vi, vim, emacs, nano, gedit, geany. Disable
   by adding `set editor-line-number = no` to ~/.tigrc. (GH #118, #119)
 - Add toggle-files to control whether to show full commit diff or only
   the diff concerning the currently selected file, e.g. for blame.
 - Optionally highlight exceeding characters in long commit titles.
   The default title max width is 50 characters. Customize using:
   `set title-overflow = 50` (GH #125)
 - Add +ESC key bindings. Example: `bind generic ^[v move-page-up` (GH #120)
 - Create temporary files in TMPDIR, TEMP, or TMP before defaulting to /tmp.
 - Reenable `tig log` as a subcommand. (GH #146)
 - Enable tilde expansion in ~/.tigrc "source" commands. (GH #168)
 - Introduce the stash view, bound to the 'y' keybinding. (GH #169, #174)

Bug fixes:

 - Fix blame and status to work in directories starting with a dot. (GH #172)
 - Reload current branch name when reloading the status view. (GH #93)
 - Fix compile errors on old Solaris. (GH #97)
 - Reload HEAD info when reloading the stage view. (GH #104, #93)
 - Fix disappearing branch labels after external commands. (GH #148)
 - Fix diff view display for staged/unstaged changes when using 'd'.
 - Fix display of status messages when toggling view options. (GH #111)
 - Fix illegal memory access. (GH #98)
 - Fix display of all branches label in repos with short branch names.
 - Fix rendering glitch for branch names.
 - Do not apply diff styling to untracked files in the stage view. (GH #153)
 - Fix tree indentation for entries containing combining characters. (GH #170)
 - Ignore unrepresentable characters when transliterating text for rendering.
 - Transliterate text to output encoding before trimming it to avoid
   misalignment. (GH #86)
 - Introduce a more natural context-sensitive log display. (GH #155)
jperkin pushed a commit that referenced this pull request Mar 14, 2014
News
====

Release 3.0.8 - 2013/09/29
--------------------------

Improvements
^^^^^^^^^^^^

* [admin] Improved error handling of select functionality. This change shows error message
  and hides loading dialog. [Patch by orangain]
* [admin] Improved to submit search form with the enter key. [Patch by orangain]
* [admin] Improved to show placeholder in search form.
  This change shows usage examples. [Patch by orangain]
* [httpd] Supported :ref:`groonga-query-log-path` directive
* [doc] Updated :doc:`/reference/commands/select` documentation about the number of
  hits in select response.
* Improved to ignore an empty token which is generated by continuous spaces from tokenizer.
  [groonga-dev,01729] [Suggested by Naoya Murakami]
* [token delimit] Improved to treat continuous spaces as a space.
  The tokenizer regards 2 or more spaces are valid input.
* [doc] Added note about indexes for each column vs indexes for multiple column.
* [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe]
* Supported :ref:`cascade-delete` to referenced records. In previous version,
  You got an error for the operation.
* [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe]
* [experimental] Added :doc:`/reference/commands/ruby_eval` command.
* [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe]

Fixes
^^^^^

* [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work.

Thanks
^^^^^^

* orangain
* Naoya Murakami
* Kazuhiro Isobe

Release 3.0.7 - 2013/08/29
--------------------------

Improvements
^^^^^^^^^^^^

* [doc] Added API documentation. [groonga-dev,01593]
  [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100]
  [Patch by whombx]
* [table_remove] Improved not to remove patricia trie table or hash table
  which is still referenced. This change avoids that referenced table is removed accidentally.
* Improved to just ignore too long token (4096 bytes or more).
  This change affects when it is registered. In the previous version, it is treated as an
  error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami]
* Improved to show actual discarded posting term in log message.
  [groonga-dev,01621] [Reported by Naoya Murakami]
* [httpd] Supported loading data using POST method. [GitHub#101]
  [Patch by Motoi Washida]
* [httpd] Supported groonga log as ``groonga_log_path`` directive.
* [httpd] Supported groonga log level as ``groonga_log_level`` directive.
* [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive.

Fixes
^^^^^

* Fixed a bug that error in expression may cause stack overflow.
  This change avoids that groonga crashes suddenly as a result of error accumlation.
* Fixed a crash bug that offline index construction for vector column which has
  orphan reference causes.
* Fixed a bug that groonga doesn't exit on error while daemon mode starts.
  For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug.
* [dump] Fixed a bug that wrong table type is dumped.
  This bug occurs when table type is TABLE_PAT_KEY and key is reference type.
* Fixed a bug that the default ``--cache-limit`` value is 0.
  The default value is changed to '100'.
* Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used.
* [doc] Fixed description of defrag command. [Reported by @naoina]
* [doc] Fixed description about the way to contribute. [GitHub#77]
  [Patch by Masafumi Yokoyama]
* [plugin] Fixed a crash bug on multiple DB open case.
  This bug affects the case that multiple plugin is used and the same database is opened from
  multiple process. [groonga-dev,01596] [Reported by Naoya Murakami]
* Fixed a bug that nested match operation after ``AND`` operator doesn't work.
  The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug.
  [groonga-dev,01599] [Reported by Motoi Washida]
* [doc] Fixed a typo about documentation of special characters.
  [Reported by Genki Takiuchi]
* Fixed a typo in error message when invalid character is given.
  [Reported by YOSHIDA Mitsuo]

Thanks
^^^^^^

* whombx
* @naoina
* Masafumi Yokoyama
* Motoi Washida
* Genki Takiuchi
* YOSHIDA Mitsuo
jperkin pushed a commit that referenced this pull request Mar 14, 2014
(No changelog for 0.9.3 supplied, but includes maintainer change.)

Version 0.9.2
-------------

Released 2013/9/11

- Upgrade wtforms to 1.0.5.
- No lazy string for i18n `#77`_.
- No DateInput widget in html5 `#81`_.
- PUT and PATCH for CSRF `#86`_.

.. _`#77`: pallets-eco/flask-wtf#77
.. _`#81`: pallets-eco/flask-wtf#81
.. _`#86`: pallets-eco/flask-wtf#86


Version 0.9.1
-------------

Released 2013/8/21

This is a patch version for backward compitable for Flask<0.10 `#82`_.

.. _`#82`: pallets-eco/flask-wtf#82

Version 0.9.0
-------------

Released 2013/8/15

- Add i18n support (issue #65)
- Use default html5 widgets and fields provided by wtforms
- Python 3.3+ support
- Redesign form, replace SessionSecureForm
- CSRF protection solution
- Drop wtforms imports
- Fix recaptcha i18n support
- Fix recaptcha validator for python 3
- More test cases, it's 90%+ coverage now
- Redesign documentation
jperkin pushed a commit that referenced this pull request Mar 14, 2014
Upstream changes:
3.1.0 2013-11-16 16:46:35+0900
    [BUG FIXES]
    - Close #95; $/ affected the parse() method

    [FEATURES]
    - Add $xslate->validate($file) method to check template syntax

3.0.2 2013-11-15 21:56:53+0900
    [BUG FIXES]
    - Fix a mojibake issue where utf8::upgrade() was always called when
      loading caches (hanabukuro++)

3.0.1 2013-11-04 12:27:51+0900
    [TEST FIXES]
    - Fix a test that might fail on a slow machine like Raspberry Pi
      (Getty++)

3.0.0 2013-10-18 08:59:22+0900
    - No code changes from 2.1.0, just re-packaging for package managers

2.1.0 2013-10-17 22:18:21+0900
    [BUG FIXES]
    - Fix an issue that multi-bytes string literals used for a hash key
      was not dealt as a text string (@niratama++)
      WARNING: this change could break your code if you use multi-byte
               text string as a hash key.

2.0010 2013-10-07 21:56:12+0900
    [BUG FIXES]
    - Fix an issue that vpath with text-strings raised errors
      on newer perls due to specification changes in PerlIO::scalar (#90)
    - Documentation tweaks (#84, #86)
jperkin pushed a commit that referenced this pull request Mar 14, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy.
PyFITS is a Python module for reading, writing, and manipulating FITS files.
The module uses Python's object-oriented features to provide quick, easy, and
efficient access to FITS files. The use of Python's array syntax enables
immediate access to any FITS extension, header cards, or data items.

Changes to 2.4.0 (in py-pyfits):

Changelog
===========

3.2 (2013-11-26)
----------------

Highlights
^^^^^^^^^^

- Rewrote CFITSIO-based backend for handling tile compression of FITS files.
  It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO
  as before.  PyFITS ships with its own copy of CFITSIO v3.35 which supports
  the latest version of the Tiled Image Convention (v2.3), but system
  packagers may choose instead to strip this out in favor of a
  system-installed version of CFITSIO.  Earlier versions may work, but nothing
  earlier than 3.28 has been tested yet. (#169)

- Added support for reading and writing tables using the Q format for columns.
  The Q format is identical to the P format (variable-length arrays) except
  that it uses 64-bit integers for the data descriptors, allowing more than
  4 GB of variable-length array data in a single table. (#160)

- Added initial support for table columns containing pseudo-unsigned integers.
  This is currently enabled by using the ``uint=True`` option when opening
  files; any table columns with the correct BZERO value will be interpreted
  and returned as arrays of unsigned integers.

- Some refactoring of the table and ``FITS_rec`` modules in order to better
  separate the details of the FITS binary and ASCII table data structures from
  the HDU data structures that encapsulate them.  Most of these changes should
  not be apparent to users (but see API Changes below).


API Changes
^^^^^^^^^^^

- Assigning to values in ``ColDefs.names``, ``ColDefs.formats``,
  ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return
  lists of column properties is no longer supported.  Assigning to those lists
  will no longer update the corresponding columns.  Instead, please just
  modify the ``Column`` instances directly (``Column.name``, ``Column.null``,
  etc.)

- The ``pyfits.new_table`` function is marked "pending deprecation".  This
  does not mean it will be removed outright or that its functionality has
  changed.  It will likely be replaced in the future for a function with
  similar, if not subtly different functionality.  A better, if not slightly
  more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create
  a new ``FITS_rec`` table--this has the same interface as
  ``pyfits.new_table``.  The difference is that it returns a plan ``FITS_rec``
  array, and not an HDU instance.  This ``FITS_rec`` object can then be used
  as the data argument in the constructors for ``BinTableHDU`` (for binary
  tables) or ``TableHDU`` (for ASCII tables).  This is analogous to creating
  an ``ImageHDU`` by passing in an image array.
  ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a
  FITS-compatible recarray from a FITS column specification.

- The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData``
  methods of the ``CompDataHDU`` class are pending deprecation and moved to
  internal methods.  The operation of these methods depended too much on
  internal state to be used safely by users; instead they are invoked
  automatically in the appropriate places when reading/writing compressed image
  HDUs.

- The ``CompDataHDU.compData`` attribute is pending deprecation in favor of
  the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``.

- The constructor for ``CompDataHDU`` has been changed to accept new keyword
  arguments.  The new keyword arguments are essentially the same, but are in
  underscore_separated format rather than camelCase format.  The old arguments
  are still pending deprecation.

- The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and
  ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``,
  and ``_data_size`` respectively.  The old attribute names are still pending
  deprecation.  This should only be of interest to advanced users who have
  created their own HDU subclasses.

- The following previously deprecated functions and methods have been removed
  entirely: ``createCard``, ``createCardFromString``, ``upperKey``,
  ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``,
  ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``.

  If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with
  the ``python -Wd`` argument, warnings for all deprecated interfaces still in
  use will be displayed.

- Interfaces that were pending deprecation are now fully deprecated.  These
  include: ``create_card``, ``create_card_from_string``, ``upper_key``,
  ``Header.get_history``, and ``Header.get_comment``.

- The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so
  that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa.

- The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to
  ``pyfits.file.PYFITS_MODES`` which better reflects its purpose.  This is
  rarely used by client code, however.  Support for the old name will be
  removed by PyFITS 3.4.


Other Changes and Additions
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- The new compression code also adds support for the ZQUANTIZ and ZDITHER0
  keywords added in more recent versions of this FITS Tile Compression spec.
  This includes support for lossless compression with GZIP. (#198) By default
  no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and
  ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct
  constants to the ``quantize_method`` argument to the ``CompImageHDU``
  constuctor.  A seed can be manually specified, or automatically generated
  using either the system clock or checksum-based methods via the
  ``dither_seed`` argument.  See the documentation for ``CompImageHDU`` for
  more details. (#198) (spacetelescope/PYFITS#32)

- Images compressed with the Tile Compression standard can now be larger than
  4 GB through support of the Q format. (#159)

- All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of
  the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist.  This
  was added for consistency with the ``.name`` attribute which returns the
  EXTNAME value from the header.

- Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes
  which give the Numpy dtype for the column data in the first case, and the
  full Numpy compound dtype for each table row in the latter case.

- There was an issue where new tables created defaulted the values in all
  string columns to '0.0'.  Now string columns are filled with empty strings
  by default--this seems a less surprising default, but it may cause
  differences with tables created with older versions of PyFITS.

- Improved round-tripping and preservation of manually assigned column
  attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers.
  (astropy/astropy#996)


Bug Fixes
^^^^^^^^^

- Binary tables containing compressed images may, optionally, contain other
  columns unrelated to the tile compression convention. Although this is an
  uncommon use case, it is permitted by the standard. (#159)

- Reworked some of the file I/O routines to allow simpler, more consistent
  mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more
  "PyFITS-specific" modes used by PyFITS like "readonly" and "update".
  That is, if reading a FITS file from an open file object, it doesn't matter
  as much what "mode" it was opened in so long as it has the right
  capabilities (read/write/etc.)  Also works around bugs in the Python io
  module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968)


3.1.3 (2013-11-26)
------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (spacetelescope/PyFITS#11)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general.

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.0.12 (2013-11-26)
-------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (Backported from 3.1.3)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (Backported from 3.1.3)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general. (Backported from 3.1.3)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.1.2 (2013-04-22)
------------------

- When an error occurs opening a file in fitsdiff the exception message will
  now at least mention which file had the error. (#168)

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images
  did not correctly write the TFORMn keywords for variable-length array
  columns (they ommitted the max array length parameter of the format). (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. (#201)

- Added use of the console_scripts entry point to install the fitsdiff and
  fitscheck scripts, which if nothing else provides better Windows support.
  The generated scripts now override the ones explicitly defined in the
  scripts/ directory (which were just trivial stubs to begin with). (#202)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. (#218)

- Fixed inconsistent behavior in creating CONTINUE cards from byte strings
  versus unicode strings in Python 2--CONTINUE cards can now be created
  properly from unicode strings (so long as they are convertable to ASCII).
  (spacetelescope/PyFITS#1)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. (spacetelescope/PyFITS#3)

- Fixed a bug in parsing HIERARCH keywords that do not have a space after
  the first equals sign (before the value). (spacetelescope/PyFITS#5)

- Prevented extra leading whitespace on HIERARCH keywords from being treated
  as part of the keyword. (spacetelescope/PyFITS#6)

- Fixed a bug where HIERARCH keywords containing lower-case letters was
  mistakenly marked as invalid during header validation.
  (spacetelescope/PyFITS#7)

- Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the
  ``Header.index()`` method did not work correctly with HIERARCH keywords
  containing lower-case letters.


3.0.11 (2013-04-17)
-------------------

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. Backported from 3.1.2. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. Backported from 3.1.2. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images did
  not correctly write the TFORMn keywords for variable-length array columns
  (they ommitted the max array length parameter of the format). Backported from
  3.1.2. (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. Backported from 3.1.2. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. Backported from 3.1.2. (#201)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2.
  (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. Backported from 3.1.2. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. Backported from 3.1.2. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. Backported
  from 3.1.2. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. Backported from 3.1.2. (#218)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. Backported from 3.1.2.
  (spacetelescope/PyFITS#3)


3.1.1 (2013-01-02)
------------------

This is a bug fix release for the 3.1.x series.

Bug Fixes
^^^^^^^^^

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verboten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will automatically use compatible tile sizes even if they're not
  explicitly specified. (#171)

- Added support for the optional ``endcard`` parameter in the
  ``Header.fromtextfile()`` and ``Header.totextfile()`` methods.  Although
  ``endcard=False`` was a reasonable default assumption, there are still text
  dumps of FITS headers that include the END card, so this should have been
  more flexible. (#176)

- Fixed a crash when running fitsdiff on two empty (that is, zero row) tables.
  (#178)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. (#180)

- Fixed a crash when generating diff reports from diffs using the
  ``ignore_comments`` options. (#181)

- Fixed some bugs with WCS Paper IV record-valued keyword cards:

  - Cards that looked kind of like RVKCs but were not intended to be were
    over-permissively treated as such--commentary keywords like COMMENT and
    HISTORY were particularly affected. (#183)

  - Looking up a card in a header by its standard FITS keyword only should
    always return the raw value of that card.  That way cards containing
    values that happen to valid RVKCs but were not intended to be will still
    be treated like normal cards. (#184)

  - Looking up a RVKC in a header with only part of the field-specifier (for
    example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a
    wildcard lookup. (#184)

- Fixed a crash when diffing two FITS files where at least one contains a
  compressed image HDU which was not recognized as an image instead of a
  table. (#187)

- Fixed bugs in the backwards compatibility layer for the ``CardList.index``
  and ``CardList.count`` methods. (#190)

- Improved ``__repr__`` and text file representation of cards with long values
  that are split into CONTINUE cards. (#193)

- Fixed a crash when trying to assign a long (> 72 character) value to blank
  ('') keywords. This also changed how blank keywords are represented--there
  are still exactly 8 spaces before any commentary content can begin; this
  *may* affect the exact display of header cards that assumed there could be
  fewer spaces in a blank keyword card before the content begins. However, the
  current approach is more in line with the requirements of the FITS standard.
  (#194)


3.0.10 (2013-01-02)
-------------------

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too.  Backported from 3.1.1. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing.  Backported
  from 3.1.1. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verbotten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  Backported from 3.1.1. (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will not automatically use compatible tile sizes even if they're not
  explicitly specified.  Backported from 3.1.1. (#171)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  Backported from 3.1.0. (#174)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified.  Backported from 3.1.1. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180)


3.1 (2012-08-08)
----------------

Highlights
^^^^^^^^^^

- The ``Header`` object has been significantly reworked, and ``CardList``
  objects are now deprecated (their functionality folded into the ``Header``
  class).  See API Changes below for more details.

- Memory maps are now used by default to access HDU data.  See API Changes
  below for more details.

- Now includes a new version of the ``fitsdiff`` program for comparing two
  FITS files, and a new FITS comparison API used by ``fitsdiff``.  See New
  Features below.

API Changes
^^^^^^^^^^^

- The ``Header`` class has been rewritten, and the ``CardList`` class is
  deprecated.  Most of the basic details of working with FITS headers are
  unchanged, and will not be noticed by most users.  But there are differences
  in some areas that will be of interest to advanced users, and to application
  developers.  For full details of the changes, see the "Header Interface
  Transition Guide" section in the PyFITS documentation.  See ticket #64 on
  the PyFITS Trac for futher details and background. Some highlights are
  listed below:

  * The Header class now fully implements the Python dict interface, and can
    be used interchangably with a dict, where the keys are header keywords.

  * New keywords can be added to the header using normal keyword assignment
    (previously it was necessary to use ``Header.update`` to add new
    keywords).  For example::

        >>> header['NAXIS'] = 2

    will update the existing 'FOO' keyword if it already exists, or add a new
    one if it doesn't exist, just like a dict.

  * It is possible to assign both a value and a comment at the same time using
    a tuple::

        >>> header['NAXIS'] = (2, 'Number of axes')

  * To add/update a new card and ensure it's added in a specific location, use
    ``Header.set()``::

        >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX')

    This works the same as the old ``Header.update()``.  ``Header.update()``
    still works in the old way too, but is deprecated.

  * Although ``Card`` objects still exist, it generally is not necessary to
    work with them directly.  ``Header.ascardlist()``/``Header.ascard`` are
    deprecated and should not be used.  To directly access the ``Card``
    objects in a header, use ``Header.cards``.

  * To access card comments, it is still possible to either go through the
    card itself, or through ``Header.comments``.  For example::

       >>> header.cards['NAXIS'].comment
       Number of axes
       >>> header.comments['NAXIS']
       Number of axes

  * ``Card`` objects can now be used interchangeably with
    ``(keyword, value, comment)`` 3-tuples.  They still have ``.value`` and
    ``.comment`` attributes as well.  The ``.key`` attribute has been renamed
    to ``.keyword`` for consistency, though ``.key`` is still supported (but
    deprecated).

- Memory mapping is now used by default to access HDU data.  That is,
  ``pyfits.open()`` uses ``memmap=True`` as the default.  This provides better
  performance in the majority of use cases--there are only some I/O intensive
  applications where it might not be desirable.  Enabling mmap by default also
  enabled finding and fixing a large number of bugs in PyFITS' handling of
  memory-mapped data (most of these bug fixes were backported to PyFITS
  3.0.5). (#85)

  * A new ``pyfits.USE_MEMMAP`` global variable was added.  Set
    ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for
    opening files.  This is especially useful for controlling the behavior in
    applications where pyfits is deeply embedded.

  * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported.
    Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default
    behavior.

- The ``size()`` method on HDU objects is now a ``.size`` property--this
  returns the size in bytes of the data portion of the HDU, and in most cases
  is equivalent to ``hdu.data.nbytes`` (#83)

- ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use
  ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead.  The new methods
  output the table data in a slightly different format from previous versions,
  which places quotes around each value.  This format is compatible with data
  dumps from previous versions of PyFITS, but not vice-versa due to a parsing
  bug in older versions.

- Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function
  versions of these methods have been renamed ``pyfits.tabledump`` and
  ``pyfits.tableload``.  The old deprecated, but currently retained for
  backwards compatibility. (r1125)

- A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added.
  This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive``
  which is not deprecated and may be removed in a future version.  To enable
  case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI')
  set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``.  The default is
  ``False``. (r1139)

- A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was
  added.  By default, if a string value in a header contains trailing
  whitespace, that whitespace is automatically removed when the value is read.
  Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is
  preserved. (#146)

- The old ``classExtensions`` extension mechanism (which was deprecated in
  PyFITS 3.0) is removed outright.  To our knowledge it was no longer used
  anywhere. (r1309)

- Warning messages from PyFITS issued through the Python warnings API are now
  output to stderr instead of stdout, as is the default.  PyFITS no longer
  modifies the default behavior of the warnings module with respect to which
  stream it outputs to. (r1319)

- The ``checksum`` argument to ``pyfits.open()`` now accepts a value of
  'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored,
  and removed when the file is saved.

New Features
^^^^^^^^^^^^

- Added support for the proposed "FITS" extension HDU type.  See
  http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html.  FITS
  HDUs contain an entire FITS file embedded in their data section.  `FitsHDU`
  objects work like other HDU types in PyFITS.  Their ``.data`` attribute
  returns the raw data array.  However, they have a special ``.hdulist``
  attribute which processes the data as a FITS file and returns it as an
  in-memory HDUList object.  FitsHDU objects also support a
  ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object
  that embeds the supplied HDUList. (#80)

- Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU
  data is an 'image' as opposed to a table or something else.  Here the
  meaning of 'image' is fairly loose, and mostly just means a Primary or Image
  extension HDU, or possibly a compressed image HDU (#71)

- Added an ``HDUList.fromstring`` classmethod which can parse a FITS file
  already in memory and instantiate and ``HDUList`` object from it.  This
  could be useful for integrating PyFITS with other libraries that work on
  FITS file, such as CFITSIO.  It may also be useful in streaming
  applications.  The name is a slight misnomer, in that it actually accepts
  any Python object that implements the buffer interface, which includes
  ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90)

- Added a new ``pyfits.diff`` module which contains facilities for comparing
  FITS files.  One can use the ``pyfits.diff.FITSDiff`` class to compare two
  FITS files in their entirety.  There is also a ``pyfits.diff.HeaderDiff``
  class for just comparing two FITS headers, and other similar interfaces.
  See the PyFITS Documentation for more details on this interface.  The
  ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with
  PyFITS.  After installing PyFITS, run ``fitsdiff --help`` for usage details.

- ``pyfits.open()`` now accepts a ``scale_back`` argument.  If set to
  ``True``, this automatically scales the data using the original BZERO and
  BSCALE parameters the file had when it was first opened, if any, as well as
  the original BITPIX.  For example, if the original BITPIX were 16, this
  would be equivalent to calling ``hdu.scale('int16', 'old')`` just before
  calling ``flush()`` or ``close()`` on the file.  This option applies to all
  HDUs in the file. (#120)

- ``pyfits.open()`` now accepts a ``save_backup`` argument.  If set to
  ``True``, this automatically saves a backup of the original file before
  flushing any changes to it (this of course only applies to update and append
  mode).  This may be especially useful when working with scaled image data.
  (#121)

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Warnings from PyFITS are not output to stderr by default, instead of stdout
  as it has been for some time.  This is contrary to most users' expectations
  and makes it more difficult for them to separate output from PyFITS from the
  desired output for their scripts. (r1319)

Bug Fixes
^^^^^^^^^

- Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust
  when encountering blank lines in a column definition file (#14)

- Fixed a fairly rare crash that could occur in the handling of CONTINUE cards
  when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by
  PyFITS). (r1330)

- Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU
  object from a string/buffer containing the header and data of that HDU.
  This allowed for the implementation of ``HDUList.fromstring`` described
  above. (#90)

- Fixed a rare corner case where, in some use cases, (mildly, recoverably)
  malformatted float values in headers were not properly returned as floats.
  (#137)

- Fixed a corollary to the previous bug where float values with a leading zero
  before the decimal point had the leading zero unnecessarily removed when
  saving changes to the file (eg. "0.001" would be written back as ".001" even
  if no changes were otherwise made to the file). (#137)

- When opening a file containing CHECKSUM and/or DATASUM keywords in update
  mode, the CHECKSUM/DATASUM are updated and preserved even if the file was
  opened with checksum=False.  This change in behavior prevents checksums from
  being unintentionally removed. (#148)

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  This fix will be backported to the 3.0.x series in
  version 3.0.10.  (#174)


3.0.9 (2012-08-06)
------------------

This is a bug fix release for the 3.0.x series.

Bug Fixes
^^^^^^^^^

- Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/
  ``Header.iteritems()`` to correctly return the different values for
  duplicate keywords (particularly commentary keywords like HISTORY and
  COMMENT).  This makes the old Header implementation slightly more compatible
  with the new implementation in PyFITS 3.1. (#127)

  .. note::
      This fix did not change the existing behavior from earlier PyFITS
      versions where ``Header.keys()`` returns all keywords in the header with
      duplicates removed.  PyFITS 3.1 changes that behavior, so that
      ``Header.keys()`` includes duplicates.

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug where opening a file containing compressed image HDUs in
  'update' mode and then immediately closing it without making any changes
  caused the file to be rewritten unncessarily. (#167)

- Fixed two memory leaks that could occur when writing compressed image data,
  or in some cases when opening files containing compressed image HDUs in
  'update' mode. (#168)


3.0.8 (2012-06-04)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Prior to this release, image data sections did not work with scaled
  data--that is, images with non-trivial BSCALE and/or BZERO values.
  Previously, in order to read such images in sections, it was necessary to
  manually apply the BSCALE+BZERO to each section.  It's worth noting that
  sections *did* support pseudo-unsigned ints (flakily).  This change just
  extends that support for general BSCALE+BZERO values.

Bug Fixes
^^^^^^^^^

- Fixed a bug that prevented updates to values in boolean table columns from
  being saved.  This turned out to be a symptom of a deeper problem that could
  prevent other table updates from being saved as well. (#139)

- Fixed a corner case in which a keyword comment ending with the string "END"
  could, in some circumstances, cause headers (and the rest of the file after
  that point) to be misread. (#142)

- Fixed support for scaled image data and psuedo-unsigned ints in image data
  sections (``hdu.section``).  Previously this was not supported at all.  At
  some point support was supposedly added, but it was buggy and incomplete.
  Now the feature seems to work much better. (#143)

- Fixed the documentation to point out that image data sections *do* support
  non-contiguous slices (and have for a long time).  The documentation was
  never updated to reflect this, and misinformed users that only contiguous
  slices were supported, leading to some confusion. (#144)

- Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY
  HDUs caused an infinite recursion when validating the object prior to
  writing to a file. (#145)

- Fixed a rare but serious case where saving an update to a file that
  previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum
  in saving, could cause the file to be slightly corrupted and unreadable.
  (#147)

- Fixed problems with reading "non-standard" FITS files with primary headers
  containing SIMPLE = F.  PyFITS has never made many guarantees as to how such
  files are handled.  But it should at least be possible to read their
  headers, and the data if possible.  Saving changes to such a file should not
  try to prepend an unwanted valid PRIMARY HDU. (#157)

- Fixed a bug where opening an image with ``disable_image_compression = True``
  caused compression to be disabled for all subsequent ``pyfits.open()`` calls.
  (r1651)


3.0.7 (2012-04-10)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Slices of GroupData objects now return new GroupData objects instead of
  extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed
  FITS_rec slicing, and should have been fixed for GroupData at the same time.
  The old behavior caused bugs where functions internal to Numpy expected that
  slicing an ndarray would return a new ndarray.  As this is a rare usecase
  with a rare feature most users are unlikely to be affected by this change.

- The previously internal _Group object for representing individual group
  records in a GroupData object are renamed Group and are now a public
  interface.  However, there's almost no good reason to create Group objects
  directly, so it shouldn't be considered a "new feature".

- An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND
  keyword was always being set to F if there are not actually any extension
  HDUs.  It was unnecessary to modify this value.

Bug Fixes
^^^^^^^^^

- Fixed GroupData objects to return new GroupData objects when sliced instead
  of _Group record objects.  See "Changes in behavior" above for more details.

- Fixed slicing of Group objects--previously it was not possible to slice
  slice them at all.

- Made it possible to assign `np.bool_` objects as header values. (#123)

- Fixed overly strict handling of the EXTEND keyword; see "Changes in
  behavior" above. (#124)

- Fixed many cases where an HDU's header would be marked as "modified" by
  PyFITS and rewritten, even when no changes to the header are necessary.
  (#125)

- Fixed a bug where the values of the PTYPEn keywords in a random groups HDU
  were forced to be all lower-case when saving the file. (#130)

- Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was
  causing some slowdown when opening files containing a large number of
  extensions, plus a few other small (but not insignficant) performance
  improvements thanks to Julian Taylor. (#133)

- Fixed a regression where header blocks containing invalid end-of-header
  padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS.
  Such headers can be parsed again, but a warning is raised, as such headers
  are not valid FITS. (#136)

- Fixed a memory leak where table data in random groups HDUs weren't being
  garbage collected. (#138)


3.0.6 (2012-02-29)
------------------

Highlights
^^^^^^^^^^

The main reason for this release is to fix an issue that was introduced in
PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with
non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data
to be automatically rescaled--possibly converting the data from ints to
floats--as soon as the file is closed, even if the application did not touch
the data.  Now PyFITS will only rescale the data in an extension when the data
is actually accessed by the application.  So opening a file in 'update' mode
in order to modify the header or append new extensions will not cause any
change to the data in existing extensions.

This release also fixes a few Windows-specific bugs found through more
extensive Windows testing, and other miscellaneous bugs.

Bug Fixes
^^^^^^^^^

- More accurate error messages when opening files containing invalid header
  cards. (#109)

- Fixed a possible reference cycle/memory leak that was caught through more
  extensive testing on Windows. (#112)

- Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w'
  mode. (#112)

- Fixed a Windows-only issue where trying to save updates to a resized FITS
  file could result in a crash due to there being open mmaps on that file.
  (#112)

- Fixed a crash when trying to create a FITS table (i.e. with new_table())
  from a Numpy array containing bool fields. (#113)

- Fixed a bug where manually initializing an ``HDUList`` with a list of of
  HDUs wouldn't set the correct EXTEND keyword value on the primary HDU.
  (#114)

- Fixed a crash that could occur when trying to deepcopy a Header in Python <
  2.7. (#115)

- Fixed an issue where merely opening a scaled image in 'update' mode would
  cause the data to be converted to floats when the file is closed. (#119)


3.0.5 (2012-01-30)
------------------

- Fixed a crash that could occur when accessing image sections of files
  opened with memmap=True. (r1211)

- Fixed the inconsistency in the behavior of files opened in 'readonly' mode
  when memmap=True vs. when memmap=False.  In the latter case, although
  changes to array data were not saved to disk, it was possible to update the
  array data in memory.  On the other hand with memmap=True, 'readonly' mode
  prevented even in-memory modification to the data.  This is what
  'copyonwrite' mode was for, but difference in behavior was confusing.  Now
  'readonly' is equivalent to 'copyonwrite' when using memmap.  If the old
  behavior of denying changes to the array data is necessary, a new
  'denywrite' mode may be used, though it is only applicable to files opened
  with memmap. (r1275)

- Fixed an issue where files opened with memmap=True would return image data
  as a raw numpy.memmap object, which can cause some unexpected
  behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285)

- Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3
  interacted badly with some other software, namely to vo.table package (and
  possibly others). (r1320, r1337, and #110)

- Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard
  interrupts) while flushing changes to a FITS file.  PyFITS already prevented
  SIGINTs from causing an incomplete flush, but did not clean up the signal
  handlers properly afterwards, or reraise the keyboard interrupt once the
  flush was complete. (r1321)

- Fixed a crash that could occur in Python 3 when opening files with checksum
  checking enabled. (r1336)

- Fixed a small bug that could cause a crash in the `StreamingHDU` interface
  when using Numpy below version 1.5.

- Fixed a crash that could occur when creating a new `CompImageHDU` from an
  array of big-endian data. (#104)

- Fixed a crash when opening a file with extra zero padding at the end.
  Though FITS files should not have such padding, it's not explictly forbidden
  by the format either, and PyFITS shouldn't stumble over it. (#106)

- Fixed a major slowdown in opening tables containing large columns of string
  values.  (#111)


3.0.4 (2011-11-22)
------------------

- Fixed a crash when writing HCOMPRESS compressed images that could happen on
  Python 2.5 and 2.6. (r1217)

- Fixed a crash when slicing an table in a file opened in 'readonly' mode with
  memmap=True. (r1230)

- Writing changes to a file or writing to a new file verifies the output in
  'fix' mode by default instead of 'exception'--that is, PyFITS will
  automatically fix common FITS format errors rather than raising an
  exception. (r1243)

- Fixed a bug where convenience functions such as getval() and getheader()
  crashed when specifying just 'PRIMARY' as the extension to use (r1263).

- Fixed a bug that prevented passing keyword arguments (beyond the standard
  data and header arguments) as positional arguments to the constructors of
  extension HDU classes.

- Fixed some tests that were failing on Windows--in this case the tests
  themselves failed to close some temp files and Windows refused to delete them
  while there were still open handles on them. (r1295)

- Fixed an issue with floating point formatting in header values on Python 2.5
  for Windows (and possibly other platforms).  The exponent was zero-padded to
  3 digits; although the FITS standard makes no specification on this, the
  formatting is now normalized to always pad the exponent to two digits.
  (r1295)

- Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were
  broken into multiple CONTINUE cards.  However, commentary cards are not
  expected to be found in CONTINUE cards.  Instead these long cards are broken
  into multiple commentary cards. (#97)

- GZIP/ZIP-compressed FITS files can be detected and opened regardless of
  their filename extension. (#99)

- Fixed a serious bug where opening scaled images in 'update' mode and then
  closing the file without touching the data would cause the file to be
  corrupted. (#101)


3.0.3 (2011-10-05)
------------------

- Fixed several small bugs involving corner cases in record-valued keyword
  cards (#70)

- In some cases HDU creation failed if the first keyword value in the header
  was not a string value (#89)

- Fixed a crash when trying to compute the HDU checksum when the data array
  contains an odd number of bytes (#91)

- Disabled an unnecessary warning that was displayed on opening compressed
  HDUs with disable_image_compression = True (#92)

- Fixed a typo in code for handling HCOMPRESS compressed images.


3.0.2 (2011-09-23)
------------------

- The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate``
  function don't get tripped up by blank lines anymore (#14)

- The presence, value, and position of the EXTEND keyword in Primary HDUs is
  verified when reading/writing a FITS file (#32)

- Improved documentation (in warning messages as well as in the handbook) that
  PyFITS uses zero-based indexing (as one would expect for C/Python code, but
  contrary to the PyFITS standard which was written with FORTRAN in mind)
  (#68)

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69) [Note: This and the bug above it
  were originally reported as being fixed in version 3.0.1, but the fix was
  never included in the release.]

- Improved file handling, particularly in Python 3 which had a few small file
  I/O-related bugs (#76)

- Fixed a bug where updating a FITS file would sometimes cause it to lose its
  original file permissions (#79)

- Fixed the handling of TDIMn keywords; 3.0 added support for them, but got
  the axis order backards (they were treated as though they were row-major)
  (#82)

- Fixed a crash when a FITS file containing scaled data is opened and
  immediately written to a new file without explicitly viewing the data first
  (#84)

- Fixed a bug where creating a table with columns named either 'names' or
  'formats' resulted in an infinite recursion (#86)


3.0.1 (2011-09-12)
------------------

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a
  ``FITS_rec`` object with zero rows is returned rather than ``None``.

- The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full
  keyword+field-specifier value, instead of just the plain keyword (#46)

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69)

- Fixed a bug where writing a table with zero rows could fail in some cases
  (#72)

- Miscellanous small bug fixes that were causing some tests to fail,
  particularly on Python 3 (#74, #75)

- Fixed a bug where creating a table column from an array in non-native byte
  order would not preserve the byte order, thus interpreting the column array
  using the wrong byte order (#77)


3.0.0 (2011-08-23)
--------------------

- Contains major changes, bumping the version to 3.0

- Large amounts of refactoring and reorganization of the code; tried to
  preserve public API backwards-compatibility with older versions (private API
  has many changes and is not guaranteed to be backwards-compatible).  There
  are a few small public API changes to be aware of:

  * The pyfits.rec module has been removed completely.  If your version of
    numpy does not have the numpy.core.records module it is too old to be used
    with PyFITS.

  * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard``
    attribute instead.

  * ``Card`` instances have a new ``.cardimage`` attribute that should be used
    rather than ``.ascardimage()``, which may become deprecated.

  * The ``Card.fromstring()`` method is now a classmethod.  It returns a new
    ``Card`` instance rather than modifying an existing instance.

  * The ``req_cards()`` method on HDU instances has changed:  The ``pos``
    argument is not longer a string.  It is either an integer value (meaning
    the card's position must match that value) or it can be a function that
    takes the card's position as it's argument, and returns True if the
    position is valid.  Likewise, the ``test`` argument no longer takes a
    string, but instead a function that validates the card's value and returns
    True or False.

  * The ``get_coldefs()`` method of table HDUs is deprecated.  Use the
    ``.columns`` attribute instead.

  * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns``
    instead (though in general you shouldn't mess with it directly--it might
    become internal at some point).

  * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of
    ``startColumn`` and ``endColumn`` (these are rarely created manually, so
    it's unlikely that this change will affect anyone).

  * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new
    ``BinTableHDU`` instance.

  * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU
    classes.  They are now public interfaces, wheres previously they were
    private and prefixed with underscores.

  * Possibly others--please report if you find any changes that cause
    difficulties.

- Calls to deprecated functions will display a Deprecation warning.  However,
  in Python 2.7 and up Deprecation warnings are ignored by default, so run
  Python with the `-Wd` option to see if you're using any deprecated
  functions.  If we get close to actually removing any functions, we might
  make the Deprecation warnings display by default.

- Added basic Python 3 support

- Added support for multi-dimensional columns in tables as specified by the
  TDIMn keywords (#47)

- Fixed a major memory leak that occurred when creating new tables with the
  ``new_table()`` function (#49)
  be padded with zero-bytes) vs ASCII tables (where strings are padded with
  spaces) (#15)

- Fixed a bug in which the case of Random Access Group parameters names was not
  preserved when writing (#41)

- Added support for binary table fields with zero width (#42)

- Added support for wider integer types in ASCII tables; although this is non-
  standard, some GEIS images require it (#45)

- Fixed a bug that caused the index_of() method of HDULists to crash when the
  HDUList object is created from scratch (#48)

- Fixed the behavior of string padding in binary tables (where strings should
  be padded with nulls instead of spaces)

- Fixed a rare issue that caused excessive memory usage when computing
  checksums using a non-standard block size (see r818)

- Add support for forced uint data in image sections (#53)

- Fixed an issue where variable-length array columns were not extended when
  creating a new table with more rows than the original (#54)

- Fixed tuple and list-based indexing of FITS_rec objects (#55)

- Fixed an issue where BZERO and BSCALE keywords were appended to headers in
  the wrong location (#56)

- ``FITS_record`` objects (table rows) have full slicing support, including
  stepping, etc. (#59)

- Fixed a bug where updating multiple files simultaneously (such as when
  running parallel processes) could lead to a race condition with mktemp()
  (#61)

- Fixed a bug where compressed image headers were not in the order expected by
  the funpack utility (#62)
jperkin pushed a commit that referenced this pull request Mar 17, 2014
3.1.3  Feb 21 2014
  - Add support for Ruby 2.1 in compiled Windows binaries
  - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]

3.1.6  Feb 21 2014
  - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
    bugs. It felt wrong to have that at a higher version than the real gem, so
    the real gem is getting bumped to 3.1.6.

3.1.7  Feb 24 2014
  - Rebuild corrupt Java binary version of gem [GH #90]
  - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- documentation removed
jperkin pushed a commit that referenced this pull request Mar 18, 2014
3.1.3  Feb 21 2014
  - Add support for Ruby 2.1 in compiled Windows binaries
  - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]

3.1.6  Feb 21 2014
  - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
    bugs. It felt wrong to have that at a higher version than the real gem, so
    the real gem is getting bumped to 3.1.6.

3.1.7  Feb 24 2014
  - Rebuild corrupt Java binary version of gem [GH #90]
  - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- documentation removed
jperkin pushed a commit that referenced this pull request Mar 31, 2014
* Applied patch #9 (Crash when more than one authplugin are selected)
  by Frederic Bourgeois
* Added feature to allow Facebook mock ajax (request #6) by Jason Spiro
* Added contrib dir
* Added a new html & css validated html template in contrib (request #3).
  By Chris Peschke
* Converted iso-8859 message files to utf-8 (bug #86). Suggested
  by Fred Ulisses Maranhao
* Fixed Error reading Content-Length (bug #84). By Carlos Soto
* Fixed compilation error BSD due lack of string.h when using
  memcpy() (bug #75). By Alexander Hornung
* Fixed exceptioniplist case sensitivity (bug #11). By Mark J Hewitt
* Fixed accept-encoding support for new tokens (bug #13). By userquin
* Applied patch 3438750 (GCC 4.4 and 4.6 compatibility) by Mathieu PARENT
* Applied patch 3438749 (French translation update) by Mathieu PARENT
* Applied patch 3418297 (Set proxy timeout in dansguardian.conf)
  by Frederic Bourgeois
* Applied patch 3419088 (login/password in URL is dropped) by Mathieu PARENT
* Applied patch 3419089 ("Expect" header should be dropped) by Mathieu PARENT
* Applied patch 3438751 (Fix queue handling in OptionContainer)
  by Mathieu PARENT
* Applied patch 3515167 (Fix digest identication) by Frederic Bourgeois
* Fixed GCC warnings
* LFS review in String.cpp (requires different arch review yet)

Previous release notes seem to be lost - the build structure changed, and:

  Both the main configuration file and the filter group configuration
  file(s) have changed since the last stable release.  If you try
  to re-use the configuration from an existing copy of 2.8.0.6 or
  earlier, the daemon will not start.  On the other hand, list
  files (phrase lists, domain lists, etc.) have not changed format,
  and should largely "just work".  There have been improvements to
  the default list files, though, so again it is recommended that
  you start from the new version and re-do any customisations.
jperkin pushed a commit that referenced this pull request Aug 12, 2014
2014-07-02 version 0.5.9:

  * Support std::tr1 unordered containers by default (#51, #63, #68, #69)
  * Remove some warnings (#56)
  * Fix segmentation fault after malloc failures (#58, #59)
  * Fix alloc/dealloc mismatch (#52, #61)
  * Fix sample codes (#60, #64)
  * Support implicit conversion from integer to float/double (#54)
  * Improve documents (#45, #75, #82, #83)
  * Support CMake (#20, #87)
  * Remove Ruby dependencies in bootstrap (#86, #87)
  * Add FILE* buffer (#40)
  * Other bug fixes and refactoring: #39, #73, #77, #79, #80, #81, #84, #90
jperkin pushed a commit that referenced this pull request Sep 19, 2014
1.8.0
-----

- Issue #90: Add six.moves.shlex_quote.

- Issue #59: Add six.moves.intern.

- Add six.urllib.parse.uses_(fragment|netloc|params|query|relative).

- Issue #88: Fix add_metaclass when the class has __slots__ containing
  "__weakref__" or "__dict__".

- Issue #89: Make six use absolute imports.

- Issue #85: Always accept *updated* and *assigned* arguments for wraps().

- Issue #86: In reraise(), instantiate the exception if the second argument is
  None.

- Pull request #45: Add six.moves.email_mime_nonmultipart.

- Issue #81: Add six.urllib.request.splittag mapping.

- Issue #80: Add six.urllib.request.splituser mapping.
jperkin pushed a commit that referenced this pull request Dec 1, 2014
Changelog:
================================================================================
GLM 0.9.5.4: 2014-06-21
--------------------------------------------------------------------------------
- Fixed non-utf8 character #196
- Added FindGLM install for CMake #189
- Fixed GTX_color_space - saturation #195
- Fixed glm::isinf and glm::isnan for with Android NDK 9d #191
- Fixed builtin GLM_ARCH_SSE4 #204
- Optimized Quaternion vector rotation #205
- Fixed missing doxygen @endcond tag #211
- Fixed instruction set detection with Clang #158
- Fixed orientate3 function #207
- Fixed lerp when cosTheta is close to 1 in quaternion slerp #210
- Added GTX_io for io with <iostream> #144
- Fixed fastDistance ambiguity #215
- Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to
  tweakedInfinitePerspective
- Fixed std::copy and std::vector with GLM types #214
- Fixed strict aliasing issues #212, #152
- Fixed std::nextafter not supported with C++11 on Android #213
- Fixed corner cases in exp and log functions for quaternions #199

================================================================================
GLM 0.9.5.3: 2014-04-02
--------------------------------------------------------------------------------
- Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch
  compiler argument
- Fixed GTX_raw_data code dependency
- Fixed GCC instruction set detection
- Added GLM_GTX_matrix_transform_2d extension (#178, #176)
- Fixed CUDA issues (#169, #168, #183, #182)
- Added support for all extensions but GTX_string_cast to CUDA
- Fixed strict aliasing warnings in GCC 4.8.1 / Android NDK 9c (#152)
- Fixed missing bitfieldInterleave definisions
- Fixed usubBorrow (#171)
- Fixed eulerAngle*** not consistent for right-handed coordinate system (#173)
- Added full tests for eulerAngle*** functions (#173)
- Added workaround for a CUDA compiler bug (#186, #185)

================================================================================
GLM 0.9.5.2: 2014-02-08
--------------------------------------------------------------------------------
- Fixed initializer list ambiguity (#159, #160)
- Fixed warnings with the Android NDK 9c
- Fixed non power of two matrix products
- Fixed mix function link error
- Fixed SSE code included in GLM tests on "pure" platforms
- Fixed undefined reference to fastInverseSqrt (#161)
- Fixed GLM_FORCE_RADIANS with <glm/ext.hpp> build error (#165)
- Fix dot product clamp range for vector angle functions. (#163)
- Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152)
- Fixed GLM_GTC_constants description brief (#162)

================================================================================
GLM 0.9.5.1: 2014-01-11
--------------------------------------------------------------------------------
- Fixed angle and orientedAngle that sometimes return NaN values (#145)
- Deprecated degrees for function parameters and display a message
- Added possible static_cast conversion of GLM types (#72)
- Fixed error 'inverse' is not a member of 'glm' from glm::unProject (#146)
- Fixed mismatch between some declarations and definitions
- Fixed inverse link error when using namespace glm; (#147)
- Optimized matrix inverse and division code (#149)
- Added intersectRayPlane function (#153)
- Fixed outerProduct return type (#155)

================================================================================
GLM 0.9.5.0: 2013-12-25
--------------------------------------------------------------------------------
- Added forward declarations (glm/fwd.hpp) for faster compilations
- Added per feature headers
- Minimized GLM internal dependencies
- Improved Intel Compiler detection
- Added bitfieldInterleave and _mm_bit_interleave_si128 functions
- Added GTX_scalar_relational
- Added GTX_dual_quaternion
- Added rotation function to GTX_quaternion (#22)
- Added precision variation of each type
- Added quaternion comparison functions
- Fixed GTX_multiple for negative value
- Removed GTX_ocl_type extension
- Fixed post increment and decrement operators
- Fixed perspective with zNear == 0 (#71)
- Removed l-value swizzle operators
- Cleaned up compiler detection code for unsupported compilers
- Replaced C cast by C++ casts
- Fixed .length() that should return a int and not a size_t
- Added GLM_FORCE_SIZE_T_LENGTH and glm::length_t
- Removed unnecessary conversions
- Optimized packing and unpacking functions
- Removed the normalization of the up argument of lookAt function (#114)
- Added low precision specializations of inversesqrt
- Fixed ldexp and frexp implementations
- Increased assert coverage
- Increased static_assert coverage
- Replaced GLM traits by STL traits when possible
- Allowed including individual core feature
- Increased unit tests completness
- Added creating of a quaternion from two vectors
- Added C++11 initializer lists
- Fixed umulExtended and imulExtended implementations for vector types (#76)
- Fixed CUDA coverage for GTC extensions
- Added GTX_io extension
- Improved GLM messages enabled when defining GLM_MESSAGES
- Hidden matrix _inverse function implementation detail into private section

================================================================================
GLM 0.9.4.6: 2013-09-20
--------------------------------------------------------------------------------
- Fixed detection to select the last known compiler if newer version #106
- Fixed is_int and is_uint code duplication with GCC and C++11 #107
- Fixed test suite build while using Clang in C++11 mode
- Added c++1y mode support in CMake test suite
- Removed ms extension mode to CMake when no using Visual C++
- Added pedantic mode to CMake test suite for Clang and GCC
- Added use of GCC frontend on Unix for ICC and Visual C++ fronted on Windows
  for ICC
- Added compilation errors for unsupported compiler versions
- Fixed glm::orientation with GLM_FORCE_RADIANS defined #112
- Fixed const ref issue on assignment operator taking a scalar parameter #116
- Fixed glm::eulerAngleY implementation #117

================================================================================
GLM 0.9.4.5: 2013-08-12
--------------------------------------------------------------------------------
- Fixed CUDA support
- Fixed inclusion of intrinsics in "pure" mode #92
- Fixed language detection on GCC when the C++0x mode isn't enabled #95
- Fixed issue #97: register is deprecated in C++11
- Fixed issue #96: CUDA issues
- Added Windows CE detection #92
- Added missing value_ptr for quaternions #99

================================================================================
GLM 0.9.4.4: 2013-05-29
--------------------------------------------------------------------------------
- Fixed slerp when costheta is close to 1 #65
- Fixed mat4x2 value_type constructor #70
- Fixed glm.natvis for Visual C++ 12 #82
- Added assert in inversesqrt to detect division by zero #61
- Fixed missing swizzle operators #86
- Fixed CUDA warnings #86
- Fixed GLM natvis for VC11 #82
- Fixed GLM_GTX_multiple with negative values #79
- Fixed glm::perspective when zNear is zero #71

================================================================================
GLM 0.9.4.3: 2013-03-20
--------------------------------------------------------------------------------
- Detected qualifier for Clang
- Fixed C++11 mode for GCC, couldn't be enabled without MS extensions
- Fixed squad, intermediate and exp quaternion functions
- Fixed GTX_polar_coordinates euclidean function, takes a vec2 instead of a vec3
- Clarify the license applying on the manual
- Added a docx copy of the manual
- Fixed GLM_GTX_matrix_interpolation
- Fixed isnan and isinf on Android with Clang
- Autodetected C++ version using __cplusplus value
- Fixed mix for bool and bvec* third parameter

================================================================================
GLM 0.9.4.2: 2013-02-14
--------------------------------------------------------------------------------
- Fixed compAdd from GTX_component_wise
- Fixed SIMD support for Intel compiler on Windows
- Fixed isnan and isinf for CUDA compiler
- Fixed GLM_FORCE_RADIANS on glm::perspective
- Fixed GCC warnings
- Fixed packDouble2x32 on XCode
- Fixed mix for vec4 SSE implementation
- Fixed 0x2013 dash character in comments that cause issue in Windows
  Japanese mode
- Fixed documentation warnings
- Fixed CUDA warnings

================================================================================
GLM 0.9.4.1: 2012-12-22
--------------------------------------------------------------------------------
- Improved half support: -0.0 case and implicit conversions
- Fixed Intel Composer Compiler support on Linux
- Fixed interaction between quaternion and euler angles
- Fixed GTC_constants build
- Fixed GTX_multiple
- Fixed quat slerp using mix function when cosTheta close to 1
- Improved fvec4SIMD and fmat4x4SIMD implementations
- Fixed assert messages
- Added slerp and lerp quaternion functions and tests

================================================================================
GLM 0.9.4.0: 2012-11-18
--------------------------------------------------------------------------------
- Added Intel Composer Compiler support
- Promoted GTC_espilon extension
- Promoted GTC_ulp extension
- Removed GLM website from the source repository
- Added GLM_FORCE_RADIANS so that all functions takes radians for arguments
- Fixed detection of Clang and LLVM GCC on MacOS X
- Added debugger visualizers for Visual C++ 2012

================================================================================
GLM 0.9.3.4: 2012-06-30
--------------------------------------------------------------------------------
- Added SSE4 and AVX2 detection.
- Removed VIRTREV_xstream and the incompatibility generated with GCC
- Fixed C++11 compiler option for GCC
- Removed MS language extension option for GCC (not fonctionnal)
- Fixed bitfieldExtract for vector types
- Fixed warnings
- Fixed SSE includes

================================================================================
GLM 0.9.3.3: 2012-05-10
--------------------------------------------------------------------------------
- Fixed isinf and isnan
- Improved compatibility with Intel compiler
- Added CMake test build options: SIMD, C++11, fast math and MS land ext
- Fixed SIMD mat4 test on GCC
- Fixed perspectiveFov implementation
- Fixed matrixCompMult for none-square matrices
- Fixed namespace issue on stream operators
- Fixed various warnings
- Added VC11 support
jperkin pushed a commit that referenced this pull request Jun 17, 2015
== 2.6.1 / 2015-05-25

* Bugs:
  * Make columnar store handle all supported extensions, not just the first.
  * Avoid circular require when using the columnar store.

== 2.6 / 2015-05-25

* New Feature:
  * Columnar data storage for the MIME::Types registry, contributed by Jeremy
    Evans (@jeremyevans). Reduces default memory use substantially (the mail
    gem drops from 19 Mib to about 3 Mib). Resolves
    {#96}[mime-types/ruby-mime-types#96],
    {#94}[mime-types/ruby-mime-types#94],
    {#83}[mime-types/ruby-mime-types#83]. Partially
    addresses {#64}[mime-types/ruby-mime-types#64]
    and {#62}[mime-types/ruby-mime-types#62].
* Development:
  * Removed caching of deprecation messages in preparation for mime-types 3.0.
    Now, deprecated methods will always warn their deprecation instead of only
    warning once.
  * Added a logger for deprecation messages.
  * Renamed <tt>lib/mime.rb</tt> to <tt>lib/mime/deprecations.rb</tt> to not
    conflict with the {mime}[https://rubygems.org/gems/mime] gem on behalf of
    the maintainers of the {Praxis Framework}[http://praxis-framework.io/].
    Provided by Josep M. Blanquer (@blanquer),
    {#100}[mime-types/ruby-mime-types#100].
  * Added the columnar data conversion tool, also provided by Jeremy Evans.
* Documentation:
  * Improved documentation and ensured that all deprecated methods are marked
    as such in the documentation.
* Development:
  * Added more Ruby variants to Travis CI.
  * Silenced deprecation messages for internal tools. Noisy deprecations are
    noisy, but that's the point.

== 2.5 / 2015-04-25

* Bugs:
  * David Genord (@albus522) fixed a bug in loading MIME::types cache where a
    container loaded from cache did not have the expected +default_proc+,
    {#86}[mime-types/ruby-mime-types#86].
  * Richard Schneeman (@schneems) provided a patch that substantially reduces
    unnecessary allocations.
* Documentation:
  * Tibor Szolár (@flexik) fixed a typo in the README,
    {#82}[mime-types/ruby-mime-types#82]
  * Fixed {#80}[mime-types/ruby-mime-types#80],
    clarifying the relationship of MIME::Type#content_type and
    MIME::Type#simplified, with Ken Ip (@kenips).
* Development:
  * Juanito Fatas (@JuanitoFatas) enabled container mode on Travis CI,
    {#87}[mime-types/ruby-mime-types#87].
* Moved development to a mime-types organization under
  {mime-types/ruby-mime-types}[https://github.com/mime-types/ruby-mime-types].
jperkin pushed a commit that referenced this pull request Aug 29, 2015
…nce.

Let me know if you need one of the removed options.

Version 4.8.14

- Core

  * Minimal version of GLib is 2.14.0
  * Add new panel binding "!SelectExt" to select/unselect files with the same extension as the current file (#3228)
  * Speed up of directory size calculation (#3247)
  * Support of italic text (#3065)

- Editor

  * New syntax highlighting support:
    - puppet (#3266)

- Viewer

  * Rewrite mcview's rendering and scrolling (#3250, #3256)
    - no more partial lines at the top and failure to scroll when Up or Down is pressed;
    - better handling of CJK characters;
    - handle combining accents;
    - improved nroff support;
    - more conventional scrolling behavior at the end of the file.
  * Use VIEW_SELECTED_COLOR in plain mode (#3405)
  * In !QuickView panel, don't pass any chars to command line to avoid unexpected command execution (#3253)

- Misc

  * Code cleanup (#3265, #3262)
  * Bind poedit to Edit action for .po files (#3287)
  * Better grammar mcedit user menu (#3246)

- Fixes

  * Fail to build against musl libc (#3267)
  * Error compiling with glib 2.20.3 (#3333)
  * Overwrite of the PROMPT_COMMAND bash variable (#2027)
  * contrib/*.?sh are not recreated after rerun of configure (#3181)
  * File rename handles zero-length substitutions incorrectly (#2952)
  * Lose files on "Skip" when "Cannot preallocate space for target file" (#3297)
  * Info panel can't obtain file system statistics on Solaris (#3277)
  * "Shell patterns" broken beyond repair (#2309)
  * File selection by patterns uses bytes instead of unicode characters (#2743)
  * Copy files dosn't work as expected, when copying to a directory with the special symbol in its name (#3235)
  * Wrong order of old_colors table items (#3404)
  * Input line: Alt+Backspace on one-letter word erases too much (#3390)
  * "Directory scanning" window is too narrow (#3162)
  * No Help for User Menu (#3409)
  * mcedit: paste from clipboard does not work (#3339)
  * mcviewer: hang when viewing broken man page (#2966)
  * mcview hex: incorrect highlight when search string not found (#3263)
  * mcview hex edit: UTF-8 chars are not updated (#3259)
  * mcview hex edit: can't enter certain UTF-8 characters (#3260)
  * mcview hex edit: CJK overflow (#3261)
  * mcedit: status line doesn't show full path to file (#3285)
  * Freeze when copying from one FTP location to another (#358)


Version 4.8.13

- Core

  * New engine of user-friendly interruption of long-time operations (#2136)

- Editor

  * Improvements of syntax highlighting:
    * CMake (#3216)
    * PHP (#3230)
  * Translate language names in the spelling assistant dialogue (#3233)

- Viewer

  * Add separate normal(default) colour pair for viewer (#3204)
  * Dealing with utf-8 man pages in view/open (#1539)
  * "Goto line" is 1-based now (#3245)

- Misc

  * Code cleanup (#3189, #3223, #3242)
  * Add new skins: gray-green-purple256 and gray-orange-blue256 (#3190)

- Fixes

  * First Backspace/Delete is ignored after mouse click in an input widget (#3225)
  * Recursive find file doesn't work on Samba share (#3097)
  * Recursive find file doesn't work on Windows NFS share (#3202)
  * Incorrect file counter in move operation (#3196, #3209)
  * "Directory scanning" window is too narrow (#3162)
  * Colon is not recognized inside escape seq in prompt (#3241)
  * Quick view doesn't grab focus on mouse click (#3251)
  * fish subshell: overridden prompt (#3232, #3237)
  * mcviewer: broken switch between raw and parse modes (#3219)
  * mcviewer: incorrect percentage in mcview hex mode (#3258)
  * RAR VFS incorrectly recognizes UnRAR version (#3240)
  * viewbold and viewselected are missing from some skins (#3244)
  * Incorrect enconding name for manual page (#3239)
  * "User menu -> View manual page" doesn't do coloring (#3243)


Version 4.8.12

- Core

  * Speed up of file find (#2290)
  * If cwd is a symlink it is kept at startup (#3093)
  * Improve support of Zsh (#3121, #3124, #3125, #3177)
  * Launch external editor/viewer without passing line number (#3117)
  * Exit without confirmation by default (#3132)
  * Simple user-friendly skin selector (#2165, #3178)
  * Use Joliet and RockRidge in ISO9660 image view action (#3187)

- VFS

  * Use .zip extension as preferred way to recognize ZIP archives (#2857)

- Editor

  * Configurable selection reset on CK_Store (#3111)

- Misc

  * Code cleanup (#3113, #3151)
  * Adjust script permissions to installed ones (#2274)
  * Fix name of FSF in add source files (#3167)
  * Skin cleanups (#3180, #3184)
  * Do not consider "String not found" message as error (#3179)

- Fixes

  * Broken build with NCurses (#3114)
  * Incorrect tilde expansion in copy/rename/move dialog (#3131)
  * Advanced chown: Escape on user list accepts value (#3150)
  * Toggling hidden files using mouse doesn't update the other panel (#3156)
  * Question mark in delete confirmation is on its own line (#3123)
  * Popup dialogs wander upwards upon resize (#3173)
  * Keypad '*' doesn't work with numlock off (#3133)
  * Some inconsistencies in "Learn keys" UI (#3134)
  * Unconventional behavior of "Display bits" dialog (#3152)
  * Shift-Fn keys don't work in 256-color mode of tmux (#2978)
  * mcedit: format paragraph produces inconsistent wrapping (#3119)
  * mcedit: file out-of-date check on saving is botched (#3142)
  * mcedit: 1st line is shifted after paragraph format (#1666)
  * mcedit: trailing newline check applied too early when exiting (#3140)
  * Inconsistency of the arrow's direction in the panel header line across skins (#3157)
  * Possible segfault while passing messages to widgets (#3116)
  * Possible segfault when freeing a VFS (#3116)
  * Segfault in cpio VFS while reading corrupted RPM (#3116)
  * Segfault in sftpfs VFS when trying to view a file (#3176)
  * Incorrect handling of filenames with unrar v5 (#3073)
  * FISH VFS: remote panel confused by filenames with '%' (#2983)
  * iso9660: xorriso shows only one depth (#3122)
  * Nicedark skin looks bad on black-on-white terminals (#3154)
  * Incorrect definition of "topmiddle" and "bottommiddle" characters (#3183)


Version 4.8.11

- Core

  * Live update of panels size when editing layout (#3060)
  * Support "Compute totals" option in move file operation (#2075)

- VFS

  * rpm extfs
    - show dependency version (#2812)
    - support tar payload (#3064)
    - improve support for EPOCH tag (#1588)
    - add support for PREINPROG/POSTINPROG/PREUNPROG/POSTUNPROG, VERIFYSCRIPTPROG and TRIGGERSCRIPTS/TRIGGERSCRIPTPROG tags (#1588)

- Editor

  * Support "bracketed paste mode" of xterm (#2661)
  * Clarify Java syntax highlighting (#3057)

- Misc

  * Print warnings about unknown '--with-' / '--enable-' configure options (#3029)
  * Code cleanup and refactoring (#3051, #3066)

- Fixes

  * FTBFS on GNU Hurd (#3053, #3071)
  * Segfault while moving files (#3059, #3105)
  * Broken handling of mc command line arguments (#3047)
  * Copy/move doesn't work if num_history_items_recorded=0 (#3076)
  * No subdir path completion in current dir, if stub is not starting with './' (#3018)
  * Deprecated "find -perm +xxx" syntax is used (#3089)
  * Home, End, Shift-Fn keys don't work in tmux (#2978)
  * Improper [en|dis]abling of layout dialog split adjustment buttons (#3061)
  * Bogus strings in 'Confirmation' config dialog (#2271)
  * "Configure options" first entry not highlighted (#3084)
  * "Setup saved to ~/.config/mc/ini" message is misleading (#3096)
  * F3 doesn't work on .so files in FreeBSD 9.x (#3101)
  * Typo in mc.lib: "less=%filename +%linenog" instead of "+%lineno" (part of #3044)
  * Wrong order of filename and line number for external editor (part of #3044)
  * mcedit: tabs are lost when text is pasted (#1797 as part of #2661)
  * mcedit: question on large file treats Escape as Yes (#3107)
  * Broken case-sensitive search in editor/viewer/diffviewer (#3069)
  * Changes to files in nested .zip archives are lost (#3070)
  * Incorrect handling of filenames with spaces with unrar v5 (#3073)
  * iso9660 VFS: filenames truncating in ISO file listing (#3091)
  * vfs_path_from_str_flags() doesn't support VPF_STRIP_HOME (#3098)
  * Bright colors are used as background colors in 16-color skins (#3050)
  * Various defects in documentation (#3052, #3092)


Version 4.8.10

- Core

    * Do not link GModule if it is not required (save space on embedded systems) (#2995)
    * Behavior of the 'Right' key in the 'Directory hotlist' was changed: now 'Right' key is used only to enter into the group (#3045)

- Misc

    * Code cleanup (#3035)

- Fixes

    * Build failure on Cygwin (#3041)
    * Broken NCurses detection (#3043)
    * Broken handling of mc command line arguments (#3047)
    * Cannot enter into zip archive in tar one (#3034)
    * Cannot open some jar files
    * mcedit: file descriptor leak (#3040)
    * mcedit: paragraph format doesn't respect multibyte characters (#2713)
    * Crash after entering a wrong SFTP password (#3036)


Version 4.8.9

- VFS

    * extfs: support unrar-5 (#3015)
    * extfs: use xorriso (if exists) for writing into ISO images (#3027)

- Editor

    * Support unlimited file size (#1743)

- Misc

    * Lot of code cleanups (#2990, #2071, #2164, #2998, #3003, #3005, #3022)
    * Display additional info while viewing (by F3) *.iso files (#2006)
    * New skins:
        - modarin256: set of 256-color skins from Oliver Lange (#2737)

- Fixes

    * Fail to link if system lib does not contain strverscmp (#2992)
    * Segfault when mc's temporary directory doesn't belong to the correct user (#3021)
    * Race condition when creating temporary directory (#3025)
    * Mouse doesn't work in screen and tmux (#3011)
    * Incorrect file size in copy/move overwrite query dialog (#3000)
    * Garbage in subshell prompt (#3001)
    * Incorrect WLabel redraw after text change (#2991)
    * Find File: "All charsets" options don't work (#3026)
    * When an unknown key is pressed, it is interpreted as garbage (#2988)
    * Segfault on creating new file in external editor (#3020)
    * Rotating dash is not removed when mc finishes reading the directory (#2163)
    * mcedit: word completion failed if word to be completed is begun from begin of file (#2245)
    * mcview: broken switch between raw and parse modes (#2968)
    * Hex viewer: continue search doesn't work (#2706)
    * sftpfs: broken SSH aliases (#2923)


Version 4.8.8

- Core

    * Make copy/move progress dialog window wider up to 2/3 of screen width (#2076)
    * Ask file name before create new file in editor (#2585)
    * Support newer extended mouse protocol SGR-1006 instead of URXVT-1015 (#2956)
    * Allow skip directory scanning before file operation. Print directory count and size in addition to directory name (#2101)
    * Add jump support to target line in some external editors and viewers (#2206)

- Editor

    * Update syntax highlighting:
        - Jal programming language (#2855)
        - gplink configuration files (.lkr extension) (#2855)
        - Makefile with .mak extension (#2896)
        - ZSH configuration files (#2950)
        - Fortran (#2962)

- Misc

    * Code cleanup (#2944, #2954)
    * Report real compiler in MC_CHECK_ONE_CFLAG instead of 'gcc'
    * Hints files now translated via Transifex (#2980)

- Fixes

    * Segfault in file operation due to unhandled regexp error (#2493)
    * Tab completion vs. spaces and escaping (#55)\
    * Special chars are not escaped in autocompletion of filenames (#2626)
    * Buttons in the 'Directory hotlist' window are placed incorrectly (#2958)
    * Mouse doesn't select text in subshell in native console (#2964)
    * Mouse click below non-droppeddown menubar activates menu box (#2971)
    * Insufficient quoting and wrong message in user menu (#2947)
    * mcedit: floating point exception (division by zero) (#2953)
    * mcedit: broken autocompletion (#2957)
    * mcview: broken magic mode (#2976)
    * Broken opening of .war archives (#2974)


Version 4.8.7

- Core

    * Minimal GLib version is 2.12.0
    * Implementation of suspend/resume in copy/move file operations (#2111)
    * Start of widget subsystem reimplementation (#2919)

- VFS

    * uc1541 extfs plug-in updated up to version 2.5 (#2935)

- Editor

    * Reset selection after text paste (only in non-persistent selection mode) (#2660)
    * Don't indent blank lines (#303).
    * Add .psgi as Perl syntax highlighting (#2912)
    * Place cursor after inserted chars (#319)
    * Add option in ini file to save spelling language (spell_language=NONE for disable aspell support) (#2914)

- Misc

    * Code cleanup (#2888, #1950)
    * Minimal "check" utility version is 0.9.8
    * Remove the empty contrib/dist/debian/ since it maintained separately in Debian (#2871)
    * mc.ext updates:
        - add support of SVG images (#2895)
        - add support of .asm file extension (#2892)
        - add support of .hh file extension (#2892)
        - all file extension for source files now are case insensitive (#2892)
        - add support of JNG and MNG images (#2893)
        - add support of Gnumeric's spreadsheets (#2894)
        - add support of .war archives (#2891)
        - make a choice between arj and unarj archivers (#2890)
        - make a choice between 7z and 7za archivers (#2890)
        - add support of ape, aac and wvm4a media formats (#2767)
        - add support of cbr and cbz comic books (#2739)
        - add support of epub e-book format (#2739)
        - add support of PAR archives (#2739)
        - use libreoffice instead of ooffice, if found, to open ODT files (#2723)
        - use dvicat if dvi2tty not found to view DVI files (#1686)
        - use 'see' utility as default pdf viewer, if found (#1686)
        - use 'see' utility to view images in console (#1686)
    * Highlight OGV files as media (#2934)
    * Added new translations:
        - Persian (fa)
        - Croatian (hr)

- Fixes

    * Build failure on Cygwin (#2917)
    * Fail to check ncurses library if --with-ncurses-inc and --with-ncurses-libs options are used (#2926)
    * Crash on Solaris while trying to copy a file (#2906)
    * CVE-2012-4463: Does not sanitize MC_EXT_SELECTED variable properly (#2913)
    * Attributes of existing directories are never preserved when copying (#2924)
    * Broken path completion on paths starting with ~/ (#2898)
    * Terminal settings are not changed when window is resized (#2198)
    * Enter into symlink to compressed patch shows empty patch (#2910)
    * Test failure on Cygwin due to incorrect linkage flag (#2918)
    * Non-portable test (#2883)


Version 4.8.6

- Fixes

    * mcedit: two-columns extra offset of cursor after tab character (#2881)
    * diffviewer: cannot open file if name contains '$' (#2873)


Version 4.8.5

- Core

    * Implemented case-insensitive patterns in mc.ext bindings (#2250)

- Editor

    * Code refactoring and cleanup (#1977)

- Diff viewer

    * Bidirectional merge (F5 merge left-to-right, F15 - merge right-to-left) (#2863)

- Misc

    * Syntax highlighting news and updates:
        - update assembler.syntax: x86 AMD64 registers highlighting (#2542)
        - new cmake.syntax: preliminary and incomplete syntax file for CMakeLists.txt files (#2084)
        - new dlink.syntax: syntax highlighting for D-Link switches command set (#2649)
        - update properties.syntax: more nice look-and-feel (#1869)
    * mc.ext enhancement (#2103):
        - use chm_http text-mode handler for CHM files
        - play sounds only from videos in text mode
        - use pdftotext -layout -nopgbrk switches
        - try to use elinks before links for HTML
        - soffice2html text-mode handler for SXW files
        - wvHtml text-mode handler for doc files
        - xlhtml text-mode handler for XLS files
        - ppthtml text-mode handler for PPT/PPS files
        - open=view+pager fallback (noX) for PostScript, PDF, OD[PST] and DVI
        - standarized $DISPLAY checks
    * File extension support:
        - SQLite database files (#2103)
        - compiled Java files (*.class) (#2103)
        - m4a for MP4 containers with audio data in the Advanced Audio Coding (AAC) or its own Apple Lossless (ALE, ALAC) formats (#2869)
        - .ogm extension was deprecated in favor of .ogv (#2664)

- Fixes

    * Bad EXTHELPERSDIR substitution if --prefix is not set (#2849)
    * Partially broken loading of user-defined keymap file (#2848)
    * Enter on directory named '~' goes to the home one (#2874)
    * Cannot Copy/Move files with filename encoding change (#2791)
    * Cannot view compressed files named like log.1.gz (with digit in name) (#2852)
    * Panel is not refreshed if panel history is called using mouse (#2854)
    * Duplicate entities in panel with 'tree view' mode (#2835)
    * Broken synchronization with filelist and tree panels (#2862)
    * Standalone mcedit doesn't load saved file position (#2853)
    * mcedit segfaults when aspell (en) dictionary is not installed (#2856)
    * mcedit segfaults after "Back from declaration" call (#2859)
    * mcedit: unable to save changes in "Safe save" mode(#2832)
    * Segfault when viewing HTML files with "mc -v" (#2858)
    * Broken 'Enter' action on a rpm file containing space character in filename (#2838)
    * extfs: uc1541 broken handling (#2864)
    * mc.ext: OGV format handled as audio (#2869)


Version 4.8.4

- Core

    * Use xdg-open by default in mc.ext.in if present to open files, fallback on current scheme otherwise (#2118)
    * Improve of mouse event handling in dialogs (#2817)
    * Show extended info about compiled-in paths for internal/external macros in the "mc -F" output (2495)

- VFS

    * Added SFTP support (#1535)

- Editor

    * Multieditor: allow edit many files in one mcedit window (#2261, #2839)
    * Aspell support for spell check (#2788)

- Viewer

    * Handle CK_FileNext/CK_FilePrev actions inside mcviewer (#2814)

- Misc

    * Tweak and cleanup of code in case of --disable-charset option usage (#2827)
    * File extension support:
        - .gem - rubygems (#2797)
        - .cpio.xz - compressed cpio archives (#2798)
        - .webm - WebM video (#2746)
        - .lib - gputils artifacts (#2751)

- Fixes

    * Build failure on FreeBSD 6 (#2808)
    * src/filemanager/filegui.c does not compile on Solaris due to missing macros (#2825)
    * Loss of data on copy to full partition (#2829)
    * Crash at Chown command (#2784)
    * Crash when creating relative symlink (#2787)
    * Misinterpretation of dirs as command line arguments (#2783, #2805)
    * Number of panelized files was limited to 127 (#2813)
    * CK_History removes CK_HistoryNext entries (#2313)
    * URL with port was stored wrong in history (#2833)
    * Can't find 00 (zeroes) in patterns in hex search (#2795)
    * Hotkey conflicts in 'Search' dialog (#2843)
    * Error message when entering into compressed tar and cpio archives (#2785)
    * Garbage directory listing in ftpfs (#2800)
    * Incomplete sand256 skin (#2807)
    * mcedit scripts are installed as data files (#1437)
    * Fails to build from source with --enable-tests (#2786)
    * Tests failure on PowerPC,S390,S390x (#2804)
    * Fail to compile if --without-vfs configure option specified (#2834)
    * do_panel_cd: FTBFS with --enable-tests on [kfreebsd-i386,kfreebsd-amd64,ia64,armhf] (#2803)


Version 4.8.3

- Misc

    * Code cleanup (#2780)

- Fixes

    * Broken support of XDG_* shell variables (#1851)
    * Segmentation fault while background copying (#2663)
    * MC ignores second directory argument (#2762)
    * Interpretation of LANG variable needs to be case insensitive (#2386)
    * Cannot copy zero-length files with "Preallocate space" option (#2755)
    * Problem in the Copy operation with unchecked the "Preserve attributes" option (#2278)
    * * Cursor position reset after update when panel is panelized, but doesn't (#2766)
    * File selection reset after exit from the archive in the root (#2776)
    * Hotlist: broken newly added entries if old-style path is present (#2753)
    * Can't rebind Fx keys in the file manager (#2384)
    * "justified" menu alignment (#2756)
    * The last (or single) word of hyperlinks in the interactive help don't act on mouse clicks (#2763)
    * 'cd' command is not working in shell link (#2758)
    * mc hangs on switching screens (#2608)
    * Case sensitive search with SEARCH_TYPE_PCRE is broken (#2764)
    * mcedit can't run w/o file as parameter (#2754)
    * mcedit can't record input char (#2757)
    * mcedit: save file on top of existing directory changes dir's permissions (#2761)
    * Unable to edit gzipped files (#2759)
    * mcedit hangs up on replace with regexp contains '^' or '$' (#1868)
    * Segfault after open incorrect archive (#2775)
    * mcdiff crashes if one panel is not in the listing mode (#2769)
    * The password for vfs sessions remains in input history (#2760)
    * Showing directory sizes is broken in VFS'es (#2765)
    * Stale symlinks in vfs (#2777)
    * Active VFS directories list contain incorrect current path (#2779)
    * Date not set properly in manpage (#2692)
    * Empty texinfo rule in mc.ext (#2774)
    * Test failure if 'HOME' contains trailing slashes (#2768)


Version 4.8.2

- Core

    * Added new flag -X (--no-x11) to allow dont't use X11 to get the state of modifiers Alt, Ctrl, Shift (#86)
    * Support of '~' as home dir in 'Start at:' field in 'Find File' dialog (#2694)
    * Support of '~' as home dir in hotlists (#2747)
    * Learn of 'Back Tab' is possible now in 'Learn keys' dialog (#2628)
    * Optional '0x' prefix for hexadecimal search (#2705)
    * Dynamically resize panels (#2465)
    * New bindings (ScrollLeft, ScrollRight) for scroll long filenames in panels (#2731)

- VFS

    * Internal VFS reorganization (#2695)

- Editor

    * Added as.syntax (#2708)

- Viewer

    * Added action bindings for backward search (#2105)

- Misc

    * Added hotkeys for all radio/check-buttons in search/replace dialogs (#2704)
    * New file bindings:
        - .m4v, .ts - video (#2702)
        - djv - DjVu? (#2645)
    * Simplify mc.menu - remove LZMA|LZ and change p7 to 7z (#2703)
    * Updated list of known browsers: gnome-moz-remote mozilla firefox konqueror opera (#2725)
    * Added MC_HOME environment variable to set up home directory of MC (as part of #2738)
    * Lot of code cleanup (#2740)

- Fixes

    * Compile failure of 4.8.1 on xBSD because "Undefined symbols: _posix_fallocate" (#2689)
    * MC deletes the wrong file because of forced panel reload before file operation (#2736)
    * Cannot chdir to directory if directory name contains the dollar sign (#2451)
    * Incorrect panel size after change panel split type (#2521)
    * Wrong total bytes counter for subdirs in copy/move dialog (#2503)
    * Display corruption in panels after window shrink (#2684)
    * Command line is unaccessible from tree panel (#2714)
    * Extra confirmation before delete an empty hotlist group (#1576)
    * Can't open an edit zero-length file from VFS in mcedit (#2710)
    * mcedit crashes when ~/.config is a file (#2738)
    * mcedit: reset selection after END/HOME/PgDn/PgUp (#2726)
    * 'make check' fails on arm and alpha (-z muldefs) (#2732)


Version 4.8.1

- Core

    * Use posix_fallocate64() when copying files/moving to a new mount point (#2610)
    * Faster startup (#2637)
    * Support of extended mouse clicks beyond 223 (#2662)

- VFS

    * Added exit point ("..") at the top of file list (after external panelization) (#275, #278)

- Editor

    * Lex/Flex sources (extension .l) handled by yxx.syntax file. Yacc/Bison syntax completed with all symbols (#1647)
    * Updated syntax files:
        - lua

- Misc

    * Updated skins:
        - sand256 (#2640)
        - xoria256 (#2641)
    * Added ability to move MC config files to specified place instead of multiple places in $HOME (#2636)
    * Added configure option --with-homedir (default value: XDG) (#2636)
    * Respect traditional placement of user preferences on Mac OS X (#2658 as part of #2636)
    * A few useful additions to filehighlight.ini (#2646)

- Fixes

    * Doesn't compile when using --disable-nls (#2639)
    * Can't compile on OpenIndiana (Solaris) (#2643)
    * Moving content of bindings to mc.ext during 4.7 -> 4.8 upgrade breaks mc
    * Free space on filesystems >2TB is not displayed properly (#2338)
    * Not all errors are skipped after "Ignore all" choose (#71)
    * Input field in password mode is fully masked with asterisks (#2653)
    * In "Copy File" dialog the "preserve Attributes" checkbox is always unchecked for filesystems mounted with FUSE (#2254)
    * Command line cursor misplaced after a resize in viewer/editor (#2678)
    * Save of some learned keys is broken (#2676)
    * Editor sometimes shows two dots instead of letter (#2372)
    * Editor: word completion should ignore the current word (#2614)
    * Viewer sometimes shows two dots instead of letter (#1730)
    * Viewer shows two dialogs when searcj hot found (#2677)
    * Cannot navigate over spftp servers (#2634)
    * mc adds spaces at the beginning of all files/dirs on ftp servers (#2635)
    * VFS: broken SMB (#2652)
    * man page lies about mc.keymap (#2675)
    * mc does not preserve file mtime when copying over ssh (#2625)


Version 4.8.0

- Misc
    * Code cleanup (#2620)
    * License version updated to GPL3+ (#1551)
    * Added new translation:
        - Interlingua

- Fixes
    * Viewer: cursor position is not restored in hex mode (#2543)
    * fish: broken panels drawing after entering password (#2611)
    * fish: content of modified file is appended instead of overwritten in the remote host (#2632)
    * extfs: broken navigation in archives if current path is encoded (#2621)
    * extfs: strange error message when opening a 7z file if p7zip is not installed (#2598)


Version 4.8.0-pre2

- Core

    * Added -g/--oldmouse option to support of NORMAL/BUTTON_EVENT mouse type (useful for screen/tmux) (#2601)

- VFS

    * New extfs plugin: gitfs (#2467)
    * patchfs enchancement: join several hunks of the same file into one VFS entry (#2573)

- Misc

    * mc.ext: use "include" for $EDITOR entries (#1689)
    * New file bindings:
        - .3gp - video (#2583)

- Fixes

    * Cannot compile 4.8.0-pre1 and 4.7.5.3 on Solaris (#2587)
    * Recent autoconf displays warnings about missing AC_LANG_SOURCE (#2589)
    * Duplication of variable declarations (#2576)
    * Incorrect TTY layer initialization (#2601)
    * Wrong Backspace key behavior in QuickSearch mode if BS key is mapped to CdParentSmart action (#2522)
    * M-o works unexpectedly on symlink shortcuts (#2590)
    * Panelize doesn't honour current sorting (#2175)
    * Hintbar jumps to the top of the screen and overwrites main menu (#2593)
    * File size column is bogus for widths above 9 (#2580)
    * Hex search: incorrect length usage in hexadecimal search (#2579)
    * Editor: Incorrect Pascal syntax highlighting (#2531)
    * Editor: mouse clicks are ignored on the bottom line (#2591)
    * Editor: extended keybingings are broken (#2586)
    * Viewer: Fixed search finds bold/underlined strings twice and highlight search results (#265)
    * Broken listing in ExtFS VFS module (#81)
    * File name length is limited in tar archive (#2201)
    * Crash when copying symlink over ssh (#2582)
    * Broken panels recode (#2595)
    * ftp failures - leading white space in file name (#2594)
    * FISH hangs while copiyng a lot of small files (#2605)


Version 4.8.0-pre1

WARNING: Configuration files was moved from your $HOME/.mc directory into
XDG_CONFIG_* directories to respect FDO standard
(http://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html).
To get more information, see ticket #1851.

WARNING: VFS paths now handled as vfsprefix1://vfsdata/vfsprefix2://vfsdata
(see #2361). Also, 'bindings' user file was renamed to 'mc.ext', so you need
search in this file all

    Open=file.ext#vfsprefix

and replace them to

    Open=file.ext/vfsprefix://

After this you should rename your 'bindings' file to 'mc.ext'.
Old-style paths are handled just in 'Directory hotlist' dialog, but you couldn't
mix URL-like and old style path elements in one path string. Support of old-style
paths will be removed in next major release (probably in 4.9, who knows...)

WARNING: keybinding names was renamed to provide some unification (see #2511).
The correspondence of old and new keybinging names are described in doc/keybind-migration.txt
file and in doc/keybindMigration web page.

Be aware.

- Core

    * Added 256 colours support (#2169, #2173, #2475)
    * Changed default text in filtered view (alt-!) to input command line (if not empty)
      or stay old behaviour (current file under cursor) (#2266)
    * Added simple swap mode that means the swap of panel locations, in addition to current swap
      of panel content (#2368)
    * Cofiguration files now moved to directory specified in XDG_CONFIG_HOME environment variable (#1851)
    * Panel options are read now from [Panels] section only. [Midnight-Commander] section is not read (#2305)
    * "Show mini info" checkbox was moved from the "Layout" dialog window to the "Panel options" one (#2305)
    * Select files by shift-left/right in file panel (#2534)
    * Added support of skip all errors on multi-file/dir operation (#71)
    * 'Find Files' improvements:
        - support relative ignored directories (#2275);
        - handle of ignored directories in dialog window (#2275);
        - "Search for content" checkbox is enabled by default (#2462)
    * Added hardlinks detection for filehighlight (#2478)
    * Unification of keybind names (#2511):
        - most of keybinding names are changes to unify that names. Table of old and new names
          is available in doc/keybind-migration.txt;
        - improve of key rebinding: previously, to rebind some keys, used must redefine the entire section
          where that bindings are placed in user keymap file. New merge algorithm doesn't require that
          and allows rebind only wanted keys;
        - added --nokeymap command line option to disable external keymaps
    * Sources in 'lib' directory now independent to sources in 'src' one (#2501)
    * Added configure parameter --enable-mclib for build libmc.so shared library (#2501)
    * Added new engine for universal event system (as part of #2501)
    * Optimized loading and saving of configurations and histories (#2541, #2545)
    * Reimplemented i18n support in 'Chmod' dialog window (#2557)

- VFS

    * VFS structure changes (as part of #2501):
        - moved from lib/vfs/mc-vfs to lib/vfs;
        - split VFS-modules by directories and moved to src/vfs;
        - lib/vfs/vfs-impl.h was merged into lib/vfs/vfs.h
    * VFS now used URL-like paths (#2361)

- Editor

    * New engine of the editor macro (#323)
    * Multiply repeat of the recorded actions (#323)
    * Call extermal scripts from the editor (#323, #2512)
    * Added REDO action (#25)
    * Group UNDO by action (#27)
    * Selection is not reset after execute user menu (#2463)
    * Vertical selection is not reset after copy/move (#2504)
    * More intuitive word left/right action (now the cursor stop beside EOL/BOL) (#2483)
    * Duble-click marks the current word. Added action MarkWord to mark word, MarkLine
      to mark current line (#2499)
    * Regexp search&replace: support escape sequences in replacement string (#1882)

- Misc

    * Minor enhancement in mc.ext:
    * added -C key to nm utility in View action for static libraries (#2485)
    * New file bindings:
        - .torrent: view using ctorrent (#2562);
        - .mts: handle as videofile (#2566)
    * Added new entries in cedit.menu: "Sort selection", "Upper case", "Lower case"
    * New skins:
        - Xoria256 (#2469)
        - mc-4.6 (#2524)
    * Updated skins:
    * Nice dark (#1791)
    * Added support for check unit test framework (http://check.sourceforge.net) (as part of #2501)
    * Added -F/--datadir-info option to show extended information about used data dirs (#2495)
    * Added --configure-options to easy update & reconfigure existing mc (#2495)
    * Language-specific man pages and hint and help files are not installed
      if mc is built with --disable-nls option (#2514)
    * Added new translation:
        - Esperanto
    * Code cleanup (#2481, #2515, #2518, #2560, #2570)

- Fixes

    * Build failure on DragonFly BSD (#2516)
    * Broken Del & Backspace in dialogs (in locale CP866) (#1634)
    * Screen and input corruption under xterm in non-UTF locales (#1668)
    * Alt-Backspace shortcut doesn't work (#2455)
    * Broken command autocompletion (#2458)
    * Swap panels doesn't respect sort options (#2368)
    * File list format of panel is initialized incorrectly after switch back from quick view
      or info mode to file list one (#2390)
    * Main menu is not drawn correctly after change of it visibility and activity (#2466)
    * MC switches to left panel after call of command history using mouse (#2459)
    * Find file: don't check content regexp if search for content is not used (#2464)
    * Find file: broken lynx-like navigation in panelization of search result (#2491)
    * Dialog trims leading spaces in input field (#2544)
    * Panelize content is lost when doing F5/F6/F8 on a file on the other panel (#2312)
    * Color of panel header cannot be set in the command line (#2170)
    * ctrl-g key closes file panels (#2520)
    * Incorrect files mark by mouse (#2556)
    * Editor: incorrect restore selection after UNDO (#2456)
    * Editor: segfault after getting the previous char in utf8 (#2484)
    * Editor: incorrect detection of the word boundary (added '{', '}' as end of word) (#2500)
    * Bold and selected colors of viewer cannot be set in the command line (#2489)
    * Viewer: fixed  incorrect starting offset for 'search again' (#2294)
    * Viewer: fixed problems while displaying UTF-8 manual pages (#1629)
    * Diff viewer: quick left/right movements don't work in non-default key maps (#2509)
    * AI_ADDRCONFIG is not optional for RFC 3493 non-compliant systems (#2401)
    * FTP directories containing @ result severe security risks (eg. deletion of homedir) (#2220)
    * Builtin ftp client can't download files with apostrophe in a file name (#2251)
    * Unable to show FTP listing if password contains # (#2360)
    * FTP: fixed access to file names starting with space (#81)
    * Bashisms in extfs (#2569)
    * Browsing *.deb files is broken with latest Perl (#2552)
    * isoinfo adds ";1" to the end of file name when Joliet without Rock Ridge is used (#2471)
    * patchfs incorrectly works with filenames containing spaces (#2572)
    * cd to ~ processed incorrectly in the command line if more than one space is separating
      the "cd" and "~" (#2120)
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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	Version 1.10.7
	* Make Liferea use ETags and send If-None-Match
	  (patch by Chris Siebenmann)

2014-02-24   Lars Windolf <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	Version 1.10.1a
	* Fixes SF #1102: Liferea does not show a window
	  (reported by genodeftest)

2013-07-28   Lars Windolf <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 <[email protected]>
	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 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 ??????? ????????? <[email protected]>).
- 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 Feb 15, 2016
Needed by py-google-api-python-client-1.4.2.

## v1.5.2

* Add access token refresh error class that includes HTTP status (#310)
* Python3 compatibility fixes for Django (#316, #318)
* Fix incremental auth in flask_util (#322)
* Fall back to credential refresh on EDEADLK in multistore_file (#336)

## v1.5.1

* Fix bad indent in `tools.run_flow()` (#301, bug was
  introduced when switching from 2 space indents to 4)

## v1.5.0

* Fix (more like clarify) `bytes` / `str` handling in crypto
  methods. (#203, #250, #272)
* Replacing `webapp` with `webapp2` in `oauth2client.appengine` (#217)
* Added optional `state` parameter to
  `step1_get_authorize_url`. (#219 and #222)
* Added `flask_util` module that provides a Flask extension to aid
  with using OAuth2 web server flow. This provides the same functionality
  as the `appengine.webapp2` OAuth2Decorator, but will work with any Flask
  application regardless of hosting environment. (#226, #273)
* Track scopes used on credentials objects (#230)
* Moving docs to [readthedocs.org][1] (#237, #238, #244)
* Removing `old_run` module. Was deprecated July 2, 2013. (#285)
* Avoid proxies when querying for GCE metadata (to check if
  running on GCE) (#114, #293)

[1]: https://readthedocs.org/

## v1.4.12

* Fix OS X flaky test failure (#189).
* Fix broken OpenSSL import (#191).
* Remove `@util.positional` from wrapped request in `Credentials.authorize()`
  (#196, #197).
* Changing pinned dependencies to `>=` (#200, #204).
* Support client authentication using `Authorization` header (#206).
* Clarify environment check in case where GAE imports succeed but GAE services
  aren't available (#208).

## v1.4.11

* Better environment detection with Managed VMs.
* Better OpenSSL detection in exotic environments.

## v1.4.10

* Update the `OpenSSL` check to be less strict about finding `crypto.py` in
  the `OpenSSL` directory.
* `tox` updates for new environment handling in `tox`.

## v1.4.9

* Ensure that the ADC fails if we try to *write* the well-known file to a
  directory that doesn't exist, but not if we try to *read* from one.

## v1.4.8

* Better handling of `body` during token refresh when `body` is a stream.
* Better handling of expired tokens in storage.
* Cleanup around `openSSL` import.
* Allow custom directory for the `well_known_file`.
* Integration tests for python2 and python3. (!!!)
* Stricter file permissions when saving the `well_known_file`.
* Test cleanup around config file locations.

## v1.4.7

* Add support for Google Developer Shell credentials.
* Better handling of filesystem errors in credential refresh.
* python3 fixes
* Add `NO_GCE_CHECK` for skipping GCE detection.
* Better error messages on `InvalidClientSecretsError`.
* Comment cleanup on `run_flow`.

## v1.4.6

* Add utility function to convert PKCS12 key to PEM. (#115)
* Change GCE detection logic. (#93)
* Add a tox env for doc generation.

## v1.4.5

* Set a shorter timeout for an Application Default Credentials issue on some
  networks. (#93, #101)
* Test cleanup, switch from mox to mock. (#103)
* Switch docs to sphinx from epydoc.

## v1.4.4

* Fix a bug in bytes/string encoding of headers.

## v1.4.3

* Big thanks to @dhermes for spotting and fixing a mess in our test setup.

* Fix a serious issue with tests not being run. (#86, #87, #89)
* Start credentials cleanup for single 2LO/3LO call. (#83, #84)
* Clean up stack traces when re-raising in some places. (#79)
* Clean up doc building. (#81, #82)
* Fixed minimum version for `six` dependency. (#75)
jperkin pushed a commit that referenced this pull request Aug 24, 2016
    Removed !!! ??? ;;; &&& ||| =~ (#167) ~~~ %%%
    New safer calt code that doesn’t apply ligatures to long sequences of chars, e.g. !!!!, >>>>, etc (#49, #110, #176)
    Larger + - * and corresponding ligatures (#86)
    Hexadecimal x (0xFF) is now applied to sequences like 128x128 as well (#161)
    Added twoTurned (U+218A) and threeTurned (U+218B) (#146)
    Added whiteFrowningFace (U+2639) (#190)
    Simplified visual style on markdown headers ## ### #### (#107)
    Added </> (#147)
    Provided ttf and webfonts versions (eot, woff, woff2) (#18, #24, #38, #101, #106)
    Increased spacing in <= >= (#117)
jperkin pushed a commit that referenced this pull request Nov 1, 2016
v1.15.0
=======

* more sophisticated ignoring of mercurial tag commits
  when considering distance in commits
  (thanks Petre Mierlutiu)
* fix issue #114: stop trying to be smart for the sdist
  and ensure its always correctly usign itself
* update trove classifiers
* fix issue #84: document using the installed package metadata for sphinx
* fix issue #81: fail more gracious when git/hg are missing
* address issue #93: provide an experimental api to customize behaviour on shallow git repos
  a custom parse function may pick pre parse actions to do when using git


v1.14.1
=======

* fix #109: when detecting a dirty git workdir
            don't consider untracked file
            (this was a regression due to #86 in v1.13.1)
* consider the distance 0 when the git node is unknown
  (happens when you haven't commited anything)
jperkin pushed a commit that referenced this pull request Nov 1, 2016
v0.11.2: 2016.08.31
- Extended the photo parsing workaround from khard version 0.11.1 to all base64 encoded vcard attributes (#86 and #87)
- Show additional/middle names in name column of contact table (#89)
- Added khard-runner.py helper script to simplify source code launching

v0.11.3: 2016.09.20
- Pinned version of vcard library vobject to version 0.9.2 due to bug skarim/vobject#39
- Added some new action aliases
- Fix for birthday date processing (#95)
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.

2 participants