forked from jsonn/pkgsrc
-
Notifications
You must be signed in to change notification settings - Fork 64
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
ne: fix build on SmartOS #106
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
libass (0.10.2) * API additions and some ABI changes, bumped SONAME * Expose header field for VSFilter color mangling (GC #87) * Add functions for explicit scaling hints (GC #6) * Add 'type' field to ASS_Image (GC #31) * Workaround Freetype's font size grid-fitting where appropriate * Apply blur to both glyph and border when using opaque box * Parser bugfixes * Parse angles in style as number * Fix fallback event formats * Make closing ')' optional for some tags * Fix crazy VSFilter behaviour for \move (GC #90) * Make \r fall back to line style (GC #104) * Parse style name like VSFilter * Ignore junk in nested \t tags * Make \clip tag arguments mandatory * Properly handle script and language in the HarfBuzz shaper * Allow ASS_Track and ASS_Renderer to have different ASS_Library * Fix stroking in some rare cases * Correctly handle @font advance (GC #94) * Fix ascent/descent for some fonts (GC #106) * Fix ass_step_sub to not require sorted events * Fix blur scaling * Don't mutate input strings (GC #88) * Remove/change some error messages * Fix various small memory leaks
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
1.3.4 (2013-02-28) * Support RDoc 4.0 (#168, judofyr) * Add mention of Org-Mode support (#165, aslakknutsen) * Add AsciiDoctorTemplate (#163, #164, aslakknutsen) * Add PlainTextTemplate (nathanaeljones) * Restrict locals to valid variable names (#158, thinkerbot) * ERB: Improve trim mode support (#156, ssimeonov) * Add CSVTemplate (#153, alexgb) * Remove special case for 1.9.1 (#147, guilleiguaran) * Add allows_script? method to Template (#143, bhollis) * Default to using Redcarpet2 (#139, DAddYE) * Allow File/Tempfile as filenames (#134, jamesotron) * Add EtanniTemplate (#131, manveru) * Support RDoc 3.10 (#112, timfel) * Less: Options are now being passed to the parser (#106, cowboyd)
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
- some address fixes to contrib - fixed duplicate install-sh entry in archive - set oid-mib-cache file for New_SNMP_util as well #106 - prevent spurious warnings about unknonwn values of inlast outlast in mrtg - add the process id tmp file extensions, to guard against multiple rateup instances messing things up for each other. (attempt to fix #115) - quell warning in CnTWaLK mode #111 - spelling fixes - make threshold checking more robust against incomplete information in the config file #113 - support ifAlias for Vyatta gear - CnTWaLK should add the count and not max index - abort indexmaker if there is no data to be found - fix for big5 translation - in cfgmaker use ifdesc=alias only if there is actualy alias info - fix of a file pointer leak found by coverity scan - fix for kMG support in rateup - add support for zyxel ifAlias - add support for Matrix N7 Diamond - enable warnings in cfgmaker and fix issues ... - explicitly import SOCK_DGRAM and AF_UNSPEC to make ipv6 support work - Updated Net_SNMP_util.pm and SNMP_util.pm to latest versions
jperkin
pushed a commit
that referenced
this pull request
Dec 9, 2013
libass (0.10.2) * API additions and some ABI changes, bumped SONAME * Expose header field for VSFilter color mangling (GC #87) * Add functions for explicit scaling hints (GC #6) * Add 'type' field to ASS_Image (GC #31) * Workaround Freetype's font size grid-fitting where appropriate * Apply blur to both glyph and border when using opaque box * Parser bugfixes * Parse angles in style as number * Fix fallback event formats * Make closing ')' optional for some tags * Fix crazy VSFilter behaviour for \move (GC #90) * Make \r fall back to line style (GC #104) * Parse style name like VSFilter * Ignore junk in nested \t tags * Make \clip tag arguments mandatory * Properly handle script and language in the HarfBuzz shaper * Allow ASS_Track and ASS_Renderer to have different ASS_Library * Fix stroking in some rare cases * Correctly handle @font advance (GC #94) * Fix ascent/descent for some fonts (GC #106) * Fix ass_step_sub to not require sorted events * Fix blur scaling * Don't mutate input strings (GC #88) * Remove/change some error messages * Fix various small memory leaks
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
- some address fixes to contrib - fixed duplicate install-sh entry in archive - set oid-mib-cache file for New_SNMP_util as well #106 - prevent spurious warnings about unknonwn values of inlast outlast in mrtg - add the process id tmp file extensions, to guard against multiple rateup instances messing things up for each other. (attempt to fix #115) - quell warning in CnTWaLK mode #111 - spelling fixes - make threshold checking more robust against incomplete information in the config file #113 - support ifAlias for Vyatta gear - CnTWaLK should add the count and not max index - abort indexmaker if there is no data to be found - fix for big5 translation - in cfgmaker use ifdesc=alias only if there is actualy alias info - fix of a file pointer leak found by coverity scan - fix for kMG support in rateup - add support for zyxel ifAlias - add support for Matrix N7 Diamond - enable warnings in cfgmaker and fix issues ... - explicitly import SOCK_DGRAM and AF_UNSPEC to make ipv6 support work - Updated Net_SNMP_util.pm and SNMP_util.pm to latest versions
jperkin
pushed a commit
that referenced
this pull request
Jan 21, 2014
libass (0.10.2) * API additions and some ABI changes, bumped SONAME * Expose header field for VSFilter color mangling (GC #87) * Add functions for explicit scaling hints (GC #6) * Add 'type' field to ASS_Image (GC #31) * Workaround Freetype's font size grid-fitting where appropriate * Apply blur to both glyph and border when using opaque box * Parser bugfixes * Parse angles in style as number * Fix fallback event formats * Make closing ')' optional for some tags * Fix crazy VSFilter behaviour for \move (GC #90) * Make \r fall back to line style (GC #104) * Parse style name like VSFilter * Ignore junk in nested \t tags * Make \clip tag arguments mandatory * Properly handle script and language in the HarfBuzz shaper * Allow ASS_Track and ASS_Renderer to have different ASS_Library * Fix stroking in some rare cases * Correctly handle @font advance (GC #94) * Fix ascent/descent for some fonts (GC #106) * Fix ass_step_sub to not require sorted events * Fix blur scaling * Don't mutate input strings (GC #88) * Remove/change some error messages * Fix various small memory leaks
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 27, 2014
0.991 2014-01-16T23:24:33Z - Greatly simplified determining the Firebird ISQL client. It no longer tries so hard to find a full path, but does seach through the path list for a likely candidate between fbsql, isql-fb, and isql (or equivalents ending in .exe on Windows). - Removed a bunch of inappropriately pasted stuff from the Firebird tutorial, and updated it a bit. - `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and `@ROOT`, when querying the database, too. That means that `revert --to HEAD` now works the same as `revert --to @HEAD`, as had been expected in v0.990. - Eliminated "use of uninitialized value" warnings when database connections fail. - Reduced the minimum required DBD::Firebird to v1.11. - Fixed the `--verbose` option to the `target` command. - Eliminated more user-configuration issues in tests, thanks to chromatic. - Fixed test failures when the `$PGPASSWORD` environment variable is set, thanks to Ioan Rogers's test smoker. 0.990 2014-01-04T01:14:24Z [New Features] - Added new command and feature: `target`. Use it to manage multiple database targets, each with an associated URI and, optionally, a registry name and command-line client. Inspired by Git remotes. - Added Firebird engine. Three cheers to Ștefan Suciu for this contribution! - Added support for the generation of arbitrary scripts from templates to the `add` command. Just add template files to subdirectories of the `templates` directory, and scripts will be created in a directory of the same name based on those templates. - Added `--open-editor` option (and aliases) to the `add` and `rework` commands. This option will open the newly-added change scripts in the preferred editor. Thanks to Thomas Sibley for the patch! [Improvements] - Improved database driver loading to ensure the proper version of the driver is required. - Non-fatal but possibly unexpected messages -- which correspond to exit value 1 -- now send their messages to STDOUT instead of STDERR, and respect the `--quiet` option. Thanks to @giorgio-v for the report! - Added or replaced the `--target` option to commands that connect to a database to specify the name of target managed by the new `target` command or a database URI. - `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and `@ROOT`, respectively, since they are disallowed as change names, anyway, and folks often use them out of habit from Git. [Internals] - Replaced the engine-specific connection attributes with three attributes use by every engine: * `target`: The name of a target managed by the new `target` command. Defaults to a value stored for the `core.$engine.target` configuration variable. If that variable does not exist, the target falls back on the stringification of `uri`. * `uri`: a database URI with the format `db:{engine}:{dbname}` or `db:{engine}://{user}:{password}@{host}:{port}/{dbname}`. If its value is not passed to the constructor, a `uri` value is looked up for the associated `target`. If `target` is not passed or configured, or if it has no URI associated with it, the `config.$engine.uri` configuration variable is used. If that value does not exist, the URI defaults to `db:$engine:`. In any of these cases, if any of the `--db-*` options are passed, they will be merged into the URI. * `registry`: the name to use for the Sqitch registry schema or database, where Sqitch's own data will be stored, as appropriate to each engine. If its value is not passed to the constructor, a `registry` value is looked up for the associated `target`. If `target` is not passed or configured, or if it has no registry associated with it, the `config.$engine.registry` configuration variable is used. If no value is found there, it defaults to an engine-specific value, usually "sqitch". [Bug Fixes] - Fixed a bug when installing under local::lib. Thanks to Thomas Sibley for the pull request! - Eliminated "Wide character in print" warnings when piping the `log` command. - Documented that reworked changes do not have their verify tests run by the `verify` command. They do run when using the `--verify` deploy option. - Removed the documentation for the `add.with_deploy`, `add.with_revert`, and `add.with_verify` configuration variables, which were never implemented. [Deprecations] - Deprecated engine-specific connection attributes and configuration variables. See the "Internals" section for their replacements. The deprecated options are: * `core.$engine.username` * `core.$engine.password` * `core.$engine.db_name` * `core.$engine.host` * `core.$engine.port` * `core.$engine.sqitch_schema` * `core.$engine.sqitch_db` - Deprecated all command-specific options with the string "target" in them, such as `--to-target`, `--upto-target`, etc. They have been replaced with options containing the string "change", instead, such as `--to-change` and `--upto-change`. Few people used these options, preferring their shorter aliases (`--to`, `--upto`, etc.). - Deprecated the `--deploy-template`, `--revert-template`, and `--verify-template` options to the `add` command. They are replaced with a single option, `--use` which takes a key/value pair for the script name and template path. This makes it useful for arbitrary script generation, as well. - Deprecated the `--deploy`, `--revert`, and `--verify` options to the `add` command, as well as their `--no-*` variants. They are replaced with two new options, `--with` and `--without`, to which a script name is passed. These are useful for arbitrary script generation, as well. - Deprecated the `add.deploy_template`, `add.revert_template`, and `add.verify_template` configuration settings. They have been replaced with a section, `add.templates`, which is more general, and supports arbitrary script generation, as well. [Incompatibilities] - Removed the undocumented `--test` option to the `add` command. - Changed the meaning of `--target` from specifying a change to specifying a deployment target. Use the new `--change` option to specify a change. 0.983 2013-11-21T21:50:12Z - Fixed "Use of uninitialized value" in the MySQL engine. Thanks to Jean-Michel REY for the report. - All tests now protect against failures due to the presence of the `$SQITCH_CONFIG` environment variable (issue #114). - The installer now respects the `distdir` option to `Build.PL` when searching for existing templates. Important for packaging. - Fixed the error "Table 'sqitch.changes' doesn't exist" when deploying to a MySQL database that exists but has not been initialized. Thanks to Jean-Michel REY for the report! - Refactored the handling of the C<--log-only> option so it sets an engine attribute, rather than passing the flag to a whole stack of method calls. - Fixed "Argument "en_us" isn't numeric" error on Windows. - Now using `LC_ALL` instead of `LC_MESSAGES` when setting the locale, as the latter is not present on Windows. - The sqitch-pg RPM now requires DBD::Pg 2.0.0 or higher. - Improved handling of invalid command names so that the error message is less ambiguous when triggered by a Perl parse error. - Added `-m` as an alias for `--note`, for you Git folks out there. - Added exception handling to the Postgres and Oracle engines to avoid unexpected errors when deploying to a database that has not been deployed to before. - Updated detection of an uninitialized database to double-check with the engine that it really thinks it's uninitialized, not just that the "changes" table is missing. This should catch the case where the database has its own "changes" table unrelated to Sqitch. 0.982 2013-09-11T18:26:07Z - Errors thrown by Template toolkit are no longer silently ignored. - Variables passed to change templates are now cloned before the execution of each template. This prevents one template from deleting variable values another template might also need. - Fixed "The getpwnam function is unimplemented" errors on Win32. - No longer runs revert scripts when deploying with `--log-only` and a verify script fails, as that could lead to data loss (yikes!). Thanks to BryLo for the report (issue #112). 0.981 2013-09-06T00:22:26Z - Now use Encode::Locale to try to decode the user's full name from the system encoding when fetched from the system on all OSes. Note that this is not necessary if the `user.name` config is explicitly set, as recommended. Issue #107. - Removed the special-case handling of the user's full name fetched from the system on OS X. - Added call to `sleep` to test in an attempt to fix SQLite failures. - The SQLite engine now requires that the SQLite client be 3.3.9 or later, for support of the `-bail` option. - Bug fix: The MySQL engine now properly uses the host, port, and password options when connecting to the database. Thanks to vreb87 for the report! 0.980 2013-08-28T21:40:00Z - Changed the default SQLite Sqitch database name from `$dbname-sqitch.$suffix` to `sqitch.$suffix`. The `$suffix` still comes from the destination database name. This breaks compatibility with previous releases. If you need the old name, set it with `sqitch config core.sqlite.sqitch_db $dbname`. - Fixed encoding of the user's full name when fetched from the system on OS X. Thanks to Tomohiro Hosaka for the pull request! - Fixed test failures when DBD::SQLite is installed but compiled with SQLite 3.7.10 or lower. - Fixed a bug where declaring a dependency on a reworked change would incorrectly result in the error "Key "foo" matches multiple changes". Thanks to BryLo for the report (issue #103). - Modified tests to allow them to run in parallel without stomping on each other. - Bundling of options, such as `-vvv`, now works properly (issue #108). - Added alias `--get-regexp` for `--get-regex` to the `config` command. This brings it in line with the documentation for the `config` command (Issue #110). - Fixed all of the `config` command actions that contain a dash so that they actually work. Thanks to Ștefan Suciu for the report (issue #110). - All leading and trailing white space is now trimmed from plan notes, rather than just vertical white space. Thanks to Ronan Dunklau for the report (issue #106). - The `status` command now notices if the specified database is uninitialized and says as much, rather than dying with an SQL error (issue #109). - When reading the user's username from the system Sqitch now uses Encode::Locale to try to decode the value from the system encoding. Issue #107. - Compatibility change: Changed the location and name of script template files. Previously they were called `deploy.tmpl`, `revert.tmpl`, and `verify.tmpl`, and they lived in the `templates` subdirectory of the system-wide and user-specific configuration directories. They now live in subdirectories of the `templates` directory named for each action (deploy, revert, and verify), and with file names matching engine names (`pg.tmpl`, `sqlite.tmpl`, `oracle.tmpl`, and `mysql.tmpl`). The installer will move old files from the system-wide config directory (`sqitch --etc-path`) to their new homes, named `pg.tmpl` and `sqlite.tmpl`. It assumes no customizations exist for Oracle. If that's not true in your case, simply copy the `pg.tmpl` files to `oracle.tmpl`. - Added the `--template-name` option to the `add` command. By default, it looks for templates named for the current engine. The option allows for the user of task-specific templates. For example, if you create templates named `createtable.tmpl` in the `deploy`, `revert`, and `verify` subdirectories of `~/.sqitch/templates`, You can specify `--template-name createtable` to use those templates when adding a change. - Added the `--exists` option to the `show` command. - Fixed the `--set` option to the `add` command so that duplicate keys have their values passed to the template as an array, as documented. - If Template::Toolkit is installed, the `add` command will use it for processing templates instead of Template::Tiny. This makes it easy to upgrade the templating environment just by installing a module. 0.973 2013-07-03T13:47:22Z - Now Require DBD::SQLite compiled with SQLite 3.7.11 or higher. It always has, but now it throws a meaningful exception if an older version is compiled into DBD::SQLite. Thanks to Damon Buckwalter for the report. - When a deploy fails because of missing dependencies, the list of missing dependencies no longer contains duplicates. Thanks to Damon Buckwalter for the report. 0.972 2013-05-31T23:26:52Z - Fixed test failures on Windows. - Fixed locale configuration on Windows so that `sqitch` will actually run, rather than exiting with an error about `LC_MESSAGES` not being set. - Fixed a test hang on Windows when DBD::Oracle is installed but the Oracle libraries (`OCI.dll`) are not or cannot be found. This was triggering a UI dialog that did not dismiss itself. Using Win32::API to work around this issue. Thanks to Jan Dubois for the fix. 0.971 2013-05-18T21:08:51Z - Removed most uses of the smartmatch operator, since as of Perl 5.17.11 it is marked as experimental, and silenced the warning where it is still used. - Added 0.1s sleep between logging changes back-to-back in the engine tests, mostly to try to get SQLite to generate different timestamps. Pretty sure the recent test failures have been due to the passage of less than a millisecond between the two inserts. - Added the `shell` and `quote_shell` methods to Sqitch.pm for shelling out a command. - Sqitch now shells out to an editor when opening a file for the user to edit. For example, if the `$EDITOR` environment variable is set to `"emacs -nw"`, it will now work. Thanks to Florian Ragwitz for the report (issue #80). - Removed the pod-checking tests from the distribution. 0.970 2013-05-09T00:21:06Z - Fixed the default ordering of changes displayed by the `plan` command. They are now ascending by default. - Switched to PerlIO::utf8_strict for fast character encoding and decoding. - The help emitted when an unknown option is passed to `sqitch` now consists of a usage statement and brief table of options, rather than the entire man page. - Added the project name in a header to the output of the `plan` command. - Added the Oracle engine. - Added `sqitchtutorial-oracle.pod`, a Oracle-specific variant of `sqitchtutorial.pod`. - Added missing version declaration to the App::Sqitch::Plan::* modules. - Devel::StackTrace 1.30 is now properly required (it was previously recommended). - The `--show-tags` and `--show-changes` options to the `status` command now show the changes when the project plan cannot be found (issue #90). 0.965 2013-04-23T16:25:59Z - Fixed failing test due to line-ending character variations on Windows. Many thanks to Jan Dubois for the testing help. - Replaced all uses of `$/` in output to `"\n"`. Thanks to Jan Dubois for pointing out the incorrect use of `$/`. - Fixed build error that prevented installation on Perl 5.10 when the parent module was not installed. 0.964 2013-04-15T18:47:30Z - Fixed test failures on Perl versions lower than 5.14 when DBD::SQLite or DBD::Pg is not installed. - Removed DBD::SQLite from the list of build dependencies. - Fixed test failures due to encoded (wide-character) warnings on triggered on systems with non-english locales. Thanks to Alexandr Ciornii for the smoke testing that revealed this issue. - Removed overriding of Throwable's `previous_exception` in App::Sqitch::X on Throwable 0.200007 and higher, where it is no longer needed. - Changed test comparing file contents that fails on Windows to do a looser comparison and hopefully fix the test failure. 0.963 2013-04-12T19:11:29Z - Fixed a test failure when Git is in the execution path and the test is not run from a Git checkout. - Added `plan` to `sqitchchanges`, the contents of which are shown when Sqitch is run with no command. - Removed the unique constraint on tag names in the database, as it prevented two projects from having the same tag name. Replaced it with a unique constraint on the project and tag names. Folks with production PostgreSQL installs should run these queries: ALTER TABLE sqitch.tags DROP CONSTRAINT tags_tag_key, ADD UNIQUE(project, tag); COMMENT ON COLUMN sqitch.tags.tag IS 'Project-unique tag name.'; - Fixed failing tests when DBD::SQLite is not installed. - Removed dependency on Git::Wrapper. The `checkout` command does things very simply, and we already have tools for running command-line applications. So we just take advantage of that. The code is no more complicated than it was before. - Added the `core.vcs.client` configuration setting. Defaults to `git` (or `git.exe` on Windows). 0.962 2013-04-10T17:10:05Z - Fixed failing test on Perl 5.12 and lower. - Fixed the French translation by re-encoding it in UTF-8 (Ronan Dunklau). - Fixed the loading of the editor with placeholder text to properly encode that text as UTF-8 (Ronan Dunklau).
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
1.3.4 (2013-02-28) * Support RDoc 4.0 (#168, judofyr) * Add mention of Org-Mode support (#165, aslakknutsen) * Add AsciiDoctorTemplate (#163, #164, aslakknutsen) * Add PlainTextTemplate (nathanaeljones) * Restrict locals to valid variable names (#158, thinkerbot) * ERB: Improve trim mode support (#156, ssimeonov) * Add CSVTemplate (#153, alexgb) * Remove special case for 1.9.1 (#147, guilleiguaran) * Add allows_script? method to Template (#143, bhollis) * Default to using Redcarpet2 (#139, DAddYE) * Allow File/Tempfile as filenames (#134, jamesotron) * Add EtanniTemplate (#131, manveru) * Support RDoc 3.10 (#112, timfel) * Less: Options are now being passed to the parser (#106, cowboyd)
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
- some address fixes to contrib - fixed duplicate install-sh entry in archive - set oid-mib-cache file for New_SNMP_util as well #106 - prevent spurious warnings about unknonwn values of inlast outlast in mrtg - add the process id tmp file extensions, to guard against multiple rateup instances messing things up for each other. (attempt to fix #115) - quell warning in CnTWaLK mode #111 - spelling fixes - make threshold checking more robust against incomplete information in the config file #113 - support ifAlias for Vyatta gear - CnTWaLK should add the count and not max index - abort indexmaker if there is no data to be found - fix for big5 translation - in cfgmaker use ifdesc=alias only if there is actualy alias info - fix of a file pointer leak found by coverity scan - fix for kMG support in rateup - add support for zyxel ifAlias - add support for Matrix N7 Diamond - enable warnings in cfgmaker and fix issues ... - explicitly import SOCK_DGRAM and AF_UNSPEC to make ipv6 support work - Updated Net_SNMP_util.pm and SNMP_util.pm to latest versions
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
libass (0.10.2) * API additions and some ABI changes, bumped SONAME * Expose header field for VSFilter color mangling (GC #87) * Add functions for explicit scaling hints (GC #6) * Add 'type' field to ASS_Image (GC #31) * Workaround Freetype's font size grid-fitting where appropriate * Apply blur to both glyph and border when using opaque box * Parser bugfixes * Parse angles in style as number * Fix fallback event formats * Make closing ')' optional for some tags * Fix crazy VSFilter behaviour for \move (GC #90) * Make \r fall back to line style (GC #104) * Parse style name like VSFilter * Ignore junk in nested \t tags * Make \clip tag arguments mandatory * Properly handle script and language in the HarfBuzz shaper * Allow ASS_Track and ASS_Renderer to have different ASS_Library * Fix stroking in some rare cases * Correctly handle @font advance (GC #94) * Fix ascent/descent for some fonts (GC #106) * Fix ass_step_sub to not require sorted events * Fix blur scaling * Don't mutate input strings (GC #88) * Remove/change some error messages * Fix various small memory leaks
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
0.991 2014-01-16T23:24:33Z - Greatly simplified determining the Firebird ISQL client. It no longer tries so hard to find a full path, but does seach through the path list for a likely candidate between fbsql, isql-fb, and isql (or equivalents ending in .exe on Windows). - Removed a bunch of inappropriately pasted stuff from the Firebird tutorial, and updated it a bit. - `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and `@ROOT`, when querying the database, too. That means that `revert --to HEAD` now works the same as `revert --to @HEAD`, as had been expected in v0.990. - Eliminated "use of uninitialized value" warnings when database connections fail. - Reduced the minimum required DBD::Firebird to v1.11. - Fixed the `--verbose` option to the `target` command. - Eliminated more user-configuration issues in tests, thanks to chromatic. - Fixed test failures when the `$PGPASSWORD` environment variable is set, thanks to Ioan Rogers's test smoker. 0.990 2014-01-04T01:14:24Z [New Features] - Added new command and feature: `target`. Use it to manage multiple database targets, each with an associated URI and, optionally, a registry name and command-line client. Inspired by Git remotes. - Added Firebird engine. Three cheers to Ștefan Suciu for this contribution! - Added support for the generation of arbitrary scripts from templates to the `add` command. Just add template files to subdirectories of the `templates` directory, and scripts will be created in a directory of the same name based on those templates. - Added `--open-editor` option (and aliases) to the `add` and `rework` commands. This option will open the newly-added change scripts in the preferred editor. Thanks to Thomas Sibley for the patch! [Improvements] - Improved database driver loading to ensure the proper version of the driver is required. - Non-fatal but possibly unexpected messages -- which correspond to exit value 1 -- now send their messages to STDOUT instead of STDERR, and respect the `--quiet` option. Thanks to @giorgio-v for the report! - Added or replaced the `--target` option to commands that connect to a database to specify the name of target managed by the new `target` command or a database URI. - `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and `@ROOT`, respectively, since they are disallowed as change names, anyway, and folks often use them out of habit from Git. [Internals] - Replaced the engine-specific connection attributes with three attributes use by every engine: * `target`: The name of a target managed by the new `target` command. Defaults to a value stored for the `core.$engine.target` configuration variable. If that variable does not exist, the target falls back on the stringification of `uri`. * `uri`: a database URI with the format `db:{engine}:{dbname}` or `db:{engine}://{user}:{password}@{host}:{port}/{dbname}`. If its value is not passed to the constructor, a `uri` value is looked up for the associated `target`. If `target` is not passed or configured, or if it has no URI associated with it, the `config.$engine.uri` configuration variable is used. If that value does not exist, the URI defaults to `db:$engine:`. In any of these cases, if any of the `--db-*` options are passed, they will be merged into the URI. * `registry`: the name to use for the Sqitch registry schema or database, where Sqitch's own data will be stored, as appropriate to each engine. If its value is not passed to the constructor, a `registry` value is looked up for the associated `target`. If `target` is not passed or configured, or if it has no registry associated with it, the `config.$engine.registry` configuration variable is used. If no value is found there, it defaults to an engine-specific value, usually "sqitch". [Bug Fixes] - Fixed a bug when installing under local::lib. Thanks to Thomas Sibley for the pull request! - Eliminated "Wide character in print" warnings when piping the `log` command. - Documented that reworked changes do not have their verify tests run by the `verify` command. They do run when using the `--verify` deploy option. - Removed the documentation for the `add.with_deploy`, `add.with_revert`, and `add.with_verify` configuration variables, which were never implemented. [Deprecations] - Deprecated engine-specific connection attributes and configuration variables. See the "Internals" section for their replacements. The deprecated options are: * `core.$engine.username` * `core.$engine.password` * `core.$engine.db_name` * `core.$engine.host` * `core.$engine.port` * `core.$engine.sqitch_schema` * `core.$engine.sqitch_db` - Deprecated all command-specific options with the string "target" in them, such as `--to-target`, `--upto-target`, etc. They have been replaced with options containing the string "change", instead, such as `--to-change` and `--upto-change`. Few people used these options, preferring their shorter aliases (`--to`, `--upto`, etc.). - Deprecated the `--deploy-template`, `--revert-template`, and `--verify-template` options to the `add` command. They are replaced with a single option, `--use` which takes a key/value pair for the script name and template path. This makes it useful for arbitrary script generation, as well. - Deprecated the `--deploy`, `--revert`, and `--verify` options to the `add` command, as well as their `--no-*` variants. They are replaced with two new options, `--with` and `--without`, to which a script name is passed. These are useful for arbitrary script generation, as well. - Deprecated the `add.deploy_template`, `add.revert_template`, and `add.verify_template` configuration settings. They have been replaced with a section, `add.templates`, which is more general, and supports arbitrary script generation, as well. [Incompatibilities] - Removed the undocumented `--test` option to the `add` command. - Changed the meaning of `--target` from specifying a change to specifying a deployment target. Use the new `--change` option to specify a change. 0.983 2013-11-21T21:50:12Z - Fixed "Use of uninitialized value" in the MySQL engine. Thanks to Jean-Michel REY for the report. - All tests now protect against failures due to the presence of the `$SQITCH_CONFIG` environment variable (issue #114). - The installer now respects the `distdir` option to `Build.PL` when searching for existing templates. Important for packaging. - Fixed the error "Table 'sqitch.changes' doesn't exist" when deploying to a MySQL database that exists but has not been initialized. Thanks to Jean-Michel REY for the report! - Refactored the handling of the C<--log-only> option so it sets an engine attribute, rather than passing the flag to a whole stack of method calls. - Fixed "Argument "en_us" isn't numeric" error on Windows. - Now using `LC_ALL` instead of `LC_MESSAGES` when setting the locale, as the latter is not present on Windows. - The sqitch-pg RPM now requires DBD::Pg 2.0.0 or higher. - Improved handling of invalid command names so that the error message is less ambiguous when triggered by a Perl parse error. - Added `-m` as an alias for `--note`, for you Git folks out there. - Added exception handling to the Postgres and Oracle engines to avoid unexpected errors when deploying to a database that has not been deployed to before. - Updated detection of an uninitialized database to double-check with the engine that it really thinks it's uninitialized, not just that the "changes" table is missing. This should catch the case where the database has its own "changes" table unrelated to Sqitch. 0.982 2013-09-11T18:26:07Z - Errors thrown by Template toolkit are no longer silently ignored. - Variables passed to change templates are now cloned before the execution of each template. This prevents one template from deleting variable values another template might also need. - Fixed "The getpwnam function is unimplemented" errors on Win32. - No longer runs revert scripts when deploying with `--log-only` and a verify script fails, as that could lead to data loss (yikes!). Thanks to BryLo for the report (issue #112). 0.981 2013-09-06T00:22:26Z - Now use Encode::Locale to try to decode the user's full name from the system encoding when fetched from the system on all OSes. Note that this is not necessary if the `user.name` config is explicitly set, as recommended. Issue #107. - Removed the special-case handling of the user's full name fetched from the system on OS X. - Added call to `sleep` to test in an attempt to fix SQLite failures. - The SQLite engine now requires that the SQLite client be 3.3.9 or later, for support of the `-bail` option. - Bug fix: The MySQL engine now properly uses the host, port, and password options when connecting to the database. Thanks to vreb87 for the report! 0.980 2013-08-28T21:40:00Z - Changed the default SQLite Sqitch database name from `$dbname-sqitch.$suffix` to `sqitch.$suffix`. The `$suffix` still comes from the destination database name. This breaks compatibility with previous releases. If you need the old name, set it with `sqitch config core.sqlite.sqitch_db $dbname`. - Fixed encoding of the user's full name when fetched from the system on OS X. Thanks to Tomohiro Hosaka for the pull request! - Fixed test failures when DBD::SQLite is installed but compiled with SQLite 3.7.10 or lower. - Fixed a bug where declaring a dependency on a reworked change would incorrectly result in the error "Key "foo" matches multiple changes". Thanks to BryLo for the report (issue #103). - Modified tests to allow them to run in parallel without stomping on each other. - Bundling of options, such as `-vvv`, now works properly (issue #108). - Added alias `--get-regexp` for `--get-regex` to the `config` command. This brings it in line with the documentation for the `config` command (Issue #110). - Fixed all of the `config` command actions that contain a dash so that they actually work. Thanks to Ștefan Suciu for the report (issue #110). - All leading and trailing white space is now trimmed from plan notes, rather than just vertical white space. Thanks to Ronan Dunklau for the report (issue #106). - The `status` command now notices if the specified database is uninitialized and says as much, rather than dying with an SQL error (issue #109). - When reading the user's username from the system Sqitch now uses Encode::Locale to try to decode the value from the system encoding. Issue #107. - Compatibility change: Changed the location and name of script template files. Previously they were called `deploy.tmpl`, `revert.tmpl`, and `verify.tmpl`, and they lived in the `templates` subdirectory of the system-wide and user-specific configuration directories. They now live in subdirectories of the `templates` directory named for each action (deploy, revert, and verify), and with file names matching engine names (`pg.tmpl`, `sqlite.tmpl`, `oracle.tmpl`, and `mysql.tmpl`). The installer will move old files from the system-wide config directory (`sqitch --etc-path`) to their new homes, named `pg.tmpl` and `sqlite.tmpl`. It assumes no customizations exist for Oracle. If that's not true in your case, simply copy the `pg.tmpl` files to `oracle.tmpl`. - Added the `--template-name` option to the `add` command. By default, it looks for templates named for the current engine. The option allows for the user of task-specific templates. For example, if you create templates named `createtable.tmpl` in the `deploy`, `revert`, and `verify` subdirectories of `~/.sqitch/templates`, You can specify `--template-name createtable` to use those templates when adding a change. - Added the `--exists` option to the `show` command. - Fixed the `--set` option to the `add` command so that duplicate keys have their values passed to the template as an array, as documented. - If Template::Toolkit is installed, the `add` command will use it for processing templates instead of Template::Tiny. This makes it easy to upgrade the templating environment just by installing a module. 0.973 2013-07-03T13:47:22Z - Now Require DBD::SQLite compiled with SQLite 3.7.11 or higher. It always has, but now it throws a meaningful exception if an older version is compiled into DBD::SQLite. Thanks to Damon Buckwalter for the report. - When a deploy fails because of missing dependencies, the list of missing dependencies no longer contains duplicates. Thanks to Damon Buckwalter for the report. 0.972 2013-05-31T23:26:52Z - Fixed test failures on Windows. - Fixed locale configuration on Windows so that `sqitch` will actually run, rather than exiting with an error about `LC_MESSAGES` not being set. - Fixed a test hang on Windows when DBD::Oracle is installed but the Oracle libraries (`OCI.dll`) are not or cannot be found. This was triggering a UI dialog that did not dismiss itself. Using Win32::API to work around this issue. Thanks to Jan Dubois for the fix. 0.971 2013-05-18T21:08:51Z - Removed most uses of the smartmatch operator, since as of Perl 5.17.11 it is marked as experimental, and silenced the warning where it is still used. - Added 0.1s sleep between logging changes back-to-back in the engine tests, mostly to try to get SQLite to generate different timestamps. Pretty sure the recent test failures have been due to the passage of less than a millisecond between the two inserts. - Added the `shell` and `quote_shell` methods to Sqitch.pm for shelling out a command. - Sqitch now shells out to an editor when opening a file for the user to edit. For example, if the `$EDITOR` environment variable is set to `"emacs -nw"`, it will now work. Thanks to Florian Ragwitz for the report (issue #80). - Removed the pod-checking tests from the distribution. 0.970 2013-05-09T00:21:06Z - Fixed the default ordering of changes displayed by the `plan` command. They are now ascending by default. - Switched to PerlIO::utf8_strict for fast character encoding and decoding. - The help emitted when an unknown option is passed to `sqitch` now consists of a usage statement and brief table of options, rather than the entire man page. - Added the project name in a header to the output of the `plan` command. - Added the Oracle engine. - Added `sqitchtutorial-oracle.pod`, a Oracle-specific variant of `sqitchtutorial.pod`. - Added missing version declaration to the App::Sqitch::Plan::* modules. - Devel::StackTrace 1.30 is now properly required (it was previously recommended). - The `--show-tags` and `--show-changes` options to the `status` command now show the changes when the project plan cannot be found (issue #90). 0.965 2013-04-23T16:25:59Z - Fixed failing test due to line-ending character variations on Windows. Many thanks to Jan Dubois for the testing help. - Replaced all uses of `$/` in output to `"\n"`. Thanks to Jan Dubois for pointing out the incorrect use of `$/`. - Fixed build error that prevented installation on Perl 5.10 when the parent module was not installed. 0.964 2013-04-15T18:47:30Z - Fixed test failures on Perl versions lower than 5.14 when DBD::SQLite or DBD::Pg is not installed. - Removed DBD::SQLite from the list of build dependencies. - Fixed test failures due to encoded (wide-character) warnings on triggered on systems with non-english locales. Thanks to Alexandr Ciornii for the smoke testing that revealed this issue. - Removed overriding of Throwable's `previous_exception` in App::Sqitch::X on Throwable 0.200007 and higher, where it is no longer needed. - Changed test comparing file contents that fails on Windows to do a looser comparison and hopefully fix the test failure. 0.963 2013-04-12T19:11:29Z - Fixed a test failure when Git is in the execution path and the test is not run from a Git checkout. - Added `plan` to `sqitchchanges`, the contents of which are shown when Sqitch is run with no command. - Removed the unique constraint on tag names in the database, as it prevented two projects from having the same tag name. Replaced it with a unique constraint on the project and tag names. Folks with production PostgreSQL installs should run these queries: ALTER TABLE sqitch.tags DROP CONSTRAINT tags_tag_key, ADD UNIQUE(project, tag); COMMENT ON COLUMN sqitch.tags.tag IS 'Project-unique tag name.'; - Fixed failing tests when DBD::SQLite is not installed. - Removed dependency on Git::Wrapper. The `checkout` command does things very simply, and we already have tools for running command-line applications. So we just take advantage of that. The code is no more complicated than it was before. - Added the `core.vcs.client` configuration setting. Defaults to `git` (or `git.exe` on Windows). 0.962 2013-04-10T17:10:05Z - Fixed failing test on Perl 5.12 and lower. - Fixed the French translation by re-encoding it in UTF-8 (Ronan Dunklau). - Fixed the loading of the editor with placeholder text to properly encode that text as UTF-8 (Ronan Dunklau).
jperkin
pushed a commit
that referenced
this pull request
Mar 14, 2014
jperkin
pushed a commit
that referenced
this pull request
Jun 2, 2014
Changes from Relase Notes page: http://www.joewing.net/projects/jwm/release-2.2.shtml Changes in 2.2.1 * JWM no longer waits for an X11 event when exiting. This fixes an issue where Control+C didn't cause JWM to exit immediately (issue #104). * Fixed a crash if a window went away while a JWM confirm dialog was active for the window. * Fixed some issues related to aspect ratios (issue #106). * Fixed handling of window gravity for _NET_MOVERESIZE_WINDOW. * Added support for XBM icons (issue #107). * Fixed an issue with resizing of dock icons. * Fixed an issue with command line argument parsing. Changes in 2.2.2 * More efficient handling of gradient backgrounds. * Fixed an issue _NET_WM_STATE not being updated (issue #109). * Improved the performance of moving/resizing windows. * Made it possible to switch desktops immediately while dragging a window if mod1 is pressed (issue #12). * Fixed an issue with windows mapping behind other windows (issue #110). * Fixed an issue where JWM would attempt to process the last X event multiple times before exiting or restarting. * Made newer desktop background settings override older settings. * Fixed a memory leak with invalid configuration files.
jperkin
pushed a commit
that referenced
this pull request
Oct 6, 2014
Version 0.3.0 ============= *released on 20 September 2014* - Add ``verify_fingerprint`` parameter to :py:class:`vdirsyncer.storage.HttpStorage`, :py:class:`vdirsyncer.storage.CaldavStorage` and :py:class:`vdirsyncer.storage.CarddavStorage`, see issue `#99`_ and pull request `#106`_. - Add ``passwordeval`` parameter to :ref:`general_config`, see issue `#108`_ and pull request `#117`_. - Emit warnings (instead of exceptions) about certain invalid responses from the server, see issue `#113`_. This is apparently required for compatibility with Davmail. .. _`#99`: pimutils/vdirsyncer#99 .. _`#106`: pimutils/vdirsyncer#106 .. _`#108`: pimutils/vdirsyncer#108 .. _`#113`: pimutils/vdirsyncer#113 .. _`#117`: pimutils/vdirsyncer#117
jperkin
pushed a commit
that referenced
this pull request
Dec 1, 2014
Changelog: ## JFlex 1.6.0 - Unicode 7.0 is supported. - In %unicode mode, supplementary code points are now handled properly. . Regular expressions are now code-point based, rather than code-unit/ char based. . Input streams are read as code point sequences - properly paired surrogate code units are read as a single character. . All supported Unicode properties now match supplementary characters when Unicode 3.0 or above is specified, or when no version is specified, causing the default Unicode version, Unicode 7.0 in this release, to be used. - New \u{...} escape sequence allows code points (and whitespace-separated sequences of code points) to be specified as 1-6 hexadecimal digit values. - Characters in matches printed in %debug mode are now Unicode escaped (\uXXXX) when they are outside the range 32..127. - fixed bug #127, detect javadoc class comment when followed by annotation(s) - removed the "switch" and "table" code generation options - By default no InputStream constructor is included in the generated scanner. The capability to include one is deprecated and will be removed in JFlex 1.7. ## JFlex 1.5.1 (Mar 21, 2014) - fixed bug #126, problem calling ./jflex start scripts - fixed bug #125, minor documentation flaws - further documentation and website updates - JFlex now reports the correct version string - added support for CUP2 with %cup2 switch, based on patch by Andreas Wenger ## JFlex 1.5.0 (Jan 21, 2014) - the "switch" and "table" code generation options are deprecated and will be removed in JFlex 1.6 - the JFlex license has been changed from GPL to BSD. - updated JFlex to CUP version 0.11a. - changed the build from Ant to Maven. - JFlex now mostly conforms with Unicode Regular Expressions UTS#18 Basic Unicode Support - Level 1. Supplementary code points (above the Basic Multilingual Plane) are not yet supported. - new meta characters supported: `\s, \S, \d, \D, \w, \W`. - nested character sets now supported, e.g. [[[ABC]D]E[FG]] - new character set operations supported: union (e.g. [A||B]), intersection (e.g. [A&&B]), set-difference (e.g. [A--B]), and symmetric difference (e.g. [A~~B]). - the meaning of the dot (".") meta character has been changed from `[^\n]` to `[^\n\r\u000B\u000C\u0085\u2028\u2029]`. Use the new `--legacydot` option to cause "." to be interpreted as `[^\n]`. - new `\R` meta character matches any newline: `"\r\n" | [\n\r\u000B\u000C\u0085\u2028\u2029]`. - new option --noinputstreamctor to not include an InputStream constructor in the generated scanner. - %include <file> can now be used in the rules section (bug #116) - fixed bug #105 & #106 (yychar and zzAtBOL should be reset for nested input streams) - fixed bug #107 (could not match input for empty string matches.) - fixed bug #110 & #118 (properly update zzFin when reallocating zzBuffer) - fixed bug #114 (noncompileable scanner generation when default locale is Turkish) - fixed bug #113 (zzEOFDone not included with pushed nested stream state) - fixed bug #103 (can't build examples/java/) - fixed bug #104 (impossible char class range should trigger syntax error)
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
Mar 16, 2015
IMPORTANT: Liquid 2.6 is going to be the last version of Liquid which maintains explicit Ruby 1.8 compatability. The following releases will only be tested against Ruby 1.9 and Ruby 2.0 and are likely to break on Ruby 1.8. ## 2.6.1 / 2014-01-10 / branch "2-6-stable" Security fix, cherry-picked from master (4e14a65): * Don't call to_sym when creating conditions for security reasons, see #273 [Bouke van der Bijl, bouk] * Prevent arbitrary method invocation on condition objects, see #274 [Dylan Thacker-Smith, dylanahsmith] ## 2.6.0 / 2013-11-25 * ... * Bugfix for #106: fix example servlet [gnowoel] * Bugfix for #97: strip_html filter supports multi-line tags [Jo Liss, joliss] * Bugfix for #114: strip_html filter supports style tags [James Allardice, jamesallardice] * Bugfix for #117: 'now' support for date filter in Ruby 1.9 [Notre Dame Webgroup, ndwebgroup] * Bugfix for #166: truncate filter on UTF-8 strings with Ruby 1.8 [Florian Weingarten, fw42] * Bugfix for #204: 'raw' parsing bug [Florian Weingarten, fw42] * Bugfix for #150: 'for' parsing bug [Peter Schröder, phoet] * Bugfix for #126: Strip CRLF in strip_newline [Peter Schröder, phoet] * Bugfix for #174, "can't convert Fixnum into String" for "replace" [wǒ_is神仙, jsw0528] * Allow a Liquid::Drop to be passed into Template#render [Daniel Huckstep, darkhelmet] * Resource limits [Florian Weingarten, fw42] * Add reverse filter [Jay Strybis, unreal] * Add utf-8 support * Use array instead of Hash to keep the registered filters [Tasos Stathopoulos, astathopoulos] * Cache tokenized partial templates [Tom Burns, boourns] * Avoid warnings in Ruby 1.9.3 [Marcus Stollsteimer, stomar] * Better documentation for 'include' tag (closes #163) [Peter Schröder, phoet] * Use of BigDecimal on filters to have better precision (closes #155) [Arthur Nogueira Neves, arthurnn]
jperkin
pushed a commit
that referenced
this pull request
Mar 16, 2015
Fix bug #97: Add ability to change envelope sender, client IP address, client hostname, and HELO value used in test mode, via environment variables. This can be turned into something more formal in a later release. Fix bug #102: Don't lose SPF results and output the "-1" default. Fix bug #103: Fix IgnoreAuthenticatedClients by requesting the right macro value from the MTA. Fix bug #113: Remove "TemporaryDirectory" (unused). LIBOPENDMARC: Fix bug #104: Include <sys/param.h> and <resolv.h> in <opendmarc/dmarc.h> so that MAXPATHLEN and MAXNS get defined consistently. LIBOPENDMARC: Fix bug #105: Get the h_errno definition from <netdb.h> rather than declaring it. LIBOPENDMARC: Fix bug #106: Clean up issues with the types passed to opendmarc_policy_library_dns_hook(). DOCS: Fix bug #99: Update list of constraints on opendmarc_policy_fetch_alignment(). REPORTS: Fix bug #108: Handle malformed mailto URIs in DMARC records (e.g., just "mailto:"). REPORTS: Fix bug #110: Support SQL backend selection in opendmarc-expire.
jperkin
pushed a commit
that referenced
this pull request
Jun 1, 2015
- Add TEST_TARGET= check, but still all the numbers are zero. (upstream) - Update to 0.7.15 ---------------- 0.7.15 [2015-05-21 08:45:55 +0200]: - [b6371c9f6664] lib: don't use priority with constructor (Vincent Bernat) - [441d53f9ae8e] redhat: don't build with JSON by default (Vincent Bernat) - [f42b82148976] build: only uses -pie when linking programs (Vincent Bernat) - [84942a4aeb58] build: when checking for additional flags, be fatal on errors (Vincent Bernat) - [1cce9f1a07c7] lldp: do appropriate cleanup when unable to allocate memory (Vincent Bernat) - [151ed0cd9708] travis: don't install libtool/autoconf/automake (Vincent Bernat) - [a53e59f264aa] tests: document the suppression file for valgrind (Vincent Bernat) - [3db3d0633eee] build: don't use -Wl,-pie (Vincent Bernat) - [2216fdf1ef0f] redhat: fix dates in .spec (Vincent Bernat) - [f4a0a3fc7b19] build: require json-c >= 0.10 (Vincent Bernat) - [36d72b11b57f] redhat: fix a typo in conditional JSON support (Vincent Bernat) - [5592bec999ab] redhat: provide a simpler buildroot (Vincent Bernat) - [b896513bc25e] release: prepare new version (Vincent Bernat) - [39a39abf7c9c] lldpcli: fix another memory leak when querying statistics (Vincent Bernat) - [d68bcbe9653a] lldpcli: fix a memory leak when querying custom TLVs (Vincent Bernat) - [74d82c9dfac6] build: rename valgrind suppression file to match the right tool (Vincent Bernat) - [38d74e8a04e1] ctl: don't use C99 designated initializer for structs to travel on a socket (Vincent Bernat) - [389ac8bd97cd] tests: provide a complete test file for lldpcli (Vincent Bernat) - [a6509ccc4ea6] lib: use ssize_t to store result from write() (Vincent Bernat) - [26498cf46f10] doc: fix example of "configure dot3 power" command (Vincent Bernat) - [120c071a0365] doc: fix example of "configure med location address" command (Vincent Bernat) - [4edc4960671f] doc: fix documentation of "configure lldp portidsubtype" (Vincent Bernat) - [a52e464f4582] tests: remove old reference to ifdump.txt (Vincent Bernat) - [24133f559158] doc: add an entry for setting custom TLV in lldpcli manual page (Vincent Bernat) - [d0e76b5f6e42] doc: add a NEWS entry for custom/unknown TLV (Vincent Bernat) - [11f906138450] Merge pull request #109 from commodo/add-custom-tlvs (Vincent Bernat) - [5666332755c8] build: compile libevent with -fPIC (Vincent Bernat) - [d24247edcbe2] build: try -Wl,-pie before trying -pie for clang (Vincent Bernat) - [1aa3748ca854] build: don't enable PIE when using embedded libevent (Vincent Bernat) - [c4edeadc8b08] build: also try to build a PIE when hardening is not disabled. (Vincent Bernat) - [8738a36d30e2] build: add a switch to disable hardening functions (Vincent Bernat) - [8caf43416452] lldpd: convert 'oui_info' member to dynamic array (Alexandru Ardelean) - [fb1b78bb7611] lldpd: make custom TLV code optional (Alexandru Ardelean) - [26331a26d551] client: display custom TLVs when lldpctl is called (Alexandru Ardelean) - [41cb778179b2] client: implement client interface for custom TLVs (Alexandru Ardelean) - [6cff1e665e72] daemon: implement client interface for custom TLVs (Alexandru Ardelean) - [c576fd21a416] lib: add custom TLV + list atom(s) (Alexandru Ardelean) - [cd5de7a2ea13] daemon: add basic custom TLV send & receive (Alexandru Ardelean) - [9c242613cd7b] daemon: reduce log_info() to log_debug() for unknown TLV types (Alexandru Ardelean) - [86f4c1ef8be4] lib: move lldpd-structs.h include into atom.h (Alexandru Ardelean) - [e7113d69b9cb] lib: add null check to lldpctl_atom_inc_ref() (Alexandru Ardelean) - [b1bebd3f2550] lldpd: move LLDP_TLV_ORG to lldp-const.h (Alexandru Ardelean) - [2389d2ccf7be] lib: enable ability to change log level on-the-fly (Vincent Bernat) - [082c03a94583] lldpcli: ensure we also display logs from liblldpctl (Vincent Bernat) - [c11e6765727b] tests: fix typo in SNMP checks with protocol identity (Vincent Bernat) - [63e52965607e] frame: change checksum function (Vincent Bernat) - [6d3c1ce032f8] tests: fix SNMP tests (Vincent Bernat) - [d99c23687985] tests: fix signed/unsigned discrepancy (Vincent Bernat) - [8d92800b8801] build: cleaner way to not alter CFLAGS/CPPFLAGS/LDFLAGS (Vincent Bernat) - [dd8c9fe3b168] build: enable JSON/XML support automatically by default (Vincent Bernat) - [3250e17b3649] redhat: enable JSON support if recent enough (Vincent Bernat) - [ec6a8dcffbc9] debian: enable JSON support (Vincent Bernat) - [fa9b12c57b7a] build: automatic detection of optional features (Vincent Bernat) - [3fa294062b97] client: only output supported formats (Vincent Bernat) - [a742670827b8] client: complain if the provided format is not supported (Vincent Bernat) - [bacc4a6ad3c4] client: fix a trivial typo (Vincent Bernat) - [e613fdaa7f8a] Merge pull request #106 from commodo/make-some-tlvs-optional (Vincent Bernat) - [e119d5ddf364] client: add some log_debug() messages (Alexandru Ardelean) - [1d7c86b56ce0] tests/check_lldp: add global config object for testing (Alexandru Ardelean) - [1c2217aa0df9] lldpd: make management addresses advertisement optional (Alexandru Ardelean) - [ca838758db3c] lldpd: make chassis capabilities advertisement optional (Alexandru Ardelean) - [8262175deca8] daemon/lldpd.c: free() cfg at end of main function (Alexandru Ardelean) - [7d67839872b3] daemon/protocols/lldp.c: do not send system capabilities if none available (Alexandru Ardelean) - [ef8140572e04] lib: don't define __constructor__ twice (Vincent Bernat) - [e8d465451a3b] Merge pull request #105 from commodo/cleanup (Vincent Bernat) - [9e2db64f1cce] daemon: move protocol files into subfolder (Alexandru Ardelean) - [4b2ee1a0a9de] lib/atom.c: move here remaining code from atom-private.c (Alexandru Ardelean) - [a5f987172cbe] lib/private.h: rename to atom.h (Alexandru Ardelean) - [94c9815776cc] lib/atom-private.c: break it into smaller modules (Alexandru Ardelean) - [9bec20443e7e] lib/atom-private.c: move 'struct atom-builder' to private.h (Alexandru Ardelean) - [84b41218830f] configure.ac: add 'subdir-objects' option (Alexandru Ardelean)
jperkin
pushed a commit
that referenced
this pull request
Dec 30, 2015
Ok MAINTAINER bsiegert. While doing that, update to current release, 0.29.0. Changes since 0.24.0: Version 0.29.0 -------------- Compatibility notes: - when upgrading to 0.29.0 you need to upgrade client as well as server installations due to the locking and commandline interface changes otherwise you'll get an error msg about a RPC protocol mismatch or a wrong commandline option. if you run a server that needs to support both old and new clients, it is suggested that you have a "borg-0.28.2" and a "borg-0.29.0" command. clients then can choose via e.g. "borg --remote-path=borg-0.29.0 ...". - the default waiting time for a lock changed from infinity to 1 second for a better interactive user experience. if the repo you want to access is currently locked, borg will now terminate after 1s with an error message. if you have scripts that shall wait for the lock for a longer time, use --lock-wait N (with N being the maximum wait time in seconds). Bug fixes: - hash table tuning (better chosen hashtable load factor 0.75 and prime initial size of 1031 gave ~1000x speedup in some scenarios) - avoid creation of an orphan lock for one case, #285 - --keep-tag-files: fix file mode and multiple tag files in one directory, #432 - fixes for "borg upgrade" (attic repo converter), #466 - remove --progress isatty magic (and also --no-progress option) again, #476 - borg init: display proper repo URL - fix format of umask in help pages, #463 New features: - implement --lock-wait, support timeout for UpgradableLock, #210 - implement borg break-lock command, #157 - include system info below traceback, #324 - sane remote logging, remote stderr, #461: - remote log output: intercept it and log it via local logging system, with "Remote: " prefixed to message. log remote tracebacks. - remote stderr: output it to local stderr with "Remote: " prefixed. - add --debug and --info (same as --verbose) to set the log level of the builtin logging configuration (which otherwise defaults to warning), #426 note: there are few messages emitted at DEBUG level currently. - optionally configure logging via env var BORG_LOGGING_CONF - add --filter option for status characters: e.g. to show only the added or modified files (and also errors), use "borg create -v --filter=AME ...". - more progress indicators, #394 - use ISO-8601 date and time format, #375 - "borg check --prefix" to restrict archive checking to that name prefix, #206 Other changes: - hashindex_add C implementation (speed up cache re-sync for new archives) - increase FUSE read_size to 1024 (speed up metadata operations) - check/delete/prune --save-space: free unused segments quickly, #239 - increase rpc protocol version to 2 (see also Compatibility notes), #458 - silence borg by default (via default log level WARNING) - get rid of C compiler warnings, #391 - upgrade OS X FUSE to 3.0.9 on the OS X binary build system - use python 3.5.1 to build binaries - docs: - new mailing list borgbackup@python.org, #468 - readthedocs: color and logo improvements - load coverage icons over SSL (avoids mixed content) - more precise binary installation steps - update release procedure docs about OS X FUSE - FAQ entry about unexpected 'A' status for unchanged file(s), #403 - add docs about 'E' file status - add "borg upgrade" docs, #464 - add developer docs about output and logging - clarify encryption, add note about client-side encryption - add resources section, with videos, talks, presentations, #149 - Borg moved to Arch Linux [community] - fix wrong installation instructions for archlinux Version 0.28.2 -------------- New features: - borg create --exclude-if-present TAGFILE - exclude directories that have the given file from the backup. You can additionally give --keep-tag-files to preserve just the directory roots and the tag-files (but not backup other directory contents), #395, attic #128, attic #142 Other changes: - do not create docs sources at build time (just have them in the repo), completely remove have_cython() hack, do not use the "mock" library at build time, #384 - avoid hidden import, make it easier for PyInstaller, easier fix for #218 - docs: - add description of item flags / status output, fixes #402 - explain how to regenerate usage and API files (build_api or build_usage) and when to commit usage files directly into git, #384 - minor install docs improvements Version 0.28.1 -------------- Bug fixes: - do not try to build api / usage docs for production install, fixes unexpected "mock" build dependency, #384 Other changes: - avoid using msgpack.packb at import time - fix formatting issue in changes.rst - fix build on readthedocs Version 0.28.0 -------------- Compatibility notes: - changed return codes (exit codes), see docs. in short: old: 0 = ok, 1 = error. now: 0 = ok, 1 = warning, 2 = error New features: - refactor return codes (exit codes), fixes #61 - add --show-rc option enable "terminating with X status, rc N" output, fixes 58, #351 - borg create backups atime and ctime additionally to mtime, fixes #317 - extract: support atime additionally to mtime - FUSE: support ctime and atime additionally to mtime - support borg --version - emit a warning if we have a slow msgpack installed - borg list --prefix=thishostname- REPO, fixes #205 - Debug commands (do not use except if you know what you do: debug-get-obj, debug-put-obj, debug-delete-obj, debug-dump-archive-items. Bug fixes: - setup.py: fix bug related to BORG_LZ4_PREFIX processing - fix "check" for repos that have incomplete chunks, fixes #364 - borg mount: fix unlocking of repository at umount time, fixes #331 - fix reading files without touching their atime, #334 - non-ascii ACL fixes for Linux, FreeBSD and OS X, #277 - fix acl_use_local_uid_gid() and add a test for it, attic #359 - borg upgrade: do not upgrade repositories in place by default, #299 - fix cascading failure with the index conversion code, #269 - borg check: implement 'cmdline' archive metadata value decoding, #311 - fix RobustUnpacker, it missed some metadata keys (new atime and ctime keys were missing, but also bsdflags). add check for unknown metadata keys. - create from stdin: also save atime, ctime (cosmetic) - use default_notty=False for confirmations, fixes #345 - vagrant: fix msgpack installation on centos, fixes #342 - deal with unicode errors for symlinks in same way as for regular files and have a helpful warning message about how to fix wrong locale setup, fixes #382 - add ACL keys the RobustUnpacker must know about Other changes: - improve file size displays, more flexible size formatters - explicitly commit to the units standard, #289 - archiver: add E status (means that an error occured when processing this (single) item - do binary releases via "github releases", closes #214 - create: use -x and --one-file-system (was: --do-not-cross-mountpoints), #296 - a lot of changes related to using "logging" module and screen output, #233 - show progress display if on a tty, output more progress information, #303 - factor out status output so it is consistent, fix surrogates removal, maybe fixes #309 - move away from RawConfigParser to ConfigParser - archive checker: better error logging, give chunk_id and sequence numbers (can be used together with borg debug-dump-archive-items). - do not mention the deprecated passphrase mode - emit a deprecation warning for --compression N (giving a just a number) - misc .coverragerc fixes (and coverage measurement improvements), fixes #319 - refactor confirmation code, reduce code duplication, add tests - prettier error messages, fixes #307, #57 - tests: - add a test to find disk-full issues, #327 - travis: also run tests on Python 3.5 - travis: use tox -r so it rebuilds the tox environments - test the generated pyinstaller-based binary by archiver unit tests, #215 - vagrant: tests: announce whether fakeroot is used or not - vagrant: add vagrant user to fuse group for debianoid systems also - vagrant: llfuse install on darwin needs pkgconfig installed - vagrant: use pyinstaller from develop branch, fixes #336 - benchmarks: test create, extract, list, delete, info, check, help, fixes #146 - benchmarks: test with both the binary and the python code - archiver tests: test with both the binary and the python code, fixes #215 - make basic test more robust - docs: - moved docs to borgbackup.readthedocs.org, #155 - a lot of fixes and improvements, use mobile-friendly RTD standard theme - use zlib,6 compression in some examples, fixes #275 - add missing rename usage to docs, closes #279 - include the help offered by borg help <topic> in the usage docs, fixes #293 - include a list of major changes compared to attic into README, fixes #224 - add OS X install instructions, #197 - more details about the release process, #260 - fix linux glibc requirement (binaries built on debian7 now) - build: move usage and API generation to setup.py - update docs about return codes, #61 - remove api docs (too much breakage on rtd) - borgbackup install + basics presentation (asciinema) - describe the current style guide in documentation - add section about debug commands - warn about not running out of space - add example for rename - improve chunker params docs, fixes #362 - minor development docs update Version 0.27.0 -------------- New features: - "borg upgrade" command - attic -> borg one time converter / migration, #21 - temporary hack to avoid using lots of disk space for chunks.archive.d, #235: To use it: rm -rf chunks.archive.d ; touch chunks.archive.d - respect XDG_CACHE_HOME, attic #181 - add support for arbitrary SSH commands, attic #99 - borg delete --cache-only REPO (only delete cache, not REPO), attic #123 Bug fixes: - use Debian 7 (wheezy) to build pyinstaller borgbackup binaries, fixes slow down observed when running the Centos6-built binary on Ubuntu, #222 - do not crash on empty lock.roster, fixes #232 - fix multiple issues with the cache config version check, #234 - fix segment entry header size check, attic #352 plus other error handling improvements / code deduplication there. - always give segment and offset in repo IntegrityErrors Other changes: - stop producing binary wheels, remove docs about it, #147 - docs: - add warning about prune - generate usage include files only as needed - development docs: add Vagrant section - update / improve / reformat FAQ - hint to single-file pyinstaller binaries from README Version 0.26.1 -------------- This is a minor update, just docs and new pyinstaller binaries. - docs update about python and binary requirements - better docs for --read-special, fix #220 - re-built the binaries, fix #218 and #213 (glibc version issue) - update web site about single-file pyinstaller binaries Note: if you did a python-based installation, there is no need to upgrade. Version 0.26.0 -------------- New features: - Faster cache sync (do all in one pass, remove tar/compression stuff), #163 - BORG_REPO env var to specify the default repo, #168 - read special files as if they were regular files, #79 - implement borg create --dry-run, attic issue #267 - Normalize paths before pattern matching on OS X, #143 - support OpenBSD and NetBSD (except xattrs/ACLs) - support / run tests on Python 3.5 Bug fixes: - borg mount repo: use absolute path, attic #200, attic #137 - chunker: use off_t to get 64bit on 32bit platform, #178 - initialize chunker fd to -1, so it's not equal to STDIN_FILENO (0) - fix reaction to "no" answer at delete repo prompt, #182 - setup.py: detect lz4.h header file location - to support python < 3.2.4, add less buggy argparse lib from 3.2.6 (#194) - fix for obtaining ``char *`` from temporary Python value (old code causes a compile error on Mint 17.2) - llfuse 0.41 install troubles on some platforms, require < 0.41 (UnicodeDecodeError exception due to non-ascii llfuse setup.py) - cython code: add some int types to get rid of unspecific python add / subtract operations (avoid ``undefined symbol FPE_``... error on some platforms) - fix verbose mode display of stdin backup - extract: warn if a include pattern never matched, fixes #209, implement counters for Include/ExcludePatterns - archive names with slashes are invalid, attic issue #180 - chunker: add a check whether the POSIX_FADV_DONTNEED constant is defined - fixes building on OpenBSD. Other changes: - detect inconsistency / corruption / hash collision, #170 - replace versioneer with setuptools_scm, #106 - docs: - pkg-config is needed for llfuse installation - be more clear about pruning, attic issue #132 - unit tests: - xattr: ignore security.selinux attribute showing up - ext3 seems to need a bit more space for a sparse file - do not test lzma level 9 compression (avoid MemoryError) - work around strange mtime granularity issue on netbsd, fixes #204 - ignore st_rdev if file is not a block/char device, fixes #203 - stay away from the setgid and sticky mode bits - use Vagrant to do easy cross-platform testing (#196), currently: - Debian 7 "wheezy" 32bit, Debian 8 "jessie" 64bit - Ubuntu 12.04 32bit, Ubuntu 14.04 64bit - Centos 7 64bit - FreeBSD 10.2 64bit - OpenBSD 5.7 64bit - NetBSD 6.1.5 64bit - Darwin (OS X Yosemite) Version 0.25.0 -------------- Compatibility notes: - lz4 compression library (liblz4) is a new requirement (#156) - the new compression code is very compatible: as long as you stay with zlib compression, older borg releases will still be able to read data from a repo/archive made with the new code (note: this is not the case for the default "none" compression, use "zlib,0" if you want a "no compression" mode that can be read by older borg). Also the new code is able to read repos and archives made with older borg versions (for all zlib levels 0..9). Deprecations: - --compression N (with N being a number, as in 0.24) is deprecated. We keep the --compression 0..9 for now to not break scripts, but it is deprecated and will be removed later, so better fix your scripts now: --compression 0 (as in 0.24) is the same as --compression zlib,0 (now). BUT: if you do not want compression, you rather want --compression none (which is the default). --compression 1 (in 0.24) is the same as --compression zlib,1 (now) --compression 9 (in 0.24) is the same as --compression zlib,9 (now) New features: - create --compression none (default, means: do not compress, just pass through data "as is". this is more efficient than zlib level 0 as used in borg 0.24) - create --compression lz4 (super-fast, but not very high compression) - create --compression zlib,N (slower, higher compression, default for N is 6) - create --compression lzma,N (slowest, highest compression, default N is 6) - honor the nodump flag (UF_NODUMP) and do not backup such items - list --short just outputs a simple list of the files/directories in an archive Bug fixes: - fixed --chunker-params parameter order confusion / malfunction, fixes #154 - close fds of segments we delete (during compaction) - close files which fell out the lrucache - fadvise DONTNEED now is only called for the byte range actually read, not for the whole file, fixes #158. - fix issue with negative "all archives" size, fixes #165 - restore_xattrs: ignore if setxattr fails with EACCES, fixes #162 Other changes: - remove fakeroot requirement for tests, tests run faster without fakeroot (test setup does not fail any more without fakeroot, so you can run with or without fakeroot), fixes #151 and #91. - more tests for archiver - recover_segment(): don't assume we have an fd for segment - lrucache refactoring / cleanup, add dispose function, py.test tests - generalize hashindex code for any key length (less hardcoding) - lock roster: catch file not found in remove() method and ignore it - travis CI: use requirements file - improved docs: - replace hack for llfuse with proper solution (install libfuse-dev) - update docs about compression - update development docs about fakeroot - internals: add some words about lock files / locking system - support: mention BountySource and for what it can be used - theme: use a lighter green - add pypi, wheel, dist package based install docs - split install docs into system-specific preparations and generic instructions
jperkin
pushed a commit
that referenced
this pull request
Mar 7, 2016
Changelog: Release 0.3.7: -------------- - Fix Debian bug #766945: catch 'inskscape' not installed (Andreas Hoenen patch) - Fix Debian bug #792898: improve the PDF metadata setup - Fix Debian bug #684772 and SF bug #85: section @Label is used to force the section counter - Fix Debian bug #684772: a chapter with an empty @Label is not numbered - Fix Debian bug #793077: allow to put a figure anchor at the top even if the caption is at the bottom, thanks to the parameter figure.anchor.top. - Add the parameters body.font.family, sans.font.family, and monospace.font.family to mimic FO parameters, for xetex font setup Release 0.3.6: -------------- - Adapt the debug env_tex script for Windows - Make dblatex work with Xindy, for xetex and pdftex backends. Xindy is selected through the latex.index.tool parameter, and it's sorting is aware of the language used that can be set through the latex.index.language parameter. This is an answer to the Debian bug #756386. - Allow the Texpost script to be a python plugin. - Add the beginpage.as.pagebreak parameter to be able to inhibit the current behaviour. - Fix a bug in index escaping: '"' was not escaped. - Fix a bug in <listitem> to prevent brackets side effects. - Quick fix for <screenshot> SF bug #74. - Fix SF bug #110. - Fix Debian bug #771473 and #684393. Release 0.3.5: -------------- - Fix an HTML table bug when no <colgroup> or <col> is specified - Fix an HTML table bug when cellpadding is expressed in percentage - Fix Debian bug #720624 to have more greek letters correctly translated - Fix bug #108 so that setup.py works even if intall-layout not supported - Fix bug #107 to be compliant with frenchb v2.5 to remove shorthands in listings - Fix bug #106 to have equation label localized - Fix bug #104 to have listings correctly displayed in <listitem>s - Fix bug #103 to have indexes correctly working in db2latex style - Fix Debian bug #682901 to have with XeTeX proper endash in indexes - Fix Debian bugs #682936 and #684391 to support Norwegian Bokmål through lang='nb' - Fix Debian bug #683166 (SF bug #3553962/#98) to avoid chapters erroneously included in parts. - Fix Debian bug #684393 babel setup to allow quote chars for lang='nn' - Adapt URL to work with texlive >= 2009. - Some fixes to be able work with Saxon - Improve setup.py to detect the installed texlive version only on manual install. - Include the package 'ucs' and configure listings to work with pdftex and UTF-8 characters. Release 0.3.4: -------------- - Fix a bug in the missing characters display. - Fix the global template to actually insert a backmatter tag before backmatter elements. - Fix bug #3520152 by changing a template xpath (looks like a libxslt limitation). - Improve the verbatim block display to be able to scale the block width to the page width. - Allow latex instructions within verbatim blocks through Processing Instructions. - Improve the setup script to be close to the debian install rules. - Improve the hyphenation of the inlined literal elements. - Add the parameter example.float.type to give the possibility to have <example> not floating. The attribute 'floatstyle' is also taken into account. - Add the parameter hyphenation.format to specify the inlined format types that must be hyphenated. It replaces the more limited monoseq.hyphenation parameter. Release 0.3.3: -------------- - Fix incomplete image path conversion when subfigures are used. - Fix unicode listings limitation to handle characters greater than 255. - Fix <abstract> environment to prevent from page counter reset. - Fix the <literallayout> limitations by using the same implementation than <screen>. - Fix a texlive 9 french babel and enumitem incompatibility. - Fix to be robust to URL encoded image paths, and to non-latin1 paths. - Fix missing cross-reference to <sidebar> and <qandaset>. - Fix the <sidebar> box width to the actual context witdh. - Fix a french babel bug (unexpected active chars) when used with XeTeX. - Fix Debian bug #627501 to tell the priority policy of --xsl-user option. - Fix Debian bug #632967 to return a non-null code when the compilation fails. - Fix Debian bug #629514 to have draft watermark with XeTeX backend. - Fix Debian bug #634563 to have safe pdftitle content (no images). - Fix setup.py in order to work under Windows. - Fix the HTML table support to correctly render the cells elements. - Fix the HTML table support to correctly nested tables. - Fix the Olink support to allow database user-specific renderings like italics for <i> tags. Reuse of the DocBook Project implementation. - Fix a setup failure that made the listings UTF-8 support failed (extendedchars to set to "true"). - Fix --xslt-opts to be able to pass several arguments by using quotes - Set the TexLive version to 2009 by default. - Update to new Debian Error Handler API. Improvements sponsored by Freexian (http://www.freexian.com) : - Fix #3191550. Remove hard-coded paper size and add some parameters for page layout setup: * Parameters to define page sizes and margins. * Parameters to have crop marks for pre-press PDF output. - Add the parameters literal.environment and literal.extensions to allow the user define its own listing environment. - Add the parameter latex.engine.options to be able to pass options to the TeX engine backend. - Print out warnings about the characters not handled by the selected fonts. - Image display improvements/fixes: * Avoid unexpected paragraph indentation when displaying images. * Strip spurious spaces between subfigures when @ROLE='flow.inline' * Prevents from empty tex subcaptions when no subfigure <caption> is defined. - Add the ability to format <ulink> as a block when @type='block'. - Pass @ROLE to the latex sidebar environment. - Add the literal.class parameter used when <literallayout> class attribute is not set. Default is 'monospaced'. - Add some @ROLE to format literal elements, and literal.role parameter for default role: * Wrap: wrap lines when longer than text width (default) * Overflow: do not wrap lines ; long lines overflow to the left * Scale: automatically scale a listing to have its lines fit the page width The special feature can be disabled with literal.extensions=0
jperkin
pushed a commit
that referenced
this pull request
Apr 19, 2016
jperkin
pushed a commit
that referenced
this pull request
Aug 24, 2016
NEWS: Version 2.5.3 ------------- - Updated zoneinfo to 2016d - Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is set to true. (gh issue #233, pr #234) - Bug in zoneinfo file on platforms such as Google App Engine which do not do not allow importing of subprocess.check_call was reported and fixed by @savraj (gh issue #239, gh pr #240) - Fixed incorrect version in documentation (gh issue #235, pr #243) Version 2.5.2 ------------- - Updated zoneinfo to 2016c - Fixed parser bug where yearfirst and dayfirst parameters were not being respected when no separator was present. (gh issue #81 and #217, pr #229) Version 2.5.1 ------------- - Updated zoneinfo to 2016b - Changed MANIFEST.in to explicitly include test suite in source distributions, with help from @koobs (gh issue #193, pr #194, #201, #221) - Explicitly set all line-endings to LF, except for the NEWS file, on a per-repository basis (gh pr #218) - Fixed an issue with improper caching behavior in rruleset objects (gh issue #104, pr #207) - Changed to an explicit error when rrulestr strings contain a missing BYDAY (gh issue #162, pr #211) - tzfile now correctly handles files containing leapcnt (although the leapcnt information is not actually used). Contributed by @hjoukl (gh issue #146, pr #147) - Fixed recursive import issue with tz module (gh pr #204) - Added compatibility between tzwin objects and datetime.time objects (gh issue #216, gh pr #219) - Refactored monolithic test suite by module (gh issue #61, pr #200 and #206) - Improved test coverage in the relativedelta module (gh pr #215) - Adjusted documentation to reflect possibly counter-intuitive properties of RFC-5545-compliant rrules, and other documentation improvements in the rrule module (gh issue #105, gh issue #149 - pointer to the solution by @phep, pr #213). Version 2.5.0 ------------- - Updated zoneinfo to 2016a - zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py script will work with older zoneinfo_metadata.json files, but new metadata files will not work with older updatezinfo.py versions. Additionally, we have started hosting our own mirror of the Olson databases on a github pages site (https://dateutil.github.io/tzdata/) (gh pr #183) - dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used to generate them. (gh issue #27, gh pr #85) - relativedelta can now be safely subclassed without derived objects reverting to base relativedelta objects as a result of arithmetic operations. (lp:1010199, gh issue #44, pr #49) - relativedelta 'weeks' parameter can now be set and retrieved as a property of relativedelta instances. (lp: 727525, gh issue #45, pr #49) - relativedelta now explicitly supports fractional relative weeks, days, hours, minutes and seconds. Fractional values in absolute parameters (year, day, etc) are now deprecated. (gh issue #40, pr #190) - relativedelta objects previously did not use microseconds to determine of two relativedelta objects were equal. This oversight has been corrected. Contributed by @elprans (gh pr #113) - rrule now has an xafter() method for retrieving multiple recurrences after a specified date. (gh pr #38) - str(rrule) now returns an RFC2445-compliant rrule string, contributed by @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160) - rrule performance under certain conditions has been significantly improved thanks to a patch contributed by @dekoza, based on an article by Brian Beck (@exogen) (gh pr #136) - The use of both the 'until' and 'count' parameters is now deprecated as inconsistent with RFC2445 (gh pr #62, #185) - Parsing an empty string will now raise a ValueError, rather than returning the datetime passed to the 'default' parameter. (gh issue #78, pr #187) - tzwinlocal objects now have a meaningful repr() and str() implementation (gh issue #148, prs #184 and #186) - Added equality logic for tzwin and tzwinlocal objects. (gh issue #151, pr #180, #184) - Added some flexibility in subclassing timelex, and switched the default behavior over to using string methods rather than comparing against a fixed list. (gh pr #122, #139) - An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576, gh issue #51, pr #55) - An issue with string encoding causing exceptions under certain circumstances when tzname() is called was fixed. (gh issue #60, #74, pr #75) - Parser issue where calling parse() on dates with no day specified when the day of the month in the default datetime (which is "today" if unspecified) is greater than the number of days in the parsed month was fixed (this issue tended to crop up between the 29th and 31st of the month, for obvious reasons) (canonical gh issue #25, pr #30, #191) - Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception in certain circumstances. Contributed by @MichaelAquilina (gh pr #91) - Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed by @Bachmann1234 (gh pr #130) - Fixed parser issue where commas were not a valid separator between seconds and microseconds, preventing parsing of ISO 8601 dates. Contributed by @RyansS (gh issue #28, pr #106) - Fixed issue with tzwin encoding in locales with non-Latin alphabets (gh issue #92, pr #98) - Fixed an issue where tzwin was not being properly imported on Windows. Contributed by @labrys. (gh pr #134) - Fixed a problem causing issues importing zoneinfo in certain circumstances. Issue and solution contributed by @alexxv (gh issue #97, pr #99) - Fixed an issue where dateutil timezones were not compatible with basic time objects. One of many, many timezone related issues contributed and tested by @labrys. (gh issue #132, pr #181) - Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135, pr #141, #142) - Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly parsed from the registry. (gh issue #143, pr #178) - updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv (gh pr #164) - An issue that arose when timezone locale changes during runtime has been fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109) - Python 3.5 was added to the supported platforms in the metadata (@tacaswell gh pr #159) and the test suites (@moreati gh pr #117). - An issue with tox failing without unittest2 installed in Python 2.6 was fixed by @moreati (gh pr #115) - Several deprecated functions were replaced in the tests by @moreati (gh pr #116) - Improved the logic in Travis and Appveyor to alleviate issues where builds were failing due to connection issues when downloading the IANA timezone files. In addition to adding our own mirror for the files (gh pr #183), the download is now retried a number of times (with a delay) (gh pr #177) - Many failing doctests were fixed by @moreati. (gh pr #120) - Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere, gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits) - Added a code coverage tool to the CI to help improve the library. (gh pr #182) - We now have a mailing list - dateutil@python.org, graciously hosted by Python.org. Version 2.4.2 ------------- - Updated zoneinfo to 2015b. - Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded if not a unicode type. gh #51 (lp:1331576), gh pr #55. - Fix a parser issue where AM and PM tokens were showing up in fuzzy date stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63. - Missing function "setcachesize" removed from zoneinfo __all__ list by @RyansS, fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66). - (PyPi only) Fix an issue with source distributions not including the test suite. Version 2.4.1 ------------- - Added explicit check for valid hours if AM/PM is specified in parser. (gh pr #22, issue #21) - Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not handled properly. (gh pr #35, issue #34) - Fix error where parser allowed some invalid dates, overwriting existing hours with the last 2-digit number in the string. (gh pr #32, issue #31) - Fix and add test for Python 2.x compatibility with boolean checking of relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier (lp: 1035038) - Replaced parse() calls with explicit datetime objects in unit tests unrelated to parser. (gh pr #36) - Changed private _byxxx from sets to sorted tuples and fixed one currently unreachable bug in _construct_byset. (gh pr #54) - Additional documentation for parser (gh pr #29, #33, #41) and rrule. - Formatting fixes to documentation of rrule and README.rst. - Updated zoneinfo to 2015a.
jperkin
pushed a commit
that referenced
this pull request
Aug 24, 2016
Removed !!! ??? ;;; &&& ||| =~ (#167) ~~~ %%% New safer calt code that doesn’t apply ligatures to long sequences of chars, e.g. !!!!, >>>>, etc (#49, #110, #176) Larger + - * and corresponding ligatures (#86) Hexadecimal x (0xFF) is now applied to sequences like 128x128 as well (#161) Added twoTurned (U+218A) and threeTurned (U+218B) (#146) Added whiteFrowningFace (U+2639) (#190) Simplified visual style on markdown headers ## ### #### (#107) Added </> (#147) Provided ttf and webfonts versions (eot, woff, woff2) (#18, #24, #38, #101, #106) Increased spacing in <= >= (#117)
jperkin
pushed a commit
that referenced
this pull request
Oct 22, 2016
+ Version 2.15 (18.10.2016) - PR #121: Update bundled PLY version to 3.8 - Issue #117: Fix parsing of extra semi-colons inside structure declarations. - PR #109: Update c_generator to add {} around nested named initializers. - PR #101: Added support for parsing pragmas into the AST. - Additional fake headers and typedefs, manifest fixes (#97, #106, #111). - Testing with Python 3.5 instead of 3.3 now (3.4 and 3.5 are the 3.x versions tested). - PR #145: More complete support for offsetof() - Issue #116: Fix line numbers recorded for empty and compound statements. - Minor performance improvement to the invalid string literal regex.
jperkin
pushed a commit
that referenced
this pull request
Nov 28, 2016
A major update to Streamlink. With this release, we include a Windows binary as well as numerous plugin changes and fixes. The main features are: Windows binary (and generation!) thanks to the fabulous work by @beardypig Multiple plugin fixes Remove unneeded run-as-root (no more warning you when you run as root, we trust that you know what you're doing) Fix stream quality naming issue Beardypig <beardypig@users.noreply.github.com> (13): fix stream quality naming issue with py2 vs. py3, fixing #89 (#96) updated connectcast plugin to support the new rtmp streams; fixes #93 (#95) Fix for erroneous escape coding the livecoding plugin. Fixes #106 (#121) TVPlayer.com: fix for 400 error, correctly set the platform parameter (#123) Added a method to automatically determine the encoding when parsing JSON, if no encoding is provided. (#122) when retry-streams and twitch-disable-hosting arguments are used the stream is retried until a non-hosted stream is found (#125) plugins.goodgame: Update for API change (#130) plugins.adultswim: added a new adultswim.com plugin (#139) plugins.goodgame: restored DDOS protection cookie support (#136) plugins.younow: update API url (#135) plugins.euronew: update to support the new site (#141) plugins.webtv: added a new plugin to support web.tv (#144) plugins.connectcast: fix regex issue with python 3 (#152) Brainzyy <Brainzyy@users.noreply.github.com> (1): Add piczel.tv plugin (courtesy of @intact) (#114) Charlie Drage <charlie@charliedrage.com> (1): Update release scripts Erk- <Erk-@users.noreply.github.com> (1): Changed the twitch plugin to use https instead of http as discussed in #103 (#104) Forrest <gravyboat@users.noreply.github.com> (2): Modify the changelog link (#107) Update cli to note a few windows issues (#108) Simon Bernier St-Pierre <sbernierstpierre@gmail.com> (1): change icon Simon Bernier St-Pierre <sbstp@users.noreply.github.com> (1): finish the installer (#98) Stefan <stefan-github@yrden.de> (1): Debian packaging base (#80) Stefan <stefanhani@gmail.com> (1): remove run-as-root option, reworded warning #85 (#109) Weslly <weslly.honorato@gmail.com> (1): Fixed afreecatv.com url matching (#90) bastimeyer <mail@bastimeyer.de> (2): Improve NSIS installer script Remove shortcut from previous releases on Windows beardypig <beardypig@users.noreply.github.com> (8): plugins.cybergame: update to support changes to the live streams on the cybergame.tv website Use pycryptodome inplace of pyCrypto Automated build of the Windows NSIS installer support for relative paths for rtmpdump makeinstaller: install the streamlinkrc file in to the users %APPDATA% directory remove references to livestreamer in the win32 config template stream.rtmpdump: fixed the rtmpdump path issue, introduced in 6bf7fd7 pin requests to <2.12.0 to avoid the strict IDNA2008 validation ethanhlc <ethanhlc@users.noreply.github.com> (1): fixed instance of livestreamer (#99) intact <intact.devel@gmail.com> (1): plugins.livestream: Support old player urls mmetak <mmetak@users.noreply.github.com> (2): fix vaughnlive.tv info_url (#88) fix vaughnlive.tv info_url (yet again...) (#143) skulblakka <pascal.romahn@mailbox.org> (1): Overworked Plugin for ZDF Mediathek (#154) sqrt2 <sqrt2@users.noreply.github.com> (1): Fix ORF TVthek plugin (#113) tam1m <tam1m@users.noreply.github.com> (1): Fix zdf_mediathek TypeError (#156)
jperkin
pushed a commit
that referenced
this pull request
Nov 28, 2016
Upstream changes: Changes in Devel::NYTProf 6.04 - 24th November 2016 Fixed build on perl 5.25+ due to OpSIBLING, thanks to Dan Collins #102 Fixed nytprofmerge on Windows thanks to andrey-starodubtsev #99 Fixed nytprofhtml invalid UTF-8 char and improved CSS #105 Fixed spelling mistake in nytprofcsv docs. Closes #95 Table headers now stay visible, thanks to Sebastian Rose #106 Assorted improvments to .travis.yml
jperkin
pushed a commit
that referenced
this pull request
Jan 23, 2017
This upgrade fixes compatibility with new lxml. Upstream changelog ================== 2.3.1 _This is a micro release and I have very little time on my hands right now sorry_ Fix crash with no values when the print_values_position param is set (thanks @cristen) 2.3.0 New call API: chart = Line(fill=True); chart.add('title', [1, 3, 12]); chart.render() can now be replaced with Line(fill=True)(1, 3, 12, title='title').render() Drop python 2.6 support 2.2.3 Fix bar static value positioning (#315) Add stroke_opacity style (#321) Remove useless js in sparklines. (#312) 2.2.2 Add classes option. Handle ellipsis in list type configs to auto-extend parent. (Viva python3) 2.2.0 Support interruptions in line charts (thanks @piotrmaslanka #300) Fix confidence interval reactiveness (thanks @chartique #296) Add horizontal line charts (thanks @chartique #301) There is now a formatter config option to format values as specified. The formatter callable may or may not take chart, serie and index as argument. The default value formatting is now chart dependent and is value_formatter for most graph but could be a combination of value_formatter and x_value_formatter for dual charts. The human_readable option has been removed. Now you have to use the pygal.formatters.human_readable formatter (value_formatter=human_readable instead of human_readable=True) New chart type: SolidGauge (thanks @chartique #295) Fix range option for some Charts (#297 #298) Fix timezones for DateTimeLine for python 2 (#306, #302) Set default uri protocol to https (should fix a lot of "no tooltips" bugs). 2.1.1 Import scipy as a last resort in stats.py (should workaround bugs like #294 if scipy is installed but not used) 2.1.0 Bar print value positioning with print_values_position. Can be top, center or bottom (thanks @chartique #291) ci doc Confidence intervals (thanks @chartique #292) data doc 2.0.12 Use custom xml_declaration avoiding conflict with processing instructions 2.0.11 lxml 3.5 compatibility (#282) 2.0.10 Fix transposable_node in case all attributes are not there. (thanks @yobuntu). 2.0.9 Add dynamic_print_values to show print_values on legend hover. (#279) Fix unparse_color for python 3.5+ compatibility (thanks @felixonmars, @sjourdois) Process major labels as labels. (#263) Fix labels rotation > 180 (#257) Fix secondary axis Don't forget secondary series in table rendering (#260) Add defs config option to allow adding gradients and patterns. 2.0.8 Fix value overwrite in map. (#275) 2.0.7 Fixing to checks breaking rendering of DateTimeLine and TimeDeltaLine (#264) (thanks @mmrose) Fix render_in_browser. (#266) (#268) (thanks @waixwong) 2.0.6 Avoid x label formatting when label is a string 2.0.5 Fix x label formatting 2.0.4 Fix map coloration 2.0.3 Fix label adaptation. (#256) Fix wrong radar truncation. (#255) 2.0.2 Fix view box differently to avoid getting a null height on huge numbers. (#254) Fix broken font_family default Fix non namespaced svg (without embed) javascript by adding uuid in config object. (config is in window.pygal now). 2.0.1 Fix the missing title on x_labels with labels. Auto cast to str x labels in non dual charts (#178) Add print_labels option to print label too. (#197) Add value_label_font_family and value_label_font_size style options for print_labels. Default print_zeroes to True (Re)Add xlink in desc to show on tooltip Activate element on tooltip hovering. (#106) Fix radar axis behaviour (#247) Add tooltip support in metadata to add a title (#249). Take config class options in account too. 2.0.0 Rework the ghost mechanism to come back to a more object oriented behavior, storing all state in a state object which is created on every render. (#161) Refactor maps Add world continents Add swiss cantons map (thanks @sergedroz) Add inverse_y_axis options to reverse graph (#24) Fix DateTimeLine time data loss (#193) Fix no data for graphs with only zeroes (#148) Support value formatter for pie graphs (#218) (thanks @never-eat-yellow-snow) Add new Box plot modes and outliers and set extremes as default (#226 #121 #149) (thanks @djezar) Add secondary_range option to set range for secondary values. (#203) Maps are now plugins, they are removed from pygal core and moved to packages (pygal_maps_world, pygal_maps_fr, pygal_maps_ch, ...) (#225) Dot now supports negative values Fix dot with log scale (#201) Fix y_labels behaviour for lines Fix x_labels and y_labels behaviour for xy like Improve gauge a bit Finally allow call chains on add Transform min_scale and max_scale as options mode option has been renamed to a less generic name: box_mode fix stack_from_top for stacked lines Add flake8 test to py.test in tox Remove stroke style in style and set it as a global / serie configuration. Fix None values in tables Fix timezones in DateTimeLine Rename in Style foreground_light as foreground_strong Rename in Style foreground_dark as foreground_subtle Add a render_data_uri method (#237) Move font_size config to style Add font_family for various elements in style Add googlefont:font support for style fonts Add tooltip_fancy_mode to revert to old tooltips Add auto print_value color + a configurable value_colors list in style Add guide_stroke_dasharray and guide_stroke_dasharray in style to customize guides (#242) (thanks @cbergmiller) Refactor label processing in a _compute_x_labels and _compute_y_labels method. Handle both string and numbers for all charts. Create a Dual base chart for dual axis charts. (#236) Better js integration in maps. Use the normal tooltip.
jperkin
pushed a commit
that referenced
this pull request
Mar 20, 2017
---------------------------------------- 0.000069 2017-03-16 20:57:43-07:00 America/Los_Angeles - No changes from trial 0.000068 2017-03-08 20:22:23-08:00 America/Los_Angeles (TRIAL RELEASE) - Set the term size for all tests that use tables 0.000067 2017-01-03 19:41:52-08:00 America/Los_Angeles - No changes 0.000066 2016-12-23 15:16:18-08:00 America/Los_Angeles (TRIAL RELEASE) - Move sub_info to Sub::Info 0.000065 2016-12-19 19:46:47-08:00 America/Los_Angeles - AUTHOR_TESTING a fragile test 0.000064 2016-12-19 11:56:28-08:00 America/Los_Angeles (TRIAL RELEASE) - Move Test2::Util::Table to Term::Table 0.000063 2016-12-17 12:11:39-08:00 America/Los_Angeles - No notable changes since the last trial release. 0.000062 2016-12-03 14:03:44-08:00 America/Los_Angeles (TRIAL RELEASE) - An event without a trace object throw would an exception when using Test2::Compare::Event and the comparison failed - Fix tests for small terminals (#106) - Enhance the table library - UTF8 plugin does not set STDERR/STDOUT 0.000061 2016-11-26 12:39:14-08:00 America/Los_Angeles - Fix mocked objects so that they respond properly to ->can when using AUTOLOAD. - Fix some meta-files - Small build improvements - Minor fixes (pkgsrc changes) - Add following lines for make test BUILD_DEPENDS+= p5-Sub-Info-[0-9]*:../../devel/p5-Sub-Info BUILD_DEPENDS+= p5-Term-Table-[0-9]*:../../devel/p5-Term-Table
jperkin
pushed a commit
that referenced
this pull request
Apr 20, 2017
chardet 3.0.2 Fixes an issue where detect would sometimes return None instead of a dict with the keys encoding, language, and confidence (Issue #113, PR #114). chardet 3.0.1 This bugfix release fixes a crash in the EUC-TW prober when it encountered certain strings (Issue #67). chardet 3.0.0 This release is long overdue, but still mostly serves as a placeholder for the impending 4.0.0 release, which will have retrained models for better accuracy. For now, this release will get the following improvements up on PyPI: Added support for Turkish ISO-8859-9 detection (PR #41, thanks @queeup) Commented out large unused sections of Big5 and EUC-KR tables to save memory (8bc4b89) Removed Python 3.2 from testing, but add 3.4 - 3.6 Ensure that stdin is open with mode 'rb' for chardetect CLI. (PR #38, thanks @lpsinger) Fixed chardetect crash with non-ascii file names (PR #39, thanks @nkanaev) Made naming conventions more Pythonic throughout (no more mTypicalPositiveRatio, and instead typical_positive_ratio) Modernized test scripts and infrastructure so we've got Travis testing and all that stuff Rename filter_without_english_words to filter_international_words and make it match current Mozilla implementation (PR #44, thanks @rsnair2) Updated filter_english_letters to match C implementation (c665459) Temporarily disabled Hungarian ISO-8859-2 and Windows-1250 detection because it is very inaccurate (da6c0a0) Allow CLI sub-package to be importable (PR #55) Add a hypotheis-based test (PR #66, thanks @DRMacIver) Strip endianness from UTF with BOM predictions so that the encoding can be passed directly to bytes.decode() (PR #73, thanks @snoack) Fixed broken links in docs (PR #90, thanks @roskakori) Added early exit to chardetect when encoding is detected instead of looping through entire file (PR #103, thanks @jpz) Use bytearray objects internally instead of wrap_ord calls, which provides a nice performance boost across the board (PR #106) Add language property to probers and UniversalDetector results (PR #180) Mark the 5 known test failures as such so we can have more useful Travis build results in the meantime (d588407)
jperkin
pushed a commit
that referenced
this pull request
Apr 27, 2017
## [1.2.0][] (2017-04-14) * [#95](mattbrictson/airbrussh#95): colorize LogMessage label on WARN level and above - [@klyonrad](https://github.com/klyonrad) * [#106](mattbrictson/airbrussh#106): Remove the `log_file` parameter from the `CommandFormatter#exit_message` method; it was unused - [@mattbrictson](https://github.com/mattbrictson)
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.
fix build on SmartOS