forked from jsonn/pkgsrc
-
Notifications
You must be signed in to change notification settings - Fork 62
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
Update postfix to version 2.10.2 (stable) #89
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…cause it's already included in the current version.
It looks like the version is already in the |
Right, it's worth checking that first - our trunk can often lag by a week or so behind. Thanks though! |
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
Dec 9, 2013
3.4 (2013-04-24) ---------------- - Switch to unicode internally. This should fix all en/decoding errors. [thet] - Support for non-ascii parameter values. Fixes #88. [warvariuc] - Added functions to transform chars in string with '\\' + any of r'\,;:' chars into '%{:02X}' form to avoid splitting on chars escaped with '\\'. [warvariuc] - Allow seconds in vUTCOffset properties. Fixes #55. [thet] - Let ``Component.decode`` better handle vRecur and vDDDLists properties. Fixes #70. [thet] - Don't let ``Component.add`` re-encode already encoded values. This simplifies the API, since there is no need explicitly pass ``encode=False``. Fixes #82. [thet] - Rename tzinfo_from_dt to tzid_from_dt, which is what it does. [thet] - More support for dateutil parsed tzinfo objects. Fixes #89. [leo-naeka] - Remove python-dateutil version fix at all. Current python-dateutil has Py3 and Py2 compatibility. [thet] - Declare the required python-dateutil dependency in setup.py. Fixes #90. [kleink] - Raise test coverage. [thet] - Remove interfaces module, as it is unused. [thet] - Remove ``test_doctests.py``, test suite already created properly in ``test_icalendar.py``. [rnix] - Transformed doctests into unittests, Test fixes and cleanup. [warvariuc]
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
REPLACE_PYTHON in two files. From ChangeLog.txt: ## 2012-06-26 0.37 * Fixed datestr issue on Windows -- #155 * Fixed Python 2.4 compatability issues (tx fredludlow) * Fixed error in utils.safewrite (tx shuge) -- #95 * Allow use of web.data() with app.request() -- #105 * Fixed an issue with session initializaton (tx beardedprojamz) -- #109 * Allow custom message on 400 Bad Request (tx patryk) -- #121 * Made djangoerror work on GAE. -- #80 * Handle malformatted data in the urls. -- #117 * Made it easier to stop the dev server -- #100, #122 * Added support fot customizing cookie_path in session (tx larsga) -- #89 * Added exception for "415 Unsupported Media" (tx JirkaChadima) -- #145 * Added GroupedDropdown to support `<optgroup>` tag (tx jzellman) -- #152 * Fixed failure in embedded interpreter - #87 * Optimized web.cookies (tx benhoyt) - #148
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
Jan 2, 2014
(update dependency from py-amkCrypto to py-crypto). 0.7.1 - 2009-11-16 New features: - Entities can now be declared "abstract" so that they do not create a table, etc... This allows, among others, an entity to inherit from multiple abstract classes (patch from Stephane Klein, closes #89). - Added a new collection which can resolve entities relative to the current entity, for example "..other_module.Class" (based on patches from Johannes Janssen, closes #93). - Added a new entity option "resolve_root", which allows one to specify the root module where your entities are defined. The string will be prepended to all "absolute" entity paths. It can also be used on a per-entity basis. This feature is based on a patch from Johannes Janssen, see #93. Changes: - using_options_defaults and using_table_options statements can be used several times within the same class (closes #70). Bug fixes: - Fixed custom base classes and versioned extension when used with zope interfaces (closes #98, patch from Valentin Lab) - Fixed having relationships in custom base classes (based on patch by Stephane Klein)
jperkin
pushed a commit
that referenced
this pull request
Jan 6, 2014
PLIST. From ChangeLog: 3.3.0.13 - 2013-12-13 --------------------- - Fixes compatability with Python < 2.7.6 - No longer attempts to handle ``SIGBUS`` - Non-thread based pool now only handles signals: ``SIGHUP``, ``SIGQUIT``, ``SIGTERM``, ``SIGUSR1``, ``SIGUSR2``. - setup.py: Only show compilation warning for build related commands. 3.3.0.12 - 2013-12-09 --------------------- - Fixed installation for Python 3. - Pool: Fixed bug with maxtasksperchild. - Pool: Fixed bug in maintain_pool. 3.3.0.11 - 2013-12-03 --------------------- - Fixed Unicode error when installing the distribution (Issue #89). - Daemonic processes are now allowed to have children. But note that it will not be possible to automatically terminate them when the process exits. - Pool: Would not always be able to detect that a process exited. 3.3.0.10 - 2013-12-02 --------------------- - Windows: Fixed problem with missing ``WAITABANDONED_0`` - Windows: PipeConnection can now be inherited. 3.3.0.9 - 2013-12-02 -------------------- - Temporary workaround for Celery maxtasksperchild issue. 3.3.0.8 - 2013-11-21 -------------------- - Now also sets ``multiprocessing.current_process`` for compatibility with loggings ``processName`` field. 3.3.0.7 - 2013-11-15 -------------------- - Fixed compatibility with PyPy 2.1 + 2.2. - Fixed problem in pypy detection. - Now uses ``ctypes.find_library`` instead of hardcoded path to find the OS X CoreServices framework. 3.3.0.6 - 2013-11-12 -------------------- - Now works without C extension again. - New ``_billiard.read(fd, buffer, [len, ])` function implements os.read with buffer support (new buffer API) - New pure-python implementation of ``Connection.send_offset``. 3.3.0.5 - 2013-11-11 -------------------- - All platforms except for Windows/PyPy/Jython now requires the C extension. 3.3.0.4 - 2013-11-11 -------------------- - Fixed problem with Python3 and setblocking. 3.3.0.3 - 2013-11-09 -------------------- - Now works on Windows again. 3.3.0.2 - 2013-11-08 -------------------- - ApplyResult.terminate() may be set to signify that the job must not be executed. It can be used in combination with Pool.terminate_job. - Pipe/_SimpleQueue: Now supports rnonblock/wnonblock arguments to set the read or write end of the pipe to be nonblocking. - Pool: Log message included exception info but exception happened in another process so the resulting traceback was wrong. - Pool: Worker process can now prepare results before they are sent back to the main process (using ``Worker.prepare_result``). 3.3.0.1 - 2013-11-04 -------------------- - Pool: New ``correlation_id`` argument to ``apply_async`` can be used to set a related id for the ``ApplyResult`` object returned: >>> r = pool.apply_async(target, args, kwargs, correlation_id='foo') >>> r.correlation_id 'foo' - Pool: New callback `on_process_exit` is called when a pool process exits, with signature ``(pid, exitcode)``. - Pool: Improved the too many restarts detection. 3.3.0.0 - 2013-10-14 -------------------- - Dual code base now runs on Python 2.6+ and Python 3. - No longer compatible with Python 2.5 - Includes many changes from multiprocessing in 3.4. - Now uses ``time.monotonic`` when available, also including fallback implementations for Linux and OS X. - No longer cleans up after receiving SIGILL, SIGSEGV or SIGFPE - ``Finalize`` and ``register_after_fork`` is now aliases to multiprocessing. It's better to import these from multiprocessing directly now so that there aren't multiple registries. - New `billiard.queues._SimpleQueue` that does not use semaphores. - Pool: Can now be extended to support using multiple IPC queues. - Pool: Can now use async I/O to write to pool IPC queues. - Pool: New ``Worker.on_loop_stop`` handler can be used to add actions at pool worker process shutdown. Note that, like all finalization handlers, there is no guarantee that this will be executed.
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
REPLACE_PYTHON in two files. From ChangeLog.txt: ## 2012-06-26 0.37 * Fixed datestr issue on Windows -- #155 * Fixed Python 2.4 compatability issues (tx fredludlow) * Fixed error in utils.safewrite (tx shuge) -- #95 * Allow use of web.data() with app.request() -- #105 * Fixed an issue with session initializaton (tx beardedprojamz) -- #109 * Allow custom message on 400 Bad Request (tx patryk) -- #121 * Made djangoerror work on GAE. -- #80 * Handle malformatted data in the urls. -- #117 * Made it easier to stop the dev server -- #100, #122 * Added support fot customizing cookie_path in session (tx larsga) -- #89 * Added exception for "415 Unsupported Media" (tx JirkaChadima) -- #145 * Added GroupedDropdown to support `<optgroup>` tag (tx jzellman) -- #152 * Fixed failure in embedded interpreter - #87 * Optimized web.cookies (tx benhoyt) - #148
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
(update dependency from py-amkCrypto to py-crypto). 0.7.1 - 2009-11-16 New features: - Entities can now be declared "abstract" so that they do not create a table, etc... This allows, among others, an entity to inherit from multiple abstract classes (patch from Stephane Klein, closes #89). - Added a new collection which can resolve entities relative to the current entity, for example "..other_module.Class" (based on patches from Johannes Janssen, closes #93). - Added a new entity option "resolve_root", which allows one to specify the root module where your entities are defined. The string will be prepended to all "absolute" entity paths. It can also be used on a per-entity basis. This feature is based on a patch from Johannes Janssen, see #93. Changes: - using_options_defaults and using_table_options statements can be used several times within the same class (closes #70). Bug fixes: - Fixed custom base classes and versioned extension when used with zope interfaces (closes #98, patch from Valentin Lab) - Fixed having relationships in custom base classes (based on patch by Stephane Klein)
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
PLIST. From ChangeLog: 3.3.0.13 - 2013-12-13 --------------------- - Fixes compatability with Python < 2.7.6 - No longer attempts to handle ``SIGBUS`` - Non-thread based pool now only handles signals: ``SIGHUP``, ``SIGQUIT``, ``SIGTERM``, ``SIGUSR1``, ``SIGUSR2``. - setup.py: Only show compilation warning for build related commands. 3.3.0.12 - 2013-12-09 --------------------- - Fixed installation for Python 3. - Pool: Fixed bug with maxtasksperchild. - Pool: Fixed bug in maintain_pool. 3.3.0.11 - 2013-12-03 --------------------- - Fixed Unicode error when installing the distribution (Issue #89). - Daemonic processes are now allowed to have children. But note that it will not be possible to automatically terminate them when the process exits. - Pool: Would not always be able to detect that a process exited. 3.3.0.10 - 2013-12-02 --------------------- - Windows: Fixed problem with missing ``WAITABANDONED_0`` - Windows: PipeConnection can now be inherited. 3.3.0.9 - 2013-12-02 -------------------- - Temporary workaround for Celery maxtasksperchild issue. 3.3.0.8 - 2013-11-21 -------------------- - Now also sets ``multiprocessing.current_process`` for compatibility with loggings ``processName`` field. 3.3.0.7 - 2013-11-15 -------------------- - Fixed compatibility with PyPy 2.1 + 2.2. - Fixed problem in pypy detection. - Now uses ``ctypes.find_library`` instead of hardcoded path to find the OS X CoreServices framework. 3.3.0.6 - 2013-11-12 -------------------- - Now works without C extension again. - New ``_billiard.read(fd, buffer, [len, ])` function implements os.read with buffer support (new buffer API) - New pure-python implementation of ``Connection.send_offset``. 3.3.0.5 - 2013-11-11 -------------------- - All platforms except for Windows/PyPy/Jython now requires the C extension. 3.3.0.4 - 2013-11-11 -------------------- - Fixed problem with Python3 and setblocking. 3.3.0.3 - 2013-11-09 -------------------- - Now works on Windows again. 3.3.0.2 - 2013-11-08 -------------------- - ApplyResult.terminate() may be set to signify that the job must not be executed. It can be used in combination with Pool.terminate_job. - Pipe/_SimpleQueue: Now supports rnonblock/wnonblock arguments to set the read or write end of the pipe to be nonblocking. - Pool: Log message included exception info but exception happened in another process so the resulting traceback was wrong. - Pool: Worker process can now prepare results before they are sent back to the main process (using ``Worker.prepare_result``). 3.3.0.1 - 2013-11-04 -------------------- - Pool: New ``correlation_id`` argument to ``apply_async`` can be used to set a related id for the ``ApplyResult`` object returned: >>> r = pool.apply_async(target, args, kwargs, correlation_id='foo') >>> r.correlation_id 'foo' - Pool: New callback `on_process_exit` is called when a pool process exits, with signature ``(pid, exitcode)``. - Pool: Improved the too many restarts detection. 3.3.0.0 - 2013-10-14 -------------------- - Dual code base now runs on Python 2.6+ and Python 3. - No longer compatible with Python 2.5 - Includes many changes from multiprocessing in 3.4. - Now uses ``time.monotonic`` when available, also including fallback implementations for Linux and OS X. - No longer cleans up after receiving SIGILL, SIGSEGV or SIGFPE - ``Finalize`` and ``register_after_fork`` is now aliases to multiprocessing. It's better to import these from multiprocessing directly now so that there aren't multiple registries. - New `billiard.queues._SimpleQueue` that does not use semaphores. - Pool: Can now be extended to support using multiple IPC queues. - Pool: Can now use async I/O to write to pool IPC queues. - Pool: New ``Worker.on_loop_stop`` handler can be used to add actions at pool worker process shutdown. Note that, like all finalization handlers, there is no guarantee that this will be executed.
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
Feb 6, 2014
============= Some extracts from the git log: * Add new DNSKEY algorithms registered by IANA * Add AUTH checking over both UDP and TCP. [Fixes #80] * New queue dispatch * Clean out dead code, add tests to new code and add log entries. [Closes #89] * Log when an AS prefix is discarded * Add simple command-line tool to add domains to the dispatcher queue * Add callback functionality to logger * Perl 5.18 fix (hash key order randomization) * The authoritative servers for ARPA are the root servers, which caused problems for our parent-finding algorithm. Worked around by special -casing so that single-label names always return root as the parent. [Closes #92] * Make allowed maximum NSEC3 iterations a policy parameter * Detect DNSCurve-supporting nameservers * Significant improvements to glue checking * Fix for referral check under undelegated * More tests for new glue-checking code * Detect names in domains reserved by IANA (RFC 6761). [Closes #96] * Log messages for reserved ASs. [Closes #97]
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
3.4 (2013-04-24) ---------------- - Switch to unicode internally. This should fix all en/decoding errors. [thet] - Support for non-ascii parameter values. Fixes #88. [warvariuc] - Added functions to transform chars in string with '\\' + any of r'\,;:' chars into '%{:02X}' form to avoid splitting on chars escaped with '\\'. [warvariuc] - Allow seconds in vUTCOffset properties. Fixes #55. [thet] - Let ``Component.decode`` better handle vRecur and vDDDLists properties. Fixes #70. [thet] - Don't let ``Component.add`` re-encode already encoded values. This simplifies the API, since there is no need explicitly pass ``encode=False``. Fixes #82. [thet] - Rename tzinfo_from_dt to tzid_from_dt, which is what it does. [thet] - More support for dateutil parsed tzinfo objects. Fixes #89. [leo-naeka] - Remove python-dateutil version fix at all. Current python-dateutil has Py3 and Py2 compatibility. [thet] - Declare the required python-dateutil dependency in setup.py. Fixes #90. [kleink] - Raise test coverage. [thet] - Remove interfaces module, as it is unused. [thet] - Remove ``test_doctests.py``, test suite already created properly in ``test_icalendar.py``. [rnix] - Transformed doctests into unittests, Test fixes and cleanup. [warvariuc]
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
REPLACE_PYTHON in two files. From ChangeLog.txt: ## 2012-06-26 0.37 * Fixed datestr issue on Windows -- #155 * Fixed Python 2.4 compatability issues (tx fredludlow) * Fixed error in utils.safewrite (tx shuge) -- #95 * Allow use of web.data() with app.request() -- #105 * Fixed an issue with session initializaton (tx beardedprojamz) -- #109 * Allow custom message on 400 Bad Request (tx patryk) -- #121 * Made djangoerror work on GAE. -- #80 * Handle malformatted data in the urls. -- #117 * Made it easier to stop the dev server -- #100, #122 * Added support fot customizing cookie_path in session (tx larsga) -- #89 * Added exception for "415 Unsupported Media" (tx JirkaChadima) -- #145 * Added GroupedDropdown to support `<optgroup>` tag (tx jzellman) -- #152 * Fixed failure in embedded interpreter - #87 * Optimized web.cookies (tx benhoyt) - #148
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
(update dependency from py-amkCrypto to py-crypto). 0.7.1 - 2009-11-16 New features: - Entities can now be declared "abstract" so that they do not create a table, etc... This allows, among others, an entity to inherit from multiple abstract classes (patch from Stephane Klein, closes #89). - Added a new collection which can resolve entities relative to the current entity, for example "..other_module.Class" (based on patches from Johannes Janssen, closes #93). - Added a new entity option "resolve_root", which allows one to specify the root module where your entities are defined. The string will be prepended to all "absolute" entity paths. It can also be used on a per-entity basis. This feature is based on a patch from Johannes Janssen, see #93. Changes: - using_options_defaults and using_table_options statements can be used several times within the same class (closes #70). Bug fixes: - Fixed custom base classes and versioned extension when used with zope interfaces (closes #98, patch from Valentin Lab) - Fixed having relationships in custom base classes (based on patch by Stephane Klein)
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
PLIST. From ChangeLog: 3.3.0.13 - 2013-12-13 --------------------- - Fixes compatability with Python < 2.7.6 - No longer attempts to handle ``SIGBUS`` - Non-thread based pool now only handles signals: ``SIGHUP``, ``SIGQUIT``, ``SIGTERM``, ``SIGUSR1``, ``SIGUSR2``. - setup.py: Only show compilation warning for build related commands. 3.3.0.12 - 2013-12-09 --------------------- - Fixed installation for Python 3. - Pool: Fixed bug with maxtasksperchild. - Pool: Fixed bug in maintain_pool. 3.3.0.11 - 2013-12-03 --------------------- - Fixed Unicode error when installing the distribution (Issue #89). - Daemonic processes are now allowed to have children. But note that it will not be possible to automatically terminate them when the process exits. - Pool: Would not always be able to detect that a process exited. 3.3.0.10 - 2013-12-02 --------------------- - Windows: Fixed problem with missing ``WAITABANDONED_0`` - Windows: PipeConnection can now be inherited. 3.3.0.9 - 2013-12-02 -------------------- - Temporary workaround for Celery maxtasksperchild issue. 3.3.0.8 - 2013-11-21 -------------------- - Now also sets ``multiprocessing.current_process`` for compatibility with loggings ``processName`` field. 3.3.0.7 - 2013-11-15 -------------------- - Fixed compatibility with PyPy 2.1 + 2.2. - Fixed problem in pypy detection. - Now uses ``ctypes.find_library`` instead of hardcoded path to find the OS X CoreServices framework. 3.3.0.6 - 2013-11-12 -------------------- - Now works without C extension again. - New ``_billiard.read(fd, buffer, [len, ])` function implements os.read with buffer support (new buffer API) - New pure-python implementation of ``Connection.send_offset``. 3.3.0.5 - 2013-11-11 -------------------- - All platforms except for Windows/PyPy/Jython now requires the C extension. 3.3.0.4 - 2013-11-11 -------------------- - Fixed problem with Python3 and setblocking. 3.3.0.3 - 2013-11-09 -------------------- - Now works on Windows again. 3.3.0.2 - 2013-11-08 -------------------- - ApplyResult.terminate() may be set to signify that the job must not be executed. It can be used in combination with Pool.terminate_job. - Pipe/_SimpleQueue: Now supports rnonblock/wnonblock arguments to set the read or write end of the pipe to be nonblocking. - Pool: Log message included exception info but exception happened in another process so the resulting traceback was wrong. - Pool: Worker process can now prepare results before they are sent back to the main process (using ``Worker.prepare_result``). 3.3.0.1 - 2013-11-04 -------------------- - Pool: New ``correlation_id`` argument to ``apply_async`` can be used to set a related id for the ``ApplyResult`` object returned: >>> r = pool.apply_async(target, args, kwargs, correlation_id='foo') >>> r.correlation_id 'foo' - Pool: New callback `on_process_exit` is called when a pool process exits, with signature ``(pid, exitcode)``. - Pool: Improved the too many restarts detection. 3.3.0.0 - 2013-10-14 -------------------- - Dual code base now runs on Python 2.6+ and Python 3. - No longer compatible with Python 2.5 - Includes many changes from multiprocessing in 3.4. - Now uses ``time.monotonic`` when available, also including fallback implementations for Linux and OS X. - No longer cleans up after receiving SIGILL, SIGSEGV or SIGFPE - ``Finalize`` and ``register_after_fork`` is now aliases to multiprocessing. It's better to import these from multiprocessing directly now so that there aren't multiple registries. - New `billiard.queues._SimpleQueue` that does not use semaphores. - Pool: Can now be extended to support using multiple IPC queues. - Pool: Can now use async I/O to write to pool IPC queues. - Pool: New ``Worker.on_loop_stop`` handler can be used to add actions at pool worker process shutdown. Note that, like all finalization handlers, there is no guarantee that this will be executed.
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 14, 2014
============= Some extracts from the git log: * Add new DNSKEY algorithms registered by IANA * Add AUTH checking over both UDP and TCP. [Fixes #80] * New queue dispatch * Clean out dead code, add tests to new code and add log entries. [Closes #89] * Log when an AS prefix is discarded * Add simple command-line tool to add domains to the dispatcher queue * Add callback functionality to logger * Perl 5.18 fix (hash key order randomization) * The authoritative servers for ARPA are the root servers, which caused problems for our parent-finding algorithm. Worked around by special -casing so that single-label names always return root as the parent. [Closes #92] * Make allowed maximum NSEC3 iterations a policy parameter * Detect DNSCurve-supporting nameservers * Significant improvements to glue checking * Fix for referral check under undelegated * More tests for new glue-checking code * Detect names in domains reserved by IANA (RFC 6761). [Closes #96] * Log messages for reserved ASs. [Closes #97]
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
jperkin
pushed a commit
that referenced
this pull request
Apr 22, 2014
Upstream changes: 1.001003 Fri Mar 21 21:12:32 PST 2014 * Doc updates for maintainer change 1.001002 Mon Nov 4 15:13:58 EST 2013 * no changes since 0.99 1.001001_001 Wed Oct 30 20:47:23 EDT 2013 * no code changes, just a new version number with more room to grow 0.99 Tue Oct 29 13:21:03 2013 EDT 2013 * restore ability to use regex with test_err and test_out (Zefram) [rt.cpan.org #89655] [github #389] [github #387] 0.99 Sat Oct 12 15:05:41 EDT 2013 * no changes since 0.98_06 0.98_06 Fri Sep 27 10:11:05 EDT 2013 Bug Fixes * Fix precedence error with (return ... and ...) (nthykier) [github #385] 0.98_05 Tue Apr 23 17:33:51 PDT 2013 Doc Changes * Add a shorter work around for the UTF-8 output problem. (Michael G Schwern) Bug Fixes * Test::Builder::Tester now works with subtests. (Michael G Schwern) [github 350] * Fix test_fail() inside a do statement. (nnutter) [github #369] New Features * A subtest will put its name at the front of its results to make subtests easier to read. [github #290] [github #364] (Brendan Byrd) Feature Changes * like() and unlike() no longer warn about undef. [github #335] (Michael G Schwern) 0.98_04 Sun Apr 14 10:54:13 BST 2013 Distribution Changes * Scalar::Util 1.13 (ships with Perl 5.8.1) is now required. (Michael G Schwern) Feature Changes * The default name and diagnostics for isa_ok() and new_ok() have changed. (Michael G Schwern) Docs Fixes * Added a COMPATIBILITY section so users know what major features were added with what version of Test::More or perl. [github 343] [github 344] (pdl) * Fix the ok() example with grep(). ([email protected]) Bug Fixes * A test with no plan and missing done_testing() now exits with non-zero. [github #341] (tokuhirom) * isa_ok() tests were broken in 5.17 because of a change in method resolution. [github #353] (Michael G Schwern) 0.98_03 Thu Jun 21 13:04:19 PDT 2012 New Features * cmp_ok() will error when used with something which is not a comparison operator, including =, += and the like. [github 141] (Matthew Horsfall) Bug Fixes * use_ok() was calling class->import without quoting which could cause problems if "class" is also a function. Doc Fixes * use_ok() has been discouraged and de-emphasized as a general replacement for `use` in tests. [github #288] * $thing is now $this in the docs to avoid confusing users of other languages. [Karen Etheridge] Incompatible Changes With Previous Alphas (0.98_01) * use_ok() will no longer apply lexical pragams. The incompatibilities and extra complexity is not worth the marginal use. [github #287] 0.98_02 Thu Nov 24 01:13:53 PST 2011 Bug Fixes * use_ok() in 0.98_01 was leaking pragmas from inside Test::More. This looked like Test::More was forcing strict. [rt.cpan.org 67538] (Father Chrysostomos) 0.98_01 Tue Nov 8 17:07:58 PST 2011 Bug Fixes * BAIL_OUT works inside a subtest. (Larry Leszczynski) [github #138] * subtests now work with threads turned on. [github #145] Feature Changes * use_ok() will now apply lexical effects. [rt.cpan.org 67538] (Father Chrysostomos) Misc * Test::More, Test::Simple and Test::Builder::Module now require a minimum version of Test::Builder. This avoids Test::More and Test::Builder from getting out of sync. [github #89]
jperkin
pushed a commit
that referenced
this pull request
Jun 2, 2014
Upstream changes: 1.001003 Fri Mar 21 21:12:32 PST 2014 * Doc updates for maintainer change 1.001002 Mon Nov 4 15:13:58 EST 2013 * no changes since 0.99 1.001001_001 Wed Oct 30 20:47:23 EDT 2013 * no code changes, just a new version number with more room to grow 0.99 Tue Oct 29 13:21:03 2013 EDT 2013 * restore ability to use regex with test_err and test_out (Zefram) [rt.cpan.org #89655] [github #389] [github #387] 0.99 Sat Oct 12 15:05:41 EDT 2013 * no changes since 0.98_06 0.98_06 Fri Sep 27 10:11:05 EDT 2013 Bug Fixes * Fix precedence error with (return ... and ...) (nthykier) [github #385] 0.98_05 Tue Apr 23 17:33:51 PDT 2013 Doc Changes * Add a shorter work around for the UTF-8 output problem. (Michael G Schwern) Bug Fixes * Test::Builder::Tester now works with subtests. (Michael G Schwern) [github 350] * Fix test_fail() inside a do statement. (nnutter) [github #369] New Features * A subtest will put its name at the front of its results to make subtests easier to read. [github #290] [github #364] (Brendan Byrd) Feature Changes * like() and unlike() no longer warn about undef. [github #335] (Michael G Schwern) 0.98_04 Sun Apr 14 10:54:13 BST 2013 Distribution Changes * Scalar::Util 1.13 (ships with Perl 5.8.1) is now required. (Michael G Schwern) Feature Changes * The default name and diagnostics for isa_ok() and new_ok() have changed. (Michael G Schwern) Docs Fixes * Added a COMPATIBILITY section so users know what major features were added with what version of Test::More or perl. [github 343] [github 344] (pdl) * Fix the ok() example with grep(). ([email protected]) Bug Fixes * A test with no plan and missing done_testing() now exits with non-zero. [github #341] (tokuhirom) * isa_ok() tests were broken in 5.17 because of a change in method resolution. [github #353] (Michael G Schwern) 0.98_03 Thu Jun 21 13:04:19 PDT 2012 New Features * cmp_ok() will error when used with something which is not a comparison operator, including =, += and the like. [github 141] (Matthew Horsfall) Bug Fixes * use_ok() was calling class->import without quoting which could cause problems if "class" is also a function. Doc Fixes * use_ok() has been discouraged and de-emphasized as a general replacement for `use` in tests. [github #288] * $thing is now $this in the docs to avoid confusing users of other languages. [Karen Etheridge] Incompatible Changes With Previous Alphas (0.98_01) * use_ok() will no longer apply lexical pragams. The incompatibilities and extra complexity is not worth the marginal use. [github #287] 0.98_02 Thu Nov 24 01:13:53 PST 2011 Bug Fixes * use_ok() in 0.98_01 was leaking pragmas from inside Test::More. This looked like Test::More was forcing strict. [rt.cpan.org 67538] (Father Chrysostomos) 0.98_01 Tue Nov 8 17:07:58 PST 2011 Bug Fixes * BAIL_OUT works inside a subtest. (Larry Leszczynski) [github #138] * subtests now work with threads turned on. [github #145] Feature Changes * use_ok() will now apply lexical effects. [rt.cpan.org 67538] (Father Chrysostomos) Misc * Test::More, Test::Simple and Test::Builder::Module now require a minimum version of Test::Builder. This avoids Test::More and Test::Builder from getting out of sync. [github #89]
jperkin
pushed a commit
that referenced
this pull request
Aug 12, 2014
What's New in libchewing 0.4.0 (Apr 11, 2014) --------------------------------------------------------- * Add the following APIs: - Userphrase manipulation - chewing_userphrase_enumerate - chewing_userphrase_has_next - chewing_userphrase_get - chewing_userphrase_add - chewing_userphrase_remove - chewing_userphrase_lookup - Keyboardless action - chewing_cand_open - chewing_cand_close - chewing_cand_string_by_index_static - chewing_cand_choose_by_index - chewing_cand_list_first - chewing_cand_list_last - chewing_cand_list_has_next - chewing_cand_list_has_prev - chewing_cand_list_next - chewing_cand_list_prev - chewing_commit_preedit_buf - chewing_clean_preedit_buf - chewing_clean_bopomofo_buf - Bopomofo buffer - chewing_bopomofo_Check - chewing_bopomofo_String_static - Static API - chewing_aux_String_static - chewing_buffer_String_static - chewing_cand_String_static - chewing_commit_String_static - chewing_kbtype_String_static - Misc - chewing_new2 * Dictionary format: - Remove text data support - Introduce platform independent binary data representation - Move binary data to share/libchewing/* * Userphrase format: - Support SQLite-based user phrase storage and manipulation * New coding style: - Use scripts/indent.sh to change coding style * Bug fixed: - Fix chewing_zuin_Check wrong return value #62 - Fix numlock key cannot output number #45 - Fix negative frequency problem #75 - Fix cannot select candidate when symbol exists #79 - Avoid clearing the buffer when Up arrow key is pressed and escCleanAllBuf is 1. - Fix cannot handle numlock 9 correctly #88 - Fix invalid characters are committed when pre-edit buffer is full - Fix AutoLearnPhrase cannot fill correct wordSeq #108 - Fix wrong auto learn when symbol in between #112 - Fix missing rpl_malloc for cross compilation #118 - Fix '\n' appear in symbol table #126 - Reopen candidate list for symbols with down key #127 #135 - Let up key close candidate list of symbols #131 #138 * Misc: - Add `make check' in cmake build - Change MAX_UTF8_SIZE to 4 - Update official website URL - Use CreateFileA() instead of CreateFile() to stick with the ANSI API - Do not check phrase longer than MAX_PHRASE_LEN - Implement dynamic programming phrasing algorithm #73 - Clean bopomofo buffer when mode change to English mode #89 #97 - Update README to GFM. - Replace 'INCLUDE' with 'AM_CPPFLAGS' #68 #114 #116 - Use [Shift]+[-] to input EM DASH (u+2014) as default #113 #124 - Use Backspace to close candidate window #128 - Use PgUp/PgDn to turn pages of candidates #129 - Update Windows default search path #78 - The word "zuin", "Zhuyin" are obsolete terms for "Bopomofo" - Add const whenever possible in several APIs - Toggle shape mode with shift-space #141 #142 * Successful stories: - chewing-windows-tsf project provides Text Services Framework support for Microsoft Windows.
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
The update request to 1.0.18 from doc/TODO ([but actually obsolete, switch to libusb]) has been done. (upstream) Update 1.0.11 to 1.0.18 For detailed information about the changes below, please see the git log or visit: http://log.libusbx.org 2014-01-25: v1.0.18 *FINAL RELEASE* * Last release of libusbx, as the project is merging back again with libusb. As a result, continuation of the project will now occur from the following: o Main site: http://libusb.info o Git repository: https://github.com/libusb/libusb o SF repository: https://sourceforge.net/projects/libusb/ o Mailing list: [email protected] (registration req.) * Fix multiple memory leaks * Fix a crash when HID transfers return no data on Windows * Ensure all pending events are consumed * Improve Android and ucLinux support * Multiple Windows improvements (error logging, VS2013, VIA xHCI support) * Multiple OS X improvements (broken compilation, SIGFPE, 64bit support) 2013-09-06: v1.0.17 * Hotplug callbacks now always get passed a libusb_context, even if it is the default context. Previously NULL would be passed for the default context, but since the first context created is the default context, and most apps use only 1 context, this meant that apps explicitly creating a context would still get passed NULL * Android: Add .mk files to build with the Android NDK * Darwin: Add Xcode project * Darwin: Fix crash on unplug (#121) * Linux: Fix hang (deadlock) on libusb_exit * Linux: Fix libusbx build failure with --disable-udev (#124) * Linux: Fix libusb_get_device_list() hang with --disable-udev (#130) * OpenBSD: Update OpenBSD backend with support for control transfers to non-ugen(4) devices and make get_configuration() no longer generate I/O. Note that using this libusbx version on OpenBSD requires using OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised to stay with the libusb shipped with OpenBSD (mpi) * Windows: fix libusb_dll_2010.vcxproj link errors (#129) * Various other bug fixes and improvements The (#xx) numbers are libusbx issue numbers, see ie: https://github.com/libusbx/libusbx/issues/121 2013-07-11: v1.0.16 * Add hotplug support for Darwin and Linux (#9) * Add superspeed endpoint companion descriptor support (#15) * Add BOS descriptor support (#15) * Make descriptor parsing code more robust * New libusb_get_port_numbers API, this is libusb_get_port_path without the unnecessary context parameter, libusb_get_port_path is now deprecated * New libusb_strerror API (#14) * New libusb_set_auto_detach_kernel_driver API (#17) * Improve topology API docs (#95) * Logging now use a single write call per log-message, avoiding log-message "interlacing" when using multiple threads. * Android: use Android logging when building on Android (#101) * Darwin: make libusb_reset reenumerate device on descriptors change (#89) * Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91) * Darwin: add a device cache (#112, #114) * Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109) * Many other bug fixes and improvements The (#xx) numbers are libusbx issue numbers, see ie: https://github.com/libusbx/libusbx/issues/9 2013-04-15: v1.0.15 * Improve transfer cancellation and avoid short read failures on broken descriptors * Filter out 8-bit characters in libusb_get_string_descriptor_ascii() * Add WinCE support * Add library stress tests * Add Cypress FX3 firmware upload support for fxload sample * Add HID and kernel driver detach support capabilities detection * Add SuperSpeed detection on OS X * Fix bInterval value interpretation on OS X * Fix issues with autoclaim, composite HID devices, interface autoclaim and early abort in libusb_close() on Windows. Also add VS2012 solution files. * Improve fd event handling on Linux * Other bug fixes and improvements 2012-09-26: v1.0.14 * Reverts the previous API change with regards to bMaxPower. If this doesn't matter to you, you are encouraged to keep using v1.0.13, as it will use the same attribute as v2.0, to be released soon. * Note that LIBUSBX_API_VERSION is *decreased* to 0x010000FF and the previous guidelines with regards to concurrent use of MaxPower/bMaxPower still apply. 2012-09-20: v1.0.13 * [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where MaxPower was used instead of bMaxPower, as defined in the specs. If your application was accessing the MaxPower attribute, and you need to maintain compatibility with libusb or older versions, see APPENDIX A below. * Fix broken support for the 0.1 -> 1.0 libusb-compat layer * Fix unwanted cancellation of pending timeouts as well as major timeout related bugs * Fix handling of HID and composite devices on Windows * Introduce LIBUSBX_API_VERSION macro * Add Cypress FX/FX2 firmware upload sample, based on fxload from http://linux-hotplug.sourceforge.net * Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while the drivers allow it, isochronous transfers are not supported yet in libusbx. Also not supported yet is the use of libusb-win32 filter drivers on composite interfaces * Add support for the new get_capabilities ioctl on Linux and avoid unnecessary splitting of bulk transfers * Improve support for newer Intel and Renesas USB 3.0 controllers on Windows * Harmonize the device number for root hubs across platforms * Other bug fixes and improvements 2012-06-15: v1.0.12 * Fix a potential major regression with pthread on Linux * Fix missing thread ID from debug log output on cygwin * Fix possible crash when using longjmp and MinGW's gcc 4.6 * Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path() * Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable * Define log levels in libusb.h and set timestamp origin to first libusb_init() call * All logging is now sent to to stderr (info was sent to stdout previously) * Update log messages severity and avoid polluting log output on OS-X * Add HID driver support on Windows * Enable interchangeability of MSVC and MinGW DLLs * Additional bug fixes and improvements
jperkin
pushed a commit
that referenced
this pull request
Mar 16, 2015
# 1.7.3 - Security: redact password in URI from logs (#349 / OSVDB-117461) - Drop monkey patch on MIME::Types (added `type_for_extension` method, use the public interface instead. # 1.7.2 - Ignore duplicate certificates in CA store on Windows # 1.7.1 - Relax mime-types dependency to continue supporting mime-types 1.x series. There seem to be a large number of popular gems that have depended on mime-types '~> 1.16' until very recently. - Improve urlencode performance - Clean up a number of style points # 1.7.0 - This release drops support for Ruby 1.8.7 and breaks compatibility in a few other relatively minor ways - Upgrade to mime-types ~> 2.0 - Don't CGI.unescape cookie values sent to the server (issue #89) - Add support for reading credentials from netrc - Lots of SSL changes and enhancements: (#268) - Enable peer verification by default (setting `VERIFY_PEER` with OpenSSL) - By default, use the system default certificate store for SSL verification, even on Windows (this uses a separate Windows build that pulls in ffi) - Add support for SSL `ca_path` - Add support for SSL `cert_store` - Add support for SSL `verify_callback` (with some caveats for jruby, OS X, #277) - Add support for SSL ciphers, and choose secure ones by default - Run tests under travis - Several other bugfixes and test improvements - Convert Errno::ETIMEDOUT to RestClient::RequestTimeout - Handle more HTTP response codes from recent standards - Save raw responses to binary mode tempfile (#110) - Disable timeouts with :timeout => nil rather than :timeout => -1 - Drop all Net::HTTP monkey patches # 1.6.8 - The 1.6.x series will be the last to support Ruby 1.8.7 - Pin mime-types to < 2.0 to maintain Ruby 1.8.7 support - Add Gemfile, AUTHORS, add license to gemspec - Point homepage at https://github.com/rest-client/rest-client - Clean up and fix various tests and ruby warnings - Backport `ssl_verify_callback` functionality from 1.7.0
jperkin
pushed a commit
that referenced
this pull request
Jul 4, 2015
_______________________________ Bug fixes for the 1.4 release. No change in the engine (changes in Solarus Quest Editor only). _______________________________ Solarus 1.4.1 (2015-05-09) _______________________________ Bug fixes for the 1.4 release. Engine changes -------------- * Fix crash with doors whose opening condition is an item (#686). * Fix the size of custom entities supposed to be optional (#680). * Fix the hero's sprite reset to default ones when changing equipment (#681). * Fix animated tiles freezed when running a quest a second time (#679). * Fix saving empty files. * Print an error message when there is no font in the quest. _______________________________ Solarus 1.4.0 (2015-05-02) _______________________________ The new quest editor release! Engine changes -------------- * Solarus now compiles with C++11. * Solarus Quest Editor was rewritten and is now in a separate repository. * Solarus can now be used as a library in other projects. * Add a command-line flag -win-console=yes to see output on Windows (#550). * Add unit tests. * Fix a crash if an entity has a sprite without animation. * Fix crash when using the -no-video command-line option. * Fix assertion when a crystal block has less than 4 frames. * Fix hero freeze when a treasure's dialog is missing (#595). * Fix hero stuck in dynamic tiles just enabled on him (#89). * Fix hero sometimes moving in wrong directions (#677). * Fix tunic and sword collision when their sprite is changed (#617). * Fix slightly incorrect position of carried item sometimes (#660). * Fix crash when a tileset image is missing (#590). * Don't die if the animation of a pickable treasure is missing. Lua API changes --------------- Changes that introduce incompatibilities: * Text surfaces: the size must now be set at runtime instead of in fonts.dat. * Text surfaces: the default font is now the first one in alphabetical order. Changes that do not introduce incompatibilities: * sol.text_surface.create() now accepts a size parameter (default is 11). * Add a function sol.main.get_os(). * Fix sprite:on_frame_changed() called twice on animation/direction change. Data files format changes ------------------------- You can use the script editor/resources/tools/data_files_conversion/1.3_to_1.4/update_quest.lua to automatically update your data files. Don't forget to make a backup first. * fonts.dat no longer exists. Fonts are a resource like others now (#611). * Fonts are now in a "fonts" directory instead of "text". * Maps: shop treasures have a new property "font".
jperkin
pushed a commit
that referenced
this pull request
Aug 24, 2015
ok wiz@. pkgsrc changes: * Delete a patch that is now imported upstream * Add test target support Changes: 2014-05-30: v1.0.19 * Add support for USB bulk streams on Linux and Mac OS X (#11) * Windows: Add AMD and Intel USB-3.0 root hub support * Windows: Fix USB 3.0 speed detection on Windows 8 or later (#10) * Added Russian translation for libusb_strerror strings * All: Various small fixes and cleanups The (#xx) numbers are libusb issue numbers, see ie: libusb/libusb#11 2014-01-25: v1.0.18 * Fix multiple memory leaks * Fix a crash when HID transfers return no data on Windows * Ensure all pending events are consumed * Improve Android and ucLinux support * Multiple Windows improvements (error logging, VS2013, VIA xHCI support) * Multiple OS X improvements (broken compilation, SIGFPE, 64bit support) 2013-09-06: v1.0.17 * Hotplug callbacks now always get passed a libusb_context, even if it is the default context. Previously NULL would be passed for the default context, but since the first context created is the default context, and most apps use only 1 context, this meant that apps explicitly creating a context would still get passed NULL * Android: Add .mk files to build with the Android NDK * Darwin: Add Xcode project * Darwin: Fix crash on unplug (#121) * Linux: Fix hang (deadlock) on libusb_exit * Linux: Fix libusb build failure with --disable-udev (#124) * Linux: Fix libusb_get_device_list() hang with --disable-udev (#130) * OpenBSD: Update OpenBSD backend with support for control transfers to non-ugen(4) devices and make get_configuration() no longer generate I/O. Note that using this libusb version on OpenBSD requires using OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised to stay with the libusb shipped with OpenBSD (mpi) * Windows: fix libusb_dll_2010.vcxproj link errors (#129) * Various other bug fixes and improvements 2013-07-11: v1.0.16 * Add hotplug support for Darwin and Linux (#9) * Add superspeed endpoint companion descriptor support (#15) * Add BOS descriptor support (#15) * Make descriptor parsing code more robust * New libusb_get_port_numbers API, this is libusb_get_port_path without the unnecessary context parameter, libusb_get_port_path is now deprecated * New libusb_strerror API (#14) * New libusb_set_auto_detach_kernel_driver API (#17) * Improve topology API docs (#95) * Logging now use a single write call per log-message, avoiding log-message "interlacing" when using multiple threads. * Android: use Android logging when building on Android (#101) * Darwin: make libusb_reset reenumerate device on descriptors change (#89) * Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91) * Darwin: add a device cache (#112, #114) * Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109) * Many other bug fixes and improvements The (#xx) numbers are libusbx issue numbers, see ie: https://github.com/libusbx/libusbx/issues/9 2013-04-15: v1.0.15 * Improve transfer cancellation and avoid short read failures on broken descriptors * Filter out 8-bit characters in libusb_get_string_descriptor_ascii() * Add WinCE support * Add library stress tests * Add Cypress FX3 firmware upload support for fxload sample * Add HID and kernel driver detach support capabilities detection * Add SuperSpeed detection on OS X * Fix bInterval value interpretation on OS X * Fix issues with autoclaim, composite HID devices, interface autoclaim and early abort in libusb_close() on Windows. Also add VS2012 solution files. * Improve fd event handling on Linux * Other bug fixes and improvements 2012-09-26: v1.0.14 * Reverts the previous API change with regards to bMaxPower. If this doesn't matter to you, you are encouraged to keep using v1.0.13, as it will use the same attribute as v2.0, to be released soon. * Note that LIBUSB_API_VERSION is *decreased* to 0x010000FF and the previous guidelines with regards to concurrent use of MaxPower/bMaxPower still apply. 2012-09-20: v1.0.13 * [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where MaxPower was used instead of bMaxPower, as defined in the specs. If your application was accessing the MaxPower attribute, and you need to maintain compatibility with libusb or older versions, see APPENDIX A below. * Fix broken support for the 0.1 -> 1.0 libusb-compat layer * Fix unwanted cancellation of pending timeouts as well as major timeout related bugs * Fix handling of HID and composite devices on Windows * Introduce LIBUSB_API_VERSION macro * Add Cypress FX/FX2 firmware upload sample, based on fxload from http://linux-hotplug.sourceforge.net * Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while the drivers allow it, isochronous transfers are not supported yet in libusb. Also not supported yet is the use of libusb-win32 filter drivers on composite interfaces * Add support for the new get_capabilities ioctl on Linux and avoid unnecessary splitting of bulk transfers * Improve support for newer Intel and Renesas USB 3.0 controllers on Windows * Harmonize the device number for root hubs across platforms * Other bug fixes and improvements 2012-06-15: v1.0.12 * Fix a potential major regression with pthread on Linux * Fix missing thread ID from debug log output on cygwin * Fix possible crash when using longjmp and MinGW's gcc 4.6 * Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path() * Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable * Define log levels in libusb.h and set timestamp origin to first libusb_init() call * All logging is now sent to to stderr (info was sent to stdout previously) * Update log messages severity and avoid polluting log output on OS-X * Add HID driver support on Windows * Enable interchangeability of MSVC and MinGW DLLs * Additional bug fixes and improvements 2012-05-08: v1.0.11 * Revert removal of critical Windows event handling that was introduced in 1.0.10 * Fix a possible deadlock in Windows when submitting transfers * Add timestamped logging * Add NetBSD support (experimental) and BSD libusb_get_device_speed() data * Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure) * Search for device nodes in /dev for Android support * Other bug fixes 2012-04-17: v1.0.10 * Public release * Add libusb_get_version * Add Visual Studio 2010 project files * Some Windows code cleanup * Fix xusb sample warnings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ APPENDIX A - How to maintain code compatibility with versions of libusb and libusb that use MaxPower: If you must to maintain compatibility with versions of the library that aren't using the bMaxPower attribute in struct libusb_config_descriptor, the recommended way is to use the new LIBUSB_API_VERSION macro with an #ifdef. For instance, if your code was written as follows: if (dev->config[0].MaxPower < 250) Then you should modify it to have: #if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01000100) if (dev->config[0].bMaxPower < 250) #else if (dev->config[0].MaxPower < 250) #endif
jperkin
pushed a commit
that referenced
this pull request
Dec 14, 2015
pkgsrc change: update HOMEPAGE. 0.5.8 * Merge pull request #94 from portertech/hotfix/windows-jobs Fix Windows process job handle leak * [windows-jobs] fix windows process job handle leak this fixes sensu/sensu#1057 0.5.7 * Fix posix_spawn bug when $stdout is overriden * Add failing test case for $stdout = StringIO * Fix header * Add caveat for #89
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
Apr 19, 2016
jperkin
pushed a commit
that referenced
this pull request
May 3, 2016
Changes: Version 5.1.4 ============= Code Fixes ---------- * Fix SF bug #94: giflib 5 loves to fail to load images... a LOT. * Fix SF Bug #92: Fix buffer overread in gifbuild. * Fix SF Bug #93: Add bounds check in gifbuild netscape2.0 path * Fix SF Bug #89: Fix buffer overread in gifbuild. Version 5.1.3 ============= As of this version the library and code has been seriously abused by fuzzers, smoking out crash bugs (now fixed) induced by various kinds of severely malformed GIF. Code Fixes ---------- * Prevent malloc randomess from causing the header output routine to emit a GIF89 version string even when no GIF89 features are present. Only breaks tests, not production code, but it's odd this wasn't caught sooner. * Prevent malloc randomess from producing sporadic failures by causing sanity checks added in 5.1.2 to misfire. * Bulletproof gif2rgb against 0-height images. Addressed SF bug #78: Heap overflow in gif2rgb with images of size 0, also SF bug #82. * Remove unnecessary duplicate EGifClose() in gifcolor.c. Fixes SF bug #83 introduced in 5.1.2. * Fix SF Bug #84: incorrect return of DGifSlurp().
jperkin
pushed a commit
that referenced
this pull request
Aug 4, 2016
pkgsrc changes: - set license - revamp build definitions - revamp blk3.mk and bump API_DEPENDS to 0.13 (recent software depends on new ode-config) - drop all local patches as not needed upstream changes: Changes for 0.13 New features: Stable, implicit gyroscopic forces (patch #185 by Joseph Cooper). Bodies with gyroscopic forces won't gain energy anymore. New joint: transmission joint (patch #182 by Dimitris Papavasiliou). Contacts now have rolling friction (patch #184 by Joseph Cooper). Removed the need for defining dSINGLE/dDOUBLE; this is stored now in the generated ode/precision.h header. New joint: Double Ball (AKA "distance joint"). New joint: Double Hinge. Threaded execution support interface added. Optional built-in threading implementation added. Internal threading implementation is excluded by default and to be used, it must be enabled with configure/premake: --disable-threading-intf (--no-threading-intf for Windows/Premake). This allows disabling threading interface support. Bug fixes Joint feedback forces application fixed in QuickStep implementation Bug #89 by Luc: (dJointAddSliderForce() adds a zero force when the parent body is NULL) Bug #88 by Luc: heightfield data assigned to a wrong field in dGeomHeightfieldSetHeightfieldData Fixed cylinder AABB computation. Removed ALLOCA calls from dHashSpace; it should not depend on stack size limits anymore. Bugs in AMotor joint (patch #181) Bugs in PU joint (patch #186) Fixed issue with friction and non-friction constraints being intermixed during constraints random reordering in QuickStep. Fixed matrix inversion bug (patch #183). Fixed issue with some kinds of joints (Ball, DBall, DHinge, Fixed) might overwrite world ERP value with their custom ERP during getInfo2() call and that inappropriate value would then be passed to subsequent joints in solver instead of world ERP. Fixed issues reported in patches #151 and #22 (collisions with SAPSpace and QuadTreeSpace might not work because geometries list was misused in them). Fixed IsPointInPolygon in convex.cpp (patch #160 by Janis Rucis) Fixed zero comparisons in OPCODE to use relative error instead of absolute epsilon value (found by Bill Sellers) Fixed dhinge's last constraint to properly handle rotations. Fixed plane2d joint: uninitialized variables (reported by Dimitris Papavasiliou) Bug #80 by Georg Martius: better handling of capsule-box with deep penetrations. Fixed zero-mu issues: now either mu or mu2 can be set to zero. Other changes Public headers cleaned to cause less pollution of typedefs and macros. Changes for 0.12 Added python bindings, contributed by Gideon Klompje. Integrated libccd from Daniel Fiser, provides new colliders based on GJK, EPA and MPR. Now cylinders can collide with cylinders! New functions have been added: dWorldUseSharedWorkingMemory() dWorldCleanupWorkingMemory() dWorldSetStepMemoryReservationPolicy() dWorldSetStepMemoryManager() dGeomLowLevelControl(): change/query OPCODE trimesh-sphere contact merging behavior at runtime. dGeomGetRelPointPos() (patch #2991622) dGeomGetPosRelPoint() (patch #2991622) dGeomVectorToWorld() (patch #2991622) dGeomVectorFromWorld() (patch #2991622) dWorldStepFast1 API removed along with dWorld[Get/Set]AutoEnableDepthSF1 dWorldStep() and dWorldQuickStep() have been changed to return boolean success status, and avoid allocation on stack. dInitODE2() changed to automatically call AllocateODEDataForThread(dAllocateFlagBasicData) after library initialization. Made sure neither dSINGLE or dDOUBLE is defined by default; the user should always explicitly specify the precision. Fixed a bug in dGeomCopyOffsetRotation(). Macros changed to static inline functions in odemath.h and related files. Improvement for trimesh-plane collision. odecpp classes changed to be inheritable and easily expandable QuadTreeSpace implementation corrected to avoid object-block relation ambiguity due to numeric errors. Fixed bug affecting disabled joints and dWorldStep. Added extern "C" wrapper to dWorldExportDIF(). Fixed bug #2937076: don't try to build demos if drawstuff is disabled. Applied patch #2931174 to make demos work for recent MacOS. Applied patch #2931177 to fix the demos' framerate on X11. Applied patch #2995450 to generate up to four contacts for box-plane collision test and fix contact depths. Applied patch #3030783 to fix drawstuff dimensions being ignored in OSX GLUT port. Applied patch #3429454: fix compilation on some platforms. Heightfield zone boundaries calculation code fixed to also consider whole next cell after the AABB if the AABB ends exactly at the cell boundary. New demo: demo_tracks. Fixed a box-capsule bug: more reasonable normal for deep penetrations. Many internal fixes to world stepping and collision detection code. Changes for 0.11.1 Made the new trimesh collider the default. Added a "-texturepath" option to drawstuff. Heightfield rotation fixed to avoid NaNs while rotating infinite MIN/MAX heights. Incorrect parameter order fixed on contact merging in Sphere-Trimesh collisions. Fixed bug #2685170: use the C99 __func__ instead of __FUNCTION__ when a C99 implementation is available. Remove unused code in demo_joints.cpp. Fix bug in collision categories in demo_jointPU. Added a possibility to initialize/close ODE multiple times recursively has been added. Also, now a call to dSpaceSetManualCleanup() is required for each space right after creation if ODE has been initialized in thread data manual cleanup mode. Thread local data has been cleaned up from OPCODE and OdeTls. New house of cards demo, which stresses the friction handling stability. Changes for 0.11 This release contains many joint-related bug fixes, and some new features like kinematic bodies, better convex-convex collision detection and some extra functions. Fix bug: Fix problem when attaching no body to a joint. Fix problem with dJointGetUniversalAngle2 when the joint is attached to only a body 2. The sign was inverted. Fix bug reported by Tilman: dxJointPU::getInfo1 was setting twice the limit of limot1 to zero and not limot2. Fixed a bug in dSpaceCollide2: if both geoms are not in spaces they would not have valid AABBs. Swapped geometries returned in contacts for OPCODE Trimesh-Plane collisions as they were returned in unnatural order being different from that in GIMPACT Fixed an inverted sign problem on positions of joints PU and PR. Fix bug: when a slider, piston, pu or pr joint had only one body attached to position 2, dJointAttach(jId, 0, bId). The body was not push in the right direction to move back between the limits. Fix bug in dJointGetPUAxis2: the axis was not multiplied with the the rotation matrix of the good body. Fix bug if there is only one body on the PU joint the axis returned was not the right one. New functions: dJointSetUniversalAxis1Offset and dJointSetUniversalAxis2Offset. New functions: dJointEnable, dJointDisable, dJointIsEnabled (patch #2454764). New functions: dGeomTriMeshSetTriMergeCallback/dGeomTriMeshGetTriMergeCallback. New function: void dJointSetPUAnchorOffset (deprecating dJointSetPUAnchorDelta). New functions: dJointGetPRAngle and dJointGetPRAngleRate. New functions: dBodyGetGyroscopicMode and dBodySetGyroscopicMode (patch #2019242). Applied patch #2538046: Heightfield AABB bounds patch. Applied patch #2381592, which adds support for Kinematic Bodies. Applied a patch to make GIMPACT trimesh-ray collisions to be consistent with those in OPCODE (bug #2214623). Applied a patch to make side1, side2 fields of contact structure be always initialized. Applied patch #2158425: This patch enable GIMPACT to work on 64-bit machine. Applied patch #2080674: Improved dBodySetRotation; now exact rotation matrices are preserved until the next simulation step. Enable the motor on the rotoide part of the PR joint. Added Blender script to create ODE convex geoms under tools. Convex-Convex collision detection code is finally (nearly) stable. Changes for 0.10.1 This is a bugfix release, so you shouldn't expect anything to stop working from 0.10. New function: dJointSetPistonAnchorOffset Add new function dJointSetHingeAxisDelta Fix problem with dJointGetPistonPosition and dJointGetPistonPositionRate when the joint is attached to only a body 2. The sign was inversed. Update the slider joint to have the same behavior as the other joint when there is only a body2 attached to it. Rename the new function dJointSetHingeAxisDelta to dJointSetHingeAxisOffset. This will remove confusion with the old function dJointSetHingeAnchorDelta. Bug fix: Max Correcting Vel behavior is now the same as before 0.10. Changes for 0.10 New functions: dInitODE2(), dAllocateODEDataForThread(), dCleanupODEAllDataForThread(). This adds support for ability to run collision detection from multiple threads for separate spaces. New functions: dCheckConfiguration(), dGetConfiguration(), to test how ODE was compiled. New function: dJointGetNumBodies (patch #1901550). New function: dSpaceGetClass (patch #1901637). New function: dSetColliderOverride(), to register custom collision handling functions. Added damping and MaxAngularVel() functions. Applied patch #1335202: Contact Joint Motion (see demo_motion.cpp). Applied patch #1851394: support for GIMPACT with double precision, dCollide fix. Applied patch #1813079 (moved callback). Added possibility to collide a space of lower sublevel as a geometry against another space of a higher level with dSpaceCollide2. dSpaceSetSublevel/dSpaceGetSublevel are used for sublevel assignment/retrieval. Fixed a bug in dJointXXXGetInfo. The value in limot.limit was not always updated. (Ex: If hi and lo limit were changed). New Joint: Prismatic Universal (patch #1828454). New Joint: Piston, with demo. Disabled building shared library by default with autotools. ODE shouldn't be installed as a system library. Fixed drawstuff build issues on OSX. Removed release and debug flags for configure.in: CPPFLAGS, CFLAGS, CXXFLAGS should be set by the user to their liking, respecting autotools policies. Added 'Sweep and Prune' collision space. Optimizations, many bug fixes, and code cleanup. Changes from 0.8 to 0.9 New Feature: CONTACTS_UNIMPORTANT flag added for dCollide() to allow canceling any contact improvements and return any contacts found as soon as possible New feature: Add erp/cfm parameters to fixed and ball joint. SF PATCH 1478244 Assert on zero normalizations, add dSafeNormalize. Added boolean result for dNormalize3() and dNormalize4() so that normalization success could be checked SF Patch 1808007: fix gimpact compiler warning Apply SF patch 1800579: dGeomTriMeshSetData does not work with GIMPACT Fix: heightfield collision could return less contacts than was possible Fix: the deepest contact might be not selected if there was a lack of contact slots in trimesh-trimesh and trimesh-box cases (function exited immediately and did not check for possible contact coincidences). Improvement: optimizations for GIMPACT versions of trimesh-capsule, trimesh-trimesh, trimesh-plane, trimesh-sphere Improvement: dCollideConvexPlane optimized Fix: cylinder-box collision did not respect requested contact count limit Fix SF issue 1729096 by adding dMassSetTrimeshTotal Apply SF patch 1685107: Enforce 1 contact request Apply SF Patch 1697014: Update JointPR code Catch SF BUG 1621938: gimpact only does stride 12. patch 1769851 by Jon Watte: recalc aabb when new setting new data Added Richard Barrington's model loader for XNA (to be used with ODE.NET) 1586733 collision_trimesh_trimesh.cpp OPCODE fix Added Francisco Leon's alternate trimesh-trimesh collider. 1691402 Heighfield performance patch patch 1696933 Fix bug in dWorldExportDIF when joint in "limbo" Renamed "tests" to "demos" and split out unit test project. Updated premake scripts and Visual Studio files; automake files still need to be updated. Make building demos optional. SF patch 1650563 lib64 fixes, SF patch 1646598 Warn against using double precision with gimpact Many more bug fixes and optimizations. Changes from 0.7 to 0.8 New Rotoide - Prismatic Joint Optimisation when dGYROSCOPIC is disabled (default) dJointGetUniversalAngles to efficiently get both angles at once. Changes from 0.6 to 0.7 New heightfield primitive for terrains. Trimesh-Plane collision. Ray-Cylinder collision. Integration of the plane-2d joint. Improved support for convex hulls. Fix for joint limit handling. Half-space optimisation for axis aligned planes. Changes from 0.5 to 0.6 Added flat-capped cylinders. CCylinder has been renamed as Capsule. Added support for geom offsets. Improved stepping function (dWorldQuickStep) Much improved support for trimesh collision shapes Added support for 64-bit systems Started support for convex hulls New and improved build system Lots of bug fixes, stability, and performance improvements Geom Offset Overview Geom offsets allow geom objects to be offset from a body's position. This is useful for cases where an object has an offset centre of mass, or is made up out of several geoms each with their own local position. Native support for geom offsets means that the geomTransform container is now obselete. The real advantage over geomTransform is that there is a much easier interface for setting, getting, and modifying a geom's offset from its body. The elimination of geomTransform simplifies callbacks which no longer have to special case that geom class type. In terms of performance, the new code has a negligible performance difference and a memory improvement compared to using a geomTransform. Geom Offset and Bodies An offset only makes sense for geoms which are connected to bodies. It is an error to attempt to set an offset for a geom which is not connected to a body. When a geom is disconnected from a body, any offset will be automatically eliminated. Thus, the possible states a geom can be in are: Geom Geom on body Geom on body, with an offset To create an offset, just call on of the geomSetOffset functions. The offset will be automatically created if it does not yet exist. Geom offsets are normally set by specifying the offset in local coordinates. An extra set of functions are provided to allow an offset to be determined by providing world coordinates and subtracting them from the current body position. These second set of functions, geomSetOffsetWorldPosition(),etc, allow the user to essentially say "keep the body where it is, and move its geom to this position in the world". Geom Offset API This is defined in the doxygen documentation. Geom Offset affect on existing API The following functions have been updated such that they transparently work with offsets. void dGeomSetPosition (dGeomID, dReal x, dReal y, dReal z) void dGeomSetRotation (dGeomID, const dMatrix3 R) void dGeomSetQuaternion (dGeomID, const dQuaternion) const dReal * dGeomGetPosition (dGeomID) const dReal * dGeomGetRotation (dGeomID) void dGeomGetQuaternion (dGeomID, dQuaternion result) void dGeomGetAABB (dGeomID, dReal aabb[6]) The functions that get a geom's position will return its final position in world coordinates. If a geom is offset, it is no longer true that dGeomGetPosition()==dBodyGetPosition(). Instead, each will return its own world position, with the geom being offset from the body. The functions that set a geom's position will move the body to the position such that the geom will have the position passed in. So if the geom has a positional offset of (0,0,1), and we call dGeomSetPosition(g,10,10,10), the end result will be the body's position being set to (10,10,9). As such, either dGeomSetPosition or dBodySetPosition can be used, depending on which is more convenient. The other position is automatically updated. Geom Offset and geomTransform GeomTransforms are still supported, and all existing code transparently works. When writing new code, however, it is far easier to work with geoms and offsets. The change eliminates a large amount of special casing needed to do when working with geomTransforms. Setting an offset is trivial, and does not require inserting or removing new GeomTransforms from spaces. There is no need to special case getting an offset geom's world position, or setting an offset geom's world position. It is especially useful in the collide callback. The old way required getting the object as the real geom (but without being able to easily grab its Transform, or even its body!), or as its Transform (forcing special casing code to extract the real geom in that case).
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)
jperkin
pushed a commit
that referenced
this pull request
Nov 28, 2016
A major update to Streamlink. With this release, we include a Windows binary as well as numerous plugin changes and fixes. The main features are: Windows binary (and generation!) thanks to the fabulous work by @beardypig Multiple plugin fixes Remove unneeded run-as-root (no more warning you when you run as root, we trust that you know what you're doing) Fix stream quality naming issue Beardypig <[email protected]> (13): fix stream quality naming issue with py2 vs. py3, fixing #89 (#96) updated connectcast plugin to support the new rtmp streams; fixes #93 (#95) Fix for erroneous escape coding the livecoding plugin. Fixes #106 (#121) TVPlayer.com: fix for 400 error, correctly set the platform parameter (#123) Added a method to automatically determine the encoding when parsing JSON, if no encoding is provided. (#122) when retry-streams and twitch-disable-hosting arguments are used the stream is retried until a non-hosted stream is found (#125) plugins.goodgame: Update for API change (#130) plugins.adultswim: added a new adultswim.com plugin (#139) plugins.goodgame: restored DDOS protection cookie support (#136) plugins.younow: update API url (#135) plugins.euronew: update to support the new site (#141) plugins.webtv: added a new plugin to support web.tv (#144) plugins.connectcast: fix regex issue with python 3 (#152) Brainzyy <[email protected]> (1): Add piczel.tv plugin (courtesy of @intact) (#114) Charlie Drage <[email protected]> (1): Update release scripts Erk- <[email protected]> (1): Changed the twitch plugin to use https instead of http as discussed in #103 (#104) Forrest <[email protected]> (2): Modify the changelog link (#107) Update cli to note a few windows issues (#108) Simon Bernier St-Pierre <[email protected]> (1): change icon Simon Bernier St-Pierre <[email protected]> (1): finish the installer (#98) Stefan <[email protected]> (1): Debian packaging base (#80) Stefan <[email protected]> (1): remove run-as-root option, reworded warning #85 (#109) Weslly <[email protected]> (1): Fixed afreecatv.com url matching (#90) bastimeyer <[email protected]> (2): Improve NSIS installer script Remove shortcut from previous releases on Windows beardypig <[email protected]> (8): plugins.cybergame: update to support changes to the live streams on the cybergame.tv website Use pycryptodome inplace of pyCrypto Automated build of the Windows NSIS installer support for relative paths for rtmpdump makeinstaller: install the streamlinkrc file in to the users %APPDATA% directory remove references to livestreamer in the win32 config template stream.rtmpdump: fixed the rtmpdump path issue, introduced in 6bf7fd7 pin requests to <2.12.0 to avoid the strict IDNA2008 validation ethanhlc <[email protected]> (1): fixed instance of livestreamer (#99) intact <[email protected]> (1): plugins.livestream: Support old player urls mmetak <[email protected]> (2): fix vaughnlive.tv info_url (#88) fix vaughnlive.tv info_url (yet again...) (#143) skulblakka <[email protected]> (1): Overworked Plugin for ZDF Mediathek (#154) sqrt2 <[email protected]> (1): Fix ORF TVthek plugin (#113) tam1m <[email protected]> (1): Fix zdf_mediathek TypeError (#156)
jperkin
pushed a commit
that referenced
this pull request
May 13, 2017
Reviewed by: joerg@ Upstream changes: Release Notes for fish 2.5.0 (released February 3, 2017) The Home, End, Insert, Delete, Page Up and Page Down keys work in Vi-style key bindings (#3731). Platform Changes Starting with version 2.5, fish requires a more up-to-date version of C++, specifically C++11 (from 2011). This affects some older platforms: Linux For users building from source, GCC's g++ 4.8 or later, or LLVM's clang 3.3 or later, are known to work. Older platforms may require a newer compiler installed. Unfortunately, because of the complexity of the toolchain, binary packages are no longer published by the fish-shell developers for the following platforms: Red Hat Enterprise Linux and CentOS 5 & 6 for 64-bit builds Ubuntu 12.04 (EoLTS April 2017) Debian 7 (EoLTS May 2018) Installing newer version of fish on these systems will require building from source. OS X SnowLeopard Starting with version 2.5, fish requires a C++11 standard library on OS X 10.6 ("SnowLeopard"). If this library is not installed, you will see this error: dyld: Library not loaded: /usr/lib/libc++.1.dylib MacPorts is the easiest way to obtain this library. After installing the SnowLeopard MacPorts release from the install page, run: sudo port -v install libcxx Now fish should launch successfully. (Please open an issue if it does not.) This is only necessary on 10.6. OS X 10.7 and later include the required library by default. Other significant changes Attempting to exit with running processes in the background produces a warning, then signals them to terminate if a second attempt to exit is made. This brings the behaviour for running background processes into line with stopped processes. (#3497) random can now have start, stop and step values specified, or the new choice subcommand can be used to pick an argument from a list (#3619). A new key bindings preset, fish_hybrid_key_bindings, including all the Emacs-style and Vi-style bindings, which behaves like fish_vi_key_bindings in fish 2.3.0 (#3556). function now returns an error when called with invalid options, rather than defining the function anyway (#3574). This was a regression present in fish 2.3 and 2.4.0. fish no longer prints a warning when it identifies a running instance of an old version (2.1.0 and earlier). Changes to universal variables may not propagate between these old versions and 2.5b1. Improved compatiblity with Android (#3585), MSYS/mingw (#2360), Solaris (#3456, #3340) Like other shells, the test builting now returns an error for numeric operations on invalid integers (#3346, #3581). complete no longer recognises --authoritative and --unauthoritative options, and they are marked as obsolete. status accepts subcommands, and should be used like status is-interactive. The old options continue to be supported for the foreseeable future (#3526), although only one subcommand or option can be specified at a time. Selection mode (used with "begin-selection") no longer selects a character the cursor does not move over (#3684). List indexes are handled better, and a bit more liberally in some cases (echo $PATH[1 .. 3] is now valid) (#3579). The fish_mode_prompt function is now simply a stub around fish_default_mode_prompt, which allows the mode prompt to be included more easily in customised prompt functions (#3641). Notable fixes and improvements alias, run without options or arguments, lists all defined aliases, and aliases now include a description in the function signature that identifies them. complete accepts empty strings as descriptions (#3557). command accepts -q/--quiet in combination with --search (#3591), providing a simple way of checking whether a command exists in scripts. Abbreviations can now be renamed with abbr --rename OLD_KEY NEW_KEY (#3610). The command synopses printed by --help options work better with copying and pasting (#2673). help launches the browser specified by the $fish_help_browser variable if it is set (#3131). History merging could lose items under certain circumstances and is now fixed (#3496). The $status variable is now set to 123 when a syntactically invalid command is entered (#3616). Exiting fish now signals all background processes to terminate, not just stopped jobs (#3497). A new prompt_hostname function which prints a hostname suitable for use in prompts (#3482). The __fish_man_page function (bound to Alt-h by default) now tries to recognize subcommands (e.g. git add will now open the "git-add" man page) (#3678). A new function edit_command_buffer (bound to Alt-e & Alt-v by default) to edit the command buffer in an external editor (#1215, #3627). set_color now supports italics (--italics), dim (--dim) and reverse (--reverse) modes (#3650). Filesystems with very slow locking (eg incorrectly-configured NFS) will no longer slow fish down (#685). Improved completions for apt (#3695), fusermount (#3642), make (#3628), netctl-auto (#3378), nmcli (#3648), pygmentize (#3378), and tar (#3719). Added completions for: VBoxHeadless (#3378) VBoxSDL (#3378) base64 (#3378) caffeinate (#3524) dconf (#3638) dig (#3495) dpkg-reconfigure (#3521 & #3522) feh (#3378) launchctl (#3682) lxc (#3554 & #3564), mddiagnose (#3524) mdfind (#3524) mdimport (#3524) mdls (#3524) mdutil (#3524) mkvextract (#3492) nvram (#3524) objdump (#3378) sysbench (#3491) tmutil (#3524) Release Notes for fish 2.4.0 (released November 8, 2016) Significant changes The clipboard integration has been revamped with explicit bindings. The killring commands no longer copy from, or paste to, the X11 clipboard - use the new copy (C-x) and paste (C-v) bindings instead. The clipboard is now available on OS X as well as systems using X11 (e.g. Linux). (#3061) history uses subcommands (history delete) rather than options (history --delete) for its actions (#3367). You can no longer specify multiple actions via flags (e.g., history --delete --save something). New history options have been added, including --max=n to limit the number of history entries, --show-time option to show timestamps (#3175, #3244), and --null to null terminate history entries in the search output. history search is now case-insensitive by default (which also affects history delete) (#3236). history delete now correctly handles multiline commands (#31). Vi-style bindings no longer include all of the default emacs-style bindings; instead, they share some definitions (#3068). If there is no locale set in the environment, various known system configuration files will be checked for a default. If no locale can be found, en_US-UTF.8 will be used (#277). A number followed by a caret (e.g. 5^) is no longer treated as a redirection (#1873). The $version special variable can be overwritten, so that it can be used for other purposes if required. Notable fixes and improvements The fish_realpath builtin has been renamed to realpath and made compatible with GNU realpath when run without arguments (#3400). It is used only for systems without a realpath or grealpath utility (#3374). Improved color handling on terminals/consoles with 8-16 colors, particularly the use of bright named color (#3176, #3260). fish_indent can now read from files given as arguments, rather than just standard input (#3037). Fuzzy tab completions behave in a less surprising manner (#3090, #3211). jobs should only print its header line once (#3127). Wildcards in redirections are highlighted appropriately (#2789). Suggestions will be offered more often, like after removing characters (#3069). history --merge now correctly interleaves items in chronological order (#2312). Options for fish_indent have been aligned with the other binaries - in particular, -d now means --debug. The --dump option has been renamed to --dump-parse-tree (#3191). The display of bindings in the Web-based configuration has been greatly improved (#3325), as has the rendering of prompts (#2924). fish should no longer hang using 100% CPU in the C locale (#3214). A bug in FreeBSD 11 & 12, Dragonfly BSD & illumos prevented fish from working correctly on these platforms under UTF-8 locales; fish now avoids the buggy behaviour (#3050). Prompts which show git repository information (via __fish_git_prompt) are faster in large repositories (#3294) and slow filesystems (#3083). fish 2.3.0 reintroduced a problem where the greeting was printed even when using read; this has been corrected again (#3261). Vi mode changes the cursor depending on the current mode (#3215). Command lines with escaped space characters at the end tab-complete correctly (#2447). Added completions for: arcanist (#3256) connmanctl (#3419) figlet (#3378) mdbook (#3378) ninja (#3415) p4, the Perforce client (#3314) pygmentize (#3378) ranger (#3378) Improved completions for aura (#3297), abbr (#3267), brew (#3309), chown (#3380, #3383),cygport (#3392), git (#3274, #3226, #3225, #3094, #3087, #3035, #3021, #2982, #3230), kill & pkill (#3200), screen (#3271), wget (#3470), and xz (#3378). Distributors, packagers and developers will notice that the build process produces more succinct output by default; use make V=1 to get verbose output (#3248). Improved compatibility with minor platforms including musl (#2988), Cygwin (#2993), Android (#3441, #3442), Haiku (#3322) and Solaris. Automatic cursor changes are now only enabled on the subset of XTerm versions known to support them, resolving a problem where older versions printed garbage to the terminal before and after every prompt (#3499). Improved the title set in Apple Terminal.app. Added completions for defaults and improved completions for diskutil (#3478). Release Notes for fish 2.3.1 (released July 3, 2016) This is a functionality and bugfix release. This release does not contain all the changes to fish since the last release, but fixes a number of issues directly affecting users at present and includes a small number of new features. Significant changes A new fish_key_reader binary for decoding interactive keypresses (#2991). fish_mode_prompt has been updated to reflect the changes in the way the Vi input mode is set up (#3067), making this more reliable. fish_config can now properly be launched from the OS X app bundle (#3140). Notable fixes and improvements Extra lines were sometimes inserted into the output under Windows (Cygwin and Microsoft Windows Subsystem for Linux) due to TTY timestamps not being updated (#2859). The string builtin's match mode now handles the combination of -rnv (match, invert and count) correctly (#3098). Improvements to TTY special character handling (#3064), locale handling (#3124) and terminal environment variable handling (#3060). Work towards handling the terminal modes for external commands launched from initialisation files (#2980). Ease the upgrade path from fish 2.2.0 and before by warning users to restart fish if the string builtin is not available (#3057). type -a now syntax-colorizes function source output. Added completions for alsamixer, godoc, gofmt, goimports, gorename, lscpu, mkdir, modinfo, netctl-auto, poweroff, termite, udisksctl and xz (#3123). Improved completions for apt (#3097), aura (#3102),git (#3114), npm (#3158), string and suspend (#3154). Release Notes for fish 2.3.0 (released May 20, 2016) Significant Changes A new string builtin to handle… strings! This builtin will measure, split, search and replace text strings, including using regular expressions. It can also be used to turn lists into plain strings using join. string can be used in place of sed, grep, tr, cut, and awk in many situations. (#2296) After seeing an escape character wait up to 300ms for an additional character. This is consistent with readline (e.g. bash) and can be configured via the fish_escape_delay_ms variable. This allows using escape as the Meta modifier. (#1356) Add new directories for vendor functions and configuration snippets (#2498) A new fish_realpath builtin and associated function to allow the use of realpath even on those platforms that don't ship an appropriate command. (#2932) Alt-# toggles the current command line between commented and uncommented states, making it easy to save a command in history without executing it. The fish_vi_mode function is now deprecated in favour of fish_vi_key_bindings Backward-incompatible changes Unmatched globs will now cause an error, except when used with for, set or count (#2719, #2394) and and or will now bind to the closest if or while, allowing compound conditions without begin and end (#1428) set -ql now searches up to function scope for variables (#2502) status -f will now behave the same when run as the main script or using source (#2643) source no longer puts the file name in $argv if no arguments are given (#139) Other Notable Fixes and Improvements Fish no longer silences errors in config.fish (#2702) Move the history file to $XDG_DATA_HOME/fish (or ~/.local/share if it has not been set) Directory autosuggestions will now descend as far as possible if there is only one child directory (#2531) Add support for bright colors (#1464) Allow Ctrl-J (\cj) to be bound separately from Ctrl-M (\cm) (#217) psub now has a "-s"/"-suffix" option to name the temporary file with that suffix Enable 24-bit colors on select terminals (#2495) Support for SVN status in the prompt (#2582) Mercurial and SVN support have been added to the Classic + Git (now Classic + VCS) prompt (via the new __fish_vcs_prompt function) (#2592) export now handles variables with a "=" in the value (#2403) Avoid confusing the terminal line driver with non-printing characters in fish_title(#2453) New completions for: alsactl Archlinux’s asp, makepkg Atom’s apm (#2390) entr - the "Event Notify Test Runner" (#2265) Fedora’s dnf (#2638) OSX diskutil (#2738) pkgng (#2395) pulseaudio’s pacmd and pactl rmmod (#3007) rust’s rustc and cargo (#2409) sysctl (#2214) systemd’s machinectl (#2158), busctl (#2144), systemd-nspawn, systemd-analyze, localectl, timedatectl and more Fish no longer has a function called sgrep, freeing it for user customization (#2245) A rewrite of the completions for cd, fixing a few bugs (#2299, #2300, #562) Linux VTs now run in a simplified mode to avoid issues (#2311) The vi-bindings now inherit from the emacs bindings Fish will also execute fish_user_key_bindings when in vi-mode funced will now also check $VISUAL (#2268) A new suspend function (#2269) Subcommand completion now works better with split /usr (#2141) The command-not-found-handler can now be overridden by defining a function called __fish_command_not_found_handler in config.fish (#2331) A few fixes to the Sorin theme PWD shortening in the prompt can now be configured via the fish_prompt_pwd_dir_length variable, set to the length per path component (#2473) fish now ships a skeleton file for /etc/fish/config.fish that only contains some documentation, the included code has been moved to the corresponding file in /usr (#2799) Release Notes for fish 2.2.0 (released July 12, 2015) Significant Changes Abbreviations: the new `abbr` command allows for interactively-expanded abbreviations, allowing quick access to frequently-used commands (#731). Vi mode: run `fish_vi_mode` to switch fish into the key bindings and prompt familiar to users of the Vi editor (#65). New inline and interactive pager, which will be familiar to users of zsh (#291). Underlying architectural changes: the `fishd` universal variable server has been removed as it was a source of many bugs and security problems. Notably, old fish sessions will not be able to communicate universal variable changes with new fish sessions. For best results, restart all running instances of `fish`. The web-based configuration tool has been redesigned, featuring a prompt theme chooser and other improvements. New German, Brazilian Portuguese, and Chinese translations. Backward-incompatible changes These are kept to a minimum, but either change undocumented features or are too hard to use in their existing forms. These changes may break existing scripts. `commandline` no longer interprets functions "in reverse", instead behaving as expected (#1567). The previously-undocumented `CMD_DURATION` variable is now set for all commands and contains the execution time of the last command in milliseconds (#1585). It is no longer exported to other commands (#1896). `if` / `else` conditional statements now return values consistent with the Single Unix Specification, like other shells (#1443). A new "top-level" local scope has been added, allowing local variables declared on the commandline to be visible to subsequent commands. (#206) Other notable fixes and improvements New documentation design (#1662), which requires a Doxygen version 1.8.7 or newer to build. Fish now defines a default directory for other packages to provide completions. By default this is `/usr/share/fish/vendor-completions.d`; on systems with `pkgconfig` installed this path is discoverable with `pkg-config --variable completionsdir fish`. A new parser removes many bugs; all existing syntax should keep working. New `fish_preexec` and `fish_postexec` events are fired before and after job execution respectively (#1549). Unmatched wildcards no longer prevent a job from running. Wildcards used interactively will still print an error, but the job will proceed and the wildcard will expand to zero arguments (#1482). The `.` command is deprecated and the `source` command is preferred (#310). `bind` supports "bind modes", which allows bindings to be set for a particular named mode, to support the implementation of Vi mode. A new `export` alias, which behaves like other shells (#1833). `command` has a new `--search` option to print the name of the disk file that would be executed, like other shells' `command -v` (#1540). `commandline` has a new `--paging-mode` option to support the new pager. `complete` has a new `--wraps` option, which allows a command to (recursively) inherit the completions of a wrapped command (#393), and `complete -e` now correctly erases completions (#380). Completions are now generated from manual pages by default on the first run of fish (#997). `fish_indent` can now produce colorized (`--ansi`) and HTML (`--html`) output (#1827). `functions --erase` now prevents autoloaded functions from being reloaded in the current session. `history` has a new `--merge` option, to incorporate history from other sessions into the current session (#825). `jobs` returns 1 if there are no active jobs (#1484). `read` has several new options: `--array` to break input into an array (#1540) `--null` to break lines on NUL characters rather than newlines (#1694) `--nchars` to read a specific number of characters (#1616) `--right-prompt` to display a right-hand-side prompt during interactive read (#1698). `type` has a new `-q` option to suppress output (#1540 and, like other shells, `type -a` now prints all matches for a command (#261). Pressing F1 now shows the manual page for the current command (#1063). `fish_title` functions have access to the arguments of the currently running argument as `$argv[1]` (#1542). The OS command-not-found handler is used on Arch Linux (#1925), nixOS (#1852), openSUSE and Fedora (#1280). `Alt`+`.` searches backwards in the token history, mapping to the same behavior as inserting the last argument of the previous command, like other shells (#89). The `SHLVL` environment variable is incremented correctly (#1634 & #1693). Added completions for `adb` (#1165 & #1211), `apt` (#2018), `aura` (#1292), `composer` (#1607), `cygport` (#1841), `dropbox` (#1533), `elixir` (#1167), `fossil`, `heroku` (#1790), `iex` (#1167), `kitchen` (#2000), `nix` (#1167), `node`/`npm` (#1566), `opam` (#1615), `setfacl` (#1752), `tmuxinator` (#1863), and `yast2` (#1739). Improved completions for `brew` (#1090 & #1810), `bundler` (#1779), `cd` (#1135), `emerge` (#1840),`git` (#1680, #1834 & #1951), `man` (#960), `modprobe` (#1124), `pacman` (#1292), `rpm` (#1236), `rsync` (#1872), `scp` (#1145), `ssh` (#1234), `sshfs` (#1268), `systemctl` (#1462, #1950 & #1972), `tmux` (#1853), `vagrant` (#1748), `yum` (#1269), and `zypper` (#1787).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've update postfix to the new stable version 2.10.2 (as written in the doc/TODO file).
The patch
patch-ai
has been removed because the source code already contains the switch case information for NetBSD/DragonFly.