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
2013Q3 nrsysmond 1.3.0 should be smf enabled #76
Comments
Thanks, that was a regression due to a SMF support makeover implemented in 2013Q3. We have queued up a rebuild with a fix. I should add that the 2013Q3 package set is far from complete or supported at this point, we're still fixing build failures and checking for bugs. |
drscream
pushed a commit
to drscream/pkgsrc-legacy
that referenced
this issue
Oct 20, 2013
----- 1.1.4 ----- * Issue TritonDataCenter#77: Fix error in upload command (Python 2.4). ----- 1.1.3 ----- * Fix NameError in previous patch. ----- 1.1.2 ----- * Issue TritonDataCenter#69: Correct issue where 404 errors are returned for URLs with fragments in them (such as #egg=). ----- 1.1.1 ----- * Issue TritonDataCenter#75: Add ``--insecure`` option to ez_setup.py to accommodate environments where a trusted SSL connection cannot be validated. * Issue TritonDataCenter#76: Fix AttributeError in upload command with Python 2.4.
jperkin
pushed a commit
that referenced
this issue
Dec 9, 2013
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Dec 9, 2013
----- 1.1.4 ----- * Issue #77: Fix error in upload command (Python 2.4). ----- 1.1.3 ----- * Fix NameError in previous patch. ----- 1.1.2 ----- * Issue #69: Correct issue where 404 errors are returned for URLs with fragments in them (such as #egg=). ----- 1.1.1 ----- * Issue #75: Add ``--insecure`` option to ez_setup.py to accommodate environments where a trusted SSL connection cannot be validated. * Issue #76: Fix AttributeError in upload command with Python 2.4.
jperkin
pushed a commit
that referenced
this issue
Jan 6, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
----- 1.1.4 ----- * Issue #77: Fix error in upload command (Python 2.4). ----- 1.1.3 ----- * Fix NameError in previous patch. ----- 1.1.2 ----- * Issue #69: Correct issue where 404 errors are returned for URLs with fragments in them (such as #egg=). ----- 1.1.1 ----- * Issue #75: Add ``--insecure`` option to ez_setup.py to accommodate environments where a trusted SSL connection cannot be validated. * Issue #76: Fix AttributeError in upload command with Python 2.4.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
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 issue
Mar 14, 2014
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
----- 1.1.4 ----- * Issue #77: Fix error in upload command (Python 2.4). ----- 1.1.3 ----- * Fix NameError in previous patch. ----- 1.1.2 ----- * Issue #69: Correct issue where 404 errors are returned for URLs with fragments in them (such as #egg=). ----- 1.1.1 ----- * Issue #75: Add ``--insecure`` option to ez_setup.py to accommodate environments where a trusted SSL connection cannot be validated. * Issue #76: Fix AttributeError in upload command with Python 2.4.
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
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 issue
Mar 17, 2014
== 1.3.2 20131208 * Anon tests assigned unique class name. * Fix TypeError on connect timeout with 1.8.x, 2.x. * Complete revert to previous logger logic. * start_timeout and tcp_nodelay parameters * SSL Fix, revert not setting default ciphers. * Copy hash params at init. * Fix ssl => true for Ruby 1.9.x and 2.x. * Expanded list of STOMP default SSL ciphers: * Do not change caller's :hosts array * Issue #78, again. * Clean up logger interfacing. * Fixes from RSpec testing == 1.3.1 20131002 * Method calls to the logger object should check for that method first (#83) == 1.3.0 20130930 * ERROR frames now raise an exception in the Stomp::Client thread(#73, #81) * Allow anonymous connections (#75) * Fix for subscription id handling in STOMP 1.1 (#78) * Added a NullLogger (#77) * Added :tcp_nodelay option (disable Nagle's algorithm) (#76) * Read receipt ids are now UUIDs * Added a :start_timeout parameter
jperkin
pushed a commit
that referenced
this issue
Mar 18, 2014
== 1.3.2 20131208 * Anon tests assigned unique class name. * Fix TypeError on connect timeout with 1.8.x, 2.x. * Complete revert to previous logger logic. * start_timeout and tcp_nodelay parameters * SSL Fix, revert not setting default ciphers. * Copy hash params at init. * Fix ssl => true for Ruby 1.9.x and 2.x. * Expanded list of STOMP default SSL ciphers: * Do not change caller's :hosts array * Issue #78, again. * Clean up logger interfacing. * Fixes from RSpec testing == 1.3.1 20131002 * Method calls to the logger object should check for that method first (#83) == 1.3.0 20130930 * ERROR frames now raise an exception in the Stomp::Client thread(#73, #81) * Allow anonymous connections (#75) * Fix for subscription id handling in STOMP 1.1 (#78) * Added a NullLogger (#77) * Added :tcp_nodelay option (disable Nagle's algorithm) (#76) * Read receipt ids are now UUIDs * Added a :start_timeout parameter
jperkin
pushed a commit
that referenced
this issue
Oct 3, 2014
Integrated SPF checking is now available through the new SPFSelfValidate and SPFIgnoreResults settings. Feature request #79: Optionally ignore clients that authenticated using SMTP AUTH. Fix bug #60, part II: Default AuthservID to the name provided by the MTA, not the local host name, which is consistent with what OpenDKIM does. Fix bug #72: Don't crash when From fields are absent. Fix bug #74: Change "Forensic" to "Failure" just about everywhere to match the language now being used in the base DMARC draft. Note that this also changes some names in the configuration file. Fix bug #75: Correct typo in MIME of forensic reports. Fix bug #76: Repair damage with respect to Authentication-Results header field selection. Fix bug #77: Request quarantine from the MTA during option negotiation. Fix bug #78: Add missing newline in forensic report header. Fix bug #90: Make "--with-sql-backend" without any value do the right thing. Fix bug #93: Honor size limits in URIs. Make "smime" and "rrvs" legal Authentication-Results methods. Provide better logging when pclose() for a forensic report returns non-zero. Add configuration support for internal SPF checks. Includes hooks in the milter to check that SPF is configured to do so. This can use a private SPF implementation or libspf2. Fix strlcat() and strlcpy() support for Debian. REPORTS: Feature request #80: Generate aggregate reports on UTC day boundaries. REPORTS: Feature request #84: Optionally expire old data from lower-growth tables. REPORTS: Fix bug #70: Fix date range generation in reports. REPORTS: Fix bug #82: Fix recording of report timestamp to avoid lost records. REPORTS: Fix bug #83: When expiring data, truncate the signatures table if all messages were expired.. REPORTS: Fix bug #85: Report subdomain policy. LIBOPENDMARC: Fix bug #71: Fix "rua" extraction from DMARC records. LIBOPENDMARC: Added support for milter to perform own spf checks. Three new files: opendmarc_spf.c, opendmard_spf_dns.c and test/test_spf.cl, allow integrated SPF support. Support for use of libspf2 is also provided.
jperkin
pushed a commit
that referenced
this issue
Oct 6, 2014
----- 6.0.2 ----- * Issue #262: Fixed regression in pip install due to egg-info directories being omitted. Re-opens Issue #118. ----- 6.0.1 ----- * Issue #259: Fixed regression with namespace package handling on ``single version, externally managed`` installs. --- 6.0 --- * Issue #100: When building a distribution, Setuptools will no longer match default files using platform-dependent case sensitivity, but rather will only match the files if their case matches exactly. As a result, on Windows and other case-insensitive file systems, files with names such as 'readme.txt' or 'README.TXT' will be omitted from the distribution and a warning will be issued indicating that 'README.txt' was not found. Other filenames affected are: - README.rst - README - setup.cfg - setup.py (or the script name) - test/test*.py Any users producing distributions with filenames that match those above case-insensitively, but not case-sensitively, should rename those files in their repository for better portability. * Pull Request #72: When using ``single_version_externally_managed``, the exclusion list now includes Python 3.2 ``__pycache__`` entries. * Pull Request #76 and Pull Request #78: lines in top_level.txt are now ordered deterministically. * Issue #118: The egg-info directory is now no longer included in the list of outputs. * Issue #258: Setuptools now patches distutils msvc9compiler to recognize the specially-packaged compiler package for easy extension module support on Python 2.6, 2.7, and 3.2. --- 5.8 --- * Issue #237: ``pkg_resources`` now uses explicit detection of Python 2 vs. Python 3, supporting environments where builtins have been patched to make Python 3 look more like Python 2.
jperkin
pushed a commit
that referenced
this issue
Dec 1, 2014
Changelog: ================================================================================ GLM 0.9.5.4: 2014-06-21 -------------------------------------------------------------------------------- - Fixed non-utf8 character #196 - Added FindGLM install for CMake #189 - Fixed GTX_color_space - saturation #195 - Fixed glm::isinf and glm::isnan for with Android NDK 9d #191 - Fixed builtin GLM_ARCH_SSE4 #204 - Optimized Quaternion vector rotation #205 - Fixed missing doxygen @endcond tag #211 - Fixed instruction set detection with Clang #158 - Fixed orientate3 function #207 - Fixed lerp when cosTheta is close to 1 in quaternion slerp #210 - Added GTX_io for io with <iostream> #144 - Fixed fastDistance ambiguity #215 - Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to tweakedInfinitePerspective - Fixed std::copy and std::vector with GLM types #214 - Fixed strict aliasing issues #212, #152 - Fixed std::nextafter not supported with C++11 on Android #213 - Fixed corner cases in exp and log functions for quaternions #199 ================================================================================ GLM 0.9.5.3: 2014-04-02 -------------------------------------------------------------------------------- - Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch compiler argument - Fixed GTX_raw_data code dependency - Fixed GCC instruction set detection - Added GLM_GTX_matrix_transform_2d extension (#178, #176) - Fixed CUDA issues (#169, #168, #183, #182) - Added support for all extensions but GTX_string_cast to CUDA - Fixed strict aliasing warnings in GCC 4.8.1 / Android NDK 9c (#152) - Fixed missing bitfieldInterleave definisions - Fixed usubBorrow (#171) - Fixed eulerAngle*** not consistent for right-handed coordinate system (#173) - Added full tests for eulerAngle*** functions (#173) - Added workaround for a CUDA compiler bug (#186, #185) ================================================================================ GLM 0.9.5.2: 2014-02-08 -------------------------------------------------------------------------------- - Fixed initializer list ambiguity (#159, #160) - Fixed warnings with the Android NDK 9c - Fixed non power of two matrix products - Fixed mix function link error - Fixed SSE code included in GLM tests on "pure" platforms - Fixed undefined reference to fastInverseSqrt (#161) - Fixed GLM_FORCE_RADIANS with <glm/ext.hpp> build error (#165) - Fix dot product clamp range for vector angle functions. (#163) - Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152) - Fixed GLM_GTC_constants description brief (#162) ================================================================================ GLM 0.9.5.1: 2014-01-11 -------------------------------------------------------------------------------- - Fixed angle and orientedAngle that sometimes return NaN values (#145) - Deprecated degrees for function parameters and display a message - Added possible static_cast conversion of GLM types (#72) - Fixed error 'inverse' is not a member of 'glm' from glm::unProject (#146) - Fixed mismatch between some declarations and definitions - Fixed inverse link error when using namespace glm; (#147) - Optimized matrix inverse and division code (#149) - Added intersectRayPlane function (#153) - Fixed outerProduct return type (#155) ================================================================================ GLM 0.9.5.0: 2013-12-25 -------------------------------------------------------------------------------- - Added forward declarations (glm/fwd.hpp) for faster compilations - Added per feature headers - Minimized GLM internal dependencies - Improved Intel Compiler detection - Added bitfieldInterleave and _mm_bit_interleave_si128 functions - Added GTX_scalar_relational - Added GTX_dual_quaternion - Added rotation function to GTX_quaternion (#22) - Added precision variation of each type - Added quaternion comparison functions - Fixed GTX_multiple for negative value - Removed GTX_ocl_type extension - Fixed post increment and decrement operators - Fixed perspective with zNear == 0 (#71) - Removed l-value swizzle operators - Cleaned up compiler detection code for unsupported compilers - Replaced C cast by C++ casts - Fixed .length() that should return a int and not a size_t - Added GLM_FORCE_SIZE_T_LENGTH and glm::length_t - Removed unnecessary conversions - Optimized packing and unpacking functions - Removed the normalization of the up argument of lookAt function (#114) - Added low precision specializations of inversesqrt - Fixed ldexp and frexp implementations - Increased assert coverage - Increased static_assert coverage - Replaced GLM traits by STL traits when possible - Allowed including individual core feature - Increased unit tests completness - Added creating of a quaternion from two vectors - Added C++11 initializer lists - Fixed umulExtended and imulExtended implementations for vector types (#76) - Fixed CUDA coverage for GTC extensions - Added GTX_io extension - Improved GLM messages enabled when defining GLM_MESSAGES - Hidden matrix _inverse function implementation detail into private section ================================================================================ GLM 0.9.4.6: 2013-09-20 -------------------------------------------------------------------------------- - Fixed detection to select the last known compiler if newer version #106 - Fixed is_int and is_uint code duplication with GCC and C++11 #107 - Fixed test suite build while using Clang in C++11 mode - Added c++1y mode support in CMake test suite - Removed ms extension mode to CMake when no using Visual C++ - Added pedantic mode to CMake test suite for Clang and GCC - Added use of GCC frontend on Unix for ICC and Visual C++ fronted on Windows for ICC - Added compilation errors for unsupported compiler versions - Fixed glm::orientation with GLM_FORCE_RADIANS defined #112 - Fixed const ref issue on assignment operator taking a scalar parameter #116 - Fixed glm::eulerAngleY implementation #117 ================================================================================ GLM 0.9.4.5: 2013-08-12 -------------------------------------------------------------------------------- - Fixed CUDA support - Fixed inclusion of intrinsics in "pure" mode #92 - Fixed language detection on GCC when the C++0x mode isn't enabled #95 - Fixed issue #97: register is deprecated in C++11 - Fixed issue #96: CUDA issues - Added Windows CE detection #92 - Added missing value_ptr for quaternions #99 ================================================================================ GLM 0.9.4.4: 2013-05-29 -------------------------------------------------------------------------------- - Fixed slerp when costheta is close to 1 #65 - Fixed mat4x2 value_type constructor #70 - Fixed glm.natvis for Visual C++ 12 #82 - Added assert in inversesqrt to detect division by zero #61 - Fixed missing swizzle operators #86 - Fixed CUDA warnings #86 - Fixed GLM natvis for VC11 #82 - Fixed GLM_GTX_multiple with negative values #79 - Fixed glm::perspective when zNear is zero #71 ================================================================================ GLM 0.9.4.3: 2013-03-20 -------------------------------------------------------------------------------- - Detected qualifier for Clang - Fixed C++11 mode for GCC, couldn't be enabled without MS extensions - Fixed squad, intermediate and exp quaternion functions - Fixed GTX_polar_coordinates euclidean function, takes a vec2 instead of a vec3 - Clarify the license applying on the manual - Added a docx copy of the manual - Fixed GLM_GTX_matrix_interpolation - Fixed isnan and isinf on Android with Clang - Autodetected C++ version using __cplusplus value - Fixed mix for bool and bvec* third parameter ================================================================================ GLM 0.9.4.2: 2013-02-14 -------------------------------------------------------------------------------- - Fixed compAdd from GTX_component_wise - Fixed SIMD support for Intel compiler on Windows - Fixed isnan and isinf for CUDA compiler - Fixed GLM_FORCE_RADIANS on glm::perspective - Fixed GCC warnings - Fixed packDouble2x32 on XCode - Fixed mix for vec4 SSE implementation - Fixed 0x2013 dash character in comments that cause issue in Windows Japanese mode - Fixed documentation warnings - Fixed CUDA warnings ================================================================================ GLM 0.9.4.1: 2012-12-22 -------------------------------------------------------------------------------- - Improved half support: -0.0 case and implicit conversions - Fixed Intel Composer Compiler support on Linux - Fixed interaction between quaternion and euler angles - Fixed GTC_constants build - Fixed GTX_multiple - Fixed quat slerp using mix function when cosTheta close to 1 - Improved fvec4SIMD and fmat4x4SIMD implementations - Fixed assert messages - Added slerp and lerp quaternion functions and tests ================================================================================ GLM 0.9.4.0: 2012-11-18 -------------------------------------------------------------------------------- - Added Intel Composer Compiler support - Promoted GTC_espilon extension - Promoted GTC_ulp extension - Removed GLM website from the source repository - Added GLM_FORCE_RADIANS so that all functions takes radians for arguments - Fixed detection of Clang and LLVM GCC on MacOS X - Added debugger visualizers for Visual C++ 2012 ================================================================================ GLM 0.9.3.4: 2012-06-30 -------------------------------------------------------------------------------- - Added SSE4 and AVX2 detection. - Removed VIRTREV_xstream and the incompatibility generated with GCC - Fixed C++11 compiler option for GCC - Removed MS language extension option for GCC (not fonctionnal) - Fixed bitfieldExtract for vector types - Fixed warnings - Fixed SSE includes ================================================================================ GLM 0.9.3.3: 2012-05-10 -------------------------------------------------------------------------------- - Fixed isinf and isnan - Improved compatibility with Intel compiler - Added CMake test build options: SIMD, C++11, fast math and MS land ext - Fixed SIMD mat4 test on GCC - Fixed perspectiveFov implementation - Fixed matrixCompMult for none-square matrices - Fixed namespace issue on stream operators - Fixed various warnings - Added VC11 support
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2015
…kages Collection. This extention was previously known as ZendOptimizerPlus and has been renamed by upstream. Changes: 7.0.4 Added function opcache_is_script_cached() - Fix bug #67111 (Loop variables need to be freed for both "break" and "continue") - Fix opcache.revalidate_freq per-request behavior - Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault happen) - Fixed issue #183 (TMP_VAR is not only used once) 7.0.3 - Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style ^M as lineend) - Added suggestion about opcache.revalidate_freq setting in development environmento - Fixed Issue #140: "opcache.enable_file_override" doesn't respect "opcache.revalidate_freq" - Fixed reavlidate_path=1 behavior to avoid caching of symlinks values. - Fixed opcahce_reset() crash when opcache.protect_memory is set - Fixed bug #66176 (Invalid constant substitution) - Fixed bug #65559 (Opcache: cache not cleared if changes occur while running) - Fixed compatibility with old PHP versions - Fixed bug #65915 (Inconsistent results with require return value) - Fixed issue #115 (path issue when using phar) - Fixed issue #149 (Phar mount points not working with OPcache enabled) - Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled). - Added function opcache_compile_file() to load PHP scripts into cache without execution. - Fixed issue #135 (segfault in interned strings if initial memory is too low) - Fixed bug #65665 (Exception not properly caught when opcache enabled) - Fixed issue #128 (opcache_invalidate segmentation fault) - Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var) - Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4) - Replce ZEND_FETCH_* instructions with IS_CV if possible - Added opcache.restrict_api configuration directive that may limit usage of OPcahce API functions only to patricular script(s) - Added support for glob symbols in blacklist entries (?, *, **) - Improved implementation of NOP removal pass from O(n^2) to O(n) - Fixed bug #65338 (Enabling both php_opcache and php_wincache AVs on shutdown). - Fixed bug #64827 Segfault in zval_mark_grey (zend_gc.c) 7.0.2 - Fixed issue #26 (added opcache_invalidate(string $filename [, bool $force = false]) function) - Fixed issue #74 (Allowed per request OPcache disabling) - Fixed issue #76 (actually we don't need zend_shared_meory_block_header at all) - Fixed issue #78 (incorrect file path validation) - Fixed issue #79 (Optimization Problem/Bug) - Fixed issue #82 (allow comments in blacklist file, lines started with ";") - Fixed issue #91 (fix x64 fixed addresses) - Fxied issue #92 (Compilation warnings) - Fixed issue #97 (Use size_t instead of int to support a cache larger than 2G) - Fixed bug (Avoid possible conditional jump depended on uninitialised value) 7.0.1 - Fixed Bug #64490 (add __FreeBSD_kernel__ to allowed FreeBSD defs) - Fixed Bug #64482 (Opcodes for dynamic includes should not be cached) - Fixed Bug #64353 (Built-in classes can be unavailable with dynamic includes and Optimizer+) - Fixed compatibility with ext/phar - Fixed Issue #58 (PHP-5.2 compatibility) - Fixed Issue #57 (segfaults in drupal7) - Fixed Issue #54 (PECL install adds extension= instead of zend_extension= to php.ini)-iii - Allows exclusion of large files from being cached - Save a stat() call by calling sapi_module.get_stat() - Add optional flag to opcache_get_status() - Separate "start_time" from "last_restart_time"
jperkin
pushed a commit
that referenced
this issue
Apr 28, 2015
+ Version 2.12 (21.04.2015) - This is a fix release for 2.11; the memory optimization with __slots__ on Coord and AST nodes didn't take weakrefs into account, which broke cffi and its many dependents (iseue #76). Fixed by adding __weakref__ to __slots__. + Version 2.11 (21.04.2015) - Add support for C99 6.5.3.7 p7 - qualifiers within array dimensions in function declarations. Started with issue #21 (reported with initial patch by Robin Martinjak). - Issue #27: bug in handling of unified wstring literals. - Issue #28: fix coord reporting for 'for' loops. - Added ``examples/using_gcc_E_libc.py`` to demonstrate how ``gcc -E`` can be used instead of ``cpp`` for preprocessing. - Pull request #64: support keywords like const, volatile, restrict and static in dimensions in array declarations. - Reduce memory usage of AST nodes (issue #72). - Parsing order of nested pointer declarations fixed (issue #68).
jperkin
pushed a commit
that referenced
this issue
Jul 17, 2015
2015.6.21 ========= ---- * Fix #31: HTML entities stay inside link. * Fix #71: Coverage detects command line tests. * Fix #39: Documentation update. * Fix #61: Functionality added for optional use of automatic links. * Feature #80: ``title`` attribute is preserved in both inline and reference links. * Feature #82: More command line options. See docs. 2015.6.12 ========= ---- * Feature #76: Making ``pre`` blocks clearer for further automatic formatting. * Fix #71: Coverage detects tests carried out in ``subprocesses`` 2015.6.6 ======== ---- * Fix #24: ``3.200.3`` vs ``2014.7.3`` output quirks. * Fix #61. Malformed links in markdown output. * Feature #62: Automatic version number. * Fix #63: Nested code, anchor bug. * Fix #64: Proper handling of anchors with content that starts with tags. * Feature #67: Documentation all over the module. * Feature #70: Adding tests for the module. * Fix #73: Typo in config documentation.
jperkin
pushed a commit
that referenced
this issue
Dec 8, 2015
New features - core: add completion "colors" (issue #481) - core: start/stop search in buffer at current scroll position by default, add key Ctrl+q to stop search and reset scroll (issue #76, issue #393) - core: add option weechat.look.key_grab_delay to set the default delay when grabbing a key with Alt+k - core: add option weechat.look.confirm_upgrade (issue #463) - core: allow Ctrl+c to exit WeeChat when the passphrase is asked on startup (issue #452) - core: allow pointer as list name in evaluation of hdata (issue #450) - core: add signal "signal_sighup" - api: add support of evaluated sub-strings and current date/time in function string_eval_expression() and command /eval - api: add function string_eval_path_home() - alias: add options "add", "addcompletion" and "del" in command /alias, remove command /unalias (issue #458) - irc: add option irc.network.channel_encode (issue #218, issue #482) - irc: add option irc.color.topic_current (issue #475) - irc: evaluate content of server option "nicks" - logger: evaluate content of option logger.file.path (issue #388) - relay: display value of HTTP header "X-Real-IP" for websocket connections (issue #440) - script: rename option script.scripts.dir to script.scripts.path, evaluate content of option (issue #388) - xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388) Bugs fixed - core: flush stdout/stderr after sending text directly on them (fix corrupted data sent to hook_process() callback) (issue #442) - core: allow execution of command "/input return" on a buffer which is not displayed in a window - core: allow jump from current to previous buffer with default keys Alt+j, NN (issue #466) - core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (issue #465) - core: fix display of invalid UTF-8 chars in bars - core: fix bar item "scroll" after /buffer clear (issue #448) - core: fix display of time in bare display when option weechat.look.buffer_time_format is set to empty string (issue #441) - api: add missing function infolist_search_var() in script API (issue #484) - api: add missing function hook_completion_get_string() in script API (issue #484) - api: fix type of value returned by functions strcasestr, utf8_prev_char, utf8_next_char, utf8_add_offset and util_get_time_string - api: fix type of value returned by function strcasestr - fifo: fix send error on Cygwin when something is received in the pipe (issue #436) - irc: fix update of lag item when the server lag changes - irc: do not allow command /query with a channel name (issue #459) - irc: decode/encode only text in IRC messages and not the headers (bug #29886, issue #218, issue #451) - irc: fix crash with commands /allchan, /allpv and /allserv if the executed command closes buffers (issue #445) - irc: do not open auto-joined channels buffers when option "-nojoin" is used in command /connect (even if the option irc.look.buffer_open_before_autojoin is on) - irc: fix errors displayed on WHOX messages received (issue #376) - lua: add detection of Lua 5.3 - ruby: add detection of Ruby 2.2 - xfer: fix crash if the DCC file socket number is too high (> 1024 on Linux/BSD) (issue #465) - xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages) (issue #425, issue #426) - doc: replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions (issue #354)
jperkin
pushed a commit
that referenced
this issue
Feb 7, 2016
-------------- 2015-11-02 Marc Green <[email protected]> * Release 3.32 Fixed failing tests on Windows. Thanks to A. Sinan Unur for the patch! Switched debugging output from STDOUT to STDERR. Should rarely be used, but modules that do depend on debugging output might need to change how they handle it. Patch from Karl Williamson (GitHub Pull Request #76). Added errata_seen() to make POD errors easily accessible. Thanks to Sean Zellmer for the pull request!
jperkin
pushed a commit
that referenced
this issue
Feb 11, 2016
-------------- 2015-11-02 Marc Green <[email protected]> * Release 3.32 Fixed failing tests on Windows. Thanks to A. Sinan Unur for the patch! Switched debugging output from STDOUT to STDERR. Should rarely be used, but modules that do depend on debugging output might need to change how they handle it. Patch from Karl Williamson (GitHub Pull Request #76). Added errata_seen() to make POD errors easily accessible. Thanks to Sean Zellmer for the pull request!
jperkin
pushed a commit
that referenced
this issue
Apr 11, 2016
add experimental SunOS backend support adapted from the upstream RTI submission from Oracle and initial illumos support from OpenIndiana/Hipster From the Changelog: For detailed information about the changes below, please see the git log or visit: http://log.libusb.info 2015-09-13: v1.0.20 * Add Haiku support * Fix multiple memory and resource leaks (#16, #52, #76, #81) * Fix possible deadlock when executing transfer callback * New libusb_free_pollfds() API * Darwin: Fix devices not being detected on OS X 10.8 (#48) * Linux: Allow larger isochronous transfer submission (#23) * Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings * Windows: Fix broken bus number lookup * Windows: Improve submission of control requests for composite devices * Examples: Add two-stage load support to fxload (#12) * Correctly report cancellations due to timeouts * Improve efficiency of event handling * Improve speed of transfer submission in multi-threaded environments * Various other bug fixes and improvements The (#xx) numbers are libusb issue numbers, see ie: libusb/libusb#16 MAKE_JOBS_SAFE=no given build issues when enabled.
jperkin
pushed a commit
that referenced
this issue
Aug 24, 2016
V0.87 Antonio Querubin (1): Use setcap instead of setuid when installing the binary. Baptiste Jonglez (4): Allow enabling IP info and ASN lookup from the curses interface Document the -y option in the manpage Cosmetic cleanup of the option-parsing code Fix wrap-around bug when displaying IP info (-y option) Danek Duvall (1): Fix issue #76: rationalize the discovery of a terminal handling library Gareth Randall (6): Corrected the "without gtk" reference to "./configure --without-gtk" Filled in some of the missing man page sections. Remove a warning message at compile time. Fix typos and update mailing list references. Add a section about granting limited security capabilities. State that Github is the preferred way to report bugs. Guo Yixuan (1): Raw output: add x for a ping-packet-sent event. Hajimu UMEMOTO (1): Add aslookup support to gtk interface Jakub Wilk (1): Fix typos. Kris Coward (1): Added --displaymode option Narthorn (1): curses: Fix background transparency in terminal Nikolai R Kristiansen (1): Add support for JSON as report output format R.E. Wolff (9): explanation of the version numbers in NEWS. Merge branch 'master' of github.com:traviscross/mtr removed warning about IPV6 socket when IPV6 is not available at runtime fix for printing space field in XML. modified name of timeout variable to prevent warning on solaris. changed the name of the ping timout timer from 'tag' to 'ping timeout timer' net.c fix from AQ. issue 128: compile should be in .gitignore The release script bumped the version number Rogier Wolff (1): added use-default-colors... Theo Baschak (1): Update asn.c - 32bit asn widths Tobias Rittweiler (5): Fix typo in csv_close() that prevented any of the data columns from being printed. --csv: Don't print spaces in columns. --csv: Print a header line as the first line which names all columns. asn.h: Guard against being included twice. Fix setting length field of UDP header to broken value on BSD systems. Vojtech Kurka (1): Fixed behaviour of Pause button aquerubin (3): Correct psize for IPv6. Fix Avg and Best column order to match column headers in GTK display. Update Tony's email address in the GTK credits. penyu (1): add max-unknown option russor (10): allow setting local and remote port for UDP probing fix checksum for odd sized packets set the local address for display if it was bound automatically set udp address if needed fix improper aliasing fix placement of zeros when running alternate udp checksum endian neutral placement of alternate checksum copy odd byte into a 16-bit temp value; used bit-sized types for calrity correct checksum calculation when adding the overflow overflows add option to set graceperiod swordfeng (3): Add SCTP support (same way with tcp) remove comment fix sctp header structure
wiedi
pushed a commit
to wiedi/pkgsrc-legacy
that referenced
this issue
Nov 17, 2016
Upstream changes: 1.7.1 - "Election" [Bugs] * Minor release to incorporate fix for CPAN indexing, which prevented proper updates [cjfields] * Fix problem in managing Target attribute for gff3 [Jukes34] * Minor bug fixes related to NCBI HTTPS support [cjfields] 1.7.0 - "Disney" [New site] * We have migrated to Github Pages. This was actually planned, but the recent OBF server compromise forced our hand. Brian Osborne [bosborne] took this under his wing to move docs and has done a tremendous amount of work formatting the site and working out some of the idiosyncracies with the new Jekyll-based design. Mark Jensen, Paul Cantalupo and Franscison Ossandon also helped. Kudos!! * Similarly, the official issue tracker is now Github Issues. This has been updated in the relevant documentation bits (we hope!) [Code changes] * Previously deprecated modules removed * Bio::Tools::Infernal, Bio::Tools::ERPIN, Bio::Tools::RNAMotif * Bio::DB::SeqHound has been removed due to the service no longer being available * Bio::Tools::Analysis::Protein::Mitoprot has been removed for security reasons due to the server no longer having a valid cert * Bio::EUtilities, Bio::Biblio are now separate releases on CPAN * Bio::Coordinate, Bio::SearchIO::blastxml, Bio::SearchIO::Writer::BSMLResultWriter are now separate releases to be added on CPAN [New features] * Docker instances of tagged releases are available! [hlapp] * NCBI HTTPS support [mjohnson and others] * Bio::SearchIO::infernal - Issue TritonDataCenter#131: added CMSEARCH parsing support for Infernal 1.1 [pcantalupo] * Bio::Search::HSP::ModelHSP - Added a 'noncanonical_string' method to retrieve the NC line from CMSEARCH reports [pcantalupo] * Bio::Search::Result::INFERNALResult - Added new module to represent features of Infernal reports [pcantalupo] * Bio::DB::Taxonomy SQLite option [cjfields] * WrapperBase quoted option values [majensen] * Various documentation fixes and updates [bosborne] [Bug Fixes] * Fixes in Bio::Root::Build to deal with META.json/yml for CPAN indexing [cjfields] * Bio::SeqFeature::Generic spliced_seq() bug fix [Eric Snyder, via bosborne] * NeXML parser fixes [fjossandon] * Bug fix for Bio::DB::SeqFeature memory adapter [lstein] * RT 103272 : SeqFeature database deletion skipped features with a decimal - Joshua Fortriede (Xenbase) * RT 98374: AlignIO issues with sequence names not correctly parsing - Xiaoyu Zhuo * Issue TritonDataCenter#70: CONTIG parsing in GenBank output fixed [fjossandon] * Issue TritonDataCenter#76: Circular genome fixes with Bio::Location::Split [fjossandon] * Issue TritonDataCenter#80: Fix lack of caching issue with Bio::DB::Taxonomy [fjossandon] * Issue TritonDataCenter#81: Small updates to make sure possible memory leaks are detected [cjfields] * Issue TritonDataCenter#84: EMBL format wrapping problem [nyamned] * Issue TritonDataCenter#90: Missing entries for translation tables 24 and 25 [fjossandon] * Issue TritonDataCenter#95: Speed up of Bio::DB::Fasta::subseq by using a compiled regex or compiled C code (when Inline::C is installed) [rocky] * Fix various Bio::Tools::Analysis remote server config problems [cjfields] * Added several missing 'Data::Stag' and 'LWP::UserAgent' requirements [fjossandon] * Added a workaround in Bio::DB::Registry to get Username in Windows [fjossandon] * For HMMer report parsing, changed "$hsp->bits" to return 0 instead of undef to be consistent with "$hit->bits" behaviour [fjossandon] * Fixed a bug in HMMer3 parsing, where an homology line ending in CS or RF aminoacids made "next_seq" confused and broke the parser [fjossandon] * Adjusted FTLocationFactory.pm to comply with current GenBank Feature Table Definition, so now "join(complement(C..D),complement(A..B))" is equivalent to "complement(join(A..B,C..D))" [fjossandon] * For the many many many fixes that weren't mentioned - blame the release guy!
jperkin
pushed a commit
that referenced
this issue
Feb 28, 2017
------------------------------ Cyrus IMAP 2.4.18 Release Notes - Security fix: handle urlfetch range starting outside message range - A bunch of cleanups and fixes to compiling - A bunch of sieve cleanups - Enhanced SSL/TLS configuration options - Disable use of SSLv2/SSLv3 - Allow SQL backend for mboxlist and statuscache (thanks Julien Coloos) - Fixed Task #116: correct LIST response for domains starting with ¡Æinbox.¡Ç - Fixed Task #76: fixed lmtpd userdeny db checks (thanks Leena Heino) - Fixed bug #3856: lmtpd now performs userdeny checks - Fixed bug #3848: support charset aliases in encoded headers - Fixed bug #3853: disconnect_on_vanished_mailbox: release mailbox lock before exiting (thanks Wolfgang Breyha) - Fixed bug #3415: fixed nntpd LIST/GROUP bug - Fixed bug #3784: no longer crash in THREAD REFERENCES when messages reference themselves - Fixed bug #3757: don¡Çt segfault on mailbox close with no user New ssl/tls configuration options tls_compression: 0 Enable TLS compression. Disabled by default. tls_eccurve: prime256v1 Select the elliptic curve used for ECDHE. tls_prefer_server_ciphers: 0 Prefer the cipher order configured on the server-side. tls_versions: tls1_0 tls1_1 tls1_2 Disable SSL/TLS protocols not in this list.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
New Relic System Monitor
missing smf manifest.xml and smf enablement bits.
2013Q2 nrsysmond-1.3.0.tgz correct
2013Q3 nrsysmond-1.3.0.tgz broken
http://pkgsrc.joyent.com/packages/SmartOS/2013Q2/x86_64/All/
http://pkgsrc.joyent.com/packages/SmartOS/2013Q3/x86_64/All/
The text was updated successfully, but these errors were encountered: