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
Fix build on SmartOS, missing LDFLAG -lnsl #96
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Committed upstream, thanks! |
jperkin
pushed a commit
that referenced
this pull request
Nov 1, 2013
News ==== Release 3.0.8 - 2013/09/29 -------------------------- Improvements ^^^^^^^^^^^^ * [admin] Improved error handling of select functionality. This change shows error message and hides loading dialog. [Patch by orangain] * [admin] Improved to submit search form with the enter key. [Patch by orangain] * [admin] Improved to show placeholder in search form. This change shows usage examples. [Patch by orangain] * [httpd] Supported :ref:`groonga-query-log-path` directive * [doc] Updated :doc:`/reference/commands/select` documentation about the number of hits in select response. * Improved to ignore an empty token which is generated by continuous spaces from tokenizer. [groonga-dev,01729] [Suggested by Naoya Murakami] * [token delimit] Improved to treat continuous spaces as a space. The tokenizer regards 2 or more spaces are valid input. * [doc] Added note about indexes for each column vs indexes for multiple column. * [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe] * Supported :ref:`cascade-delete` to referenced records. In previous version, You got an error for the operation. * [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe] * [experimental] Added :doc:`/reference/commands/ruby_eval` command. * [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe] Fixes ^^^^^ * [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work. Thanks ^^^^^^ * orangain * Naoya Murakami * Kazuhiro Isobe Release 3.0.7 - 2013/08/29 -------------------------- Improvements ^^^^^^^^^^^^ * [doc] Added API documentation. [groonga-dev,01593] [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100] [Patch by whombx] * [table_remove] Improved not to remove patricia trie table or hash table which is still referenced. This change avoids that referenced table is removed accidentally. * Improved to just ignore too long token (4096 bytes or more). This change affects when it is registered. In the previous version, it is treated as an error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami] * Improved to show actual discarded posting term in log message. [groonga-dev,01621] [Reported by Naoya Murakami] * [httpd] Supported loading data using POST method. [GitHub#101] [Patch by Motoi Washida] * [httpd] Supported groonga log as ``groonga_log_path`` directive. * [httpd] Supported groonga log level as ``groonga_log_level`` directive. * [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive. Fixes ^^^^^ * Fixed a bug that error in expression may cause stack overflow. This change avoids that groonga crashes suddenly as a result of error accumlation. * Fixed a crash bug that offline index construction for vector column which has orphan reference causes. * Fixed a bug that groonga doesn't exit on error while daemon mode starts. For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug. * [dump] Fixed a bug that wrong table type is dumped. This bug occurs when table type is TABLE_PAT_KEY and key is reference type. * Fixed a bug that the default ``--cache-limit`` value is 0. The default value is changed to '100'. * Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used. * [doc] Fixed description of defrag command. [Reported by @naoina] * [doc] Fixed description about the way to contribute. [GitHub#77] [Patch by Masafumi Yokoyama] * [plugin] Fixed a crash bug on multiple DB open case. This bug affects the case that multiple plugin is used and the same database is opened from multiple process. [groonga-dev,01596] [Reported by Naoya Murakami] * Fixed a bug that nested match operation after ``AND`` operator doesn't work. The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug. [groonga-dev,01599] [Reported by Motoi Washida] * [doc] Fixed a typo about documentation of special characters. [Reported by Genki Takiuchi] * Fixed a typo in error message when invalid character is given. [Reported by YOSHIDA Mitsuo] Thanks ^^^^^^ * whombx * @naoina * Masafumi Yokoyama * Motoi Washida * Genki Takiuchi * YOSHIDA Mitsuo
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
Changelog: libmp3splt version 0.8.2 ------------------------------------------------------------- - added option to specify the input tags encoding for when writing ID3v2 tags (SPLT_OPT_INPUT_TAGS_ENCODING) - enable -O3 by default - added LIBMP3SPLT_MAJOR_VERSION, LIBMP3SPLT_MINOR_VERSION and LIBMP3SPLT_MICRO_VERSION (feature request #96) - added option SPLT_TAGS_ORIGINAL for mp3splt_tags_set - added option to keep the original tags and just replace them when importing a CUE or CDDB file (SPLT_OPT_CUE_CDDB_ADD_TAGS_WITH_KEEP_ORIGINAL_TAGS) (feature request #95) - added 'split into memory' ability with a callback function for use with 'pretend to split' (feature request #94) - replaced mp3splt.m4 with pkg-config (bug #145) - corrected build files (configure.ac, Makefile.am, ...) and check using 'make distcheck' (bug #147) - fixed a lot of doxygen issues libmp3splt version 0.8.1a ------------------------------------------------------------- - corrected ChangeLog file of 0.8.1 release - added minimal.c in the distribution for the doxygen documentation - added libmp3splt_ico.svg in the distribution for the doxygen documentation - added something in the empty_footer.html file to avoid doxygen segfault libmp3splt version 0.8.1 ------------------------------------------------------------- - fixed a bug - was crashing when removing tags from skippoints - added option to set output ID3v2 tags encoded in latin1, UTF-8 or UTF16 - forgot to add 'empty_footer.html' in the distribution libmp3splt version 0.8 ------------------------------------------------------------- - rewritten libmp3splt public API to target future 1.0 stable release - written complete documentation of the public API - done issues #40 and #85 - added minimum silence length parameter for auto adjust - implemented back the proxy feature with basic authentification - feature #50 - added option to generate exactly the same input tags bytes using @o - added minimum silence length for trim silence mode (minimum silence to trigger a trimming) - done issue #12 - added option to output the full silence log useful to plot a graph - enhanced the CUE export to export the tags as REM comments and also the splitpoint names - fixed bug when detecting the input tags version - output had no tags when the input only had ID3v1 - fixed bug: output tags versions was not equal to the input file tags versions when the user was setting custom tags without any @o to get the original tags - done issue #79 - added 0 to the number of digits to output in order to be able to support the old mp3splt output format - fixed bug #141 - when input file is a symlink and output directory is the one of the input file - amplitude more precise with ogg vorbis files - plugins are now installed in $(libdir)/libmp3splt$(SONAME) instead of $(libdir)/libmp3splt - fixed bug #131 - use /usr/lib64 instead of /usr/lib on x64 in mp3splt.m4 - fixed bug #133 - updated GPLv2 COPYING file - fixed bug on mp3 trim silence scan: last frame was skipped - fixed bug #134 - use of deprecated gethostbyname() ------------------------------------------------------------- libmp3splt version 0.7.3 - added the trackjoin parameter for silence detection split: tracks shorter than trackjoin will be joined with others - fixed bug: removing TLEN id3v2 tag from the split files - fixed bug #3530488 - regression introduced with ogg multiple logical streams libmp3splt version 0.7.2 ------------------------------------------------------------- - fixed error when ID3v2 was containing what appears a valid frame; make sure we skip the ID3v2 after looking for the first frames - fixed bug #3497957 libtoolize vs glibtoolize - fixed #3487543 - compilation without pcre support - added the shots parameter to silence detection libmp3splt version 0.7.1 ------------------------------------------------------------- - added minimum track length option for silence scan - closes #2393766 - added option to set original tags when using 'replace tags in tags' - closes #3407314 - added support for multiple ogg/vorbis logical streams (mail) - fixed mp3 frame mode with skippoint when skippoint too small (on the same frame as previous) - fixed some regression regarding mp3splt v2.1c - removed some checks relative to the total time - we cannot rely on the total time - for example with concatenated mp3s - fixed several audacity labels issues - fixed inconsistency (extra 0 padding) between @n of custom tags and @n of output filename (mail) - fixed compilation error without libid3tag - fixed #3385833 - don't apply debugging flags or warnings flags by default: added --enable-c-debug --enable-optimise --enable-extra-warnings - fixed #3385827 - added --disable-doxygen_doc - fixed #3385829 - building doxygen documentation by itself + installing doxygen files
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
News ==== Release 3.0.8 - 2013/09/29 -------------------------- Improvements ^^^^^^^^^^^^ * [admin] Improved error handling of select functionality. This change shows error message and hides loading dialog. [Patch by orangain] * [admin] Improved to submit search form with the enter key. [Patch by orangain] * [admin] Improved to show placeholder in search form. This change shows usage examples. [Patch by orangain] * [httpd] Supported :ref:`groonga-query-log-path` directive * [doc] Updated :doc:`/reference/commands/select` documentation about the number of hits in select response. * Improved to ignore an empty token which is generated by continuous spaces from tokenizer. [groonga-dev,01729] [Suggested by Naoya Murakami] * [token delimit] Improved to treat continuous spaces as a space. The tokenizer regards 2 or more spaces are valid input. * [doc] Added note about indexes for each column vs indexes for multiple column. * [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe] * Supported :ref:`cascade-delete` to referenced records. In previous version, You got an error for the operation. * [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe] * [experimental] Added :doc:`/reference/commands/ruby_eval` command. * [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe] Fixes ^^^^^ * [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work. Thanks ^^^^^^ * orangain * Naoya Murakami * Kazuhiro Isobe Release 3.0.7 - 2013/08/29 -------------------------- Improvements ^^^^^^^^^^^^ * [doc] Added API documentation. [groonga-dev,01593] [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100] [Patch by whombx] * [table_remove] Improved not to remove patricia trie table or hash table which is still referenced. This change avoids that referenced table is removed accidentally. * Improved to just ignore too long token (4096 bytes or more). This change affects when it is registered. In the previous version, it is treated as an error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami] * Improved to show actual discarded posting term in log message. [groonga-dev,01621] [Reported by Naoya Murakami] * [httpd] Supported loading data using POST method. [GitHub#101] [Patch by Motoi Washida] * [httpd] Supported groonga log as ``groonga_log_path`` directive. * [httpd] Supported groonga log level as ``groonga_log_level`` directive. * [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive. Fixes ^^^^^ * Fixed a bug that error in expression may cause stack overflow. This change avoids that groonga crashes suddenly as a result of error accumlation. * Fixed a crash bug that offline index construction for vector column which has orphan reference causes. * Fixed a bug that groonga doesn't exit on error while daemon mode starts. For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug. * [dump] Fixed a bug that wrong table type is dumped. This bug occurs when table type is TABLE_PAT_KEY and key is reference type. * Fixed a bug that the default ``--cache-limit`` value is 0. The default value is changed to '100'. * Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used. * [doc] Fixed description of defrag command. [Reported by @naoina] * [doc] Fixed description about the way to contribute. [GitHub#77] [Patch by Masafumi Yokoyama] * [plugin] Fixed a crash bug on multiple DB open case. This bug affects the case that multiple plugin is used and the same database is opened from multiple process. [groonga-dev,01596] [Reported by Naoya Murakami] * Fixed a bug that nested match operation after ``AND`` operator doesn't work. The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug. [groonga-dev,01599] [Reported by Motoi Washida] * [doc] Fixed a typo about documentation of special characters. [Reported by Genki Takiuchi] * Fixed a typo in error message when invalid character is given. [Reported by YOSHIDA Mitsuo] Thanks ^^^^^^ * whombx * @naoina * Masafumi Yokoyama * Motoi Washida * Genki Takiuchi * YOSHIDA Mitsuo
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
Changelog: libmp3splt version 0.8.2 ------------------------------------------------------------- - added option to specify the input tags encoding for when writing ID3v2 tags (SPLT_OPT_INPUT_TAGS_ENCODING) - enable -O3 by default - added LIBMP3SPLT_MAJOR_VERSION, LIBMP3SPLT_MINOR_VERSION and LIBMP3SPLT_MICRO_VERSION (feature request #96) - added option SPLT_TAGS_ORIGINAL for mp3splt_tags_set - added option to keep the original tags and just replace them when importing a CUE or CDDB file (SPLT_OPT_CUE_CDDB_ADD_TAGS_WITH_KEEP_ORIGINAL_TAGS) (feature request #95) - added 'split into memory' ability with a callback function for use with 'pretend to split' (feature request #94) - replaced mp3splt.m4 with pkg-config (bug #145) - corrected build files (configure.ac, Makefile.am, ...) and check using 'make distcheck' (bug #147) - fixed a lot of doxygen issues libmp3splt version 0.8.1a ------------------------------------------------------------- - corrected ChangeLog file of 0.8.1 release - added minimal.c in the distribution for the doxygen documentation - added libmp3splt_ico.svg in the distribution for the doxygen documentation - added something in the empty_footer.html file to avoid doxygen segfault libmp3splt version 0.8.1 ------------------------------------------------------------- - fixed a bug - was crashing when removing tags from skippoints - added option to set output ID3v2 tags encoded in latin1, UTF-8 or UTF16 - forgot to add 'empty_footer.html' in the distribution libmp3splt version 0.8 ------------------------------------------------------------- - rewritten libmp3splt public API to target future 1.0 stable release - written complete documentation of the public API - done issues #40 and #85 - added minimum silence length parameter for auto adjust - implemented back the proxy feature with basic authentification - feature #50 - added option to generate exactly the same input tags bytes using @o - added minimum silence length for trim silence mode (minimum silence to trigger a trimming) - done issue #12 - added option to output the full silence log useful to plot a graph - enhanced the CUE export to export the tags as REM comments and also the splitpoint names - fixed bug when detecting the input tags version - output had no tags when the input only had ID3v1 - fixed bug: output tags versions was not equal to the input file tags versions when the user was setting custom tags without any @o to get the original tags - done issue #79 - added 0 to the number of digits to output in order to be able to support the old mp3splt output format - fixed bug #141 - when input file is a symlink and output directory is the one of the input file - amplitude more precise with ogg vorbis files - plugins are now installed in $(libdir)/libmp3splt$(SONAME) instead of $(libdir)/libmp3splt - fixed bug #131 - use /usr/lib64 instead of /usr/lib on x64 in mp3splt.m4 - fixed bug #133 - updated GPLv2 COPYING file - fixed bug on mp3 trim silence scan: last frame was skipped - fixed bug #134 - use of deprecated gethostbyname() ------------------------------------------------------------- libmp3splt version 0.7.3 - added the trackjoin parameter for silence detection split: tracks shorter than trackjoin will be joined with others - fixed bug: removing TLEN id3v2 tag from the split files - fixed bug #3530488 - regression introduced with ogg multiple logical streams libmp3splt version 0.7.2 ------------------------------------------------------------- - fixed error when ID3v2 was containing what appears a valid frame; make sure we skip the ID3v2 after looking for the first frames - fixed bug #3497957 libtoolize vs glibtoolize - fixed #3487543 - compilation without pcre support - added the shots parameter to silence detection libmp3splt version 0.7.1 ------------------------------------------------------------- - added minimum track length option for silence scan - closes #2393766 - added option to set original tags when using 'replace tags in tags' - closes #3407314 - added support for multiple ogg/vorbis logical streams (mail) - fixed mp3 frame mode with skippoint when skippoint too small (on the same frame as previous) - fixed some regression regarding mp3splt v2.1c - removed some checks relative to the total time - we cannot rely on the total time - for example with concatenated mp3s - fixed several audacity labels issues - fixed inconsistency (extra 0 padding) between @n of custom tags and @n of output filename (mail) - fixed compilation error without libid3tag - fixed #3385833 - don't apply debugging flags or warnings flags by default: added --enable-c-debug --enable-optimise --enable-extra-warnings - fixed #3385827 - added --disable-doxygen_doc - fixed #3385829 - building doxygen documentation by itself + installing doxygen files
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
News ==== Release 3.0.8 - 2013/09/29 -------------------------- Improvements ^^^^^^^^^^^^ * [admin] Improved error handling of select functionality. This change shows error message and hides loading dialog. [Patch by orangain] * [admin] Improved to submit search form with the enter key. [Patch by orangain] * [admin] Improved to show placeholder in search form. This change shows usage examples. [Patch by orangain] * [httpd] Supported :ref:`groonga-query-log-path` directive * [doc] Updated :doc:`/reference/commands/select` documentation about the number of hits in select response. * Improved to ignore an empty token which is generated by continuous spaces from tokenizer. [groonga-dev,01729] [Suggested by Naoya Murakami] * [token delimit] Improved to treat continuous spaces as a space. The tokenizer regards 2 or more spaces are valid input. * [doc] Added note about indexes for each column vs indexes for multiple column. * [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe] * Supported :ref:`cascade-delete` to referenced records. In previous version, You got an error for the operation. * [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe] * [experimental] Added :doc:`/reference/commands/ruby_eval` command. * [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe] Fixes ^^^^^ * [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work. Thanks ^^^^^^ * orangain * Naoya Murakami * Kazuhiro Isobe Release 3.0.7 - 2013/08/29 -------------------------- Improvements ^^^^^^^^^^^^ * [doc] Added API documentation. [groonga-dev,01593] [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100] [Patch by whombx] * [table_remove] Improved not to remove patricia trie table or hash table which is still referenced. This change avoids that referenced table is removed accidentally. * Improved to just ignore too long token (4096 bytes or more). This change affects when it is registered. In the previous version, it is treated as an error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami] * Improved to show actual discarded posting term in log message. [groonga-dev,01621] [Reported by Naoya Murakami] * [httpd] Supported loading data using POST method. [GitHub#101] [Patch by Motoi Washida] * [httpd] Supported groonga log as ``groonga_log_path`` directive. * [httpd] Supported groonga log level as ``groonga_log_level`` directive. * [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive. Fixes ^^^^^ * Fixed a bug that error in expression may cause stack overflow. This change avoids that groonga crashes suddenly as a result of error accumlation. * Fixed a crash bug that offline index construction for vector column which has orphan reference causes. * Fixed a bug that groonga doesn't exit on error while daemon mode starts. For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug. * [dump] Fixed a bug that wrong table type is dumped. This bug occurs when table type is TABLE_PAT_KEY and key is reference type. * Fixed a bug that the default ``--cache-limit`` value is 0. The default value is changed to '100'. * Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used. * [doc] Fixed description of defrag command. [Reported by @naoina] * [doc] Fixed description about the way to contribute. [GitHub#77] [Patch by Masafumi Yokoyama] * [plugin] Fixed a crash bug on multiple DB open case. This bug affects the case that multiple plugin is used and the same database is opened from multiple process. [groonga-dev,01596] [Reported by Naoya Murakami] * Fixed a bug that nested match operation after ``AND`` operator doesn't work. The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug. [groonga-dev,01599] [Reported by Motoi Washida] * [doc] Fixed a typo about documentation of special characters. [Reported by Genki Takiuchi] * Fixed a typo in error message when invalid character is given. [Reported by YOSHIDA Mitsuo] Thanks ^^^^^^ * whombx * @naoina * Masafumi Yokoyama * Motoi Washida * Genki Takiuchi * YOSHIDA Mitsuo
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy. PyFITS is a Python module for reading, writing, and manipulating FITS files. The module uses Python's object-oriented features to provide quick, easy, and efficient access to FITS files. The use of Python's array syntax enables immediate access to any FITS extension, header cards, or data items. Changes to 2.4.0 (in py-pyfits): Changelog =========== 3.2 (2013-11-26) ---------------- Highlights ^^^^^^^^^^ - Rewrote CFITSIO-based backend for handling tile compression of FITS files. It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO as before. PyFITS ships with its own copy of CFITSIO v3.35 which supports the latest version of the Tiled Image Convention (v2.3), but system packagers may choose instead to strip this out in favor of a system-installed version of CFITSIO. Earlier versions may work, but nothing earlier than 3.28 has been tested yet. (#169) - Added support for reading and writing tables using the Q format for columns. The Q format is identical to the P format (variable-length arrays) except that it uses 64-bit integers for the data descriptors, allowing more than 4 GB of variable-length array data in a single table. (#160) - Added initial support for table columns containing pseudo-unsigned integers. This is currently enabled by using the ``uint=True`` option when opening files; any table columns with the correct BZERO value will be interpreted and returned as arrays of unsigned integers. - Some refactoring of the table and ``FITS_rec`` modules in order to better separate the details of the FITS binary and ASCII table data structures from the HDU data structures that encapsulate them. Most of these changes should not be apparent to users (but see API Changes below). API Changes ^^^^^^^^^^^ - Assigning to values in ``ColDefs.names``, ``ColDefs.formats``, ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return lists of column properties is no longer supported. Assigning to those lists will no longer update the corresponding columns. Instead, please just modify the ``Column`` instances directly (``Column.name``, ``Column.null``, etc.) - The ``pyfits.new_table`` function is marked "pending deprecation". This does not mean it will be removed outright or that its functionality has changed. It will likely be replaced in the future for a function with similar, if not subtly different functionality. A better, if not slightly more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create a new ``FITS_rec`` table--this has the same interface as ``pyfits.new_table``. The difference is that it returns a plan ``FITS_rec`` array, and not an HDU instance. This ``FITS_rec`` object can then be used as the data argument in the constructors for ``BinTableHDU`` (for binary tables) or ``TableHDU`` (for ASCII tables). This is analogous to creating an ``ImageHDU`` by passing in an image array. ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a FITS-compatible recarray from a FITS column specification. - The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData`` methods of the ``CompDataHDU`` class are pending deprecation and moved to internal methods. The operation of these methods depended too much on internal state to be used safely by users; instead they are invoked automatically in the appropriate places when reading/writing compressed image HDUs. - The ``CompDataHDU.compData`` attribute is pending deprecation in favor of the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``. - The constructor for ``CompDataHDU`` has been changed to accept new keyword arguments. The new keyword arguments are essentially the same, but are in underscore_separated format rather than camelCase format. The old arguments are still pending deprecation. - The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``, and ``_data_size`` respectively. The old attribute names are still pending deprecation. This should only be of interest to advanced users who have created their own HDU subclasses. - The following previously deprecated functions and methods have been removed entirely: ``createCard``, ``createCardFromString``, ``upperKey``, ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``, ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``. If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with the ``python -Wd`` argument, warnings for all deprecated interfaces still in use will be displayed. - Interfaces that were pending deprecation are now fully deprecated. These include: ``create_card``, ``create_card_from_string``, ``upper_key``, ``Header.get_history``, and ``Header.get_comment``. - The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa. - The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to ``pyfits.file.PYFITS_MODES`` which better reflects its purpose. This is rarely used by client code, however. Support for the old name will be removed by PyFITS 3.4. Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - The new compression code also adds support for the ZQUANTIZ and ZDITHER0 keywords added in more recent versions of this FITS Tile Compression spec. This includes support for lossless compression with GZIP. (#198) By default no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct constants to the ``quantize_method`` argument to the ``CompImageHDU`` constuctor. A seed can be manually specified, or automatically generated using either the system clock or checksum-based methods via the ``dither_seed`` argument. See the documentation for ``CompImageHDU`` for more details. (#198) (spacetelescope/PYFITS#32) - Images compressed with the Tile Compression standard can now be larger than 4 GB through support of the Q format. (#159) - All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist. This was added for consistency with the ``.name`` attribute which returns the EXTNAME value from the header. - Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes which give the Numpy dtype for the column data in the first case, and the full Numpy compound dtype for each table row in the latter case. - There was an issue where new tables created defaulted the values in all string columns to '0.0'. Now string columns are filled with empty strings by default--this seems a less surprising default, but it may cause differences with tables created with older versions of PyFITS. - Improved round-tripping and preservation of manually assigned column attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers. (astropy/astropy#996) Bug Fixes ^^^^^^^^^ - Binary tables containing compressed images may, optionally, contain other columns unrelated to the tile compression convention. Although this is an uncommon use case, it is permitted by the standard. (#159) - Reworked some of the file I/O routines to allow simpler, more consistent mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more "PyFITS-specific" modes used by PyFITS like "readonly" and "update". That is, if reading a FITS file from an open file object, it doesn't matter as much what "mode" it was opened in so long as it has the right capabilities (read/write/etc.) Also works around bugs in the Python io module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968) 3.1.3 (2013-11-26) ------------------ - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (spacetelescope/PyFITS#11) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.0.12 (2013-11-26) ------------------- - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (Backported from 3.1.3) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (Backported from 3.1.3) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. (Backported from 3.1.3) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.1.2 (2013-04-22) ------------------ - When an error occurs opening a file in fitsdiff the exception message will now at least mention which file had the error. (#168) - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. (#201) - Added use of the console_scripts entry point to install the fitsdiff and fitscheck scripts, which if nothing else provides better Windows support. The generated scripts now override the ones explicitly defined in the scripts/ directory (which were just trivial stubs to begin with). (#202) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. (#218) - Fixed inconsistent behavior in creating CONTINUE cards from byte strings versus unicode strings in Python 2--CONTINUE cards can now be created properly from unicode strings (so long as they are convertable to ASCII). (spacetelescope/PyFITS#1) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. (spacetelescope/PyFITS#3) - Fixed a bug in parsing HIERARCH keywords that do not have a space after the first equals sign (before the value). (spacetelescope/PyFITS#5) - Prevented extra leading whitespace on HIERARCH keywords from being treated as part of the keyword. (spacetelescope/PyFITS#6) - Fixed a bug where HIERARCH keywords containing lower-case letters was mistakenly marked as invalid during header validation. (spacetelescope/PyFITS#7) - Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the ``Header.index()`` method did not work correctly with HIERARCH keywords containing lower-case letters. 3.0.11 (2013-04-17) ------------------- - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. Backported from 3.1.2. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. Backported from 3.1.2. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). Backported from 3.1.2. (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. Backported from 3.1.2. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. Backported from 3.1.2. (#201) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. Backported from 3.1.2. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. Backported from 3.1.2. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. Backported from 3.1.2. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. Backported from 3.1.2. (#218) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. Backported from 3.1.2. (spacetelescope/PyFITS#3) 3.1.1 (2013-01-02) ------------------ This is a bug fix release for the 3.1.x series. Bug Fixes ^^^^^^^^^ - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verboten in PRIMARY HDUs, but the latest version of the FITS standard allows them. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will automatically use compatible tile sizes even if they're not explicitly specified. (#171) - Added support for the optional ``endcard`` parameter in the ``Header.fromtextfile()`` and ``Header.totextfile()`` methods. Although ``endcard=False`` was a reasonable default assumption, there are still text dumps of FITS headers that include the END card, so this should have been more flexible. (#176) - Fixed a crash when running fitsdiff on two empty (that is, zero row) tables. (#178) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. (#180) - Fixed a crash when generating diff reports from diffs using the ``ignore_comments`` options. (#181) - Fixed some bugs with WCS Paper IV record-valued keyword cards: - Cards that looked kind of like RVKCs but were not intended to be were over-permissively treated as such--commentary keywords like COMMENT and HISTORY were particularly affected. (#183) - Looking up a card in a header by its standard FITS keyword only should always return the raw value of that card. That way cards containing values that happen to valid RVKCs but were not intended to be will still be treated like normal cards. (#184) - Looking up a RVKC in a header with only part of the field-specifier (for example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a wildcard lookup. (#184) - Fixed a crash when diffing two FITS files where at least one contains a compressed image HDU which was not recognized as an image instead of a table. (#187) - Fixed bugs in the backwards compatibility layer for the ``CardList.index`` and ``CardList.count`` methods. (#190) - Improved ``__repr__`` and text file representation of cards with long values that are split into CONTINUE cards. (#193) - Fixed a crash when trying to assign a long (> 72 character) value to blank ('') keywords. This also changed how blank keywords are represented--there are still exactly 8 spaces before any commentary content can begin; this *may* affect the exact display of header cards that assumed there could be fewer spaces in a blank keyword card before the content begins. However, the current approach is more in line with the requirements of the FITS standard. (#194) 3.0.10 (2013-01-02) ------------------- - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. Backported from 3.1.1. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. Backported from 3.1.1. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verbotten in PRIMARY HDUs, but the latest version of the FITS standard allows them. Backported from 3.1.1. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will not automatically use compatible tile sizes even if they're not explicitly specified. Backported from 3.1.1. (#171) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. Backported from 3.1.0. (#174) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. Backported from 3.1.1. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180) 3.1 (2012-08-08) ---------------- Highlights ^^^^^^^^^^ - The ``Header`` object has been significantly reworked, and ``CardList`` objects are now deprecated (their functionality folded into the ``Header`` class). See API Changes below for more details. - Memory maps are now used by default to access HDU data. See API Changes below for more details. - Now includes a new version of the ``fitsdiff`` program for comparing two FITS files, and a new FITS comparison API used by ``fitsdiff``. See New Features below. API Changes ^^^^^^^^^^^ - The ``Header`` class has been rewritten, and the ``CardList`` class is deprecated. Most of the basic details of working with FITS headers are unchanged, and will not be noticed by most users. But there are differences in some areas that will be of interest to advanced users, and to application developers. For full details of the changes, see the "Header Interface Transition Guide" section in the PyFITS documentation. See ticket #64 on the PyFITS Trac for futher details and background. Some highlights are listed below: * The Header class now fully implements the Python dict interface, and can be used interchangably with a dict, where the keys are header keywords. * New keywords can be added to the header using normal keyword assignment (previously it was necessary to use ``Header.update`` to add new keywords). For example:: >>> header['NAXIS'] = 2 will update the existing 'FOO' keyword if it already exists, or add a new one if it doesn't exist, just like a dict. * It is possible to assign both a value and a comment at the same time using a tuple:: >>> header['NAXIS'] = (2, 'Number of axes') * To add/update a new card and ensure it's added in a specific location, use ``Header.set()``:: >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX') This works the same as the old ``Header.update()``. ``Header.update()`` still works in the old way too, but is deprecated. * Although ``Card`` objects still exist, it generally is not necessary to work with them directly. ``Header.ascardlist()``/``Header.ascard`` are deprecated and should not be used. To directly access the ``Card`` objects in a header, use ``Header.cards``. * To access card comments, it is still possible to either go through the card itself, or through ``Header.comments``. For example:: >>> header.cards['NAXIS'].comment Number of axes >>> header.comments['NAXIS'] Number of axes * ``Card`` objects can now be used interchangeably with ``(keyword, value, comment)`` 3-tuples. They still have ``.value`` and ``.comment`` attributes as well. The ``.key`` attribute has been renamed to ``.keyword`` for consistency, though ``.key`` is still supported (but deprecated). - Memory mapping is now used by default to access HDU data. That is, ``pyfits.open()`` uses ``memmap=True`` as the default. This provides better performance in the majority of use cases--there are only some I/O intensive applications where it might not be desirable. Enabling mmap by default also enabled finding and fixing a large number of bugs in PyFITS' handling of memory-mapped data (most of these bug fixes were backported to PyFITS 3.0.5). (#85) * A new ``pyfits.USE_MEMMAP`` global variable was added. Set ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for opening files. This is especially useful for controlling the behavior in applications where pyfits is deeply embedded. * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported. Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default behavior. - The ``size()`` method on HDU objects is now a ``.size`` property--this returns the size in bytes of the data portion of the HDU, and in most cases is equivalent to ``hdu.data.nbytes`` (#83) - ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead. The new methods output the table data in a slightly different format from previous versions, which places quotes around each value. This format is compatible with data dumps from previous versions of PyFITS, but not vice-versa due to a parsing bug in older versions. - Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function versions of these methods have been renamed ``pyfits.tabledump`` and ``pyfits.tableload``. The old deprecated, but currently retained for backwards compatibility. (r1125) - A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added. This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive`` which is not deprecated and may be removed in a future version. To enable case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI') set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``. The default is ``False``. (r1139) - A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was added. By default, if a string value in a header contains trailing whitespace, that whitespace is automatically removed when the value is read. Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is preserved. (#146) - The old ``classExtensions`` extension mechanism (which was deprecated in PyFITS 3.0) is removed outright. To our knowledge it was no longer used anywhere. (r1309) - Warning messages from PyFITS issued through the Python warnings API are now output to stderr instead of stdout, as is the default. PyFITS no longer modifies the default behavior of the warnings module with respect to which stream it outputs to. (r1319) - The ``checksum`` argument to ``pyfits.open()`` now accepts a value of 'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored, and removed when the file is saved. New Features ^^^^^^^^^^^^ - Added support for the proposed "FITS" extension HDU type. See http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html. FITS HDUs contain an entire FITS file embedded in their data section. `FitsHDU` objects work like other HDU types in PyFITS. Their ``.data`` attribute returns the raw data array. However, they have a special ``.hdulist`` attribute which processes the data as a FITS file and returns it as an in-memory HDUList object. FitsHDU objects also support a ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object that embeds the supplied HDUList. (#80) - Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU data is an 'image' as opposed to a table or something else. Here the meaning of 'image' is fairly loose, and mostly just means a Primary or Image extension HDU, or possibly a compressed image HDU (#71) - Added an ``HDUList.fromstring`` classmethod which can parse a FITS file already in memory and instantiate and ``HDUList`` object from it. This could be useful for integrating PyFITS with other libraries that work on FITS file, such as CFITSIO. It may also be useful in streaming applications. The name is a slight misnomer, in that it actually accepts any Python object that implements the buffer interface, which includes ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90) - Added a new ``pyfits.diff`` module which contains facilities for comparing FITS files. One can use the ``pyfits.diff.FITSDiff`` class to compare two FITS files in their entirety. There is also a ``pyfits.diff.HeaderDiff`` class for just comparing two FITS headers, and other similar interfaces. See the PyFITS Documentation for more details on this interface. The ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with PyFITS. After installing PyFITS, run ``fitsdiff --help`` for usage details. - ``pyfits.open()`` now accepts a ``scale_back`` argument. If set to ``True``, this automatically scales the data using the original BZERO and BSCALE parameters the file had when it was first opened, if any, as well as the original BITPIX. For example, if the original BITPIX were 16, this would be equivalent to calling ``hdu.scale('int16', 'old')`` just before calling ``flush()`` or ``close()`` on the file. This option applies to all HDUs in the file. (#120) - ``pyfits.open()`` now accepts a ``save_backup`` argument. If set to ``True``, this automatically saves a backup of the original file before flushing any changes to it (this of course only applies to update and append mode). This may be especially useful when working with scaled image data. (#121) Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Warnings from PyFITS are not output to stderr by default, instead of stdout as it has been for some time. This is contrary to most users' expectations and makes it more difficult for them to separate output from PyFITS from the desired output for their scripts. (r1319) Bug Fixes ^^^^^^^^^ - Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust when encountering blank lines in a column definition file (#14) - Fixed a fairly rare crash that could occur in the handling of CONTINUE cards when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by PyFITS). (r1330) - Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU object from a string/buffer containing the header and data of that HDU. This allowed for the implementation of ``HDUList.fromstring`` described above. (#90) - Fixed a rare corner case where, in some use cases, (mildly, recoverably) malformatted float values in headers were not properly returned as floats. (#137) - Fixed a corollary to the previous bug where float values with a leading zero before the decimal point had the leading zero unnecessarily removed when saving changes to the file (eg. "0.001" would be written back as ".001" even if no changes were otherwise made to the file). (#137) - When opening a file containing CHECKSUM and/or DATASUM keywords in update mode, the CHECKSUM/DATASUM are updated and preserved even if the file was opened with checksum=False. This change in behavior prevents checksums from being unintentionally removed. (#148) - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. This fix will be backported to the 3.0.x series in version 3.0.10. (#174) 3.0.9 (2012-08-06) ------------------ This is a bug fix release for the 3.0.x series. Bug Fixes ^^^^^^^^^ - Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/ ``Header.iteritems()`` to correctly return the different values for duplicate keywords (particularly commentary keywords like HISTORY and COMMENT). This makes the old Header implementation slightly more compatible with the new implementation in PyFITS 3.1. (#127) .. note:: This fix did not change the existing behavior from earlier PyFITS versions where ``Header.keys()`` returns all keywords in the header with duplicates removed. PyFITS 3.1 changes that behavior, so that ``Header.keys()`` includes duplicates. - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug where opening a file containing compressed image HDUs in 'update' mode and then immediately closing it without making any changes caused the file to be rewritten unncessarily. (#167) - Fixed two memory leaks that could occur when writing compressed image data, or in some cases when opening files containing compressed image HDUs in 'update' mode. (#168) 3.0.8 (2012-06-04) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Prior to this release, image data sections did not work with scaled data--that is, images with non-trivial BSCALE and/or BZERO values. Previously, in order to read such images in sections, it was necessary to manually apply the BSCALE+BZERO to each section. It's worth noting that sections *did* support pseudo-unsigned ints (flakily). This change just extends that support for general BSCALE+BZERO values. Bug Fixes ^^^^^^^^^ - Fixed a bug that prevented updates to values in boolean table columns from being saved. This turned out to be a symptom of a deeper problem that could prevent other table updates from being saved as well. (#139) - Fixed a corner case in which a keyword comment ending with the string "END" could, in some circumstances, cause headers (and the rest of the file after that point) to be misread. (#142) - Fixed support for scaled image data and psuedo-unsigned ints in image data sections (``hdu.section``). Previously this was not supported at all. At some point support was supposedly added, but it was buggy and incomplete. Now the feature seems to work much better. (#143) - Fixed the documentation to point out that image data sections *do* support non-contiguous slices (and have for a long time). The documentation was never updated to reflect this, and misinformed users that only contiguous slices were supported, leading to some confusion. (#144) - Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY HDUs caused an infinite recursion when validating the object prior to writing to a file. (#145) - Fixed a rare but serious case where saving an update to a file that previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum in saving, could cause the file to be slightly corrupted and unreadable. (#147) - Fixed problems with reading "non-standard" FITS files with primary headers containing SIMPLE = F. PyFITS has never made many guarantees as to how such files are handled. But it should at least be possible to read their headers, and the data if possible. Saving changes to such a file should not try to prepend an unwanted valid PRIMARY HDU. (#157) - Fixed a bug where opening an image with ``disable_image_compression = True`` caused compression to be disabled for all subsequent ``pyfits.open()`` calls. (r1651) 3.0.7 (2012-04-10) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Slices of GroupData objects now return new GroupData objects instead of extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed FITS_rec slicing, and should have been fixed for GroupData at the same time. The old behavior caused bugs where functions internal to Numpy expected that slicing an ndarray would return a new ndarray. As this is a rare usecase with a rare feature most users are unlikely to be affected by this change. - The previously internal _Group object for representing individual group records in a GroupData object are renamed Group and are now a public interface. However, there's almost no good reason to create Group objects directly, so it shouldn't be considered a "new feature". - An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND keyword was always being set to F if there are not actually any extension HDUs. It was unnecessary to modify this value. Bug Fixes ^^^^^^^^^ - Fixed GroupData objects to return new GroupData objects when sliced instead of _Group record objects. See "Changes in behavior" above for more details. - Fixed slicing of Group objects--previously it was not possible to slice slice them at all. - Made it possible to assign `np.bool_` objects as header values. (#123) - Fixed overly strict handling of the EXTEND keyword; see "Changes in behavior" above. (#124) - Fixed many cases where an HDU's header would be marked as "modified" by PyFITS and rewritten, even when no changes to the header are necessary. (#125) - Fixed a bug where the values of the PTYPEn keywords in a random groups HDU were forced to be all lower-case when saving the file. (#130) - Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was causing some slowdown when opening files containing a large number of extensions, plus a few other small (but not insignficant) performance improvements thanks to Julian Taylor. (#133) - Fixed a regression where header blocks containing invalid end-of-header padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS. Such headers can be parsed again, but a warning is raised, as such headers are not valid FITS. (#136) - Fixed a memory leak where table data in random groups HDUs weren't being garbage collected. (#138) 3.0.6 (2012-02-29) ------------------ Highlights ^^^^^^^^^^ The main reason for this release is to fix an issue that was introduced in PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data to be automatically rescaled--possibly converting the data from ints to floats--as soon as the file is closed, even if the application did not touch the data. Now PyFITS will only rescale the data in an extension when the data is actually accessed by the application. So opening a file in 'update' mode in order to modify the header or append new extensions will not cause any change to the data in existing extensions. This release also fixes a few Windows-specific bugs found through more extensive Windows testing, and other miscellaneous bugs. Bug Fixes ^^^^^^^^^ - More accurate error messages when opening files containing invalid header cards. (#109) - Fixed a possible reference cycle/memory leak that was caught through more extensive testing on Windows. (#112) - Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w' mode. (#112) - Fixed a Windows-only issue where trying to save updates to a resized FITS file could result in a crash due to there being open mmaps on that file. (#112) - Fixed a crash when trying to create a FITS table (i.e. with new_table()) from a Numpy array containing bool fields. (#113) - Fixed a bug where manually initializing an ``HDUList`` with a list of of HDUs wouldn't set the correct EXTEND keyword value on the primary HDU. (#114) - Fixed a crash that could occur when trying to deepcopy a Header in Python < 2.7. (#115) - Fixed an issue where merely opening a scaled image in 'update' mode would cause the data to be converted to floats when the file is closed. (#119) 3.0.5 (2012-01-30) ------------------ - Fixed a crash that could occur when accessing image sections of files opened with memmap=True. (r1211) - Fixed the inconsistency in the behavior of files opened in 'readonly' mode when memmap=True vs. when memmap=False. In the latter case, although changes to array data were not saved to disk, it was possible to update the array data in memory. On the other hand with memmap=True, 'readonly' mode prevented even in-memory modification to the data. This is what 'copyonwrite' mode was for, but difference in behavior was confusing. Now 'readonly' is equivalent to 'copyonwrite' when using memmap. If the old behavior of denying changes to the array data is necessary, a new 'denywrite' mode may be used, though it is only applicable to files opened with memmap. (r1275) - Fixed an issue where files opened with memmap=True would return image data as a raw numpy.memmap object, which can cause some unexpected behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285) - Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3 interacted badly with some other software, namely to vo.table package (and possibly others). (r1320, r1337, and #110) - Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard interrupts) while flushing changes to a FITS file. PyFITS already prevented SIGINTs from causing an incomplete flush, but did not clean up the signal handlers properly afterwards, or reraise the keyboard interrupt once the flush was complete. (r1321) - Fixed a crash that could occur in Python 3 when opening files with checksum checking enabled. (r1336) - Fixed a small bug that could cause a crash in the `StreamingHDU` interface when using Numpy below version 1.5. - Fixed a crash that could occur when creating a new `CompImageHDU` from an array of big-endian data. (#104) - Fixed a crash when opening a file with extra zero padding at the end. Though FITS files should not have such padding, it's not explictly forbidden by the format either, and PyFITS shouldn't stumble over it. (#106) - Fixed a major slowdown in opening tables containing large columns of string values. (#111) 3.0.4 (2011-11-22) ------------------ - Fixed a crash when writing HCOMPRESS compressed images that could happen on Python 2.5 and 2.6. (r1217) - Fixed a crash when slicing an table in a file opened in 'readonly' mode with memmap=True. (r1230) - Writing changes to a file or writing to a new file verifies the output in 'fix' mode by default instead of 'exception'--that is, PyFITS will automatically fix common FITS format errors rather than raising an exception. (r1243) - Fixed a bug where convenience functions such as getval() and getheader() crashed when specifying just 'PRIMARY' as the extension to use (r1263). - Fixed a bug that prevented passing keyword arguments (beyond the standard data and header arguments) as positional arguments to the constructors of extension HDU classes. - Fixed some tests that were failing on Windows--in this case the tests themselves failed to close some temp files and Windows refused to delete them while there were still open handles on them. (r1295) - Fixed an issue with floating point formatting in header values on Python 2.5 for Windows (and possibly other platforms). The exponent was zero-padded to 3 digits; although the FITS standard makes no specification on this, the formatting is now normalized to always pad the exponent to two digits. (r1295) - Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were broken into multiple CONTINUE cards. However, commentary cards are not expected to be found in CONTINUE cards. Instead these long cards are broken into multiple commentary cards. (#97) - GZIP/ZIP-compressed FITS files can be detected and opened regardless of their filename extension. (#99) - Fixed a serious bug where opening scaled images in 'update' mode and then closing the file without touching the data would cause the file to be corrupted. (#101) 3.0.3 (2011-10-05) ------------------ - Fixed several small bugs involving corner cases in record-valued keyword cards (#70) - In some cases HDU creation failed if the first keyword value in the header was not a string value (#89) - Fixed a crash when trying to compute the HDU checksum when the data array contains an odd number of bytes (#91) - Disabled an unnecessary warning that was displayed on opening compressed HDUs with disable_image_compression = True (#92) - Fixed a typo in code for handling HCOMPRESS compressed images. 3.0.2 (2011-09-23) ------------------ - The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate`` function don't get tripped up by blank lines anymore (#14) - The presence, value, and position of the EXTEND keyword in Primary HDUs is verified when reading/writing a FITS file (#32) - Improved documentation (in warning messages as well as in the handbook) that PyFITS uses zero-based indexing (as one would expect for C/Python code, but contrary to the PyFITS standard which was written with FORTRAN in mind) (#68) - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) [Note: This and the bug above it were originally reported as being fixed in version 3.0.1, but the fix was never included in the release.] - Improved file handling, particularly in Python 3 which had a few small file I/O-related bugs (#76) - Fixed a bug where updating a FITS file would sometimes cause it to lose its original file permissions (#79) - Fixed the handling of TDIMn keywords; 3.0 added support for them, but got the axis order backards (they were treated as though they were row-major) (#82) - Fixed a crash when a FITS file containing scaled data is opened and immediately written to a new file without explicitly viewing the data first (#84) - Fixed a bug where creating a table with columns named either 'names' or 'formats' resulted in an infinite recursion (#86) 3.0.1 (2011-09-12) ------------------ - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a ``FITS_rec`` object with zero rows is returned rather than ``None``. - The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full keyword+field-specifier value, instead of just the plain keyword (#46) - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) - Fixed a bug where writing a table with zero rows could fail in some cases (#72) - Miscellanous small bug fixes that were causing some tests to fail, particularly on Python 3 (#74, #75) - Fixed a bug where creating a table column from an array in non-native byte order would not preserve the byte order, thus interpreting the column array using the wrong byte order (#77) 3.0.0 (2011-08-23) -------------------- - Contains major changes, bumping the version to 3.0 - Large amounts of refactoring and reorganization of the code; tried to preserve public API backwards-compatibility with older versions (private API has many changes and is not guaranteed to be backwards-compatible). There are a few small public API changes to be aware of: * The pyfits.rec module has been removed completely. If your version of numpy does not have the numpy.core.records module it is too old to be used with PyFITS. * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard`` attribute instead. * ``Card`` instances have a new ``.cardimage`` attribute that should be used rather than ``.ascardimage()``, which may become deprecated. * The ``Card.fromstring()`` method is now a classmethod. It returns a new ``Card`` instance rather than modifying an existing instance. * The ``req_cards()`` method on HDU instances has changed: The ``pos`` argument is not longer a string. It is either an integer value (meaning the card's position must match that value) or it can be a function that takes the card's position as it's argument, and returns True if the position is valid. Likewise, the ``test`` argument no longer takes a string, but instead a function that validates the card's value and returns True or False. * The ``get_coldefs()`` method of table HDUs is deprecated. Use the ``.columns`` attribute instead. * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns`` instead (though in general you shouldn't mess with it directly--it might become internal at some point). * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of ``startColumn`` and ``endColumn`` (these are rarely created manually, so it's unlikely that this change will affect anyone). * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new ``BinTableHDU`` instance. * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU classes. They are now public interfaces, wheres previously they were private and prefixed with underscores. * Possibly others--please report if you find any changes that cause difficulties. - Calls to deprecated functions will display a Deprecation warning. However, in Python 2.7 and up Deprecation warnings are ignored by default, so run Python with the `-Wd` option to see if you're using any deprecated functions. If we get close to actually removing any functions, we might make the Deprecation warnings display by default. - Added basic Python 3 support - Added support for multi-dimensional columns in tables as specified by the TDIMn keywords (#47) - Fixed a major memory leak that occurred when creating new tables with the ``new_table()`` function (#49) be padded with zero-bytes) vs ASCII tables (where strings are padded with spaces) (#15) - Fixed a bug in which the case of Random Access Group parameters names was not preserved when writing (#41) - Added support for binary table fields with zero width (#42) - Added support for wider integer types in ASCII tables; although this is non- standard, some GEIS images require it (#45) - Fixed a bug that caused the index_of() method of HDULists to crash when the HDUList object is created from scratch (#48) - Fixed the behavior of string padding in binary tables (where strings should be padded with nulls instead of spaces) - Fixed a rare issue that caused excessive memory usage when computing checksums using a non-standard block size (see r818) - Add support for forced uint data in image sections (#53) - Fixed an issue where variable-length array columns were not extended when creating a new table with more rows than the original (#54) - Fixed tuple and list-based indexing of FITS_rec objects (#55) - Fixed an issue where BZERO and BSCALE keywords were appended to headers in the wrong location (#56) - ``FITS_record`` objects (table rows) have full slicing support, including stepping, etc. (#59) - Fixed a bug where updating multiple files simultaneously (such as when running parallel processes) could lead to a race condition with mktemp() (#61) - Fixed a bug where compressed image headers were not in the order expected by the funpack utility (#62)
jperkin
pushed a commit
that referenced
this pull request
Feb 6, 2014
============= Some extracts from the git log: * Add new DNSKEY algorithms registered by IANA * Add AUTH checking over both UDP and TCP. [Fixes #80] * New queue dispatch * Clean out dead code, add tests to new code and add log entries. [Closes #89] * Log when an AS prefix is discarded * Add simple command-line tool to add domains to the dispatcher queue * Add callback functionality to logger * Perl 5.18 fix (hash key order randomization) * The authoritative servers for ARPA are the root servers, which caused problems for our parent-finding algorithm. Worked around by special -casing so that single-label names always return root as the parent. [Closes #92] * Make allowed maximum NSEC3 iterations a policy parameter * Detect DNSCurve-supporting nameservers * Significant improvements to glue checking * Fix for referral check under undelegated * More tests for new glue-checking code * Detect names in domains reserved by IANA (RFC 6761). [Closes #96] * Log messages for reserved ASs. [Closes #97]
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
Changelog: libmp3splt version 0.8.2 ------------------------------------------------------------- - added option to specify the input tags encoding for when writing ID3v2 tags (SPLT_OPT_INPUT_TAGS_ENCODING) - enable -O3 by default - added LIBMP3SPLT_MAJOR_VERSION, LIBMP3SPLT_MINOR_VERSION and LIBMP3SPLT_MICRO_VERSION (feature request #96) - added option SPLT_TAGS_ORIGINAL for mp3splt_tags_set - added option to keep the original tags and just replace them when importing a CUE or CDDB file (SPLT_OPT_CUE_CDDB_ADD_TAGS_WITH_KEEP_ORIGINAL_TAGS) (feature request #95) - added 'split into memory' ability with a callback function for use with 'pretend to split' (feature request #94) - replaced mp3splt.m4 with pkg-config (bug #145) - corrected build files (configure.ac, Makefile.am, ...) and check using 'make distcheck' (bug #147) - fixed a lot of doxygen issues libmp3splt version 0.8.1a ------------------------------------------------------------- - corrected ChangeLog file of 0.8.1 release - added minimal.c in the distribution for the doxygen documentation - added libmp3splt_ico.svg in the distribution for the doxygen documentation - added something in the empty_footer.html file to avoid doxygen segfault libmp3splt version 0.8.1 ------------------------------------------------------------- - fixed a bug - was crashing when removing tags from skippoints - added option to set output ID3v2 tags encoded in latin1, UTF-8 or UTF16 - forgot to add 'empty_footer.html' in the distribution libmp3splt version 0.8 ------------------------------------------------------------- - rewritten libmp3splt public API to target future 1.0 stable release - written complete documentation of the public API - done issues #40 and #85 - added minimum silence length parameter for auto adjust - implemented back the proxy feature with basic authentification - feature #50 - added option to generate exactly the same input tags bytes using @o - added minimum silence length for trim silence mode (minimum silence to trigger a trimming) - done issue #12 - added option to output the full silence log useful to plot a graph - enhanced the CUE export to export the tags as REM comments and also the splitpoint names - fixed bug when detecting the input tags version - output had no tags when the input only had ID3v1 - fixed bug: output tags versions was not equal to the input file tags versions when the user was setting custom tags without any @o to get the original tags - done issue #79 - added 0 to the number of digits to output in order to be able to support the old mp3splt output format - fixed bug #141 - when input file is a symlink and output directory is the one of the input file - amplitude more precise with ogg vorbis files - plugins are now installed in $(libdir)/libmp3splt$(SONAME) instead of $(libdir)/libmp3splt - fixed bug #131 - use /usr/lib64 instead of /usr/lib on x64 in mp3splt.m4 - fixed bug #133 - updated GPLv2 COPYING file - fixed bug on mp3 trim silence scan: last frame was skipped - fixed bug #134 - use of deprecated gethostbyname() ------------------------------------------------------------- libmp3splt version 0.7.3 - added the trackjoin parameter for silence detection split: tracks shorter than trackjoin will be joined with others - fixed bug: removing TLEN id3v2 tag from the split files - fixed bug #3530488 - regression introduced with ogg multiple logical streams libmp3splt version 0.7.2 ------------------------------------------------------------- - fixed error when ID3v2 was containing what appears a valid frame; make sure we skip the ID3v2 after looking for the first frames - fixed bug #3497957 libtoolize vs glibtoolize - fixed #3487543 - compilation without pcre support - added the shots parameter to silence detection libmp3splt version 0.7.1 ------------------------------------------------------------- - added minimum track length option for silence scan - closes #2393766 - added option to set original tags when using 'replace tags in tags' - closes #3407314 - added support for multiple ogg/vorbis logical streams (mail) - fixed mp3 frame mode with skippoint when skippoint too small (on the same frame as previous) - fixed some regression regarding mp3splt v2.1c - removed some checks relative to the total time - we cannot rely on the total time - for example with concatenated mp3s - fixed several audacity labels issues - fixed inconsistency (extra 0 padding) between @n of custom tags and @n of output filename (mail) - fixed compilation error without libid3tag - fixed #3385833 - don't apply debugging flags or warnings flags by default: added --enable-c-debug --enable-optimise --enable-extra-warnings - fixed #3385827 - added --disable-doxygen_doc - fixed #3385829 - building doxygen documentation by itself + installing doxygen files
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
News ==== Release 3.0.8 - 2013/09/29 -------------------------- Improvements ^^^^^^^^^^^^ * [admin] Improved error handling of select functionality. This change shows error message and hides loading dialog. [Patch by orangain] * [admin] Improved to submit search form with the enter key. [Patch by orangain] * [admin] Improved to show placeholder in search form. This change shows usage examples. [Patch by orangain] * [httpd] Supported :ref:`groonga-query-log-path` directive * [doc] Updated :doc:`/reference/commands/select` documentation about the number of hits in select response. * Improved to ignore an empty token which is generated by continuous spaces from tokenizer. [groonga-dev,01729] [Suggested by Naoya Murakami] * [token delimit] Improved to treat continuous spaces as a space. The tokenizer regards 2 or more spaces are valid input. * [doc] Added note about indexes for each column vs indexes for multiple column. * [doc] Added language annotation to source label. [groonga-dev,01751] [Suggested by Kazuhiro Isobe] * Supported :ref:`cascade-delete` to referenced records. In previous version, You got an error for the operation. * [doc] Updated documentation location in README. [groonga-dev,01800] [Reported by Kazuhiro Isobe] * [experimental] Added :doc:`/reference/commands/ruby_eval` command. * [doc] Added note about GQTP and HTTP for server use. [groonga-dev,01810] [Reported by Kazuhiro Isobe] Fixes ^^^^^ * [admin] Fixed a bug that add value button of COLUMN_VECTOR does not work. Thanks ^^^^^^ * orangain * Naoya Murakami * Kazuhiro Isobe Release 3.0.7 - 2013/08/29 -------------------------- Improvements ^^^^^^^^^^^^ * [doc] Added API documentation. [groonga-dev,01593] [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100] [Patch by whombx] * [table_remove] Improved not to remove patricia trie table or hash table which is still referenced. This change avoids that referenced table is removed accidentally. * Improved to just ignore too long token (4096 bytes or more). This change affects when it is registered. In the previous version, it is treated as an error instead of a warning. [groonga-dev,01571] [Suggested by Naoya Murakami] * Improved to show actual discarded posting term in log message. [groonga-dev,01621] [Reported by Naoya Murakami] * [httpd] Supported loading data using POST method. [GitHub#101] [Patch by Motoi Washida] * [httpd] Supported groonga log as ``groonga_log_path`` directive. * [httpd] Supported groonga log level as ``groonga_log_level`` directive. * [httpd] Supported customizing cache limit as ``groonga_cache_limit`` directive. Fixes ^^^^^ * Fixed a bug that error in expression may cause stack overflow. This change avoids that groonga crashes suddenly as a result of error accumlation. * Fixed a crash bug that offline index construction for vector column which has orphan reference causes. * Fixed a bug that groonga doesn't exit on error while daemon mode starts. For example, ``groonga -d /tmp/non-existence.db`` reproduce this bug. * [dump] Fixed a bug that wrong table type is dumped. This bug occurs when table type is TABLE_PAT_KEY and key is reference type. * Fixed a bug that the default ``--cache-limit`` value is 0. The default value is changed to '100'. * Fixed a memory leak when :doc:`/reference/functions/sub_filter` is used. * [doc] Fixed description of defrag command. [Reported by @naoina] * [doc] Fixed description about the way to contribute. [GitHub#77] [Patch by Masafumi Yokoyama] * [plugin] Fixed a crash bug on multiple DB open case. This bug affects the case that multiple plugin is used and the same database is opened from multiple process. [groonga-dev,01596] [Reported by Naoya Murakami] * Fixed a bug that nested match operation after ``AND`` operator doesn't work. The ``select ... --filter '... && nested.column @ "keyword"'`` query reproduces this bug. [groonga-dev,01599] [Reported by Motoi Washida] * [doc] Fixed a typo about documentation of special characters. [Reported by Genki Takiuchi] * Fixed a typo in error message when invalid character is given. [Reported by YOSHIDA Mitsuo] Thanks ^^^^^^ * whombx * @naoina * Masafumi Yokoyama * Motoi Washida * Genki Takiuchi * YOSHIDA Mitsuo
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy. PyFITS is a Python module for reading, writing, and manipulating FITS files. The module uses Python's object-oriented features to provide quick, easy, and efficient access to FITS files. The use of Python's array syntax enables immediate access to any FITS extension, header cards, or data items. Changes to 2.4.0 (in py-pyfits): Changelog =========== 3.2 (2013-11-26) ---------------- Highlights ^^^^^^^^^^ - Rewrote CFITSIO-based backend for handling tile compression of FITS files. It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO as before. PyFITS ships with its own copy of CFITSIO v3.35 which supports the latest version of the Tiled Image Convention (v2.3), but system packagers may choose instead to strip this out in favor of a system-installed version of CFITSIO. Earlier versions may work, but nothing earlier than 3.28 has been tested yet. (#169) - Added support for reading and writing tables using the Q format for columns. The Q format is identical to the P format (variable-length arrays) except that it uses 64-bit integers for the data descriptors, allowing more than 4 GB of variable-length array data in a single table. (#160) - Added initial support for table columns containing pseudo-unsigned integers. This is currently enabled by using the ``uint=True`` option when opening files; any table columns with the correct BZERO value will be interpreted and returned as arrays of unsigned integers. - Some refactoring of the table and ``FITS_rec`` modules in order to better separate the details of the FITS binary and ASCII table data structures from the HDU data structures that encapsulate them. Most of these changes should not be apparent to users (but see API Changes below). API Changes ^^^^^^^^^^^ - Assigning to values in ``ColDefs.names``, ``ColDefs.formats``, ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return lists of column properties is no longer supported. Assigning to those lists will no longer update the corresponding columns. Instead, please just modify the ``Column`` instances directly (``Column.name``, ``Column.null``, etc.) - The ``pyfits.new_table`` function is marked "pending deprecation". This does not mean it will be removed outright or that its functionality has changed. It will likely be replaced in the future for a function with similar, if not subtly different functionality. A better, if not slightly more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create a new ``FITS_rec`` table--this has the same interface as ``pyfits.new_table``. The difference is that it returns a plan ``FITS_rec`` array, and not an HDU instance. This ``FITS_rec`` object can then be used as the data argument in the constructors for ``BinTableHDU`` (for binary tables) or ``TableHDU`` (for ASCII tables). This is analogous to creating an ``ImageHDU`` by passing in an image array. ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a FITS-compatible recarray from a FITS column specification. - The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData`` methods of the ``CompDataHDU`` class are pending deprecation and moved to internal methods. The operation of these methods depended too much on internal state to be used safely by users; instead they are invoked automatically in the appropriate places when reading/writing compressed image HDUs. - The ``CompDataHDU.compData`` attribute is pending deprecation in favor of the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``. - The constructor for ``CompDataHDU`` has been changed to accept new keyword arguments. The new keyword arguments are essentially the same, but are in underscore_separated format rather than camelCase format. The old arguments are still pending deprecation. - The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``, and ``_data_size`` respectively. The old attribute names are still pending deprecation. This should only be of interest to advanced users who have created their own HDU subclasses. - The following previously deprecated functions and methods have been removed entirely: ``createCard``, ``createCardFromString``, ``upperKey``, ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``, ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``. If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with the ``python -Wd`` argument, warnings for all deprecated interfaces still in use will be displayed. - Interfaces that were pending deprecation are now fully deprecated. These include: ``create_card``, ``create_card_from_string``, ``upper_key``, ``Header.get_history``, and ``Header.get_comment``. - The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa. - The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to ``pyfits.file.PYFITS_MODES`` which better reflects its purpose. This is rarely used by client code, however. Support for the old name will be removed by PyFITS 3.4. Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - The new compression code also adds support for the ZQUANTIZ and ZDITHER0 keywords added in more recent versions of this FITS Tile Compression spec. This includes support for lossless compression with GZIP. (#198) By default no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct constants to the ``quantize_method`` argument to the ``CompImageHDU`` constuctor. A seed can be manually specified, or automatically generated using either the system clock or checksum-based methods via the ``dither_seed`` argument. See the documentation for ``CompImageHDU`` for more details. (#198) (spacetelescope/PYFITS#32) - Images compressed with the Tile Compression standard can now be larger than 4 GB through support of the Q format. (#159) - All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist. This was added for consistency with the ``.name`` attribute which returns the EXTNAME value from the header. - Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes which give the Numpy dtype for the column data in the first case, and the full Numpy compound dtype for each table row in the latter case. - There was an issue where new tables created defaulted the values in all string columns to '0.0'. Now string columns are filled with empty strings by default--this seems a less surprising default, but it may cause differences with tables created with older versions of PyFITS. - Improved round-tripping and preservation of manually assigned column attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers. (astropy/astropy#996) Bug Fixes ^^^^^^^^^ - Binary tables containing compressed images may, optionally, contain other columns unrelated to the tile compression convention. Although this is an uncommon use case, it is permitted by the standard. (#159) - Reworked some of the file I/O routines to allow simpler, more consistent mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more "PyFITS-specific" modes used by PyFITS like "readonly" and "update". That is, if reading a FITS file from an open file object, it doesn't matter as much what "mode" it was opened in so long as it has the right capabilities (read/write/etc.) Also works around bugs in the Python io module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968) 3.1.3 (2013-11-26) ------------------ - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (spacetelescope/PyFITS#11) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.0.12 (2013-11-26) ------------------- - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (Backported from 3.1.3) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (Backported from 3.1.3) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. (Backported from 3.1.3) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.1.2 (2013-04-22) ------------------ - When an error occurs opening a file in fitsdiff the exception message will now at least mention which file had the error. (#168) - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. (#201) - Added use of the console_scripts entry point to install the fitsdiff and fitscheck scripts, which if nothing else provides better Windows support. The generated scripts now override the ones explicitly defined in the scripts/ directory (which were just trivial stubs to begin with). (#202) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. (#218) - Fixed inconsistent behavior in creating CONTINUE cards from byte strings versus unicode strings in Python 2--CONTINUE cards can now be created properly from unicode strings (so long as they are convertable to ASCII). (spacetelescope/PyFITS#1) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. (spacetelescope/PyFITS#3) - Fixed a bug in parsing HIERARCH keywords that do not have a space after the first equals sign (before the value). (spacetelescope/PyFITS#5) - Prevented extra leading whitespace on HIERARCH keywords from being treated as part of the keyword. (spacetelescope/PyFITS#6) - Fixed a bug where HIERARCH keywords containing lower-case letters was mistakenly marked as invalid during header validation. (spacetelescope/PyFITS#7) - Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the ``Header.index()`` method did not work correctly with HIERARCH keywords containing lower-case letters. 3.0.11 (2013-04-17) ------------------- - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. Backported from 3.1.2. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. Backported from 3.1.2. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). Backported from 3.1.2. (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. Backported from 3.1.2. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. Backported from 3.1.2. (#201) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. Backported from 3.1.2. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. Backported from 3.1.2. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. Backported from 3.1.2. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. Backported from 3.1.2. (#218) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. Backported from 3.1.2. (spacetelescope/PyFITS#3) 3.1.1 (2013-01-02) ------------------ This is a bug fix release for the 3.1.x series. Bug Fixes ^^^^^^^^^ - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verboten in PRIMARY HDUs, but the latest version of the FITS standard allows them. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will automatically use compatible tile sizes even if they're not explicitly specified. (#171) - Added support for the optional ``endcard`` parameter in the ``Header.fromtextfile()`` and ``Header.totextfile()`` methods. Although ``endcard=False`` was a reasonable default assumption, there are still text dumps of FITS headers that include the END card, so this should have been more flexible. (#176) - Fixed a crash when running fitsdiff on two empty (that is, zero row) tables. (#178) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. (#180) - Fixed a crash when generating diff reports from diffs using the ``ignore_comments`` options. (#181) - Fixed some bugs with WCS Paper IV record-valued keyword cards: - Cards that looked kind of like RVKCs but were not intended to be were over-permissively treated as such--commentary keywords like COMMENT and HISTORY were particularly affected. (#183) - Looking up a card in a header by its standard FITS keyword only should always return the raw value of that card. That way cards containing values that happen to valid RVKCs but were not intended to be will still be treated like normal cards. (#184) - Looking up a RVKC in a header with only part of the field-specifier (for example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a wildcard lookup. (#184) - Fixed a crash when diffing two FITS files where at least one contains a compressed image HDU which was not recognized as an image instead of a table. (#187) - Fixed bugs in the backwards compatibility layer for the ``CardList.index`` and ``CardList.count`` methods. (#190) - Improved ``__repr__`` and text file representation of cards with long values that are split into CONTINUE cards. (#193) - Fixed a crash when trying to assign a long (> 72 character) value to blank ('') keywords. This also changed how blank keywords are represented--there are still exactly 8 spaces before any commentary content can begin; this *may* affect the exact display of header cards that assumed there could be fewer spaces in a blank keyword card before the content begins. However, the current approach is more in line with the requirements of the FITS standard. (#194) 3.0.10 (2013-01-02) ------------------- - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. Backported from 3.1.1. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. Backported from 3.1.1. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verbotten in PRIMARY HDUs, but the latest version of the FITS standard allows them. Backported from 3.1.1. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will not automatically use compatible tile sizes even if they're not explicitly specified. Backported from 3.1.1. (#171) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. Backported from 3.1.0. (#174) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. Backported from 3.1.1. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180) 3.1 (2012-08-08) ---------------- Highlights ^^^^^^^^^^ - The ``Header`` object has been significantly reworked, and ``CardList`` objects are now deprecated (their functionality folded into the ``Header`` class). See API Changes below for more details. - Memory maps are now used by default to access HDU data. See API Changes below for more details. - Now includes a new version of the ``fitsdiff`` program for comparing two FITS files, and a new FITS comparison API used by ``fitsdiff``. See New Features below. API Changes ^^^^^^^^^^^ - The ``Header`` class has been rewritten, and the ``CardList`` class is deprecated. Most of the basic details of working with FITS headers are unchanged, and will not be noticed by most users. But there are differences in some areas that will be of interest to advanced users, and to application developers. For full details of the changes, see the "Header Interface Transition Guide" section in the PyFITS documentation. See ticket #64 on the PyFITS Trac for futher details and background. Some highlights are listed below: * The Header class now fully implements the Python dict interface, and can be used interchangably with a dict, where the keys are header keywords. * New keywords can be added to the header using normal keyword assignment (previously it was necessary to use ``Header.update`` to add new keywords). For example:: >>> header['NAXIS'] = 2 will update the existing 'FOO' keyword if it already exists, or add a new one if it doesn't exist, just like a dict. * It is possible to assign both a value and a comment at the same time using a tuple:: >>> header['NAXIS'] = (2, 'Number of axes') * To add/update a new card and ensure it's added in a specific location, use ``Header.set()``:: >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX') This works the same as the old ``Header.update()``. ``Header.update()`` still works in the old way too, but is deprecated. * Although ``Card`` objects still exist, it generally is not necessary to work with them directly. ``Header.ascardlist()``/``Header.ascard`` are deprecated and should not be used. To directly access the ``Card`` objects in a header, use ``Header.cards``. * To access card comments, it is still possible to either go through the card itself, or through ``Header.comments``. For example:: >>> header.cards['NAXIS'].comment Number of axes >>> header.comments['NAXIS'] Number of axes * ``Card`` objects can now be used interchangeably with ``(keyword, value, comment)`` 3-tuples. They still have ``.value`` and ``.comment`` attributes as well. The ``.key`` attribute has been renamed to ``.keyword`` for consistency, though ``.key`` is still supported (but deprecated). - Memory mapping is now used by default to access HDU data. That is, ``pyfits.open()`` uses ``memmap=True`` as the default. This provides better performance in the majority of use cases--there are only some I/O intensive applications where it might not be desirable. Enabling mmap by default also enabled finding and fixing a large number of bugs in PyFITS' handling of memory-mapped data (most of these bug fixes were backported to PyFITS 3.0.5). (#85) * A new ``pyfits.USE_MEMMAP`` global variable was added. Set ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for opening files. This is especially useful for controlling the behavior in applications where pyfits is deeply embedded. * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported. Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default behavior. - The ``size()`` method on HDU objects is now a ``.size`` property--this returns the size in bytes of the data portion of the HDU, and in most cases is equivalent to ``hdu.data.nbytes`` (#83) - ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead. The new methods output the table data in a slightly different format from previous versions, which places quotes around each value. This format is compatible with data dumps from previous versions of PyFITS, but not vice-versa due to a parsing bug in older versions. - Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function versions of these methods have been renamed ``pyfits.tabledump`` and ``pyfits.tableload``. The old deprecated, but currently retained for backwards compatibility. (r1125) - A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added. This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive`` which is not deprecated and may be removed in a future version. To enable case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI') set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``. The default is ``False``. (r1139) - A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was added. By default, if a string value in a header contains trailing whitespace, that whitespace is automatically removed when the value is read. Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is preserved. (#146) - The old ``classExtensions`` extension mechanism (which was deprecated in PyFITS 3.0) is removed outright. To our knowledge it was no longer used anywhere. (r1309) - Warning messages from PyFITS issued through the Python warnings API are now output to stderr instead of stdout, as is the default. PyFITS no longer modifies the default behavior of the warnings module with respect to which stream it outputs to. (r1319) - The ``checksum`` argument to ``pyfits.open()`` now accepts a value of 'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored, and removed when the file is saved. New Features ^^^^^^^^^^^^ - Added support for the proposed "FITS" extension HDU type. See http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html. FITS HDUs contain an entire FITS file embedded in their data section. `FitsHDU` objects work like other HDU types in PyFITS. Their ``.data`` attribute returns the raw data array. However, they have a special ``.hdulist`` attribute which processes the data as a FITS file and returns it as an in-memory HDUList object. FitsHDU objects also support a ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object that embeds the supplied HDUList. (#80) - Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU data is an 'image' as opposed to a table or something else. Here the meaning of 'image' is fairly loose, and mostly just means a Primary or Image extension HDU, or possibly a compressed image HDU (#71) - Added an ``HDUList.fromstring`` classmethod which can parse a FITS file already in memory and instantiate and ``HDUList`` object from it. This could be useful for integrating PyFITS with other libraries that work on FITS file, such as CFITSIO. It may also be useful in streaming applications. The name is a slight misnomer, in that it actually accepts any Python object that implements the buffer interface, which includes ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90) - Added a new ``pyfits.diff`` module which contains facilities for comparing FITS files. One can use the ``pyfits.diff.FITSDiff`` class to compare two FITS files in their entirety. There is also a ``pyfits.diff.HeaderDiff`` class for just comparing two FITS headers, and other similar interfaces. See the PyFITS Documentation for more details on this interface. The ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with PyFITS. After installing PyFITS, run ``fitsdiff --help`` for usage details. - ``pyfits.open()`` now accepts a ``scale_back`` argument. If set to ``True``, this automatically scales the data using the original BZERO and BSCALE parameters the file had when it was first opened, if any, as well as the original BITPIX. For example, if the original BITPIX were 16, this would be equivalent to calling ``hdu.scale('int16', 'old')`` just before calling ``flush()`` or ``close()`` on the file. This option applies to all HDUs in the file. (#120) - ``pyfits.open()`` now accepts a ``save_backup`` argument. If set to ``True``, this automatically saves a backup of the original file before flushing any changes to it (this of course only applies to update and append mode). This may be especially useful when working with scaled image data. (#121) Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Warnings from PyFITS are not output to stderr by default, instead of stdout as it has been for some time. This is contrary to most users' expectations and makes it more difficult for them to separate output from PyFITS from the desired output for their scripts. (r1319) Bug Fixes ^^^^^^^^^ - Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust when encountering blank lines in a column definition file (#14) - Fixed a fairly rare crash that could occur in the handling of CONTINUE cards when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by PyFITS). (r1330) - Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU object from a string/buffer containing the header and data of that HDU. This allowed for the implementation of ``HDUList.fromstring`` described above. (#90) - Fixed a rare corner case where, in some use cases, (mildly, recoverably) malformatted float values in headers were not properly returned as floats. (#137) - Fixed a corollary to the previous bug where float values with a leading zero before the decimal point had the leading zero unnecessarily removed when saving changes to the file (eg. "0.001" would be written back as ".001" even if no changes were otherwise made to the file). (#137) - When opening a file containing CHECKSUM and/or DATASUM keywords in update mode, the CHECKSUM/DATASUM are updated and preserved even if the file was opened with checksum=False. This change in behavior prevents checksums from being unintentionally removed. (#148) - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. This fix will be backported to the 3.0.x series in version 3.0.10. (#174) 3.0.9 (2012-08-06) ------------------ This is a bug fix release for the 3.0.x series. Bug Fixes ^^^^^^^^^ - Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/ ``Header.iteritems()`` to correctly return the different values for duplicate keywords (particularly commentary keywords like HISTORY and COMMENT). This makes the old Header implementation slightly more compatible with the new implementation in PyFITS 3.1. (#127) .. note:: This fix did not change the existing behavior from earlier PyFITS versions where ``Header.keys()`` returns all keywords in the header with duplicates removed. PyFITS 3.1 changes that behavior, so that ``Header.keys()`` includes duplicates. - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug where opening a file containing compressed image HDUs in 'update' mode and then immediately closing it without making any changes caused the file to be rewritten unncessarily. (#167) - Fixed two memory leaks that could occur when writing compressed image data, or in some cases when opening files containing compressed image HDUs in 'update' mode. (#168) 3.0.8 (2012-06-04) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Prior to this release, image data sections did not work with scaled data--that is, images with non-trivial BSCALE and/or BZERO values. Previously, in order to read such images in sections, it was necessary to manually apply the BSCALE+BZERO to each section. It's worth noting that sections *did* support pseudo-unsigned ints (flakily). This change just extends that support for general BSCALE+BZERO values. Bug Fixes ^^^^^^^^^ - Fixed a bug that prevented updates to values in boolean table columns from being saved. This turned out to be a symptom of a deeper problem that could prevent other table updates from being saved as well. (#139) - Fixed a corner case in which a keyword comment ending with the string "END" could, in some circumstances, cause headers (and the rest of the file after that point) to be misread. (#142) - Fixed support for scaled image data and psuedo-unsigned ints in image data sections (``hdu.section``). Previously this was not supported at all. At some point support was supposedly added, but it was buggy and incomplete. Now the feature seems to work much better. (#143) - Fixed the documentation to point out that image data sections *do* support non-contiguous slices (and have for a long time). The documentation was never updated to reflect this, and misinformed users that only contiguous slices were supported, leading to some confusion. (#144) - Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY HDUs caused an infinite recursion when validating the object prior to writing to a file. (#145) - Fixed a rare but serious case where saving an update to a file that previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum in saving, could cause the file to be slightly corrupted and unreadable. (#147) - Fixed problems with reading "non-standard" FITS files with primary headers containing SIMPLE = F. PyFITS has never made many guarantees as to how such files are handled. But it should at least be possible to read their headers, and the data if possible. Saving changes to such a file should not try to prepend an unwanted valid PRIMARY HDU. (#157) - Fixed a bug where opening an image with ``disable_image_compression = True`` caused compression to be disabled for all subsequent ``pyfits.open()`` calls. (r1651) 3.0.7 (2012-04-10) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Slices of GroupData objects now return new GroupData objects instead of extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed FITS_rec slicing, and should have been fixed for GroupData at the same time. The old behavior caused bugs where functions internal to Numpy expected that slicing an ndarray would return a new ndarray. As this is a rare usecase with a rare feature most users are unlikely to be affected by this change. - The previously internal _Group object for representing individual group records in a GroupData object are renamed Group and are now a public interface. However, there's almost no good reason to create Group objects directly, so it shouldn't be considered a "new feature". - An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND keyword was always being set to F if there are not actually any extension HDUs. It was unnecessary to modify this value. Bug Fixes ^^^^^^^^^ - Fixed GroupData objects to return new GroupData objects when sliced instead of _Group record objects. See "Changes in behavior" above for more details. - Fixed slicing of Group objects--previously it was not possible to slice slice them at all. - Made it possible to assign `np.bool_` objects as header values. (#123) - Fixed overly strict handling of the EXTEND keyword; see "Changes in behavior" above. (#124) - Fixed many cases where an HDU's header would be marked as "modified" by PyFITS and rewritten, even when no changes to the header are necessary. (#125) - Fixed a bug where the values of the PTYPEn keywords in a random groups HDU were forced to be all lower-case when saving the file. (#130) - Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was causing some slowdown when opening files containing a large number of extensions, plus a few other small (but not insignficant) performance improvements thanks to Julian Taylor. (#133) - Fixed a regression where header blocks containing invalid end-of-header padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS. Such headers can be parsed again, but a warning is raised, as such headers are not valid FITS. (#136) - Fixed a memory leak where table data in random groups HDUs weren't being garbage collected. (#138) 3.0.6 (2012-02-29) ------------------ Highlights ^^^^^^^^^^ The main reason for this release is to fix an issue that was introduced in PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data to be automatically rescaled--possibly converting the data from ints to floats--as soon as the file is closed, even if the application did not touch the data. Now PyFITS will only rescale the data in an extension when the data is actually accessed by the application. So opening a file in 'update' mode in order to modify the header or append new extensions will not cause any change to the data in existing extensions. This release also fixes a few Windows-specific bugs found through more extensive Windows testing, and other miscellaneous bugs. Bug Fixes ^^^^^^^^^ - More accurate error messages when opening files containing invalid header cards. (#109) - Fixed a possible reference cycle/memory leak that was caught through more extensive testing on Windows. (#112) - Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w' mode. (#112) - Fixed a Windows-only issue where trying to save updates to a resized FITS file could result in a crash due to there being open mmaps on that file. (#112) - Fixed a crash when trying to create a FITS table (i.e. with new_table()) from a Numpy array containing bool fields. (#113) - Fixed a bug where manually initializing an ``HDUList`` with a list of of HDUs wouldn't set the correct EXTEND keyword value on the primary HDU. (#114) - Fixed a crash that could occur when trying to deepcopy a Header in Python < 2.7. (#115) - Fixed an issue where merely opening a scaled image in 'update' mode would cause the data to be converted to floats when the file is closed. (#119) 3.0.5 (2012-01-30) ------------------ - Fixed a crash that could occur when accessing image sections of files opened with memmap=True. (r1211) - Fixed the inconsistency in the behavior of files opened in 'readonly' mode when memmap=True vs. when memmap=False. In the latter case, although changes to array data were not saved to disk, it was possible to update the array data in memory. On the other hand with memmap=True, 'readonly' mode prevented even in-memory modification to the data. This is what 'copyonwrite' mode was for, but difference in behavior was confusing. Now 'readonly' is equivalent to 'copyonwrite' when using memmap. If the old behavior of denying changes to the array data is necessary, a new 'denywrite' mode may be used, though it is only applicable to files opened with memmap. (r1275) - Fixed an issue where files opened with memmap=True would return image data as a raw numpy.memmap object, which can cause some unexpected behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285) - Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3 interacted badly with some other software, namely to vo.table package (and possibly others). (r1320, r1337, and #110) - Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard interrupts) while flushing changes to a FITS file. PyFITS already prevented SIGINTs from causing an incomplete flush, but did not clean up the signal handlers properly afterwards, or reraise the keyboard interrupt once the flush was complete. (r1321) - Fixed a crash that could occur in Python 3 when opening files with checksum checking enabled. (r1336) - Fixed a small bug that could cause a crash in the `StreamingHDU` interface when using Numpy below version 1.5. - Fixed a crash that could occur when creating a new `CompImageHDU` from an array of big-endian data. (#104) - Fixed a crash when opening a file with extra zero padding at the end. Though FITS files should not have such padding, it's not explictly forbidden by the format either, and PyFITS shouldn't stumble over it. (#106) - Fixed a major slowdown in opening tables containing large columns of string values. (#111) 3.0.4 (2011-11-22) ------------------ - Fixed a crash when writing HCOMPRESS compressed images that could happen on Python 2.5 and 2.6. (r1217) - Fixed a crash when slicing an table in a file opened in 'readonly' mode with memmap=True. (r1230) - Writing changes to a file or writing to a new file verifies the output in 'fix' mode by default instead of 'exception'--that is, PyFITS will automatically fix common FITS format errors rather than raising an exception. (r1243) - Fixed a bug where convenience functions such as getval() and getheader() crashed when specifying just 'PRIMARY' as the extension to use (r1263). - Fixed a bug that prevented passing keyword arguments (beyond the standard data and header arguments) as positional arguments to the constructors of extension HDU classes. - Fixed some tests that were failing on Windows--in this case the tests themselves failed to close some temp files and Windows refused to delete them while there were still open handles on them. (r1295) - Fixed an issue with floating point formatting in header values on Python 2.5 for Windows (and possibly other platforms). The exponent was zero-padded to 3 digits; although the FITS standard makes no specification on this, the formatting is now normalized to always pad the exponent to two digits. (r1295) - Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were broken into multiple CONTINUE cards. However, commentary cards are not expected to be found in CONTINUE cards. Instead these long cards are broken into multiple commentary cards. (#97) - GZIP/ZIP-compressed FITS files can be detected and opened regardless of their filename extension. (#99) - Fixed a serious bug where opening scaled images in 'update' mode and then closing the file without touching the data would cause the file to be corrupted. (#101) 3.0.3 (2011-10-05) ------------------ - Fixed several small bugs involving corner cases in record-valued keyword cards (#70) - In some cases HDU creation failed if the first keyword value in the header was not a string value (#89) - Fixed a crash when trying to compute the HDU checksum when the data array contains an odd number of bytes (#91) - Disabled an unnecessary warning that was displayed on opening compressed HDUs with disable_image_compression = True (#92) - Fixed a typo in code for handling HCOMPRESS compressed images. 3.0.2 (2011-09-23) ------------------ - The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate`` function don't get tripped up by blank lines anymore (#14) - The presence, value, and position of the EXTEND keyword in Primary HDUs is verified when reading/writing a FITS file (#32) - Improved documentation (in warning messages as well as in the handbook) that PyFITS uses zero-based indexing (as one would expect for C/Python code, but contrary to the PyFITS standard which was written with FORTRAN in mind) (#68) - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) [Note: This and the bug above it were originally reported as being fixed in version 3.0.1, but the fix was never included in the release.] - Improved file handling, particularly in Python 3 which had a few small file I/O-related bugs (#76) - Fixed a bug where updating a FITS file would sometimes cause it to lose its original file permissions (#79) - Fixed the handling of TDIMn keywords; 3.0 added support for them, but got the axis order backards (they were treated as though they were row-major) (#82) - Fixed a crash when a FITS file containing scaled data is opened and immediately written to a new file without explicitly viewing the data first (#84) - Fixed a bug where creating a table with columns named either 'names' or 'formats' resulted in an infinite recursion (#86) 3.0.1 (2011-09-12) ------------------ - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a ``FITS_rec`` object with zero rows is returned rather than ``None``. - The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full keyword+field-specifier value, instead of just the plain keyword (#46) - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) - Fixed a bug where writing a table with zero rows could fail in some cases (#72) - Miscellanous small bug fixes that were causing some tests to fail, particularly on Python 3 (#74, #75) - Fixed a bug where creating a table column from an array in non-native byte order would not preserve the byte order, thus interpreting the column array using the wrong byte order (#77) 3.0.0 (2011-08-23) -------------------- - Contains major changes, bumping the version to 3.0 - Large amounts of refactoring and reorganization of the code; tried to preserve public API backwards-compatibility with older versions (private API has many changes and is not guaranteed to be backwards-compatible). There are a few small public API changes to be aware of: * The pyfits.rec module has been removed completely. If your version of numpy does not have the numpy.core.records module it is too old to be used with PyFITS. * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard`` attribute instead. * ``Card`` instances have a new ``.cardimage`` attribute that should be used rather than ``.ascardimage()``, which may become deprecated. * The ``Card.fromstring()`` method is now a classmethod. It returns a new ``Card`` instance rather than modifying an existing instance. * The ``req_cards()`` method on HDU instances has changed: The ``pos`` argument is not longer a string. It is either an integer value (meaning the card's position must match that value) or it can be a function that takes the card's position as it's argument, and returns True if the position is valid. Likewise, the ``test`` argument no longer takes a string, but instead a function that validates the card's value and returns True or False. * The ``get_coldefs()`` method of table HDUs is deprecated. Use the ``.columns`` attribute instead. * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns`` instead (though in general you shouldn't mess with it directly--it might become internal at some point). * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of ``startColumn`` and ``endColumn`` (these are rarely created manually, so it's unlikely that this change will affect anyone). * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new ``BinTableHDU`` instance. * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU classes. They are now public interfaces, wheres previously they were private and prefixed with underscores. * Possibly others--please report if you find any changes that cause difficulties. - Calls to deprecated functions will display a Deprecation warning. However, in Python 2.7 and up Deprecation warnings are ignored by default, so run Python with the `-Wd` option to see if you're using any deprecated functions. If we get close to actually removing any functions, we might make the Deprecation warnings display by default. - Added basic Python 3 support - Added support for multi-dimensional columns in tables as specified by the TDIMn keywords (#47) - Fixed a major memory leak that occurred when creating new tables with the ``new_table()`` function (#49) be padded with zero-bytes) vs ASCII tables (where strings are padded with spaces) (#15) - Fixed a bug in which the case of Random Access Group parameters names was not preserved when writing (#41) - Added support for binary table fields with zero width (#42) - Added support for wider integer types in ASCII tables; although this is non- standard, some GEIS images require it (#45) - Fixed a bug that caused the index_of() method of HDULists to crash when the HDUList object is created from scratch (#48) - Fixed the behavior of string padding in binary tables (where strings should be padded with nulls instead of spaces) - Fixed a rare issue that caused excessive memory usage when computing checksums using a non-standard block size (see r818) - Add support for forced uint data in image sections (#53) - Fixed an issue where variable-length array columns were not extended when creating a new table with more rows than the original (#54) - Fixed tuple and list-based indexing of FITS_rec objects (#55) - Fixed an issue where BZERO and BSCALE keywords were appended to headers in the wrong location (#56) - ``FITS_record`` objects (table rows) have full slicing support, including stepping, etc. (#59) - Fixed a bug where updating multiple files simultaneously (such as when running parallel processes) could lead to a race condition with mktemp() (#61) - Fixed a bug where compressed image headers were not in the order expected by the funpack utility (#62)
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
============= Some extracts from the git log: * Add new DNSKEY algorithms registered by IANA * Add AUTH checking over both UDP and TCP. [Fixes #80] * New queue dispatch * Clean out dead code, add tests to new code and add log entries. [Closes #89] * Log when an AS prefix is discarded * Add simple command-line tool to add domains to the dispatcher queue * Add callback functionality to logger * Perl 5.18 fix (hash key order randomization) * The authoritative servers for ARPA are the root servers, which caused problems for our parent-finding algorithm. Worked around by special -casing so that single-label names always return root as the parent. [Closes #92] * Make allowed maximum NSEC3 iterations a policy parameter * Detect DNSCurve-supporting nameservers * Significant improvements to glue checking * Fix for referral check under undelegated * More tests for new glue-checking code * Detect names in domains reserved by IANA (RFC 6761). [Closes #96] * Log messages for reserved ASs. [Closes #97]
jperkin
pushed a commit
that referenced
this pull request
Apr 28, 2014
Add test Upstream changes: 1.5.6 (2014-04-14) Bug fixes: Check the last line even if it has no end-of-line. (Issue #273) 1.5.5 (2014-04-10) Bug fixes: Fix regression with E22 checks and inline comments. (Issue #271) 1.5.4 (2014-04-07) Bug fixes: Fix negative offset with E303 before a multi-line docstring. (Issue #269) 1.5.3 (2014-04-04) Bug fixes: Fix wrong offset computation when error is on the last char of a physical line. (Issue #268) 1.5.2 (2014-04-04) Changes: Distribute a universal wheel file. Bug fixes: Report correct line number for E303 with comments. (Issue #60) Do not allow newline after parameter equal. (Issue #252) Fix line number reported for multi-line strings. (Issue #220) Fix false positive E121/E126 with multi-line strings. (Issue #265) Fix E501 not detected in comments with Python 2.5. Fix caret position with --show-source when line contains tabs. 1.5.1 (2014-03-27) Bug fixes: Fix a crash with E125 on multi-line strings. (Issue #263) 1.5 (2014-03-26) Changes: Report E129 instead of E125 for visually indented line with same indent as next logical line. (Issue #126) Report E265 for space before block comment. (Issue #190) Report E713 and E714 when operators not in and is not are recommended. (Issue #236) Allow long lines in multiline strings and comments if they cannot be wrapped. (Issue #224). Optionally disable physical line checks inside multiline strings, using # noqa. (Issue #242) Change text for E121 to report "continuation line under-indented for hanging indent" instead of indentation not being a multiple of 4. Report E131 instead of E121 / E126 if the hanging indent is not consistent within the same continuation block. It helps when error E121 or E126 is in the ignore list. Report E126 instead of E121 when the continuation line is hanging with extra indentation, even if indentation is not a multiple of 4. Bug fixes: Allow the checkers to report errors on empty files. (Issue #240) Fix ignoring too many checks when --select is used with codes declared in a flake8 extension. (Issue #216) Fix regression with multiple brackets. (Issue #214) Fix StyleGuide to parse the local configuration if the keyword argument paths is specified. (Issue #246) Fix a false positive E124 for hanging indent. (Issue #254) Fix a false positive E126 with embedded colon. (Issue #144) Fix a false positive E126 when indenting with tabs. (Issue #204) Fix behaviour when exclude is in the configuration file and the current directory is not the project directory. (Issue #247) The logical checks can return None instead of an empty iterator. (Issue #250) Do not report multiple E101 if only the first indentation starts with a tab. (Issue #237) Fix a rare false positive W602. (Issue #34) 1.4.6 (2013-07-02) Changes: Honor # noqa for errors E711 and E712. (Issue #180) When both a tox.ini and a setup.cfg are present in the project directory, merge their contents. The tox.ini file takes precedence (same as before). (Issue #182) Give priority to --select over --ignore. (Issue #188) Compare full path when excluding a file. (Issue #186) New option --hang-closing to switch to the alternative style of closing bracket indentation for hanging indent. Add error E133 for closing bracket which is missing indentation. (Issue #103) Accept both styles of closing bracket indentation for hanging indent. Do not report error E123 in the default configuration. (Issue #103) Bug fixes: Do not crash when running AST checks and the document contains null bytes. (Issue #184) Correctly report other E12 errors when E123 is ignored. (Issue #103) Fix false positive E261/E262 when the file contains a BOM. (Issue #193) Fix E701, E702 and E703 not detected sometimes. (Issue #196) Fix E122 not detected in some cases. (Issue #201 and #208) Fix false positive E121 with multiple brackets. (Issue #203) 1.4.5 (2013-03-06) When no path is specified, do not try to read from stdin. The feature was added in 1.4.3, but it is not supported on Windows. Use - filename argument to read from stdin. This usage is supported since 1.3.4. (Issue #170) Do not require setuptools in setup.py. It works around an issue with pip and Python 3. (Issue #172) Add __pycache__ to the ignore list. Change misleading message for E251. (Issue #171) Do not report false E302 when the source file has a coding cookie or a comment on the first line. (Issue #174) Reorganize the tests and add tests for the API and for the command line usage and options. (Issues #161 and #162) Ignore all checks which are not explicitly selected when select is passed to the StyleGuide constructor. 1.4.4 (2013-02-24) Report E227 or E228 instead of E225 for whitespace around bitwise, shift or modulo operators. (Issue #166) Change the message for E226 to make clear that it is about arithmetic operators. Fix a false positive E128 for continuation line indentation with tabs. Fix regression with the --diff option. (Issue #169) Fix the TestReport class to print the unexpected warnings and errors. 1.4.3 (2013-02-22) Hide the --doctest and --testsuite options when installed. Fix crash with AST checkers when the syntax is invalid. (Issue #160) Read from standard input if no path is specified. Initiate a graceful shutdown on Control+C. Allow to change the checker_class for the StyleGuide. 1.4.2 (2013-02-10) Support AST checkers provided by third-party applications. Register new checkers with register_check(func_or_cls, codes). Allow to construct a StyleGuide with a custom parser. Accept visual indentation without parenthesis after the if statement. (Issue #151) Fix UnboundLocalError when using # noqa with continued lines. (Issue #158) Re-order the lines for the StandardReport. Expand tabs when checking E12 continuation lines. (Issue #155) Refactor the testing class TestReport and the specific test functions into a separate test module. 1.4.1 (2013-01-18) Allow sphinx.ext.autodoc syntax for comments. (Issue #110) Report E703 instead of E702 for the trailing semicolon. (Issue #117) Honor # noqa in addition to # nopep8. (Issue #149) Expose the OptionParser factory for better extensibility. 1.4 (2012-12-22) Report E226 instead of E225 for optional whitespace around common operators (*, **, /, + and -). This new error code is ignored in the default configuration because PEP 8 recommends to "use your own judgement". (Issue #96) Lines with a # nopep8 at the end will not issue errors on line length E501 or continuation line indentation E12*. (Issue #27) Fix AssertionError when the source file contains an invalid line ending "\r\r\n". (Issue #119) Read the [pep8] section of tox.ini or setup.cfg if present. (Issue #93 and #141) Add the Sphinx-based documentation, and publish it on http://pep8.readthedocs.org/. (Issue #105)
jperkin
pushed a commit
that referenced
this pull request
Jun 2, 2014
Add test Upstream changes: 1.5.6 (2014-04-14) Bug fixes: Check the last line even if it has no end-of-line. (Issue #273) 1.5.5 (2014-04-10) Bug fixes: Fix regression with E22 checks and inline comments. (Issue #271) 1.5.4 (2014-04-07) Bug fixes: Fix negative offset with E303 before a multi-line docstring. (Issue #269) 1.5.3 (2014-04-04) Bug fixes: Fix wrong offset computation when error is on the last char of a physical line. (Issue #268) 1.5.2 (2014-04-04) Changes: Distribute a universal wheel file. Bug fixes: Report correct line number for E303 with comments. (Issue #60) Do not allow newline after parameter equal. (Issue #252) Fix line number reported for multi-line strings. (Issue #220) Fix false positive E121/E126 with multi-line strings. (Issue #265) Fix E501 not detected in comments with Python 2.5. Fix caret position with --show-source when line contains tabs. 1.5.1 (2014-03-27) Bug fixes: Fix a crash with E125 on multi-line strings. (Issue #263) 1.5 (2014-03-26) Changes: Report E129 instead of E125 for visually indented line with same indent as next logical line. (Issue #126) Report E265 for space before block comment. (Issue #190) Report E713 and E714 when operators not in and is not are recommended. (Issue #236) Allow long lines in multiline strings and comments if they cannot be wrapped. (Issue #224). Optionally disable physical line checks inside multiline strings, using # noqa. (Issue #242) Change text for E121 to report "continuation line under-indented for hanging indent" instead of indentation not being a multiple of 4. Report E131 instead of E121 / E126 if the hanging indent is not consistent within the same continuation block. It helps when error E121 or E126 is in the ignore list. Report E126 instead of E121 when the continuation line is hanging with extra indentation, even if indentation is not a multiple of 4. Bug fixes: Allow the checkers to report errors on empty files. (Issue #240) Fix ignoring too many checks when --select is used with codes declared in a flake8 extension. (Issue #216) Fix regression with multiple brackets. (Issue #214) Fix StyleGuide to parse the local configuration if the keyword argument paths is specified. (Issue #246) Fix a false positive E124 for hanging indent. (Issue #254) Fix a false positive E126 with embedded colon. (Issue #144) Fix a false positive E126 when indenting with tabs. (Issue #204) Fix behaviour when exclude is in the configuration file and the current directory is not the project directory. (Issue #247) The logical checks can return None instead of an empty iterator. (Issue #250) Do not report multiple E101 if only the first indentation starts with a tab. (Issue #237) Fix a rare false positive W602. (Issue #34) 1.4.6 (2013-07-02) Changes: Honor # noqa for errors E711 and E712. (Issue #180) When both a tox.ini and a setup.cfg are present in the project directory, merge their contents. The tox.ini file takes precedence (same as before). (Issue #182) Give priority to --select over --ignore. (Issue #188) Compare full path when excluding a file. (Issue #186) New option --hang-closing to switch to the alternative style of closing bracket indentation for hanging indent. Add error E133 for closing bracket which is missing indentation. (Issue #103) Accept both styles of closing bracket indentation for hanging indent. Do not report error E123 in the default configuration. (Issue #103) Bug fixes: Do not crash when running AST checks and the document contains null bytes. (Issue #184) Correctly report other E12 errors when E123 is ignored. (Issue #103) Fix false positive E261/E262 when the file contains a BOM. (Issue #193) Fix E701, E702 and E703 not detected sometimes. (Issue #196) Fix E122 not detected in some cases. (Issue #201 and #208) Fix false positive E121 with multiple brackets. (Issue #203) 1.4.5 (2013-03-06) When no path is specified, do not try to read from stdin. The feature was added in 1.4.3, but it is not supported on Windows. Use - filename argument to read from stdin. This usage is supported since 1.3.4. (Issue #170) Do not require setuptools in setup.py. It works around an issue with pip and Python 3. (Issue #172) Add __pycache__ to the ignore list. Change misleading message for E251. (Issue #171) Do not report false E302 when the source file has a coding cookie or a comment on the first line. (Issue #174) Reorganize the tests and add tests for the API and for the command line usage and options. (Issues #161 and #162) Ignore all checks which are not explicitly selected when select is passed to the StyleGuide constructor. 1.4.4 (2013-02-24) Report E227 or E228 instead of E225 for whitespace around bitwise, shift or modulo operators. (Issue #166) Change the message for E226 to make clear that it is about arithmetic operators. Fix a false positive E128 for continuation line indentation with tabs. Fix regression with the --diff option. (Issue #169) Fix the TestReport class to print the unexpected warnings and errors. 1.4.3 (2013-02-22) Hide the --doctest and --testsuite options when installed. Fix crash with AST checkers when the syntax is invalid. (Issue #160) Read from standard input if no path is specified. Initiate a graceful shutdown on Control+C. Allow to change the checker_class for the StyleGuide. 1.4.2 (2013-02-10) Support AST checkers provided by third-party applications. Register new checkers with register_check(func_or_cls, codes). Allow to construct a StyleGuide with a custom parser. Accept visual indentation without parenthesis after the if statement. (Issue #151) Fix UnboundLocalError when using # noqa with continued lines. (Issue #158) Re-order the lines for the StandardReport. Expand tabs when checking E12 continuation lines. (Issue #155) Refactor the testing class TestReport and the specific test functions into a separate test module. 1.4.1 (2013-01-18) Allow sphinx.ext.autodoc syntax for comments. (Issue #110) Report E703 instead of E702 for the trailing semicolon. (Issue #117) Honor # noqa in addition to # nopep8. (Issue #149) Expose the OptionParser factory for better extensibility. 1.4 (2012-12-22) Report E226 instead of E225 for optional whitespace around common operators (*, **, /, + and -). This new error code is ignored in the default configuration because PEP 8 recommends to "use your own judgement". (Issue #96) Lines with a # nopep8 at the end will not issue errors on line length E501 or continuation line indentation E12*. (Issue #27) Fix AssertionError when the source file contains an invalid line ending "\r\r\n". (Issue #119) Read the [pep8] section of tox.ini or setup.cfg if present. (Issue #93 and #141) Add the Sphinx-based documentation, and publish it on http://pep8.readthedocs.org/. (Issue #105)
jperkin
pushed a commit
that referenced
this pull request
Dec 1, 2014
Changelog: ================================================================================ GLM 0.9.5.4: 2014-06-21 -------------------------------------------------------------------------------- - Fixed non-utf8 character #196 - Added FindGLM install for CMake #189 - Fixed GTX_color_space - saturation #195 - Fixed glm::isinf and glm::isnan for with Android NDK 9d #191 - Fixed builtin GLM_ARCH_SSE4 #204 - Optimized Quaternion vector rotation #205 - Fixed missing doxygen @endcond tag #211 - Fixed instruction set detection with Clang #158 - Fixed orientate3 function #207 - Fixed lerp when cosTheta is close to 1 in quaternion slerp #210 - Added GTX_io for io with <iostream> #144 - Fixed fastDistance ambiguity #215 - Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to tweakedInfinitePerspective - Fixed std::copy and std::vector with GLM types #214 - Fixed strict aliasing issues #212, #152 - Fixed std::nextafter not supported with C++11 on Android #213 - Fixed corner cases in exp and log functions for quaternions #199 ================================================================================ GLM 0.9.5.3: 2014-04-02 -------------------------------------------------------------------------------- - Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch compiler argument - Fixed GTX_raw_data code dependency - Fixed GCC instruction set detection - Added GLM_GTX_matrix_transform_2d extension (#178, #176) - Fixed CUDA issues (#169, #168, #183, #182) - Added support for all extensions but GTX_string_cast to CUDA - Fixed strict aliasing warnings in GCC 4.8.1 / Android NDK 9c (#152) - Fixed missing bitfieldInterleave definisions - Fixed usubBorrow (#171) - Fixed eulerAngle*** not consistent for right-handed coordinate system (#173) - Added full tests for eulerAngle*** functions (#173) - Added workaround for a CUDA compiler bug (#186, #185) ================================================================================ GLM 0.9.5.2: 2014-02-08 -------------------------------------------------------------------------------- - Fixed initializer list ambiguity (#159, #160) - Fixed warnings with the Android NDK 9c - Fixed non power of two matrix products - Fixed mix function link error - Fixed SSE code included in GLM tests on "pure" platforms - Fixed undefined reference to fastInverseSqrt (#161) - Fixed GLM_FORCE_RADIANS with <glm/ext.hpp> build error (#165) - Fix dot product clamp range for vector angle functions. (#163) - Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152) - Fixed GLM_GTC_constants description brief (#162) ================================================================================ GLM 0.9.5.1: 2014-01-11 -------------------------------------------------------------------------------- - Fixed angle and orientedAngle that sometimes return NaN values (#145) - Deprecated degrees for function parameters and display a message - Added possible static_cast conversion of GLM types (#72) - Fixed error 'inverse' is not a member of 'glm' from glm::unProject (#146) - Fixed mismatch between some declarations and definitions - Fixed inverse link error when using namespace glm; (#147) - Optimized matrix inverse and division code (#149) - Added intersectRayPlane function (#153) - Fixed outerProduct return type (#155) ================================================================================ GLM 0.9.5.0: 2013-12-25 -------------------------------------------------------------------------------- - Added forward declarations (glm/fwd.hpp) for faster compilations - Added per feature headers - Minimized GLM internal dependencies - Improved Intel Compiler detection - Added bitfieldInterleave and _mm_bit_interleave_si128 functions - Added GTX_scalar_relational - Added GTX_dual_quaternion - Added rotation function to GTX_quaternion (#22) - Added precision variation of each type - Added quaternion comparison functions - Fixed GTX_multiple for negative value - Removed GTX_ocl_type extension - Fixed post increment and decrement operators - Fixed perspective with zNear == 0 (#71) - Removed l-value swizzle operators - Cleaned up compiler detection code for unsupported compilers - Replaced C cast by C++ casts - Fixed .length() that should return a int and not a size_t - Added GLM_FORCE_SIZE_T_LENGTH and glm::length_t - Removed unnecessary conversions - Optimized packing and unpacking functions - Removed the normalization of the up argument of lookAt function (#114) - Added low precision specializations of inversesqrt - Fixed ldexp and frexp implementations - Increased assert coverage - Increased static_assert coverage - Replaced GLM traits by STL traits when possible - Allowed including individual core feature - Increased unit tests completness - Added creating of a quaternion from two vectors - Added C++11 initializer lists - Fixed umulExtended and imulExtended implementations for vector types (#76) - Fixed CUDA coverage for GTC extensions - Added GTX_io extension - Improved GLM messages enabled when defining GLM_MESSAGES - Hidden matrix _inverse function implementation detail into private section ================================================================================ GLM 0.9.4.6: 2013-09-20 -------------------------------------------------------------------------------- - Fixed detection to select the last known compiler if newer version #106 - Fixed is_int and is_uint code duplication with GCC and C++11 #107 - Fixed test suite build while using Clang in C++11 mode - Added c++1y mode support in CMake test suite - Removed ms extension mode to CMake when no using Visual C++ - Added pedantic mode to CMake test suite for Clang and GCC - Added use of GCC frontend on Unix for ICC and Visual C++ fronted on Windows for ICC - Added compilation errors for unsupported compiler versions - Fixed glm::orientation with GLM_FORCE_RADIANS defined #112 - Fixed const ref issue on assignment operator taking a scalar parameter #116 - Fixed glm::eulerAngleY implementation #117 ================================================================================ GLM 0.9.4.5: 2013-08-12 -------------------------------------------------------------------------------- - Fixed CUDA support - Fixed inclusion of intrinsics in "pure" mode #92 - Fixed language detection on GCC when the C++0x mode isn't enabled #95 - Fixed issue #97: register is deprecated in C++11 - Fixed issue #96: CUDA issues - Added Windows CE detection #92 - Added missing value_ptr for quaternions #99 ================================================================================ GLM 0.9.4.4: 2013-05-29 -------------------------------------------------------------------------------- - Fixed slerp when costheta is close to 1 #65 - Fixed mat4x2 value_type constructor #70 - Fixed glm.natvis for Visual C++ 12 #82 - Added assert in inversesqrt to detect division by zero #61 - Fixed missing swizzle operators #86 - Fixed CUDA warnings #86 - Fixed GLM natvis for VC11 #82 - Fixed GLM_GTX_multiple with negative values #79 - Fixed glm::perspective when zNear is zero #71 ================================================================================ GLM 0.9.4.3: 2013-03-20 -------------------------------------------------------------------------------- - Detected qualifier for Clang - Fixed C++11 mode for GCC, couldn't be enabled without MS extensions - Fixed squad, intermediate and exp quaternion functions - Fixed GTX_polar_coordinates euclidean function, takes a vec2 instead of a vec3 - Clarify the license applying on the manual - Added a docx copy of the manual - Fixed GLM_GTX_matrix_interpolation - Fixed isnan and isinf on Android with Clang - Autodetected C++ version using __cplusplus value - Fixed mix for bool and bvec* third parameter ================================================================================ GLM 0.9.4.2: 2013-02-14 -------------------------------------------------------------------------------- - Fixed compAdd from GTX_component_wise - Fixed SIMD support for Intel compiler on Windows - Fixed isnan and isinf for CUDA compiler - Fixed GLM_FORCE_RADIANS on glm::perspective - Fixed GCC warnings - Fixed packDouble2x32 on XCode - Fixed mix for vec4 SSE implementation - Fixed 0x2013 dash character in comments that cause issue in Windows Japanese mode - Fixed documentation warnings - Fixed CUDA warnings ================================================================================ GLM 0.9.4.1: 2012-12-22 -------------------------------------------------------------------------------- - Improved half support: -0.0 case and implicit conversions - Fixed Intel Composer Compiler support on Linux - Fixed interaction between quaternion and euler angles - Fixed GTC_constants build - Fixed GTX_multiple - Fixed quat slerp using mix function when cosTheta close to 1 - Improved fvec4SIMD and fmat4x4SIMD implementations - Fixed assert messages - Added slerp and lerp quaternion functions and tests ================================================================================ GLM 0.9.4.0: 2012-11-18 -------------------------------------------------------------------------------- - Added Intel Composer Compiler support - Promoted GTC_espilon extension - Promoted GTC_ulp extension - Removed GLM website from the source repository - Added GLM_FORCE_RADIANS so that all functions takes radians for arguments - Fixed detection of Clang and LLVM GCC on MacOS X - Added debugger visualizers for Visual C++ 2012 ================================================================================ GLM 0.9.3.4: 2012-06-30 -------------------------------------------------------------------------------- - Added SSE4 and AVX2 detection. - Removed VIRTREV_xstream and the incompatibility generated with GCC - Fixed C++11 compiler option for GCC - Removed MS language extension option for GCC (not fonctionnal) - Fixed bitfieldExtract for vector types - Fixed warnings - Fixed SSE includes ================================================================================ GLM 0.9.3.3: 2012-05-10 -------------------------------------------------------------------------------- - Fixed isinf and isnan - Improved compatibility with Intel compiler - Added CMake test build options: SIMD, C++11, fast math and MS land ext - Fixed SIMD mat4 test on GCC - Fixed perspectiveFov implementation - Fixed matrixCompMult for none-square matrices - Fixed namespace issue on stream operators - Fixed various warnings - Added VC11 support
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2014
Update DEPENDS Upstream changes: 20141021 Tue Oct 21 02:11:29 PDT 2014 Promoted to full release 20140920.1910_001 Sat Sep 20 19:10:06 PDT 2014 New Features * Can now specify an alternate name for invocant (besides `$self`) [github #82] (thanks Hercynium) Bug Fixes * Correct parse error on multi-line default values [github #106] * Using a required param after an optional one now a compile error [github #108] 20140806.0226_001 Wed Aug 6 02:26:36 PDT 2014 Bug Fixes * Correct parse error when invocant is preceded by a space * Fix bug where undef which should trigger default fails typecheck [github #102] Distribution Fixes * Remove dependency on experimental (breaks 5.8 compat) [github #97] Misc * Refactor signature parsing into its own class [github #96] 20140224 Mon Feb 24 14:25:43 PST 2014 Promoted to full release 20140220.0106_001 Thu Feb 20 01:14:54 PST 2014 Distribution Fixes * Remove dependency on Devel::Pragma [github #91], and fixes [github #41] Docs * Document which features require Data::Alias and Const::Fast [github #90]
jperkin
pushed a commit
that referenced
this pull request
Jun 17, 2015
== 2.6.1 / 2015-05-25 * Bugs: * Make columnar store handle all supported extensions, not just the first. * Avoid circular require when using the columnar store. == 2.6 / 2015-05-25 * New Feature: * Columnar data storage for the MIME::Types registry, contributed by Jeremy Evans (@jeremyevans). Reduces default memory use substantially (the mail gem drops from 19 Mib to about 3 Mib). Resolves {#96}[mime-types/ruby-mime-types#96], {#94}[mime-types/ruby-mime-types#94], {#83}[mime-types/ruby-mime-types#83]. Partially addresses {#64}[mime-types/ruby-mime-types#64] and {#62}[mime-types/ruby-mime-types#62]. * Development: * Removed caching of deprecation messages in preparation for mime-types 3.0. Now, deprecated methods will always warn their deprecation instead of only warning once. * Added a logger for deprecation messages. * Renamed <tt>lib/mime.rb</tt> to <tt>lib/mime/deprecations.rb</tt> to not conflict with the {mime}[https://rubygems.org/gems/mime] gem on behalf of the maintainers of the {Praxis Framework}[http://praxis-framework.io/]. Provided by Josep M. Blanquer (@blanquer), {#100}[mime-types/ruby-mime-types#100]. * Added the columnar data conversion tool, also provided by Jeremy Evans. * Documentation: * Improved documentation and ensured that all deprecated methods are marked as such in the documentation. * Development: * Added more Ruby variants to Travis CI. * Silenced deprecation messages for internal tools. Noisy deprecations are noisy, but that's the point. == 2.5 / 2015-04-25 * Bugs: * David Genord (@albus522) fixed a bug in loading MIME::types cache where a container loaded from cache did not have the expected +default_proc+, {#86}[mime-types/ruby-mime-types#86]. * Richard Schneeman (@schneems) provided a patch that substantially reduces unnecessary allocations. * Documentation: * Tibor Szolár (@flexik) fixed a typo in the README, {#82}[mime-types/ruby-mime-types#82] * Fixed {#80}[mime-types/ruby-mime-types#80], clarifying the relationship of MIME::Type#content_type and MIME::Type#simplified, with Ken Ip (@kenips). * Development: * Juanito Fatas (@JuanitoFatas) enabled container mode on Travis CI, {#87}[mime-types/ruby-mime-types#87]. * Moved development to a mime-types organization under {mime-types/ruby-mime-types}[https://github.com/mime-types/ruby-mime-types].
jperkin
pushed a commit
that referenced
this pull request
Feb 7, 2016
* Lwt_stream.on_terminate -> Lwt_stream.on_termination * Lwt_unix: handle O_CLOEXEC * Lwt_log: add OSX syslog path * Ppx: Improve lwt%match, improve catchall detection * Add Lwt_unix.file_exists and Lwt_unix.Large_file.file_exists * Build fixes * API CHANGE: Functions in Lwt_io that were previously using a ~buffer_size argument now takes a ~buffer argument. * Accept ?buffer argument in Lwt_ssl.{in,out}_channel_of_descr. * Use newer Ssl bigarray read/write functionality to avoid allocation in Lwt_ssl. * Fix non-reentrant function calls (#136) * IPv4 multicast support. * Add support for if%lwt in ppx extension. * Add Lwt.return_some. * Disable log syntax extension by default in ppx. Give [-log] as ppx argument to enable it. * Nanosecond precision for Lwt_unix.stat. * Minor fixes + documentation improvements. * Fix compilation under Windows (#117, #129) * Fix Lwt_engine.on_timer (#121) * Add Lwt_log_core.reset_rules (#123) * Fixed typos in the documentation (#119, #131) * camlp4 is now optional. * Add safe_string compliance except for Lwt_ssl (need ocaml-ssl fix). * Add Lwt.Infix module to open instead of Lwt to have (>>=), etc. * Add Lwt_list.filter_map_{s,p} functions. * Add Lwt.fail_{with,invalid_arg} functions. * Improved Android support. * Remove deprecated lwt.text and lwt.top libraries. * Remove deprecated Lwt_signal and Lwt_event modules from lwt.react. * Fix #111: try_lwt wrongly warns about unused match case. * Fix #96: Fix Lwt_react.S.limit and Lwt_react.E.limit. * Fix #91: Workaround to fix compilation on OSX. * Add a ppx syntax extension * Add a ?fd argument to Lwt_io.{open_connection,with_connection,establish_server}. * Fix stub for getaddrinfo and getprotobyname * Windows fix: don't throw an exception in the notification handler if we're shutting down * Fix include file search in ./configure * ./configure fixes for windows * Fix: use sys_exit instead of exit when Unix.execv fails
jperkin
pushed a commit
that referenced
this pull request
Feb 11, 2016
* Lwt_stream.on_terminate -> Lwt_stream.on_termination * Lwt_unix: handle O_CLOEXEC * Lwt_log: add OSX syslog path * Ppx: Improve lwt%match, improve catchall detection * Add Lwt_unix.file_exists and Lwt_unix.Large_file.file_exists * Build fixes * API CHANGE: Functions in Lwt_io that were previously using a ~buffer_size argument now takes a ~buffer argument. * Accept ?buffer argument in Lwt_ssl.{in,out}_channel_of_descr. * Use newer Ssl bigarray read/write functionality to avoid allocation in Lwt_ssl. * Fix non-reentrant function calls (#136) * IPv4 multicast support. * Add support for if%lwt in ppx extension. * Add Lwt.return_some. * Disable log syntax extension by default in ppx. Give [-log] as ppx argument to enable it. * Nanosecond precision for Lwt_unix.stat. * Minor fixes + documentation improvements. * Fix compilation under Windows (#117, #129) * Fix Lwt_engine.on_timer (#121) * Add Lwt_log_core.reset_rules (#123) * Fixed typos in the documentation (#119, #131) * camlp4 is now optional. * Add safe_string compliance except for Lwt_ssl (need ocaml-ssl fix). * Add Lwt.Infix module to open instead of Lwt to have (>>=), etc. * Add Lwt_list.filter_map_{s,p} functions. * Add Lwt.fail_{with,invalid_arg} functions. * Improved Android support. * Remove deprecated lwt.text and lwt.top libraries. * Remove deprecated Lwt_signal and Lwt_event modules from lwt.react. * Fix #111: try_lwt wrongly warns about unused match case. * Fix #96: Fix Lwt_react.S.limit and Lwt_react.E.limit. * Fix #91: Workaround to fix compilation on OSX. * Add a ppx syntax extension * Add a ?fd argument to Lwt_io.{open_connection,with_connection,establish_server}. * Fix stub for getaddrinfo and getprotobyname * Windows fix: don't throw an exception in the notification handler if we're shutting down * Fix include file search in ./configure * ./configure fixes for windows * Fix: use sys_exit instead of exit when Unix.execv fails
mamash
pushed a commit
that referenced
this pull request
Apr 6, 2016
v2.1 - Issue #156 parsedatetime 2.0 doesn't work on py26 v2.0 - Issue #155 Relative times containing years fail when computed from a leap day - Issue #145 cal.parse('2015-11-18') returns November 19th 2015 - Issue #143 What is the second value returned by `parse`? - Issue #141 Bad test case in TestComplexDateTimes - Issue #123 update supporting files for v2.0 release - Issue #124 Put locales into config-files (yaml) - Issue #125 Remove extra files - Issue #137 Year is parsed wrongly if the date is of format MMM DD, YYxx xx:SS bug - Issue #136 Why I see 2016 instead of 2015? - Issue #133 Bug: "2015-01-01" is parsed as the current date. - Issue #126 "Unresolved attribute reference 'parse' for class 'object'... " in Pycharm IDE. bug - Issue #120 the pdt_locales/en_AU.py file uses en_A for the localID instead of en_AU - Issue #114 Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day - Issue #112 Document getting a time from parsedatetime into a standard Python structure - Issue #110 AttributeError when running in the context of an HTTP request - Issue #109 YearParseStyle is ignored for dates in MM/DD style - Issue #107 yyyy/mm/dd date format - Issue #105 "this week" is not parsed - Issue #103 get UTC times from parseDT - trouble with at 9:30 clock times being interpreted directly in UTC - Issue #100 Fractional deltas result in incoherent results. - PR #118 ADD: improve russian locale - PR #117 ADD: Russian Locale - PR #116 Fix spelling of "separator". - PR #115 Update README.rst - PR #113 Add datetime example to readme. - PR #111 Allowed real number appear in text like "5.5 days ago" v1.5 - Issue #99 Which year is implied when given just a month and day? Next and last? question - Issue #96 Word boundary issues for specials (on, at, in) in nlp - Issue #94 inconsistent application of sourceTime in Calendar.parseDT - Issue #87 nlp() doesn't recognize some "next ..." expressions - Issue #84 Afternoon? bug - Issue #82 'last week' and 'next week' are broken - Issue #81 parse returns default time of 0900 with dates like 'next friday' despite passed struct_time bug - Issue #78 Link for Travis in README is wrong - Issue #72 Enable travis - Issue #71 Calendar() class can not be initialized 1.4 (it's fine) - Issue #66 Unexpected struct_time flag with Calendar.parse on HTML <a href> string - Issue #65 NLP false positives - Issue #63 Supporting multiple shortweekday abbreviations - Issue #61 Short weekday abbreviations bug - Issue #56 Parse words to numbers (thirteen => 13) - Issue #54 testMonths fails - commit 107c7e4655 fix for issue 95 - parsing 'next june 15' - commit 2c0c8ec778 Fixed faulty test, "730am" parses as "73:0 am" which is a bug for a later day. - commit 6f244e891d Fix "ones" parsing as "1s." Require a word boundary between spelled numbers and units. - commit 035818edef Fix "1 day ago" parsing like "1d 1y ago" where "a" within the word "day" is interpreted as 1. - commit 45002e6eec Fixes "next week" and similar modifier + unit pairs in nlp() - commit 47d2e1d527 Fixed "last week" v1.4 - Updated setup.py for wheel compatibility - renamed README.txt to README.rst - renamed MANIFEST to MANIFEST.in - cleaned up a lot of the doc and notes - Commit 3fc165e701 mafagafo Now it works for Python 3.4.1 - Commit d5883801e7 borgstrom Restore Python 2.6 compatibility 1.3 - Issue #45 make a new release to really fix backwards compatibility - Issue #43 Please tag version 1.3 - Commit 29c5c8961d devainandor fixed Python 3 compatibility in pdtLocale_icu - Commit d7304f18f7 inean Fix support for 'now' when no modifiers are present - Commit 26bfc91c28 sashaacker Added parseDT method. - Commit 848deb47e2 rmecham Added support for dotted meridians. - Commit c821e08ce2 ccho-sevenrooms corrected misspelling of 'thirteen' - Biggest change is the addition of the nlp() function by Geoffrey Floyd: nlp() function that utilizes parse() after making judgements about what datetime information belongs together. It makes logical groupings based on proximity and returns a parsed datetime for each matched grouping of datetime text, along with location info within the given inputString.
jperkin
pushed a commit
that referenced
this pull request
Apr 7, 2016
v2.1 - Issue #156 parsedatetime 2.0 doesn't work on py26 v2.0 - Issue #155 Relative times containing years fail when computed from a leap day - Issue #145 cal.parse('2015-11-18') returns November 19th 2015 - Issue #143 What is the second value returned by `parse`? - Issue #141 Bad test case in TestComplexDateTimes - Issue #123 update supporting files for v2.0 release - Issue #124 Put locales into config-files (yaml) - Issue #125 Remove extra files - Issue #137 Year is parsed wrongly if the date is of format MMM DD, YYxx xx:SS bug - Issue #136 Why I see 2016 instead of 2015? - Issue #133 Bug: "2015-01-01" is parsed as the current date. - Issue #126 "Unresolved attribute reference 'parse' for class 'object'... " in Pycharm IDE. bug - Issue #120 the pdt_locales/en_AU.py file uses en_A for the localID instead of en_AU - Issue #114 Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day - Issue #112 Document getting a time from parsedatetime into a standard Python structure - Issue #110 AttributeError when running in the context of an HTTP request - Issue #109 YearParseStyle is ignored for dates in MM/DD style - Issue #107 yyyy/mm/dd date format - Issue #105 "this week" is not parsed - Issue #103 get UTC times from parseDT - trouble with at 9:30 clock times being interpreted directly in UTC - Issue #100 Fractional deltas result in incoherent results. - PR #118 ADD: improve russian locale - PR #117 ADD: Russian Locale - PR #116 Fix spelling of "separator". - PR #115 Update README.rst - PR #113 Add datetime example to readme. - PR #111 Allowed real number appear in text like "5.5 days ago" v1.5 - Issue #99 Which year is implied when given just a month and day? Next and last? question - Issue #96 Word boundary issues for specials (on, at, in) in nlp - Issue #94 inconsistent application of sourceTime in Calendar.parseDT - Issue #87 nlp() doesn't recognize some "next ..." expressions - Issue #84 Afternoon? bug - Issue #82 'last week' and 'next week' are broken - Issue #81 parse returns default time of 0900 with dates like 'next friday' despite passed struct_time bug - Issue #78 Link for Travis in README is wrong - Issue #72 Enable travis - Issue #71 Calendar() class can not be initialized 1.4 (it's fine) - Issue #66 Unexpected struct_time flag with Calendar.parse on HTML <a href> string - Issue #65 NLP false positives - Issue #63 Supporting multiple shortweekday abbreviations - Issue #61 Short weekday abbreviations bug - Issue #56 Parse words to numbers (thirteen => 13) - Issue #54 testMonths fails - commit 107c7e4655 fix for issue 95 - parsing 'next june 15' - commit 2c0c8ec778 Fixed faulty test, "730am" parses as "73:0 am" which is a bug for a later day. - commit 6f244e891d Fix "ones" parsing as "1s." Require a word boundary between spelled numbers and units. - commit 035818edef Fix "1 day ago" parsing like "1d 1y ago" where "a" within the word "day" is interpreted as 1. - commit 45002e6eec Fixes "next week" and similar modifier + unit pairs in nlp() - commit 47d2e1d527 Fixed "last week" v1.4 - Updated setup.py for wheel compatibility - renamed README.txt to README.rst - renamed MANIFEST to MANIFEST.in - cleaned up a lot of the doc and notes - Commit 3fc165e701 mafagafo Now it works for Python 3.4.1 - Commit d5883801e7 borgstrom Restore Python 2.6 compatibility 1.3 - Issue #45 make a new release to really fix backwards compatibility - Issue #43 Please tag version 1.3 - Commit 29c5c8961d devainandor fixed Python 3 compatibility in pdtLocale_icu - Commit d7304f18f7 inean Fix support for 'now' when no modifiers are present - Commit 26bfc91c28 sashaacker Added parseDT method. - Commit 848deb47e2 rmecham Added support for dotted meridians. - Commit c821e08ce2 ccho-sevenrooms corrected misspelling of 'thirteen' - Biggest change is the addition of the nlp() function by Geoffrey Floyd: nlp() function that utilizes parse() after making judgements about what datetime information belongs together. It makes logical groupings based on proximity and returns a parsed datetime for each matched grouping of datetime text, along with location info within the given inputString.
jperkin
pushed a commit
that referenced
this pull request
Jun 20, 2016
* CMake on MinGW and MSVC was unable to find time related types because time.h was not included. This header is now included for the checks. Patch #53. * If the test runner process catches a SIGTERM or SIGINT signal the running tests are now also killed. Patch #52. * If Check is compiled without support for fork(), the behavior of functions which require fork() to be useful have been changed. Functions that attempt to set CK_FORK mode are no-ops, check_fork() returns in failure, and check_waitpid_and_exit() exits in failure. * Add space around operators in assert messages for readability. Bug #102. * Use mkstemp() if available instead of tmpfile() or tempnam(). Patch #51. * Fix issue with string formatting in ck_assert(), where using the % operator would be interpreted as a string formatter. Bug #96. * In nofork mode, the location of a failed assertion within a test case was lost if that test case has a checked teardown fixture (even if that fixture function is empty). This is now fixed. Bug #99
jperkin
pushed a commit
that referenced
this pull request
Jul 17, 2016
What's new in Pylint 1.6.1? =========================== Release date: 2016-07-07 * Use environment markers for supporting conditional dependencies. What's New in Pylint 1.6.0? =========================== Release date: 2016-07-07 * Added a new extension, `pylint.extensions.mccabe`, for warning about complexity in code. * Deprecate support for --optimize-ast. Part of #975. * Deprecate support for the HTML output. Part of #975. * Deprecate support for --output-files. Part of #975. * Fixed a documentation error for the check_docs extension. Fixes #735. * Made the list of property-defining decorators configurable. * Fix a bug where the top name of a qualified import was detected as unused variable. Close #923. * bad-builtin is now an extension check. * generated-members support qualified name through regular expressions. For instance, one can specify a regular expression as --generated-members=astroid.node_classes.* for ignoring every no-member error that is accessed as in `astroid.node_classes.missing.object`. * Add the ability to ignore files based on regex matching, with the new ``--ignore-patterns`` option. This addresses issue #156 by allowing for multiple ignore patterns to be specified. Rather than clobber the existing ignore option, we introduced a new one called ignore-patterns. * Added a new error, 'trailing-newlines', which is emitted when a file has trailing new lines. Closes issue #682. * Add a new option, 'redefining-builtins-modules', for controlling the modules which can redefine builtins, such as six.moves and future.builtins. Close #464. * 'reimported' is emitted when the same name is imported from different module. Close #162. * Add a new recommendation checker, 'consider-iterating-dictionary', which is emitted which is emitted when a dictionary is iterated through .keys(). Close #699 * Use the configparser backport for Python 2 This fixes a problem we were having with comments inside values, which is fixed in Python 3's configparser. Close #828 * A new error was added, 'invalid-length-returned', when the `__len__` special method returned something else than a non-negative number. Close issue #557 * Switch to using isort internally for wrong-import-order. Closes #879. * check_docs extension can find constructor parameters in __init__. Closes #887. * Don't warn about invalid-sequence-index if the indexed object has unknown base classes. Closes #867 * Don't crash when checking, for super-init-not-called, a method defined in an if block. * Do not emit import-error or no-name-in-module for fallback import blocks by default. Until now, we warned with these errors when a fallback import block (a TryExcept block that contained imports for Python 2 and 3) was found, but this gets cumbersome when trying to write compatible code. As such, we don't check these blocks by default, but the analysis can be enforced by using the new ``--analyse-fallback-block`` flag. Close #769. What's New in Pylint 1.5.6? =========================== Release date: 2016-06-06 * config files with BOM markers can now be read. Close #864. * epylint.py_run does not crash on big files, using .communicate() instead of .wait() Close #599 What's New in Pylint 1.5.5? =========================== Release date: 2016-03-21 * Let visit_importfrom from Python 3 porting checker be called when everything is disabled Because the visit method was filtering the patterns it was expecting to be activated, it didn't run when everything but one pattern was disabled, leading to spurious false positives Close #852 * Don't emit unsubscriptable-value for classes with unknown base classes. Close #776. * Use an OrderedDict for storing the configuration elements This fixes an issue related to impredictible order of the disable / enable elements from a config file. In certain cases, the disable was coming before the enable which resulted in classes of errors to be enabled, even though the intention was to disable them. The best example for this was in the context of running multiple processes, each one of it having different enables / disables that affected the output. Close #815 * Don't consider bare and broad except handlers as ignoring NameError, AttributeError and similar exceptions, in the context of checkers for these issues. Closes issue #826 What's New in Pylint 1.5.4? =========================== Release date: 2016-01-15 * Merge StringMethodChecker with StringFormatChecker. This fixes a bug where disabling all the messages and enabling only a handful of messages from the StringFormatChecker would have resulted in no messages at all. * Don't apply unneeded-not over sets. What's New in Pylint 1.5.3? =========================== Release date: 2016-01-11 * Handle the import fallback idiom with regard to wrong-import-order. Closes issue #750. * Decouple the displaying of reports from the displaying of messages Some reporters are aggregating the messages instead of displaying them when they are available. The actual displaying was conflatted in the generate_reports. Unfortunately this behaviour was flaky and in the case of the JSON reporter, the messages weren't shown at all if a file had syntax errors or if it was missing. In order to fix this, the aggregated messages can now be displayed with Reporter.display_message, while the reports are displayed with display_reports. Closes issues #766 and #765. * Ignore function calls with variadic arguments without a context. Inferring variadic positional arguments and keyword arguments will result into empty Tuples and Dicts, which can lead in some cases to false positives with regard to no-value-for-parameter. In order to avoid this, until we'll have support for call context propagation, we're ignoring such cases if detected. Closes issue #722. * Treat AsyncFunctionDef just like FunctionDef nodes, by implementing visit_asyncfunctiondef in terms of visit_functiondef. Closes issue #767. * Take in account kwonlyargs when verifying that arguments are defined with the check_docs extension. Closes issue #745. * Suppress reporting 'unneeded-not' inside `__ne__` methods Closes issue #749. What's New in Pylint 1.5.2? =========================== Release date: 2015-12-21 * Don't crash if graphviz is not installed, instead emit a warning letting the user to know. Closes issue #168. * Accept only functions and methods for the deprecated-method checker. This prevents a crash which can occur when an object doesn't have .qname() method after the inference. * Don't emit super-on-old-class on classes with unknown bases. Closes issue #721. * Allow statements in `if` or `try` blocks containing imports. Closes issue #714. What's New in Pylint 1.5.1? =========================== Release date: 2015-12-02 * Don't emit unsubscriptable-object if the node is found inside an abstract class. Closes issue #685. * Add wrong-import-position to check_messages's decorator arguments for ImportChecker.leave_module This fixes an esoteric bug which occurs when ungrouped-imports and wrong-import-order are disabled and pylint is executed on multiple files. What happens is that without wrong-import-position in check_messages, leave_module will never be called, which means that the first non-import node from other files might leak into the current file, leading to wrong-import-position being emitted by pylint. * Fix a crash which occurred when old visit methods are encountered in plugin modules. Closes issue #711. * Don't emit import-self and cyclic-import for relative imports of modules with the same name as the package itself. Closes issues #708 and #706. What's New in Pylint 1.5.0? =========================== Release date: 2015-11-29 * Added multiple warnings related to imports. 'wrong-import-order' is emitted when PEP 8 recommendations regarding imports are not respected (that is, standard imports should be followed by third-party imports and then by local imports). 'ungrouped-imports' is emitted when imports from the same package or module are not placed together, but scattered around in the code. 'wrong-import-position' is emitted when code is mixed with imports, being recommended for the latter to be at the top of the file, in order to figure out easier by a human reader what dependencies a module has. Closes issue #692. * Added a new refactoring warning, 'unneeded-not', emitted when an expression with the not operator could be simplified. Closes issue #670. * Added a new refactoring warning, 'simplifiable-if-statement', used when an if statement could be reduced to a boolean evaluation of its test. Closes issue #698. * Added a new refactoring warning, 'too-many-boolean-expressions', used when a if statement contains too many boolean expressions, which makes the code less maintainable and harder to understand. Closes issue #677. * Property methods are shown as attributes instead of functions in pyreverse class diagrams. Closes Issue #284 * Add a new refactoring error, 'too-many-nested-blocks', which is emitted when a function or a method has too many nested blocks, which makes the code less readable and harder to understand. Closes issue #668. * Add a new error, 'unsubscriptable-object', that is emitted when value used in subscription expression doesn't support subscription (i.e. doesn't define __getitem__ method). * Don't warn about abstract classes instantiated in their own body. Closes issue #627. * Obsolete options are not present by default in the generated configuration file. Closes issue #632. * non-iterator-returned can detect classes with iterator-metaclasses. Closes issue #679. * Add a new error, 'unsupported-membership-test', emitted when value to the right of the 'in' operator doesn't support membership test protocol (i.e. doesn't define __contains__/__iter__/__getitem__) * Add new errors, 'not-an-iterable', emitted when non-iterable value is used in an iterating context (starargs, for-statement, comprehensions, etc), and 'not-a-mapping', emitted when non-mapping value is used in a mapping context. Closes issue #563. * Make 'no-self-use' checker not emit a warning if there is a 'super()' call inside the method. Closes issue #667. * Add checker to identify multiple imports on one line. Closes issue #598. * Fix unused-argument false positive when the "+=" operator is used. Closes issue #518. * Don't emit import-error for ignored modules. PyLint will not emit import errors for any import which is, or is a subpackage of, a module in the ignored-modules list. Closes issue #223. * Fix unused-import false positive when the import is used in a class assignment. Closes issue #475 * Add a new error, 'not-context-manager', emitted when something that doesn't implement __enter__ and __exit__ is used in a with statement. * Add a new warning, 'confusing-with-statement', emitted by the base checker, when an ambiguous looking with statement is used. For example `with open() as first, second` which looks like a tuple assignment but is actually 2 context managers. * Add a new warning, 'duplicate-except', emitted when there is an exception handler which handles an exception type that was handled before. Closes issue #485. * A couple of warnings got promoted to errors, since they could uncover potential bugs in the code. These warnings are: assignment-from-none, unbalanced-tuple-unpacking, unpacking-non-sequence, non-iterator-returned. Closes issue #388. * Allow ending a pragma control with a semicolon. In this way, users can continue a pragma control with a reason for why it is used, as in `# pylint: disable=old-style-class;reason=...`. Closes issue #449. * --jobs can be used with --load-plugins now. Closes issue #456. * Improve the performance of --jobs when dealing only with a package name. Closes issue #479. * Don't emit an unused-wildcard-import when the imported name comes from another module and it is in fact a __future__ name. * The colorized reporter now works on Windows. Closes issue #96. * Remove pointless-except warning. It was previously disabled by default and it wasn't very useful. Closes issue #506. * Fix a crash on Python 3 related to the string checker, which crashed when it encountered a bytes string with a .format method called. * Don't warn about no-self-use for builtin properties. * Fix a false positive for bad-reversed-sequence, when a subclass of a `dict` provides a __reversed__ method. * Change the default no-docstring-rgx so missing-docstring isn't emitted for private functions. * Don't emit redefined-outer-name for __future__ directives. Closes issue #520. * Provide some hints for the bad-builtin message. Closes issue #522. * When checking for invalid arguments to a callable, in typecheck.py, look up for the __init__ in case the found __new__ comes from builtins. Since the __new__ comes from builtins, it will not have attached any information regarding what parameters it expects, so the check will be useless. Retrieving __init__ in that case will at least detect a couple of false negatives. Closes issue #429. * Don't emit no-member for classes with unknown bases. Since we don't know what those bases might add, we simply ignore the error in this case. * Lookup in the implicit metaclass when checking for no-member, if the class in question has an implicit metaclass, which is True for new style classes. Closes issue #438. * Add two new warnings, duplicate-bases and inconsistent-mro. duplicate-bases is emitted when a class has the same bases listed more than once in its bases definition, while inconsistent-mro is emitted when no sane mro hierarchy can be determined. Closes issue #526. * Remove interface-not-implemented warning. Closes issue #532. * Remove the rest of interface checks: interface-is-not-class, missing-interface-method, unresolved-interface. The reason is that its better to start recommending ABCs instead of the old Zope era of interfaces. One side effect of this change is that ignore-iface-methods becomes a noop, it's deprecated and it will be removed at some time. * Emit a proper deprecation warning for reporters.BaseReporter.add_message. The alternative way is to use handle_message. add_message will be removed in Pylint 1.6. * Added new module 'extensions' for optional checkers with the test directory 'test/extensions' and documentation file 'doc/extensions.rst'. * Added new checker 'extensions.check_docs' that verifies parameter documention in Sphinx, Google, and Numpy style. * Detect undefined variable cases, where the "definition" of an undefined variable was in del statement. Instead of emitting used-before-assignment, which is totally misleading, it now emits undefined-variable. Closes issue #528. * Don't emit attribute-defined-outside-init and access-member-before-definition for mixin classes. Actual errors can occur in mixin classes, but this is controlled by the ignore-mixin-members option. Closes issue #412. * Improve the detection of undefined variables and variables used before assignment for variables used as default arguments to function, where the variable was first defined in the class scope. Closes issue #342 and issue #404. * Add a new warning, 'unexpected-special-method-signature', which is emitted when a special method (dunder method) doesn't have the expected signature, which can lead to actual errors in the application code. Closes issue #253. * Remove 'bad-context-manager' due to the inclusion of 'unexpected-special-method-signature'. * Don't emit no-name-in-module if the import is guarded by an ImportError, Exception or a bare except clause. * Don't emit no-member if the attribute access node is protected by an except handler, which handles AttributeError, Exception or it is a bare except. * Don't emit import-error if the import is guarded by an ImportError, Exception or a bare except clause. * Don't emit undefined-variable if the node is guarded by a NameError, Exception or bare except clause. * Add a new warning, 'using-constant-test', which is emitted when a conditional statement (If, IfExp) uses a test which is always constant, such as numbers, classes, functions etc. This is most likely an error from the user's part. Closes issue #524. * Don't emit 'raising-non-exception' when the exception has unknown bases. We don't know what those bases actually are and it's better to assume that the user knows what he is doing rather than emitting a message which can be considered a false positive. * Look for a .pylintrc configuration file in the current folder, if pylintrc is not found. Dotted pylintrc files will not be searched in the parents of the current folder, as it is done for pylintrc. * Add a new error, 'invalid-unary-type-operand', emitted when an unary operand is used on something which doesn't support that operation (for instance, using the unary bitwise inversion operator on an instance which doesn't implement __invert__). * Take in consideration differences between arguments of various type of functions (classmethods, staticmethods, properties) when checking for `arguments-differ`. Closes issue #548. * astroid.inspector was moved to pylint.pyreverse, since it belongs there and it doesn't need to be in astroid. * astroid.utils.LocalsVisitor was moved to pylint.pyreverse.LocalsVisitor. * pylint.checkers.utils.excepts_import_error was removed. Use pylint.chekcers.utils.error_of_type instead. * Don't emit undefined-all-variables for nodes which can't be inferred (YES nodes). * yield-outside-func is also emitted for `yield from`. * Add a new error, 'too-many-star-expressions', emitted when there are more than one starred expression (`*x`) in an assignment. The warning is emitted only on Python 3. * Add a new error, 'invalid-star-assignment-target', emitted when a starred expression (`*x`) is used as the lhs side of an assignment, as in `*x = [1, 2]`. This is not a SyntaxError on Python 3 though. * Detect a couple of objects which can't be base classes (bool, slice, range and memoryview, which weren't detected until now). * Add a new error for the Python 3 porting checker, `import-star-module-level`, which is used when a star import is detected in another scope than the module level, which is an error on Python 3. Using this will emit a SyntaxWarning on Python 2. * Add a new error, 'star-needs-assignment-target', emitted on Python 3 when a Starred expression (`*x`) is not used in an assignment target. This is not caught when parsing the AST on Python 3, so it needs to be a separate check. * Add a new error, 'unsupported-binary-operation', emitted when two a binary arithmetic operation is executed between two objects which don't support it (a number plus a string for instance). This is currently disabled, since the it exhibits way too many false positives, but it will be reenabled as soon as possible. * New imported features from astroid into pyreverse: pyreverse.inspector.Project, pyreverse.inspector.project_from_files and pyreverse.inspector.interfaces. These were moved since they didn't belong in astroid. * Enable misplaced-future for Python 3. Closes issue #580. * Add a new error, 'nonlocal-and-global', which is emitted when a name is found to be both nonlocal and global in the same scope. Closes issue #581. * ignored-classes option can work with qualified names (ignored-classes=optparse.Values) Closes issue #297. * ignored-modules can work with qualified names as well as with Unix pattern matching for recursive ignoring. Closes issues #244. * Improve detection of relative imports in non-packages, as well as importing missing modules with a relative import from a package. * Don't emit no-init if not all the bases from a class are known. Closes issue #604. * --no-space-check option accepts `empty-line` as a possible option. Closes issue #541. * --generate-rcfile generates by default human readable symbols for the --disable option. Closes issue #608. * Improved the not-in-loop checker to properly detect more cases. * Add a new error, 'continue-in-finally', which is emitted when the `continue` keyword is found inside a `finally` clause, which is a SyntaxError. * The --zope flag is deprecated and it is slated for removal in Pylint 1.6. The reason behind this removal is the fact that it's a specialized flag and there are solutions for the original problem: use --generated-members with the members that causes problems when using Zope or add AST transforms tailored to the zope project. At the same time, --include-ids and --symbols will also be removed in Pylint 1.6. Closes issue #570. * missing-module-attribute was removed and the corresponding CLI option, required-attributes, which is slated for removal in Pylint 1.6. * missing-reversed-argument was removed. The reason behind this is that this kind of errors should be detected by the type checker for *all* the builtins and not as a special case for the reversed builtin. This will happen shortly in the future. * --comment flag is obsolete and it will be removed in Pylint 1.6. * --profile flag is obsolete and it will be removed in Pylint 1.6. * Add a new error, 'misplaced-bare-raise'. The error is used when a bare raise is not used inside an except clause. This can generate a RuntimeError in Python, if there are no active exceptions to be reraised. While it works in Python 2 due to the fact that the exception leaks outside of the except block, it's nevertheless a behaviour that an user shouldn't depend upon, since it's not obvious to the reader of the code what exception will be raised and it will not be compatible with Python 3 anyhow. Closes issue #633. * Bring logilab-common's ureports into pylint.reporters. With this change, we moved away from depending on logilab-common, having in Pylint all the components that were used from logilab-common. The API should be considered an implementation detail and can change at some point in the future. Closes issue #621. * `reimported` is emitted for reimported objects on the same line. Closes issue #639. * Abbreviations of command line options are not supported anymore. Using abbreviations for CLI options was never considered to be a feature of pylint, this fact being only a side effect of using optparse. As this was the case, using --load-plugin or other abbreviation for --load-plugins never actually worked, while it also didn't raise an error. Closes issue #424. * Add a new error, 'nonlocal-without-binding' The error is emitted on Python 3 when a nonlocal name is not bound to any variable in the parents scopes. Closes issue #582. * 'deprecated-module' can be shown for modules which aren't available. Closes issue #362. * Don't consider a class abstract if its members can't be properly inferred. This fixes a false positive related to abstract-class-instantiated. Closes issue #648. * Add a new checker for the async features added by PEP 492. * Add a new error, 'yield-inside-async-function', emitted on Python 3.5 and upwards when the `yield` statement is found inside a new coroutine function (PEP 492). * Add a new error, 'not-async-context-manager', emitted when an async context manager block is used with an object which doesn't support this protocol (PEP 492). * Add a new convention warning, 'singleton-comparison', emitted when comparison to True, False or None is found. * Don't emit 'assigning-non-slot' for descriptors. Closes issue #652. * Add a new error, 'repeated-keyword', when a keyword argument is passed multiple times into a function call. This is similar with redundant-keyword-arg, but it's mildly different that it needs to be a separate error. * --enable=all can now be used. Closes issue #142. * Add a new convention message, 'misplaced-comparison-constant', emitted when a constant is placed in the left hand side of a comparison, as in '5 == func()'. This is also called Yoda condition, since the flow of code reminds of the Star Wars green character, conditions usually encountered in languages with variabile assignments in conditional statements. * Add a new convention message, 'consider-using-enumerate', which is emitted when code that uses `range` and `len` for iterating is encountered. Closes issue #684. * Added two new refactoring messages, 'no-classmethod-decorator' and 'no-staticmethod-decorator', which are emitted when a static method or a class method is declared without using decorators syntax. Closes issue #675.
jperkin
pushed a commit
that referenced
this pull request
Nov 28, 2016
A major update to Streamlink. With this release, we include a Windows binary as well as numerous plugin changes and fixes. The main features are: Windows binary (and generation!) thanks to the fabulous work by @beardypig Multiple plugin fixes Remove unneeded run-as-root (no more warning you when you run as root, we trust that you know what you're doing) Fix stream quality naming issue Beardypig <[email protected]> (13): fix stream quality naming issue with py2 vs. py3, fixing #89 (#96) updated connectcast plugin to support the new rtmp streams; fixes #93 (#95) Fix for erroneous escape coding the livecoding plugin. Fixes #106 (#121) TVPlayer.com: fix for 400 error, correctly set the platform parameter (#123) Added a method to automatically determine the encoding when parsing JSON, if no encoding is provided. (#122) when retry-streams and twitch-disable-hosting arguments are used the stream is retried until a non-hosted stream is found (#125) plugins.goodgame: Update for API change (#130) plugins.adultswim: added a new adultswim.com plugin (#139) plugins.goodgame: restored DDOS protection cookie support (#136) plugins.younow: update API url (#135) plugins.euronew: update to support the new site (#141) plugins.webtv: added a new plugin to support web.tv (#144) plugins.connectcast: fix regex issue with python 3 (#152) Brainzyy <[email protected]> (1): Add piczel.tv plugin (courtesy of @intact) (#114) Charlie Drage <[email protected]> (1): Update release scripts Erk- <[email protected]> (1): Changed the twitch plugin to use https instead of http as discussed in #103 (#104) Forrest <[email protected]> (2): Modify the changelog link (#107) Update cli to note a few windows issues (#108) Simon Bernier St-Pierre <[email protected]> (1): change icon Simon Bernier St-Pierre <[email protected]> (1): finish the installer (#98) Stefan <[email protected]> (1): Debian packaging base (#80) Stefan <[email protected]> (1): remove run-as-root option, reworded warning #85 (#109) Weslly <[email protected]> (1): Fixed afreecatv.com url matching (#90) bastimeyer <[email protected]> (2): Improve NSIS installer script Remove shortcut from previous releases on Windows beardypig <[email protected]> (8): plugins.cybergame: update to support changes to the live streams on the cybergame.tv website Use pycryptodome inplace of pyCrypto Automated build of the Windows NSIS installer support for relative paths for rtmpdump makeinstaller: install the streamlinkrc file in to the users %APPDATA% directory remove references to livestreamer in the win32 config template stream.rtmpdump: fixed the rtmpdump path issue, introduced in 6bf7fd7 pin requests to <2.12.0 to avoid the strict IDNA2008 validation ethanhlc <[email protected]> (1): fixed instance of livestreamer (#99) intact <[email protected]> (1): plugins.livestream: Support old player urls mmetak <[email protected]> (2): fix vaughnlive.tv info_url (#88) fix vaughnlive.tv info_url (yet again...) (#143) skulblakka <[email protected]> (1): Overworked Plugin for ZDF Mediathek (#154) sqrt2 <[email protected]> (1): Fix ORF TVthek plugin (#113) tam1m <[email protected]> (1): Fix zdf_mediathek TypeError (#156)
jperkin
pushed a commit
that referenced
this pull request
Dec 27, 2016
Upstream changes: stringr 1.1.0 Add sample datasets: fruit, words and sentences. fixed(), regex(), and coll() now throw an error if you use them with anything other than a plain string (#60). I've clarified that the replacement for perl() is regex() not regexp() (#61). boundary() has improved defaults when splitting on non-word boundaries (#58, @lmullen). str_detect() now can detect boundaries (by checking for a str_count() > 0) (#120). str_subset() works similarly. str_extract() and str_extract_all() now work with boundary(). This is particularly useful if you want to extract logical constructs like words or sentences. str_extract_all() respects the simplify argument when used with fixed() matches. str_subset() now respects custom options for fixed() patterns (#79, @gagolews). str_replace() and str_replace_all() now behave correctly when a replacement string contains $s, \\\\1, etc. (#83, #99). str_split() gains a simplify argument to match str_extract_all() etc. str_view() and str_view_all() create HTML widgets that display regular expression matches (#96). word() returns NA for indexes greater than number of words (#112).
jperkin
pushed a commit
that referenced
this pull request
May 30, 2017
19 May 2017 Ike Devolder * release: 0.7.1 * fixed basepath issues #93 * made distcheck behaviour consistent with different --srcdir #96 * properly package distribution package #98 * cross compile for windows to get redistributable exe #94 * change distribution format to tar.gz and tar.bz2 for unix and keep zip for windows #97
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add missing
LDFLAGS.SunOS+= -lnsl
to build on SmartOS machines. Because of theLICENSE
i'm not sure, it's missing but i couldn't find any matching file in the license folder.