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
[UPDATE] net/zeromq 2.x to 3.2.3 #54
Comments
jperkin
pushed a commit
that referenced
this issue
Jul 4, 2013
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
mamash
pushed a commit
that referenced
this issue
Aug 12, 2013
Changes since 1.1.0 (from git log): issue #70: boolean flags may have true default Merge pull request #69 from Tieske/master general updates, mainly added CONTRIBUTING.md Merge pull request #1 from mark-otaris/patch-1 Caught red handed, after a shameless copy 😄. Thx for the fix This is Penlight, not Busted added - a shameless copy of busted - CONTRIBUTING.md file renamed docs to doc, to fix luarocks warning updated readme to md format changed .txt to .md files added rockspec, fixed typo in filename Merge pull request #67 from Tieske/add_executeex added utils.executeex, which also returns output of stdout and stderr updated, using readfile now, remove obsolete os.remove commands Merge pull request #66 from Tieske/fix_temp windows environment variable TMP is deprecated, use TEMP mode binary mode optional (binary would require platform specific line endings to be converted which is not very portable, and mostly just text will do) update: read files in binary mode added utils.executeex, which also returns output of stdout and stderr windows environment variable TMP is deprecated, use TEMP HTML mode skips DOCTYPE; no globals harmed outside pl.utils Merge pull request #64 from Tieske/fix_dir fixed makepath creation, added/updated some documentation fixed dirpath creation, added/updated some documentation basic parser handles comments, and HTML mode is working nicely with real-world HTML use LOM ordered attributes when stringifying if present (Danny). manual merge of John Schember's readonly table support Merge pull request #61 from user-none/isempty Thanks, John! Merge pull request #62 from CoolisTheName007/patch-2 Transform using values as keys. missing locals Set.issempty mispelling; default ctor borked; more tests Transform using values as keys. Merge remote-tracking branch 'upstream/master' into empty Add function to check if an object is empty. Merge pull request #53 from pkazmier/master Added iterators to allow traversing tables in a sorted manner Merge pull request #60 from theypsilon/master base class methods invocation possible not only in method constructor _init Adding new class method 'base' which can be used for calling base class methods easily pl.class broke with classes that redefined __newindex; OrderedMap can now use normal indexing to assign keys in order Merge pull request #54 from CoolisTheName007/patch-1 Typo fixed, libarary->library Typo fixed. Added tablex.sort and tablex.sortv to iterate over sorted elements There are times when it would be convenient to iterate over a table either by sorted keys or values. There is an example of this in the PIL book. I added the two functions to tablex module, added two test cases, and updated the PL manual. Merge pull request #51 from pkazmier/master Thanks! lapp.add_type was broken due to uninitialized table variable. The variable `types` was not initialized preventing `add_type` from appending custom types to the variable. I also added a new test to cover this test case in the future.
jperkin
pushed a commit
that referenced
this issue
Dec 9, 2013
libass (0.10.1) * Fix letter spacing * Add \rSTYLENAME syntax support (GC #43) * Fix border generation and border style reset (GC #56) * Fix various issues with bug-for-bug compatibility of transformations (\fax, \fay, etc.) to VSFilter (GC #46, GC #42) * Fix drawing parsing (GC #47) * Various fixes to shaper (GC #54, GC #55, GC#59) * Fix change detection * Add ass_set_line_position API to set a vertical subtitle offset * Fix scaling of drawing baseline offset (\pbo) values * Fix skipping of zero-width characters for FriBiDi shaper * Use LTR text base direction by default, similar to VSFilter libass (0.10.0) * Bidirectional layout and Arabic shaping via FriBidi (GC #13) * OpenType shaping via HarfBuzz-ng (GC #13) * Add API for shaper configuration * Add support for `Language' Script Info property, this can be used for hinting the text language * Vertical layout improvements * Use `vert' and `vkna' OpenType features for vertical glyph variants * Position rotated glyphs onto baseline * Parse font encoding property for base text direction hinting * Refactor cache system * Use generic outlines in place of FreeType glyphs * Direct outline bitmap rendering * Fix whitespace trimming (GC #35) * Do not render border if there's no shadow or glyph (GC #29) * Adjust spacing after a italic to non-italic style change (GC #37) * Fix fade timing * Fix x positioning with borders (GC #27) * Build system tweaks
jperkin
pushed a commit
that referenced
this issue
Dec 9, 2013
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Dec 9, 2013
Changes since 1.1.0 (from git log): issue #70: boolean flags may have true default Merge pull request #69 from Tieske/master general updates, mainly added CONTRIBUTING.md Merge pull request #1 from mark-otaris/patch-1 Caught red handed, after a shameless copy 😄. Thx for the fix This is Penlight, not Busted added - a shameless copy of busted - CONTRIBUTING.md file renamed docs to doc, to fix luarocks warning updated readme to md format changed .txt to .md files added rockspec, fixed typo in filename Merge pull request #67 from Tieske/add_executeex added utils.executeex, which also returns output of stdout and stderr updated, using readfile now, remove obsolete os.remove commands Merge pull request #66 from Tieske/fix_temp windows environment variable TMP is deprecated, use TEMP mode binary mode optional (binary would require platform specific line endings to be converted which is not very portable, and mostly just text will do) update: read files in binary mode added utils.executeex, which also returns output of stdout and stderr windows environment variable TMP is deprecated, use TEMP HTML mode skips DOCTYPE; no globals harmed outside pl.utils Merge pull request #64 from Tieske/fix_dir fixed makepath creation, added/updated some documentation fixed dirpath creation, added/updated some documentation basic parser handles comments, and HTML mode is working nicely with real-world HTML use LOM ordered attributes when stringifying if present (Danny). manual merge of John Schember's readonly table support Merge pull request #61 from user-none/isempty Thanks, John! Merge pull request #62 from CoolisTheName007/patch-2 Transform using values as keys. missing locals Set.issempty mispelling; default ctor borked; more tests Transform using values as keys. Merge remote-tracking branch 'upstream/master' into empty Add function to check if an object is empty. Merge pull request #53 from pkazmier/master Added iterators to allow traversing tables in a sorted manner Merge pull request #60 from theypsilon/master base class methods invocation possible not only in method constructor _init Adding new class method 'base' which can be used for calling base class methods easily pl.class broke with classes that redefined __newindex; OrderedMap can now use normal indexing to assign keys in order Merge pull request #54 from CoolisTheName007/patch-1 Typo fixed, libarary->library Typo fixed. Added tablex.sort and tablex.sortv to iterate over sorted elements There are times when it would be convenient to iterate over a table either by sorted keys or values. There is an example of this in the PIL book. I added the two functions to tablex module, added two test cases, and updated the PL manual. Merge pull request #51 from pkazmier/master Thanks! lapp.add_type was broken due to uninitialized table variable. The variable `types` was not initialized preventing `add_type` from appending custom types to the variable. I also added a new test to cover this test case in the future.
jperkin
pushed a commit
that referenced
this issue
Jan 6, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
Changes since 1.1.0 (from git log): issue #70: boolean flags may have true default Merge pull request #69 from Tieske/master general updates, mainly added CONTRIBUTING.md Merge pull request #1 from mark-otaris/patch-1 Caught red handed, after a shameless copy 😄. Thx for the fix This is Penlight, not Busted added - a shameless copy of busted - CONTRIBUTING.md file renamed docs to doc, to fix luarocks warning updated readme to md format changed .txt to .md files added rockspec, fixed typo in filename Merge pull request #67 from Tieske/add_executeex added utils.executeex, which also returns output of stdout and stderr updated, using readfile now, remove obsolete os.remove commands Merge pull request #66 from Tieske/fix_temp windows environment variable TMP is deprecated, use TEMP mode binary mode optional (binary would require platform specific line endings to be converted which is not very portable, and mostly just text will do) update: read files in binary mode added utils.executeex, which also returns output of stdout and stderr windows environment variable TMP is deprecated, use TEMP HTML mode skips DOCTYPE; no globals harmed outside pl.utils Merge pull request #64 from Tieske/fix_dir fixed makepath creation, added/updated some documentation fixed dirpath creation, added/updated some documentation basic parser handles comments, and HTML mode is working nicely with real-world HTML use LOM ordered attributes when stringifying if present (Danny). manual merge of John Schember's readonly table support Merge pull request #61 from user-none/isempty Thanks, John! Merge pull request #62 from CoolisTheName007/patch-2 Transform using values as keys. missing locals Set.issempty mispelling; default ctor borked; more tests Transform using values as keys. Merge remote-tracking branch 'upstream/master' into empty Add function to check if an object is empty. Merge pull request #53 from pkazmier/master Added iterators to allow traversing tables in a sorted manner Merge pull request #60 from theypsilon/master base class methods invocation possible not only in method constructor _init Adding new class method 'base' which can be used for calling base class methods easily pl.class broke with classes that redefined __newindex; OrderedMap can now use normal indexing to assign keys in order Merge pull request #54 from CoolisTheName007/patch-1 Typo fixed, libarary->library Typo fixed. Added tablex.sort and tablex.sortv to iterate over sorted elements There are times when it would be convenient to iterate over a table either by sorted keys or values. There is an example of this in the PIL book. I added the two functions to tablex module, added two test cases, and updated the PL manual. Merge pull request #51 from pkazmier/master Thanks! lapp.add_type was broken due to uninitialized table variable. The variable `types` was not initialized preventing `add_type` from appending custom types to the variable. I also added a new test to cover this test case in the future.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
Changelog (from History.txt) === 1.0.6 2014-01-17 * rescue Launchy::CommandNotFoundError #56 === 1.0.5 2014-01-16 * use HTTPS for OAuth::Consumer #55 * thank you for contributing @ymrl === 1.0.4 2014-01-08 * update gem dependencies === 1.0.3 2014-01-08 * bugfix for rainbow 1.99.x #54 * use launchy gem to open OAuth-URL #53 === 1.0.2 2013-11-27 * fix syntax error on ruby1.8.7 === 1.0.1 2013-11-23 * bugfix -user:add #51 === 1.0.0 2013-11-21 * fix for twitter gem v5.0.0 #50
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy. PyFITS is a Python module for reading, writing, and manipulating FITS files. The module uses Python's object-oriented features to provide quick, easy, and efficient access to FITS files. The use of Python's array syntax enables immediate access to any FITS extension, header cards, or data items. Changes to 2.4.0 (in py-pyfits): Changelog =========== 3.2 (2013-11-26) ---------------- Highlights ^^^^^^^^^^ - Rewrote CFITSIO-based backend for handling tile compression of FITS files. It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO as before. PyFITS ships with its own copy of CFITSIO v3.35 which supports the latest version of the Tiled Image Convention (v2.3), but system packagers may choose instead to strip this out in favor of a system-installed version of CFITSIO. Earlier versions may work, but nothing earlier than 3.28 has been tested yet. (#169) - Added support for reading and writing tables using the Q format for columns. The Q format is identical to the P format (variable-length arrays) except that it uses 64-bit integers for the data descriptors, allowing more than 4 GB of variable-length array data in a single table. (#160) - Added initial support for table columns containing pseudo-unsigned integers. This is currently enabled by using the ``uint=True`` option when opening files; any table columns with the correct BZERO value will be interpreted and returned as arrays of unsigned integers. - Some refactoring of the table and ``FITS_rec`` modules in order to better separate the details of the FITS binary and ASCII table data structures from the HDU data structures that encapsulate them. Most of these changes should not be apparent to users (but see API Changes below). API Changes ^^^^^^^^^^^ - Assigning to values in ``ColDefs.names``, ``ColDefs.formats``, ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return lists of column properties is no longer supported. Assigning to those lists will no longer update the corresponding columns. Instead, please just modify the ``Column`` instances directly (``Column.name``, ``Column.null``, etc.) - The ``pyfits.new_table`` function is marked "pending deprecation". This does not mean it will be removed outright or that its functionality has changed. It will likely be replaced in the future for a function with similar, if not subtly different functionality. A better, if not slightly more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create a new ``FITS_rec`` table--this has the same interface as ``pyfits.new_table``. The difference is that it returns a plan ``FITS_rec`` array, and not an HDU instance. This ``FITS_rec`` object can then be used as the data argument in the constructors for ``BinTableHDU`` (for binary tables) or ``TableHDU`` (for ASCII tables). This is analogous to creating an ``ImageHDU`` by passing in an image array. ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a FITS-compatible recarray from a FITS column specification. - The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData`` methods of the ``CompDataHDU`` class are pending deprecation and moved to internal methods. The operation of these methods depended too much on internal state to be used safely by users; instead they are invoked automatically in the appropriate places when reading/writing compressed image HDUs. - The ``CompDataHDU.compData`` attribute is pending deprecation in favor of the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``. - The constructor for ``CompDataHDU`` has been changed to accept new keyword arguments. The new keyword arguments are essentially the same, but are in underscore_separated format rather than camelCase format. The old arguments are still pending deprecation. - The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``, and ``_data_size`` respectively. The old attribute names are still pending deprecation. This should only be of interest to advanced users who have created their own HDU subclasses. - The following previously deprecated functions and methods have been removed entirely: ``createCard``, ``createCardFromString``, ``upperKey``, ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``, ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``. If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with the ``python -Wd`` argument, warnings for all deprecated interfaces still in use will be displayed. - Interfaces that were pending deprecation are now fully deprecated. These include: ``create_card``, ``create_card_from_string``, ``upper_key``, ``Header.get_history``, and ``Header.get_comment``. - The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa. - The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to ``pyfits.file.PYFITS_MODES`` which better reflects its purpose. This is rarely used by client code, however. Support for the old name will be removed by PyFITS 3.4. Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - The new compression code also adds support for the ZQUANTIZ and ZDITHER0 keywords added in more recent versions of this FITS Tile Compression spec. This includes support for lossless compression with GZIP. (#198) By default no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct constants to the ``quantize_method`` argument to the ``CompImageHDU`` constuctor. A seed can be manually specified, or automatically generated using either the system clock or checksum-based methods via the ``dither_seed`` argument. See the documentation for ``CompImageHDU`` for more details. (#198) (spacetelescope/PYFITS#32) - Images compressed with the Tile Compression standard can now be larger than 4 GB through support of the Q format. (#159) - All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist. This was added for consistency with the ``.name`` attribute which returns the EXTNAME value from the header. - Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes which give the Numpy dtype for the column data in the first case, and the full Numpy compound dtype for each table row in the latter case. - There was an issue where new tables created defaulted the values in all string columns to '0.0'. Now string columns are filled with empty strings by default--this seems a less surprising default, but it may cause differences with tables created with older versions of PyFITS. - Improved round-tripping and preservation of manually assigned column attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers. (astropy/astropy#996) Bug Fixes ^^^^^^^^^ - Binary tables containing compressed images may, optionally, contain other columns unrelated to the tile compression convention. Although this is an uncommon use case, it is permitted by the standard. (#159) - Reworked some of the file I/O routines to allow simpler, more consistent mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more "PyFITS-specific" modes used by PyFITS like "readonly" and "update". That is, if reading a FITS file from an open file object, it doesn't matter as much what "mode" it was opened in so long as it has the right capabilities (read/write/etc.) Also works around bugs in the Python io module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968) 3.1.3 (2013-11-26) ------------------ - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (spacetelescope/PyFITS#11) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.0.12 (2013-11-26) ------------------- - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (Backported from 3.1.3) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (Backported from 3.1.3) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. (Backported from 3.1.3) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.1.2 (2013-04-22) ------------------ - When an error occurs opening a file in fitsdiff the exception message will now at least mention which file had the error. (#168) - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. (#201) - Added use of the console_scripts entry point to install the fitsdiff and fitscheck scripts, which if nothing else provides better Windows support. The generated scripts now override the ones explicitly defined in the scripts/ directory (which were just trivial stubs to begin with). (#202) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. (#218) - Fixed inconsistent behavior in creating CONTINUE cards from byte strings versus unicode strings in Python 2--CONTINUE cards can now be created properly from unicode strings (so long as they are convertable to ASCII). (spacetelescope/PyFITS#1) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. (spacetelescope/PyFITS#3) - Fixed a bug in parsing HIERARCH keywords that do not have a space after the first equals sign (before the value). (spacetelescope/PyFITS#5) - Prevented extra leading whitespace on HIERARCH keywords from being treated as part of the keyword. (spacetelescope/PyFITS#6) - Fixed a bug where HIERARCH keywords containing lower-case letters was mistakenly marked as invalid during header validation. (spacetelescope/PyFITS#7) - Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the ``Header.index()`` method did not work correctly with HIERARCH keywords containing lower-case letters. 3.0.11 (2013-04-17) ------------------- - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. Backported from 3.1.2. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. Backported from 3.1.2. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). Backported from 3.1.2. (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. Backported from 3.1.2. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. Backported from 3.1.2. (#201) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. Backported from 3.1.2. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. Backported from 3.1.2. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. Backported from 3.1.2. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. Backported from 3.1.2. (#218) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. Backported from 3.1.2. (spacetelescope/PyFITS#3) 3.1.1 (2013-01-02) ------------------ This is a bug fix release for the 3.1.x series. Bug Fixes ^^^^^^^^^ - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verboten in PRIMARY HDUs, but the latest version of the FITS standard allows them. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will automatically use compatible tile sizes even if they're not explicitly specified. (#171) - Added support for the optional ``endcard`` parameter in the ``Header.fromtextfile()`` and ``Header.totextfile()`` methods. Although ``endcard=False`` was a reasonable default assumption, there are still text dumps of FITS headers that include the END card, so this should have been more flexible. (#176) - Fixed a crash when running fitsdiff on two empty (that is, zero row) tables. (#178) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. (#180) - Fixed a crash when generating diff reports from diffs using the ``ignore_comments`` options. (#181) - Fixed some bugs with WCS Paper IV record-valued keyword cards: - Cards that looked kind of like RVKCs but were not intended to be were over-permissively treated as such--commentary keywords like COMMENT and HISTORY were particularly affected. (#183) - Looking up a card in a header by its standard FITS keyword only should always return the raw value of that card. That way cards containing values that happen to valid RVKCs but were not intended to be will still be treated like normal cards. (#184) - Looking up a RVKC in a header with only part of the field-specifier (for example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a wildcard lookup. (#184) - Fixed a crash when diffing two FITS files where at least one contains a compressed image HDU which was not recognized as an image instead of a table. (#187) - Fixed bugs in the backwards compatibility layer for the ``CardList.index`` and ``CardList.count`` methods. (#190) - Improved ``__repr__`` and text file representation of cards with long values that are split into CONTINUE cards. (#193) - Fixed a crash when trying to assign a long (> 72 character) value to blank ('') keywords. This also changed how blank keywords are represented--there are still exactly 8 spaces before any commentary content can begin; this *may* affect the exact display of header cards that assumed there could be fewer spaces in a blank keyword card before the content begins. However, the current approach is more in line with the requirements of the FITS standard. (#194) 3.0.10 (2013-01-02) ------------------- - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. Backported from 3.1.1. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. Backported from 3.1.1. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verbotten in PRIMARY HDUs, but the latest version of the FITS standard allows them. Backported from 3.1.1. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will not automatically use compatible tile sizes even if they're not explicitly specified. Backported from 3.1.1. (#171) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. Backported from 3.1.0. (#174) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. Backported from 3.1.1. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180) 3.1 (2012-08-08) ---------------- Highlights ^^^^^^^^^^ - The ``Header`` object has been significantly reworked, and ``CardList`` objects are now deprecated (their functionality folded into the ``Header`` class). See API Changes below for more details. - Memory maps are now used by default to access HDU data. See API Changes below for more details. - Now includes a new version of the ``fitsdiff`` program for comparing two FITS files, and a new FITS comparison API used by ``fitsdiff``. See New Features below. API Changes ^^^^^^^^^^^ - The ``Header`` class has been rewritten, and the ``CardList`` class is deprecated. Most of the basic details of working with FITS headers are unchanged, and will not be noticed by most users. But there are differences in some areas that will be of interest to advanced users, and to application developers. For full details of the changes, see the "Header Interface Transition Guide" section in the PyFITS documentation. See ticket #64 on the PyFITS Trac for futher details and background. Some highlights are listed below: * The Header class now fully implements the Python dict interface, and can be used interchangably with a dict, where the keys are header keywords. * New keywords can be added to the header using normal keyword assignment (previously it was necessary to use ``Header.update`` to add new keywords). For example:: >>> header['NAXIS'] = 2 will update the existing 'FOO' keyword if it already exists, or add a new one if it doesn't exist, just like a dict. * It is possible to assign both a value and a comment at the same time using a tuple:: >>> header['NAXIS'] = (2, 'Number of axes') * To add/update a new card and ensure it's added in a specific location, use ``Header.set()``:: >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX') This works the same as the old ``Header.update()``. ``Header.update()`` still works in the old way too, but is deprecated. * Although ``Card`` objects still exist, it generally is not necessary to work with them directly. ``Header.ascardlist()``/``Header.ascard`` are deprecated and should not be used. To directly access the ``Card`` objects in a header, use ``Header.cards``. * To access card comments, it is still possible to either go through the card itself, or through ``Header.comments``. For example:: >>> header.cards['NAXIS'].comment Number of axes >>> header.comments['NAXIS'] Number of axes * ``Card`` objects can now be used interchangeably with ``(keyword, value, comment)`` 3-tuples. They still have ``.value`` and ``.comment`` attributes as well. The ``.key`` attribute has been renamed to ``.keyword`` for consistency, though ``.key`` is still supported (but deprecated). - Memory mapping is now used by default to access HDU data. That is, ``pyfits.open()`` uses ``memmap=True`` as the default. This provides better performance in the majority of use cases--there are only some I/O intensive applications where it might not be desirable. Enabling mmap by default also enabled finding and fixing a large number of bugs in PyFITS' handling of memory-mapped data (most of these bug fixes were backported to PyFITS 3.0.5). (#85) * A new ``pyfits.USE_MEMMAP`` global variable was added. Set ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for opening files. This is especially useful for controlling the behavior in applications where pyfits is deeply embedded. * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported. Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default behavior. - The ``size()`` method on HDU objects is now a ``.size`` property--this returns the size in bytes of the data portion of the HDU, and in most cases is equivalent to ``hdu.data.nbytes`` (#83) - ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead. The new methods output the table data in a slightly different format from previous versions, which places quotes around each value. This format is compatible with data dumps from previous versions of PyFITS, but not vice-versa due to a parsing bug in older versions. - Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function versions of these methods have been renamed ``pyfits.tabledump`` and ``pyfits.tableload``. The old deprecated, but currently retained for backwards compatibility. (r1125) - A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added. This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive`` which is not deprecated and may be removed in a future version. To enable case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI') set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``. The default is ``False``. (r1139) - A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was added. By default, if a string value in a header contains trailing whitespace, that whitespace is automatically removed when the value is read. Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is preserved. (#146) - The old ``classExtensions`` extension mechanism (which was deprecated in PyFITS 3.0) is removed outright. To our knowledge it was no longer used anywhere. (r1309) - Warning messages from PyFITS issued through the Python warnings API are now output to stderr instead of stdout, as is the default. PyFITS no longer modifies the default behavior of the warnings module with respect to which stream it outputs to. (r1319) - The ``checksum`` argument to ``pyfits.open()`` now accepts a value of 'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored, and removed when the file is saved. New Features ^^^^^^^^^^^^ - Added support for the proposed "FITS" extension HDU type. See http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html. FITS HDUs contain an entire FITS file embedded in their data section. `FitsHDU` objects work like other HDU types in PyFITS. Their ``.data`` attribute returns the raw data array. However, they have a special ``.hdulist`` attribute which processes the data as a FITS file and returns it as an in-memory HDUList object. FitsHDU objects also support a ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object that embeds the supplied HDUList. (#80) - Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU data is an 'image' as opposed to a table or something else. Here the meaning of 'image' is fairly loose, and mostly just means a Primary or Image extension HDU, or possibly a compressed image HDU (#71) - Added an ``HDUList.fromstring`` classmethod which can parse a FITS file already in memory and instantiate and ``HDUList`` object from it. This could be useful for integrating PyFITS with other libraries that work on FITS file, such as CFITSIO. It may also be useful in streaming applications. The name is a slight misnomer, in that it actually accepts any Python object that implements the buffer interface, which includes ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90) - Added a new ``pyfits.diff`` module which contains facilities for comparing FITS files. One can use the ``pyfits.diff.FITSDiff`` class to compare two FITS files in their entirety. There is also a ``pyfits.diff.HeaderDiff`` class for just comparing two FITS headers, and other similar interfaces. See the PyFITS Documentation for more details on this interface. The ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with PyFITS. After installing PyFITS, run ``fitsdiff --help`` for usage details. - ``pyfits.open()`` now accepts a ``scale_back`` argument. If set to ``True``, this automatically scales the data using the original BZERO and BSCALE parameters the file had when it was first opened, if any, as well as the original BITPIX. For example, if the original BITPIX were 16, this would be equivalent to calling ``hdu.scale('int16', 'old')`` just before calling ``flush()`` or ``close()`` on the file. This option applies to all HDUs in the file. (#120) - ``pyfits.open()`` now accepts a ``save_backup`` argument. If set to ``True``, this automatically saves a backup of the original file before flushing any changes to it (this of course only applies to update and append mode). This may be especially useful when working with scaled image data. (#121) Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Warnings from PyFITS are not output to stderr by default, instead of stdout as it has been for some time. This is contrary to most users' expectations and makes it more difficult for them to separate output from PyFITS from the desired output for their scripts. (r1319) Bug Fixes ^^^^^^^^^ - Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust when encountering blank lines in a column definition file (#14) - Fixed a fairly rare crash that could occur in the handling of CONTINUE cards when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by PyFITS). (r1330) - Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU object from a string/buffer containing the header and data of that HDU. This allowed for the implementation of ``HDUList.fromstring`` described above. (#90) - Fixed a rare corner case where, in some use cases, (mildly, recoverably) malformatted float values in headers were not properly returned as floats. (#137) - Fixed a corollary to the previous bug where float values with a leading zero before the decimal point had the leading zero unnecessarily removed when saving changes to the file (eg. "0.001" would be written back as ".001" even if no changes were otherwise made to the file). (#137) - When opening a file containing CHECKSUM and/or DATASUM keywords in update mode, the CHECKSUM/DATASUM are updated and preserved even if the file was opened with checksum=False. This change in behavior prevents checksums from being unintentionally removed. (#148) - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. This fix will be backported to the 3.0.x series in version 3.0.10. (#174) 3.0.9 (2012-08-06) ------------------ This is a bug fix release for the 3.0.x series. Bug Fixes ^^^^^^^^^ - Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/ ``Header.iteritems()`` to correctly return the different values for duplicate keywords (particularly commentary keywords like HISTORY and COMMENT). This makes the old Header implementation slightly more compatible with the new implementation in PyFITS 3.1. (#127) .. note:: This fix did not change the existing behavior from earlier PyFITS versions where ``Header.keys()`` returns all keywords in the header with duplicates removed. PyFITS 3.1 changes that behavior, so that ``Header.keys()`` includes duplicates. - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug where opening a file containing compressed image HDUs in 'update' mode and then immediately closing it without making any changes caused the file to be rewritten unncessarily. (#167) - Fixed two memory leaks that could occur when writing compressed image data, or in some cases when opening files containing compressed image HDUs in 'update' mode. (#168) 3.0.8 (2012-06-04) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Prior to this release, image data sections did not work with scaled data--that is, images with non-trivial BSCALE and/or BZERO values. Previously, in order to read such images in sections, it was necessary to manually apply the BSCALE+BZERO to each section. It's worth noting that sections *did* support pseudo-unsigned ints (flakily). This change just extends that support for general BSCALE+BZERO values. Bug Fixes ^^^^^^^^^ - Fixed a bug that prevented updates to values in boolean table columns from being saved. This turned out to be a symptom of a deeper problem that could prevent other table updates from being saved as well. (#139) - Fixed a corner case in which a keyword comment ending with the string "END" could, in some circumstances, cause headers (and the rest of the file after that point) to be misread. (#142) - Fixed support for scaled image data and psuedo-unsigned ints in image data sections (``hdu.section``). Previously this was not supported at all. At some point support was supposedly added, but it was buggy and incomplete. Now the feature seems to work much better. (#143) - Fixed the documentation to point out that image data sections *do* support non-contiguous slices (and have for a long time). The documentation was never updated to reflect this, and misinformed users that only contiguous slices were supported, leading to some confusion. (#144) - Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY HDUs caused an infinite recursion when validating the object prior to writing to a file. (#145) - Fixed a rare but serious case where saving an update to a file that previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum in saving, could cause the file to be slightly corrupted and unreadable. (#147) - Fixed problems with reading "non-standard" FITS files with primary headers containing SIMPLE = F. PyFITS has never made many guarantees as to how such files are handled. But it should at least be possible to read their headers, and the data if possible. Saving changes to such a file should not try to prepend an unwanted valid PRIMARY HDU. (#157) - Fixed a bug where opening an image with ``disable_image_compression = True`` caused compression to be disabled for all subsequent ``pyfits.open()`` calls. (r1651) 3.0.7 (2012-04-10) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Slices of GroupData objects now return new GroupData objects instead of extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed FITS_rec slicing, and should have been fixed for GroupData at the same time. The old behavior caused bugs where functions internal to Numpy expected that slicing an ndarray would return a new ndarray. As this is a rare usecase with a rare feature most users are unlikely to be affected by this change. - The previously internal _Group object for representing individual group records in a GroupData object are renamed Group and are now a public interface. However, there's almost no good reason to create Group objects directly, so it shouldn't be considered a "new feature". - An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND keyword was always being set to F if there are not actually any extension HDUs. It was unnecessary to modify this value. Bug Fixes ^^^^^^^^^ - Fixed GroupData objects to return new GroupData objects when sliced instead of _Group record objects. See "Changes in behavior" above for more details. - Fixed slicing of Group objects--previously it was not possible to slice slice them at all. - Made it possible to assign `np.bool_` objects as header values. (#123) - Fixed overly strict handling of the EXTEND keyword; see "Changes in behavior" above. (#124) - Fixed many cases where an HDU's header would be marked as "modified" by PyFITS and rewritten, even when no changes to the header are necessary. (#125) - Fixed a bug where the values of the PTYPEn keywords in a random groups HDU were forced to be all lower-case when saving the file. (#130) - Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was causing some slowdown when opening files containing a large number of extensions, plus a few other small (but not insignficant) performance improvements thanks to Julian Taylor. (#133) - Fixed a regression where header blocks containing invalid end-of-header padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS. Such headers can be parsed again, but a warning is raised, as such headers are not valid FITS. (#136) - Fixed a memory leak where table data in random groups HDUs weren't being garbage collected. (#138) 3.0.6 (2012-02-29) ------------------ Highlights ^^^^^^^^^^ The main reason for this release is to fix an issue that was introduced in PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data to be automatically rescaled--possibly converting the data from ints to floats--as soon as the file is closed, even if the application did not touch the data. Now PyFITS will only rescale the data in an extension when the data is actually accessed by the application. So opening a file in 'update' mode in order to modify the header or append new extensions will not cause any change to the data in existing extensions. This release also fixes a few Windows-specific bugs found through more extensive Windows testing, and other miscellaneous bugs. Bug Fixes ^^^^^^^^^ - More accurate error messages when opening files containing invalid header cards. (#109) - Fixed a possible reference cycle/memory leak that was caught through more extensive testing on Windows. (#112) - Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w' mode. (#112) - Fixed a Windows-only issue where trying to save updates to a resized FITS file could result in a crash due to there being open mmaps on that file. (#112) - Fixed a crash when trying to create a FITS table (i.e. with new_table()) from a Numpy array containing bool fields. (#113) - Fixed a bug where manually initializing an ``HDUList`` with a list of of HDUs wouldn't set the correct EXTEND keyword value on the primary HDU. (#114) - Fixed a crash that could occur when trying to deepcopy a Header in Python < 2.7. (#115) - Fixed an issue where merely opening a scaled image in 'update' mode would cause the data to be converted to floats when the file is closed. (#119) 3.0.5 (2012-01-30) ------------------ - Fixed a crash that could occur when accessing image sections of files opened with memmap=True. (r1211) - Fixed the inconsistency in the behavior of files opened in 'readonly' mode when memmap=True vs. when memmap=False. In the latter case, although changes to array data were not saved to disk, it was possible to update the array data in memory. On the other hand with memmap=True, 'readonly' mode prevented even in-memory modification to the data. This is what 'copyonwrite' mode was for, but difference in behavior was confusing. Now 'readonly' is equivalent to 'copyonwrite' when using memmap. If the old behavior of denying changes to the array data is necessary, a new 'denywrite' mode may be used, though it is only applicable to files opened with memmap. (r1275) - Fixed an issue where files opened with memmap=True would return image data as a raw numpy.memmap object, which can cause some unexpected behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285) - Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3 interacted badly with some other software, namely to vo.table package (and possibly others). (r1320, r1337, and #110) - Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard interrupts) while flushing changes to a FITS file. PyFITS already prevented SIGINTs from causing an incomplete flush, but did not clean up the signal handlers properly afterwards, or reraise the keyboard interrupt once the flush was complete. (r1321) - Fixed a crash that could occur in Python 3 when opening files with checksum checking enabled. (r1336) - Fixed a small bug that could cause a crash in the `StreamingHDU` interface when using Numpy below version 1.5. - Fixed a crash that could occur when creating a new `CompImageHDU` from an array of big-endian data. (#104) - Fixed a crash when opening a file with extra zero padding at the end. Though FITS files should not have such padding, it's not explictly forbidden by the format either, and PyFITS shouldn't stumble over it. (#106) - Fixed a major slowdown in opening tables containing large columns of string values. (#111) 3.0.4 (2011-11-22) ------------------ - Fixed a crash when writing HCOMPRESS compressed images that could happen on Python 2.5 and 2.6. (r1217) - Fixed a crash when slicing an table in a file opened in 'readonly' mode with memmap=True. (r1230) - Writing changes to a file or writing to a new file verifies the output in 'fix' mode by default instead of 'exception'--that is, PyFITS will automatically fix common FITS format errors rather than raising an exception. (r1243) - Fixed a bug where convenience functions such as getval() and getheader() crashed when specifying just 'PRIMARY' as the extension to use (r1263). - Fixed a bug that prevented passing keyword arguments (beyond the standard data and header arguments) as positional arguments to the constructors of extension HDU classes. - Fixed some tests that were failing on Windows--in this case the tests themselves failed to close some temp files and Windows refused to delete them while there were still open handles on them. (r1295) - Fixed an issue with floating point formatting in header values on Python 2.5 for Windows (and possibly other platforms). The exponent was zero-padded to 3 digits; although the FITS standard makes no specification on this, the formatting is now normalized to always pad the exponent to two digits. (r1295) - Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were broken into multiple CONTINUE cards. However, commentary cards are not expected to be found in CONTINUE cards. Instead these long cards are broken into multiple commentary cards. (#97) - GZIP/ZIP-compressed FITS files can be detected and opened regardless of their filename extension. (#99) - Fixed a serious bug where opening scaled images in 'update' mode and then closing the file without touching the data would cause the file to be corrupted. (#101) 3.0.3 (2011-10-05) ------------------ - Fixed several small bugs involving corner cases in record-valued keyword cards (#70) - In some cases HDU creation failed if the first keyword value in the header was not a string value (#89) - Fixed a crash when trying to compute the HDU checksum when the data array contains an odd number of bytes (#91) - Disabled an unnecessary warning that was displayed on opening compressed HDUs with disable_image_compression = True (#92) - Fixed a typo in code for handling HCOMPRESS compressed images. 3.0.2 (2011-09-23) ------------------ - The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate`` function don't get tripped up by blank lines anymore (#14) - The presence, value, and position of the EXTEND keyword in Primary HDUs is verified when reading/writing a FITS file (#32) - Improved documentation (in warning messages as well as in the handbook) that PyFITS uses zero-based indexing (as one would expect for C/Python code, but contrary to the PyFITS standard which was written with FORTRAN in mind) (#68) - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) [Note: This and the bug above it were originally reported as being fixed in version 3.0.1, but the fix was never included in the release.] - Improved file handling, particularly in Python 3 which had a few small file I/O-related bugs (#76) - Fixed a bug where updating a FITS file would sometimes cause it to lose its original file permissions (#79) - Fixed the handling of TDIMn keywords; 3.0 added support for them, but got the axis order backards (they were treated as though they were row-major) (#82) - Fixed a crash when a FITS file containing scaled data is opened and immediately written to a new file without explicitly viewing the data first (#84) - Fixed a bug where creating a table with columns named either 'names' or 'formats' resulted in an infinite recursion (#86) 3.0.1 (2011-09-12) ------------------ - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a ``FITS_rec`` object with zero rows is returned rather than ``None``. - The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full keyword+field-specifier value, instead of just the plain keyword (#46) - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) - Fixed a bug where writing a table with zero rows could fail in some cases (#72) - Miscellanous small bug fixes that were causing some tests to fail, particularly on Python 3 (#74, #75) - Fixed a bug where creating a table column from an array in non-native byte order would not preserve the byte order, thus interpreting the column array using the wrong byte order (#77) 3.0.0 (2011-08-23) -------------------- - Contains major changes, bumping the version to 3.0 - Large amounts of refactoring and reorganization of the code; tried to preserve public API backwards-compatibility with older versions (private API has many changes and is not guaranteed to be backwards-compatible). There are a few small public API changes to be aware of: * The pyfits.rec module has been removed completely. If your version of numpy does not have the numpy.core.records module it is too old to be used with PyFITS. * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard`` attribute instead. * ``Card`` instances have a new ``.cardimage`` attribute that should be used rather than ``.ascardimage()``, which may become deprecated. * The ``Card.fromstring()`` method is now a classmethod. It returns a new ``Card`` instance rather than modifying an existing instance. * The ``req_cards()`` method on HDU instances has changed: The ``pos`` argument is not longer a string. It is either an integer value (meaning the card's position must match that value) or it can be a function that takes the card's position as it's argument, and returns True if the position is valid. Likewise, the ``test`` argument no longer takes a string, but instead a function that validates the card's value and returns True or False. * The ``get_coldefs()`` method of table HDUs is deprecated. Use the ``.columns`` attribute instead. * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns`` instead (though in general you shouldn't mess with it directly--it might become internal at some point). * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of ``startColumn`` and ``endColumn`` (these are rarely created manually, so it's unlikely that this change will affect anyone). * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new ``BinTableHDU`` instance. * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU classes. They are now public interfaces, wheres previously they were private and prefixed with underscores. * Possibly others--please report if you find any changes that cause difficulties. - Calls to deprecated functions will display a Deprecation warning. However, in Python 2.7 and up Deprecation warnings are ignored by default, so run Python with the `-Wd` option to see if you're using any deprecated functions. If we get close to actually removing any functions, we might make the Deprecation warnings display by default. - Added basic Python 3 support - Added support for multi-dimensional columns in tables as specified by the TDIMn keywords (#47) - Fixed a major memory leak that occurred when creating new tables with the ``new_table()`` function (#49) be padded with zero-bytes) vs ASCII tables (where strings are padded with spaces) (#15) - Fixed a bug in which the case of Random Access Group parameters names was not preserved when writing (#41) - Added support for binary table fields with zero width (#42) - Added support for wider integer types in ASCII tables; although this is non- standard, some GEIS images require it (#45) - Fixed a bug that caused the index_of() method of HDULists to crash when the HDUList object is created from scratch (#48) - Fixed the behavior of string padding in binary tables (where strings should be padded with nulls instead of spaces) - Fixed a rare issue that caused excessive memory usage when computing checksums using a non-standard block size (see r818) - Add support for forced uint data in image sections (#53) - Fixed an issue where variable-length array columns were not extended when creating a new table with more rows than the original (#54) - Fixed tuple and list-based indexing of FITS_rec objects (#55) - Fixed an issue where BZERO and BSCALE keywords were appended to headers in the wrong location (#56) - ``FITS_record`` objects (table rows) have full slicing support, including stepping, etc. (#59) - Fixed a bug where updating multiple files simultaneously (such as when running parallel processes) could lead to a race condition with mktemp() (#61) - Fixed a bug where compressed image headers were not in the order expected by the funpack utility (#62)
jperkin
pushed a commit
that referenced
this issue
Jan 21, 2014
Release 2.3.0 ============= New Features ------------ :mod:`rpy2.rinterface`: - C-level API, allowing other C-level modules to make use of utilities without going through the Python level. The exact definition of the API is not yet fixed. For now there is PyRinteractive_IsInitialized() to assess whether R was initialized (through :mod:`rpy2.rinterface` or not). - C-module _rpy_device, allowing one to implement R graphical devices in Python [(very) experimental] - Tracking of R objects kept protected from garbage collection by rpy2 is now possible. - New method :meth:`Sexp.rid` to return the identifier of the R object represented by a Python/rpy2 object :mod:`rpy2.rinteractive`: - Dynamic build of Python docstrings out of the R manual pages :mod:`rpy2.robjects.help`: - Build dynamic help :mod:`rpy2.robjects.packages: - Build anonymous R packages from strings - When using :func:`importr`, the datasets are added as an attribute :attr:`data`, itself an instance of a new class :class:`PackageData`. It no longer possible to access datasets are regular objects from a code package (because of changes in R), and the new system is more robust against quirks. Changes ------- :mod:`rpy2.rinterface`: - :attr:`SexpClosure.env` to replace the method `closureenv`. Release 2.2.6 ============= Bugs fixed ---------- - Newest R-2.15 and ggplot2 0.9 broke the ggplot2 interaface in :mod:`rpy2.robjects.lib.ggplot2` Release 2.2.5 ============= Bugs fixed ---------- - install process: Library location for some of the R installations - should compile on win32 (thanks to a patch from Evgeny Cherkashin), a work to a limited extend Release 2.2.4 ============= Bugs fixed ---------- - Memory leak when creating R vectors from Python (issue #82) Release 2.2.3 ============= Bugs fixed ---------- - Dynamic construction of S4 classes was looking for R help as 'class.<class>' rather than '<class>-class' - The cleanup of temporary directories created by R was not happening if the Python process terminated without calline :func:`rpy2.rinterface.endr()` (issue #68, and proof-of-principle fix by chrish42) Release 2.2.2 ============= Bugs fixed ---------- - With the robjects layer, repr() on a list containing non-vector elements was failing Release 2.2.1 ============= Bugs fixed ---------- - MANIFEST.in was missing from MANIFEST.in, required with Python 3 Release 2.2.0 ============= New Features ------------ - Support for Python 3, and for some of its features ported to Python 2.7 :mod:`rpy2.robjects`: - :meth:`Environment.keys` to list the keys - classes :class:`robjects.vectors.POSIXlt` and :class:`robjects.vectors.POSIXlt` to represent vectors of R dates/time - :func:`packages.get_packagepath` to get the path to an R package - module :mod:`rpy2.robjects.help` to expose the R help system to Python - Metaclass utilities in :mod:`rpy2.robjects.methods`, allowing to reflect automatically R S4 classes as Python classes. - :meth:`rpy2.robjects.vectors.FactorVector.iter_labels` to iterate over the labels - :class:`rpy2.robjects.vectors.ListVector` to represent R lists. - Constructor for :class:`rpy2.robjects.vectors.ListVector` and :class:`rpy2.robjects.vectors.DataFrame` accept any iterable at the condition that the elements iterated through also valid subscripts for it (e.g., given an iterable v, the following is valid: .. code-block:: python x[k] for x in v :mod:`rpy2.rinterface`: - :data:`NA_Complex` and :class:`NAComplexType` for missing complex values. - :class:`SexpExtPtr` to represent R objects of type EXTPTR (external pointers). - :func:`rpy2.rinterface.parse` to parse a string a R code - :func:`rpy2.rinterface.rternalise` to wrap Python function as :class:`SexpClosure` that can be called by R just as it was a function of its own. - :class:`rpy2.rinterface.RNULLType` for R's C-level NULL value and :class:`rpy2.rinterface.UnboundValueType` for R's C-level R_UnboundValue (both singletons). - :meth:`rinterface.SexpVector.index`, of similar behaviour to :meth:`list.index`. - :meth:`rpy2.rinterface.Sexp.list_attrs` to list the names of all R attributes for a given object. - :class:`rpy2.rinterface.ByteSexpVector` to represent R 'raw' vectors. - constant `R_LEN_T_MAX` to store what is the maximum length for a vector in R. - tuple `R_VERSION_BUILD` to store the version of R rpy2 was built against - getter :attr:`Sexp.rclass` to return the R class associated with an object :mod:`rpy2.rlike`: - :class:`container.OrdDict` get proper methods :meth:`keys` and `get` :mod:`rpy2.interactive`: - A new sub-package to provide utilities for interactive work, either for handling R interactive events or use Python for interactive programming (as often done with the R console) Changes ------- :mod:`rpy2.robjects`: - NA_bool, NA_real, NA_integer, NA_character and NA_complex are now deprecated (and removed). NA_Logical, NA_Real, NA_Integer, NA_Character, NA_Complex should be used. - :class:`rpy2.robjects.packages.Package` now inherits from :class:`types.ModuleType` - classes representing R vector also inherit their type-specific rinterface-level counterpart. - Importing the :class:`rpy2.robjects.numpy2ri` is no longer sufficient to active the conversion. Explicit activation is now needed; the function `activate` can do that. :mod:`rpy2.rinterface`: - :class:`IntSexpVector`, :class:`FloatSexpVector`, :class:`StrSexpVector`, :class:`BoolSexpVector`, :class:`ComplexSexpVector` are now defined at the C level, improving performances and memory footprint whenever a lot of instances are created. Bugs fixed ---------- - Better and more explicit detection system for needed libraries when compiling rpy2 (ported to release 2.1.6) - Long-standing issue with readline fixed (issue #10) Release 2.1.9 ============= Bugs fixed ---------- - The R class in rpy2.robjects is now truly a singleton - When using numpy 1.5 and Python >= 2.7, the exposed buffer for R numerical (double) vectors or arrays was wrong. Release 2.1.8 ============= Bugs fixed ---------- - Fixed issue with R arrays with more than 2 dimensions and numpy arrays (issue #47 - backported from the branch 2.2.x). Release 2.1.7 ============= Bugs fixed ---------- - More fixes for the automated detection of include and libraries at build time. Release 2.1.6 ============= Bugs fixed ---------- - Further fixes in the automatic detection of includes and libraries needed to compile rpy2 against R. The detection code has been refactored (backport from the 2.2.x branch) Release 2.1.5 ============= Bugs fixed ---------- - fixes the automatic detection of R_HOME/lib during building/compiling when R_HOME/lib is not in lib/ (issue #54) Release 2.1.4 ============= New features ------------ - :mod:`rpy2.robjects.lib.ggplot2` now has the functions :func:`limits`, :func:`xlim`, :func:`ylim` exposed (patch contributed anonymously) Bugs fixed ---------- - Install script when the BLAS library used by R is specified as a library file (patch by Michael Kuhn)
2013Q4 has zeromq-3.2.4 |
Thanks, Sebastian. Indeed, zeromq was updated earlier (3.2.3 in 2013Q3 and 3.2.4 in 2013Q4). |
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
libass (0.10.1) * Fix letter spacing * Add \rSTYLENAME syntax support (GC #43) * Fix border generation and border style reset (GC #56) * Fix various issues with bug-for-bug compatibility of transformations (\fax, \fay, etc.) to VSFilter (GC #46, GC #42) * Fix drawing parsing (GC #47) * Various fixes to shaper (GC #54, GC #55, GC#59) * Fix change detection * Add ass_set_line_position API to set a vertical subtitle offset * Fix scaling of drawing baseline offset (\pbo) values * Fix skipping of zero-width characters for FriBiDi shaper * Use LTR text base direction by default, similar to VSFilter libass (0.10.0) * Bidirectional layout and Arabic shaping via FriBidi (GC #13) * OpenType shaping via HarfBuzz-ng (GC #13) * Add API for shaper configuration * Add support for `Language' Script Info property, this can be used for hinting the text language * Vertical layout improvements * Use `vert' and `vkna' OpenType features for vertical glyph variants * Position rotated glyphs onto baseline * Parse font encoding property for base text direction hinting * Refactor cache system * Use generic outlines in place of FreeType glyphs * Direct outline bitmap rendering * Fix whitespace trimming (GC #35) * Do not render border if there's no shadow or glyph (GC #29) * Adjust spacing after a italic to non-italic style change (GC #37) * Fix fade timing * Fix x positioning with borders (GC #27) * Build system tweaks
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
to allow package to continue to work as previously packaged. +LICENSE; From NEWS: tig-1.1 ------- Incompatibilities: - Disable diff move/copy detection by default, boosting diff performance on larger projects. Use git config 'diff.renames' option (git-wide) to set your preferred behavior. Environment variable TIG_DIFF_OPTS can be used to restore the old behavior. - Values set for author-width and filename-width will result in widths one character bigger than previously. Improvements: - Typing a text in the prompt will be interpreted as a tig command. Prefixing the command with a '!' will execute this system command in an external pager. Entering a single key will execute the corresponding key binding. - Basic support for wrapping long line in pager, diff, and stage views. Enable using: `set wrap-lines = yes`. (GH #2) - User-defined commands prefixed with a '?' means prompt before execution. Example: `bind main B !?git rebase -i %(commit)`. - User-defined commands prefixed with a '<' means exit after execution. Example: `bind main C !<git commit`. (GH #66) - User-defined commands are executed unquoted to support shell commands. Example: `bind generic I !@sh -c "echo -n %(commit) | xclip -selection c"`. (GH #65) - Configure case-insensitive searches using: `set ignore-case = yes`. - Add "deleted mode" line type for better diff coloring. - Open editor when requesting edit action from within a file diff. - Update AX_WITH_CURSES to build under Cygwin. - Improve tigrc(5) documentation. (Debian #682766) - Allow to build on Mac OS 10.7 without the configure script. (GH #25) - Add option to split the view vertically instead of horizontally. Example: `set vertical-split = yes'. (GH #76) - Add 'show-id' and 'id-width' options to configure the display of commit IDs in the main view and ID width in the blame view. (GH #77) - Allow to override git-based encoding to UTF-8 by setting 'i18n.commitencoding' or 'gui.encoding'. - Improve autobuild support to track generated files and work with autoreconf 2.61. - Commit IDs are read from stdin when --stdin is given; works for main and diff view, e.g. `tig --no-walk --stdin < cherry-picks.txt`. - Add option to disable focusing of the child view when it's opened. Disable using: `set focus-child = no`. (GH #83) - Allow to open blob related with added content in a diff. (GH #91) Bug fixes: - Fix commit graph regression when a path spec is specified. (GH #53) - Main view: only show staged/unstaged changes for the current branch. - Support submodules created with current version of git. (GH #54) - Fix diff status message for file diffs with no content changes. - Fix parent blaming when tig is launched in subdirectory. (GH #70) - Do not show deleted branch when reloading the branch view. tig-1.0 ------- The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired. Improvements: - Use git-log(1)s default commit ordering. The old behavior can be restored by adding `set commit-order = topo` to ~/.tigrc. - Support staging of single lines. Bound to '1' default. (GH #21) - Use +<lineno> to open the initial view at an arbitrary line. (GH #20) - Add show-notes ~/.tigrc option. Notes are displayed by default. - Support jumping to specific SHAs in the main view. - Decorate replaced commits. - Display line numbers in main view. - Colorize binary diff stats. (GH #17) - Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default - Use git's color settings for the main, status and diff views. Put `set read-git-colors = no` in ~/.tigrc to disable. - Handle editor options with multiple arguments. (GH #12) - Show filename when running tig blame with copy detection. (GH #19) - Use 'source <path>' command to load additional files from ~/.tigrc - User-defined commands prefixed with '@' are run with no console output, e.g. bind generic 3 !@rm sys$command - Make display of space changes togglable in the diff and stage view. Bound to 'W' by default. - Use per-file encoding specified in gitattributes(5) for blobs and unstaged files. - Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands. - Main view: show uncommitted changes as staged/unstaged commits. Can be disabled by putting `set show-changes = no` in ~/.tigrc. - Add %(prompt) external command variable, which will prompt for the argument value. - Log information about git commands when the TIG_TRACE environment variable is set. Example: `TIG_TRACE=/tmp/tig.log tig` - Branch view: Show the title of the last commit. - Increase the author auto-abbreviation threshold to 10. (GH #49) - For old commits show number of years in relative dates. (GH #50) Bug fixes: - Fix navigation behavior when going from branch to main view. (GH #38) - Fix segfault when sorting the tree view by author name. - Fix diff stat navigation for unmodified files with stat changes. - Show branches/refs which names are a substring of the current branch. - Stage view: fix off-by-one error when jumping to a file in a diff with only one file. - Fix diff-header colorization. (GH #15) tig-0.18 -------- Incompatibilities: - Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables. Improvements: - Pressing enter on diff stat file lines will jump to file's diff. - Naïvely color blame IDs to distinguish lines. - Document palette color options used for revision graph and blame IDs. - Add support for blaming diff lines. - Add diff-context option and bindings to increase the diff context in the diff and stage view. - (GH-6) Make blame configurable via extra options passed from the command line and blame-options setting from ~/.tigrc. For example: set blame-options = -C -C -C Bug fixes: - Expand browsing state variables for prompt. (LP #694780, Debian #635546) - Fix segfault when sorting the branch view by author. - Expand %(directory) to . for the root directory. (GH-3) - Accept 'utf-8' for the line-graphics option as indicated in the docs. - Use erasechar() to check for the correct backspace character.
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
Changes since 1.1.0 (from git log): issue #70: boolean flags may have true default Merge pull request #69 from Tieske/master general updates, mainly added CONTRIBUTING.md Merge pull request #1 from mark-otaris/patch-1 Caught red handed, after a shameless copy 😄. Thx for the fix This is Penlight, not Busted added - a shameless copy of busted - CONTRIBUTING.md file renamed docs to doc, to fix luarocks warning updated readme to md format changed .txt to .md files added rockspec, fixed typo in filename Merge pull request #67 from Tieske/add_executeex added utils.executeex, which also returns output of stdout and stderr updated, using readfile now, remove obsolete os.remove commands Merge pull request #66 from Tieske/fix_temp windows environment variable TMP is deprecated, use TEMP mode binary mode optional (binary would require platform specific line endings to be converted which is not very portable, and mostly just text will do) update: read files in binary mode added utils.executeex, which also returns output of stdout and stderr windows environment variable TMP is deprecated, use TEMP HTML mode skips DOCTYPE; no globals harmed outside pl.utils Merge pull request #64 from Tieske/fix_dir fixed makepath creation, added/updated some documentation fixed dirpath creation, added/updated some documentation basic parser handles comments, and HTML mode is working nicely with real-world HTML use LOM ordered attributes when stringifying if present (Danny). manual merge of John Schember's readonly table support Merge pull request #61 from user-none/isempty Thanks, John! Merge pull request #62 from CoolisTheName007/patch-2 Transform using values as keys. missing locals Set.issempty mispelling; default ctor borked; more tests Transform using values as keys. Merge remote-tracking branch 'upstream/master' into empty Add function to check if an object is empty. Merge pull request #53 from pkazmier/master Added iterators to allow traversing tables in a sorted manner Merge pull request #60 from theypsilon/master base class methods invocation possible not only in method constructor _init Adding new class method 'base' which can be used for calling base class methods easily pl.class broke with classes that redefined __newindex; OrderedMap can now use normal indexing to assign keys in order Merge pull request #54 from CoolisTheName007/patch-1 Typo fixed, libarary->library Typo fixed. Added tablex.sort and tablex.sortv to iterate over sorted elements There are times when it would be convenient to iterate over a table either by sorted keys or values. There is an example of this in the PIL book. I added the two functions to tablex module, added two test cases, and updated the PL manual. Merge pull request #51 from pkazmier/master Thanks! lapp.add_type was broken due to uninitialized table variable. The variable `types` was not initialized preventing `add_type` from appending custom types to the variable. I also added a new test to cover this test case in the future.
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
Incompatible Changes: * can no longer use both `\' and `:' (didn't work anyway) New Features: * Handling of run-time errors (default: die) is now overridable by subclasses via signature_error_handler(). [github #54] * Can now have aliased named parameters. [github #57] * remove dependency on Devel::BeginLift [github #39] * can now use `when' to specify default conditions [github #48] * can use `//=' as a shortcut for `when undef' [github #45] * can now provide `where' constraints in addition to (or instead of) a type [github #7] * can now use `...' to disable further argument checking [github #49] * can now specify more than one alternative in type unions [github #55] * can now nest parameterized types Bug Fixes: * Removed experimental smartmatch warnings * Don't require Data::Alias for named params unless you have to [github #71] * Fixed obscure bug where an eval in Method::Signatures wouldn't be skipped when carp'ing (i.e. in carp_location_for()) [github #72] * Data::Alias is only loaded when needed avoiding a threads + eval bug in most cases and improving compile time performance. [rt.cpan.org 82922, github #62] * Compile-time errors now reporting proper line numbers. [github #61] * Trailing commas on parameter lists are now ok. [rt.cpan.org 81364] * Default condition of `when {}' now interpreted as `when { $_ ~~ {} }' (avoids parse error). [github #60] Optimizations: * better signature parsing using PPI [github #11] Distribution Fixes: * Fixed failing test in 5.10.0 (uncovered by CPAN Testers) * Fixed repo link in metadata (thanks dsteinbrunner) [github #87] * Add M::S::Parameter to MANIFEST [github #76] * Change representation of Infinity to work on Win32 [github #75] * Fixed stray detritus in MANIFEST. * Somehow my last-minute fix to the new error handler test didn't make it in; this will fix "Can't locate Moose.pm" errors. * Fixed test failing on 5.10.0 as per github #59. * Fixed subtests failing on Test::More's prior to 0.96. Docs: * Updated close parend problem to include quotes and a workaround [rt.cpan.org 85925] * Fixed some typos (thanks dsteinbrunner) [github #88] * Found and fixed missing parend * Minor clarifications here and there. * Clarified what doesn't work in Perl 5.8. * Added Function::Parameters to See Also section. * Updated copyright. * documented all new features * new ASCI-art breakdown of signature syntax * minor tweaks and corrections Misc: * Rearranged so signature is now an object [github #30] * Add hook for Travis CI [github #78] * Failure to parse parameters will now produce a more useful error.
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
Changelog (from History.txt) === 1.0.6 2014-01-17 * rescue Launchy::CommandNotFoundError #56 === 1.0.5 2014-01-16 * use HTTPS for OAuth::Consumer #55 * thank you for contributing @ymrl === 1.0.4 2014-01-08 * update gem dependencies === 1.0.3 2014-01-08 * bugfix for rainbow 1.99.x #54 * use launchy gem to open OAuth-URL #53 === 1.0.2 2013-11-27 * fix syntax error on ruby1.8.7 === 1.0.1 2013-11-23 * bugfix -user:add #51 === 1.0.0 2013-11-21 * fix for twitter gem v5.0.0 #50
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy. PyFITS is a Python module for reading, writing, and manipulating FITS files. The module uses Python's object-oriented features to provide quick, easy, and efficient access to FITS files. The use of Python's array syntax enables immediate access to any FITS extension, header cards, or data items. Changes to 2.4.0 (in py-pyfits): Changelog =========== 3.2 (2013-11-26) ---------------- Highlights ^^^^^^^^^^ - Rewrote CFITSIO-based backend for handling tile compression of FITS files. It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO as before. PyFITS ships with its own copy of CFITSIO v3.35 which supports the latest version of the Tiled Image Convention (v2.3), but system packagers may choose instead to strip this out in favor of a system-installed version of CFITSIO. Earlier versions may work, but nothing earlier than 3.28 has been tested yet. (#169) - Added support for reading and writing tables using the Q format for columns. The Q format is identical to the P format (variable-length arrays) except that it uses 64-bit integers for the data descriptors, allowing more than 4 GB of variable-length array data in a single table. (#160) - Added initial support for table columns containing pseudo-unsigned integers. This is currently enabled by using the ``uint=True`` option when opening files; any table columns with the correct BZERO value will be interpreted and returned as arrays of unsigned integers. - Some refactoring of the table and ``FITS_rec`` modules in order to better separate the details of the FITS binary and ASCII table data structures from the HDU data structures that encapsulate them. Most of these changes should not be apparent to users (but see API Changes below). API Changes ^^^^^^^^^^^ - Assigning to values in ``ColDefs.names``, ``ColDefs.formats``, ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return lists of column properties is no longer supported. Assigning to those lists will no longer update the corresponding columns. Instead, please just modify the ``Column`` instances directly (``Column.name``, ``Column.null``, etc.) - The ``pyfits.new_table`` function is marked "pending deprecation". This does not mean it will be removed outright or that its functionality has changed. It will likely be replaced in the future for a function with similar, if not subtly different functionality. A better, if not slightly more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create a new ``FITS_rec`` table--this has the same interface as ``pyfits.new_table``. The difference is that it returns a plan ``FITS_rec`` array, and not an HDU instance. This ``FITS_rec`` object can then be used as the data argument in the constructors for ``BinTableHDU`` (for binary tables) or ``TableHDU`` (for ASCII tables). This is analogous to creating an ``ImageHDU`` by passing in an image array. ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a FITS-compatible recarray from a FITS column specification. - The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData`` methods of the ``CompDataHDU`` class are pending deprecation and moved to internal methods. The operation of these methods depended too much on internal state to be used safely by users; instead they are invoked automatically in the appropriate places when reading/writing compressed image HDUs. - The ``CompDataHDU.compData`` attribute is pending deprecation in favor of the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``. - The constructor for ``CompDataHDU`` has been changed to accept new keyword arguments. The new keyword arguments are essentially the same, but are in underscore_separated format rather than camelCase format. The old arguments are still pending deprecation. - The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``, and ``_data_size`` respectively. The old attribute names are still pending deprecation. This should only be of interest to advanced users who have created their own HDU subclasses. - The following previously deprecated functions and methods have been removed entirely: ``createCard``, ``createCardFromString``, ``upperKey``, ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``, ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``. If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with the ``python -Wd`` argument, warnings for all deprecated interfaces still in use will be displayed. - Interfaces that were pending deprecation are now fully deprecated. These include: ``create_card``, ``create_card_from_string``, ``upper_key``, ``Header.get_history``, and ``Header.get_comment``. - The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa. - The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to ``pyfits.file.PYFITS_MODES`` which better reflects its purpose. This is rarely used by client code, however. Support for the old name will be removed by PyFITS 3.4. Other Changes and Additions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - The new compression code also adds support for the ZQUANTIZ and ZDITHER0 keywords added in more recent versions of this FITS Tile Compression spec. This includes support for lossless compression with GZIP. (#198) By default no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct constants to the ``quantize_method`` argument to the ``CompImageHDU`` constuctor. A seed can be manually specified, or automatically generated using either the system clock or checksum-based methods via the ``dither_seed`` argument. See the documentation for ``CompImageHDU`` for more details. (#198) (spacetelescope/PYFITS#32) - Images compressed with the Tile Compression standard can now be larger than 4 GB through support of the Q format. (#159) - All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist. This was added for consistency with the ``.name`` attribute which returns the EXTNAME value from the header. - Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes which give the Numpy dtype for the column data in the first case, and the full Numpy compound dtype for each table row in the latter case. - There was an issue where new tables created defaulted the values in all string columns to '0.0'. Now string columns are filled with empty strings by default--this seems a less surprising default, but it may cause differences with tables created with older versions of PyFITS. - Improved round-tripping and preservation of manually assigned column attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers. (astropy/astropy#996) Bug Fixes ^^^^^^^^^ - Binary tables containing compressed images may, optionally, contain other columns unrelated to the tile compression convention. Although this is an uncommon use case, it is permitted by the standard. (#159) - Reworked some of the file I/O routines to allow simpler, more consistent mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more "PyFITS-specific" modes used by PyFITS like "readonly" and "update". That is, if reading a FITS file from an open file object, it doesn't matter as much what "mode" it was opened in so long as it has the right capabilities (read/write/etc.) Also works around bugs in the Python io module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968) 3.1.3 (2013-11-26) ------------------ - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (spacetelescope/PyFITS#11) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.0.12 (2013-11-26) ------------------- - Disallowed assigning NaN and Inf floating point values as header values, since the FITS standard does not define a way to represent them in. Because this is undefined, the previous behavior did not make sense and produced invalid FITS files. (Backported from 3.1.3) - Added a workaround for a bug in 64-bit OSX that could cause truncation when writing files greater than 2^32 bytes in size. (Backported from 3.1.3) - Fixed a long-standing issue where writing binary tables did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). This was thought fixed in v3.1.2, but it was only fixed there for compressed image HDUs and not for binary tables in general. (Backported from 3.1.3) - Fixed an obscure issue that can occur on systems that don't have flush to memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2) 3.1.2 (2013-04-22) ------------------ - When an error occurs opening a file in fitsdiff the exception message will now at least mention which file had the error. (#168) - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. (#201) - Added use of the console_scripts entry point to install the fitsdiff and fitscheck scripts, which if nothing else provides better Windows support. The generated scripts now override the ones explicitly defined in the scripts/ directory (which were just trivial stubs to begin with). (#202) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. (#218) - Fixed inconsistent behavior in creating CONTINUE cards from byte strings versus unicode strings in Python 2--CONTINUE cards can now be created properly from unicode strings (so long as they are convertable to ASCII). (spacetelescope/PyFITS#1) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. (spacetelescope/PyFITS#3) - Fixed a bug in parsing HIERARCH keywords that do not have a space after the first equals sign (before the value). (spacetelescope/PyFITS#5) - Prevented extra leading whitespace on HIERARCH keywords from being treated as part of the keyword. (spacetelescope/PyFITS#6) - Fixed a bug where HIERARCH keywords containing lower-case letters was mistakenly marked as invalid during header validation. (spacetelescope/PyFITS#7) - Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the ``Header.index()`` method did not work correctly with HIERARCH keywords containing lower-case letters. 3.0.11 (2013-04-17) ------------------- - Fixed support for opening gzipped FITS files by filename in a writeable mode (PyFITS has supported writing to gzip files for some time now, but only enabled it when GzipFile objects were passed to ``pyfits.open()`` due to some legacy code preventing full gzip support. Backported from 3.1.2. (#195) - Added a more helpful error message in the case of malformatted FITS files that contain non-float NULL values in an ASCII table but are missing the required TNULLn keywords in the header. Backported from 3.1.2. (#197) - Fixed an (apparently long-standing) issue where writing compressed images did not correctly write the TFORMn keywords for variable-length array columns (they ommitted the max array length parameter of the format). Backported from 3.1.2. (#199) - Slightly refactored how tables containing variable-length array columns are handled to add two improvements: Fixes an issue where accessing the data after a call to the `pyfits.getdata` convenience function caused an exception, and allows the VLA data to be read from an existing mmap of the FITS file. Backported from 3.1.2. (#200) - Fixed a bug that could occur when opening a table containing multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it out to a new file. Backported from 3.1.2. (#201) - Fixed a bug on Python 3 where attempting to open a non-existent file on Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2. (#203) - Fixed a bug in fitsdiff that reported two header keywords containing NaN as value as different. Backported from 3.1.2. (#204) - Fixed an issue in the tests that caused some tests to fail if pyfits is installed with read-only permissions. Backported from 3.1.2. (#208) - Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array containing boolean fields converted all the values to ``False``. Backported from 3.1.2. (#215) - Fixed an issue where passing an array of integers into the constructor of ``Column()`` when the column type is floats of the same byte width caused the column array to become garbled. Backported from 3.1.2. (#218) - Fixed a couple cases where creating a new table using TDIMn in some of the columns could caused a crash. Backported from 3.1.2. (spacetelescope/PyFITS#3) 3.1.1 (2013-01-02) ------------------ This is a bug fix release for the 3.1.x series. Bug Fixes ^^^^^^^^^ - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verboten in PRIMARY HDUs, but the latest version of the FITS standard allows them. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will automatically use compatible tile sizes even if they're not explicitly specified. (#171) - Added support for the optional ``endcard`` parameter in the ``Header.fromtextfile()`` and ``Header.totextfile()`` methods. Although ``endcard=False`` was a reasonable default assumption, there are still text dumps of FITS headers that include the END card, so this should have been more flexible. (#176) - Fixed a crash when running fitsdiff on two empty (that is, zero row) tables. (#178) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. (#180) - Fixed a crash when generating diff reports from diffs using the ``ignore_comments`` options. (#181) - Fixed some bugs with WCS Paper IV record-valued keyword cards: - Cards that looked kind of like RVKCs but were not intended to be were over-permissively treated as such--commentary keywords like COMMENT and HISTORY were particularly affected. (#183) - Looking up a card in a header by its standard FITS keyword only should always return the raw value of that card. That way cards containing values that happen to valid RVKCs but were not intended to be will still be treated like normal cards. (#184) - Looking up a RVKC in a header with only part of the field-specifier (for example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a wildcard lookup. (#184) - Fixed a crash when diffing two FITS files where at least one contains a compressed image HDU which was not recognized as an image instead of a table. (#187) - Fixed bugs in the backwards compatibility layer for the ``CardList.index`` and ``CardList.count`` methods. (#190) - Improved ``__repr__`` and text file representation of cards with long values that are split into CONTINUE cards. (#193) - Fixed a crash when trying to assign a long (> 72 character) value to blank ('') keywords. This also changed how blank keywords are represented--there are still exactly 8 spaces before any commentary content can begin; this *may* affect the exact display of header cards that assumed there could be fewer spaces in a blank keyword card before the content begins. However, the current approach is more in line with the requirements of the FITS standard. (#194) 3.0.10 (2013-01-02) ------------------- - Improved handling of scaled images and pseudo-unsigned integer images in compressed image HDUs. They now work more transparently like normal image HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options, as well as ``scale_back`` and ``save_backup``. The ``.scale()`` method works better too. Backported from 3.1.1. (#88) - Permits non-string values for the EXTNAME keyword when reading in a file, rather than throwing an exception due to the malformatting. Added verification for the format of the EXTNAME keyword when writing. Backported from 3.1.1. (#96) - Added support for EXTNAME and EXTVER in PRIMARY HDUs. That is, if EXTNAME is specified in the header, it will also be reflected in the ``.name`` attribute and in ``pyfits.info()``. These keywords used to be verbotten in PRIMARY HDUs, but the latest version of the FITS standard allows them. Backported from 3.1.1. (#151) - HCOMPRESS can again be used to compress data cubes (and higher-dimensional arrays) so long as the tile size is effectively 2-dimensional. In fact, PyFITS will not automatically use compatible tile sizes even if they're not explicitly specified. Backported from 3.1.1. (#171) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. Backported from 3.1.0. (#174) - Fixed an issue where opening files containing random groups HDUs in update mode could cause an unnecessary rewrite of the file even if none of the data is modified. Backported from 3.1.1. (#179) - Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180) 3.1 (2012-08-08) ---------------- Highlights ^^^^^^^^^^ - The ``Header`` object has been significantly reworked, and ``CardList`` objects are now deprecated (their functionality folded into the ``Header`` class). See API Changes below for more details. - Memory maps are now used by default to access HDU data. See API Changes below for more details. - Now includes a new version of the ``fitsdiff`` program for comparing two FITS files, and a new FITS comparison API used by ``fitsdiff``. See New Features below. API Changes ^^^^^^^^^^^ - The ``Header`` class has been rewritten, and the ``CardList`` class is deprecated. Most of the basic details of working with FITS headers are unchanged, and will not be noticed by most users. But there are differences in some areas that will be of interest to advanced users, and to application developers. For full details of the changes, see the "Header Interface Transition Guide" section in the PyFITS documentation. See ticket #64 on the PyFITS Trac for futher details and background. Some highlights are listed below: * The Header class now fully implements the Python dict interface, and can be used interchangably with a dict, where the keys are header keywords. * New keywords can be added to the header using normal keyword assignment (previously it was necessary to use ``Header.update`` to add new keywords). For example:: >>> header['NAXIS'] = 2 will update the existing 'FOO' keyword if it already exists, or add a new one if it doesn't exist, just like a dict. * It is possible to assign both a value and a comment at the same time using a tuple:: >>> header['NAXIS'] = (2, 'Number of axes') * To add/update a new card and ensure it's added in a specific location, use ``Header.set()``:: >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX') This works the same as the old ``Header.update()``. ``Header.update()`` still works in the old way too, but is deprecated. * Although ``Card`` objects still exist, it generally is not necessary to work with them directly. ``Header.ascardlist()``/``Header.ascard`` are deprecated and should not be used. To directly access the ``Card`` objects in a header, use ``Header.cards``. * To access card comments, it is still possible to either go through the card itself, or through ``Header.comments``. For example:: >>> header.cards['NAXIS'].comment Number of axes >>> header.comments['NAXIS'] Number of axes * ``Card`` objects can now be used interchangeably with ``(keyword, value, comment)`` 3-tuples. They still have ``.value`` and ``.comment`` attributes as well. The ``.key`` attribute has been renamed to ``.keyword`` for consistency, though ``.key`` is still supported (but deprecated). - Memory mapping is now used by default to access HDU data. That is, ``pyfits.open()`` uses ``memmap=True`` as the default. This provides better performance in the majority of use cases--there are only some I/O intensive applications where it might not be desirable. Enabling mmap by default also enabled finding and fixing a large number of bugs in PyFITS' handling of memory-mapped data (most of these bug fixes were backported to PyFITS 3.0.5). (#85) * A new ``pyfits.USE_MEMMAP`` global variable was added. Set ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for opening files. This is especially useful for controlling the behavior in applications where pyfits is deeply embedded. * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported. Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default behavior. - The ``size()`` method on HDU objects is now a ``.size`` property--this returns the size in bytes of the data portion of the HDU, and in most cases is equivalent to ``hdu.data.nbytes`` (#83) - ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead. The new methods output the table data in a slightly different format from previous versions, which places quotes around each value. This format is compatible with data dumps from previous versions of PyFITS, but not vice-versa due to a parsing bug in older versions. - Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function versions of these methods have been renamed ``pyfits.tabledump`` and ``pyfits.tableload``. The old deprecated, but currently retained for backwards compatibility. (r1125) - A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added. This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive`` which is not deprecated and may be removed in a future version. To enable case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI') set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``. The default is ``False``. (r1139) - A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was added. By default, if a string value in a header contains trailing whitespace, that whitespace is automatically removed when the value is read. Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is preserved. (#146) - The old ``classExtensions`` extension mechanism (which was deprecated in PyFITS 3.0) is removed outright. To our knowledge it was no longer used anywhere. (r1309) - Warning messages from PyFITS issued through the Python warnings API are now output to stderr instead of stdout, as is the default. PyFITS no longer modifies the default behavior of the warnings module with respect to which stream it outputs to. (r1319) - The ``checksum`` argument to ``pyfits.open()`` now accepts a value of 'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored, and removed when the file is saved. New Features ^^^^^^^^^^^^ - Added support for the proposed "FITS" extension HDU type. See http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html. FITS HDUs contain an entire FITS file embedded in their data section. `FitsHDU` objects work like other HDU types in PyFITS. Their ``.data`` attribute returns the raw data array. However, they have a special ``.hdulist`` attribute which processes the data as a FITS file and returns it as an in-memory HDUList object. FitsHDU objects also support a ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object that embeds the supplied HDUList. (#80) - Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU data is an 'image' as opposed to a table or something else. Here the meaning of 'image' is fairly loose, and mostly just means a Primary or Image extension HDU, or possibly a compressed image HDU (#71) - Added an ``HDUList.fromstring`` classmethod which can parse a FITS file already in memory and instantiate and ``HDUList`` object from it. This could be useful for integrating PyFITS with other libraries that work on FITS file, such as CFITSIO. It may also be useful in streaming applications. The name is a slight misnomer, in that it actually accepts any Python object that implements the buffer interface, which includes ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90) - Added a new ``pyfits.diff`` module which contains facilities for comparing FITS files. One can use the ``pyfits.diff.FITSDiff`` class to compare two FITS files in their entirety. There is also a ``pyfits.diff.HeaderDiff`` class for just comparing two FITS headers, and other similar interfaces. See the PyFITS Documentation for more details on this interface. The ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with PyFITS. After installing PyFITS, run ``fitsdiff --help`` for usage details. - ``pyfits.open()`` now accepts a ``scale_back`` argument. If set to ``True``, this automatically scales the data using the original BZERO and BSCALE parameters the file had when it was first opened, if any, as well as the original BITPIX. For example, if the original BITPIX were 16, this would be equivalent to calling ``hdu.scale('int16', 'old')`` just before calling ``flush()`` or ``close()`` on the file. This option applies to all HDUs in the file. (#120) - ``pyfits.open()`` now accepts a ``save_backup`` argument. If set to ``True``, this automatically saves a backup of the original file before flushing any changes to it (this of course only applies to update and append mode). This may be especially useful when working with scaled image data. (#121) Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Warnings from PyFITS are not output to stderr by default, instead of stdout as it has been for some time. This is contrary to most users' expectations and makes it more difficult for them to separate output from PyFITS from the desired output for their scripts. (r1319) Bug Fixes ^^^^^^^^^ - Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust when encountering blank lines in a column definition file (#14) - Fixed a fairly rare crash that could occur in the handling of CONTINUE cards when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by PyFITS). (r1330) - Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU object from a string/buffer containing the header and data of that HDU. This allowed for the implementation of ``HDUList.fromstring`` described above. (#90) - Fixed a rare corner case where, in some use cases, (mildly, recoverably) malformatted float values in headers were not properly returned as floats. (#137) - Fixed a corollary to the previous bug where float values with a leading zero before the decimal point had the leading zero unnecessarily removed when saving changes to the file (eg. "0.001" would be written back as ".001" even if no changes were otherwise made to the file). (#137) - When opening a file containing CHECKSUM and/or DATASUM keywords in update mode, the CHECKSUM/DATASUM are updated and preserved even if the file was opened with checksum=False. This change in behavior prevents checksums from being unintentionally removed. (#148) - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug when writing out files containing zero-width table columns, where the TFIELDS keyword would be updated incorrectly, leaving the table largely unreadable. This fix will be backported to the 3.0.x series in version 3.0.10. (#174) 3.0.9 (2012-08-06) ------------------ This is a bug fix release for the 3.0.x series. Bug Fixes ^^^^^^^^^ - Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/ ``Header.iteritems()`` to correctly return the different values for duplicate keywords (particularly commentary keywords like HISTORY and COMMENT). This makes the old Header implementation slightly more compatible with the new implementation in PyFITS 3.1. (#127) .. note:: This fix did not change the existing behavior from earlier PyFITS versions where ``Header.keys()`` returns all keywords in the header with duplicates removed. PyFITS 3.1 changes that behavior, so that ``Header.keys()`` includes duplicates. - Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it was not restoring the image to its original BSCALE and BZERO values. (#162) - Fixed a bug where opening a file containing compressed image HDUs in 'update' mode and then immediately closing it without making any changes caused the file to be rewritten unncessarily. (#167) - Fixed two memory leaks that could occur when writing compressed image data, or in some cases when opening files containing compressed image HDUs in 'update' mode. (#168) 3.0.8 (2012-06-04) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Prior to this release, image data sections did not work with scaled data--that is, images with non-trivial BSCALE and/or BZERO values. Previously, in order to read such images in sections, it was necessary to manually apply the BSCALE+BZERO to each section. It's worth noting that sections *did* support pseudo-unsigned ints (flakily). This change just extends that support for general BSCALE+BZERO values. Bug Fixes ^^^^^^^^^ - Fixed a bug that prevented updates to values in boolean table columns from being saved. This turned out to be a symptom of a deeper problem that could prevent other table updates from being saved as well. (#139) - Fixed a corner case in which a keyword comment ending with the string "END" could, in some circumstances, cause headers (and the rest of the file after that point) to be misread. (#142) - Fixed support for scaled image data and psuedo-unsigned ints in image data sections (``hdu.section``). Previously this was not supported at all. At some point support was supposedly added, but it was buggy and incomplete. Now the feature seems to work much better. (#143) - Fixed the documentation to point out that image data sections *do* support non-contiguous slices (and have for a long time). The documentation was never updated to reflect this, and misinformed users that only contiguous slices were supported, leading to some confusion. (#144) - Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY HDUs caused an infinite recursion when validating the object prior to writing to a file. (#145) - Fixed a rare but serious case where saving an update to a file that previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum in saving, could cause the file to be slightly corrupted and unreadable. (#147) - Fixed problems with reading "non-standard" FITS files with primary headers containing SIMPLE = F. PyFITS has never made many guarantees as to how such files are handled. But it should at least be possible to read their headers, and the data if possible. Saving changes to such a file should not try to prepend an unwanted valid PRIMARY HDU. (#157) - Fixed a bug where opening an image with ``disable_image_compression = True`` caused compression to be disabled for all subsequent ``pyfits.open()`` calls. (r1651) 3.0.7 (2012-04-10) ------------------ Changes in Behavior ^^^^^^^^^^^^^^^^^^^ - Slices of GroupData objects now return new GroupData objects instead of extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed FITS_rec slicing, and should have been fixed for GroupData at the same time. The old behavior caused bugs where functions internal to Numpy expected that slicing an ndarray would return a new ndarray. As this is a rare usecase with a rare feature most users are unlikely to be affected by this change. - The previously internal _Group object for representing individual group records in a GroupData object are renamed Group and are now a public interface. However, there's almost no good reason to create Group objects directly, so it shouldn't be considered a "new feature". - An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND keyword was always being set to F if there are not actually any extension HDUs. It was unnecessary to modify this value. Bug Fixes ^^^^^^^^^ - Fixed GroupData objects to return new GroupData objects when sliced instead of _Group record objects. See "Changes in behavior" above for more details. - Fixed slicing of Group objects--previously it was not possible to slice slice them at all. - Made it possible to assign `np.bool_` objects as header values. (#123) - Fixed overly strict handling of the EXTEND keyword; see "Changes in behavior" above. (#124) - Fixed many cases where an HDU's header would be marked as "modified" by PyFITS and rewritten, even when no changes to the header are necessary. (#125) - Fixed a bug where the values of the PTYPEn keywords in a random groups HDU were forced to be all lower-case when saving the file. (#130) - Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was causing some slowdown when opening files containing a large number of extensions, plus a few other small (but not insignficant) performance improvements thanks to Julian Taylor. (#133) - Fixed a regression where header blocks containing invalid end-of-header padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS. Such headers can be parsed again, but a warning is raised, as such headers are not valid FITS. (#136) - Fixed a memory leak where table data in random groups HDUs weren't being garbage collected. (#138) 3.0.6 (2012-02-29) ------------------ Highlights ^^^^^^^^^^ The main reason for this release is to fix an issue that was introduced in PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data to be automatically rescaled--possibly converting the data from ints to floats--as soon as the file is closed, even if the application did not touch the data. Now PyFITS will only rescale the data in an extension when the data is actually accessed by the application. So opening a file in 'update' mode in order to modify the header or append new extensions will not cause any change to the data in existing extensions. This release also fixes a few Windows-specific bugs found through more extensive Windows testing, and other miscellaneous bugs. Bug Fixes ^^^^^^^^^ - More accurate error messages when opening files containing invalid header cards. (#109) - Fixed a possible reference cycle/memory leak that was caught through more extensive testing on Windows. (#112) - Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w' mode. (#112) - Fixed a Windows-only issue where trying to save updates to a resized FITS file could result in a crash due to there being open mmaps on that file. (#112) - Fixed a crash when trying to create a FITS table (i.e. with new_table()) from a Numpy array containing bool fields. (#113) - Fixed a bug where manually initializing an ``HDUList`` with a list of of HDUs wouldn't set the correct EXTEND keyword value on the primary HDU. (#114) - Fixed a crash that could occur when trying to deepcopy a Header in Python < 2.7. (#115) - Fixed an issue where merely opening a scaled image in 'update' mode would cause the data to be converted to floats when the file is closed. (#119) 3.0.5 (2012-01-30) ------------------ - Fixed a crash that could occur when accessing image sections of files opened with memmap=True. (r1211) - Fixed the inconsistency in the behavior of files opened in 'readonly' mode when memmap=True vs. when memmap=False. In the latter case, although changes to array data were not saved to disk, it was possible to update the array data in memory. On the other hand with memmap=True, 'readonly' mode prevented even in-memory modification to the data. This is what 'copyonwrite' mode was for, but difference in behavior was confusing. Now 'readonly' is equivalent to 'copyonwrite' when using memmap. If the old behavior of denying changes to the array data is necessary, a new 'denywrite' mode may be used, though it is only applicable to files opened with memmap. (r1275) - Fixed an issue where files opened with memmap=True would return image data as a raw numpy.memmap object, which can cause some unexpected behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285) - Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3 interacted badly with some other software, namely to vo.table package (and possibly others). (r1320, r1337, and #110) - Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard interrupts) while flushing changes to a FITS file. PyFITS already prevented SIGINTs from causing an incomplete flush, but did not clean up the signal handlers properly afterwards, or reraise the keyboard interrupt once the flush was complete. (r1321) - Fixed a crash that could occur in Python 3 when opening files with checksum checking enabled. (r1336) - Fixed a small bug that could cause a crash in the `StreamingHDU` interface when using Numpy below version 1.5. - Fixed a crash that could occur when creating a new `CompImageHDU` from an array of big-endian data. (#104) - Fixed a crash when opening a file with extra zero padding at the end. Though FITS files should not have such padding, it's not explictly forbidden by the format either, and PyFITS shouldn't stumble over it. (#106) - Fixed a major slowdown in opening tables containing large columns of string values. (#111) 3.0.4 (2011-11-22) ------------------ - Fixed a crash when writing HCOMPRESS compressed images that could happen on Python 2.5 and 2.6. (r1217) - Fixed a crash when slicing an table in a file opened in 'readonly' mode with memmap=True. (r1230) - Writing changes to a file or writing to a new file verifies the output in 'fix' mode by default instead of 'exception'--that is, PyFITS will automatically fix common FITS format errors rather than raising an exception. (r1243) - Fixed a bug where convenience functions such as getval() and getheader() crashed when specifying just 'PRIMARY' as the extension to use (r1263). - Fixed a bug that prevented passing keyword arguments (beyond the standard data and header arguments) as positional arguments to the constructors of extension HDU classes. - Fixed some tests that were failing on Windows--in this case the tests themselves failed to close some temp files and Windows refused to delete them while there were still open handles on them. (r1295) - Fixed an issue with floating point formatting in header values on Python 2.5 for Windows (and possibly other platforms). The exponent was zero-padded to 3 digits; although the FITS standard makes no specification on this, the formatting is now normalized to always pad the exponent to two digits. (r1295) - Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were broken into multiple CONTINUE cards. However, commentary cards are not expected to be found in CONTINUE cards. Instead these long cards are broken into multiple commentary cards. (#97) - GZIP/ZIP-compressed FITS files can be detected and opened regardless of their filename extension. (#99) - Fixed a serious bug where opening scaled images in 'update' mode and then closing the file without touching the data would cause the file to be corrupted. (#101) 3.0.3 (2011-10-05) ------------------ - Fixed several small bugs involving corner cases in record-valued keyword cards (#70) - In some cases HDU creation failed if the first keyword value in the header was not a string value (#89) - Fixed a crash when trying to compute the HDU checksum when the data array contains an odd number of bytes (#91) - Disabled an unnecessary warning that was displayed on opening compressed HDUs with disable_image_compression = True (#92) - Fixed a typo in code for handling HCOMPRESS compressed images. 3.0.2 (2011-09-23) ------------------ - The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate`` function don't get tripped up by blank lines anymore (#14) - The presence, value, and position of the EXTEND keyword in Primary HDUs is verified when reading/writing a FITS file (#32) - Improved documentation (in warning messages as well as in the handbook) that PyFITS uses zero-based indexing (as one would expect for C/Python code, but contrary to the PyFITS standard which was written with FORTRAN in mind) (#68) - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) [Note: This and the bug above it were originally reported as being fixed in version 3.0.1, but the fix was never included in the release.] - Improved file handling, particularly in Python 3 which had a few small file I/O-related bugs (#76) - Fixed a bug where updating a FITS file would sometimes cause it to lose its original file permissions (#79) - Fixed the handling of TDIMn keywords; 3.0 added support for them, but got the axis order backards (they were treated as though they were row-major) (#82) - Fixed a crash when a FITS file containing scaled data is opened and immediately written to a new file without explicitly viewing the data first (#84) - Fixed a bug where creating a table with columns named either 'names' or 'formats' resulted in an infinite recursion (#86) 3.0.1 (2011-09-12) ------------------ - Fixed a bug where updating a header card comment could cause the value to be lost if it had not already been read from the card image string. - Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a ``FITS_rec`` object with zero rows is returned rather than ``None``. - The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full keyword+field-specifier value, instead of just the plain keyword (#46) - Fixed a related bug where changes made directly to Card object in a header (i.e. assigning directly to card.value or card.comment) would not propagate when flushing changes to the file (#69) - Fixed a bug where writing a table with zero rows could fail in some cases (#72) - Miscellanous small bug fixes that were causing some tests to fail, particularly on Python 3 (#74, #75) - Fixed a bug where creating a table column from an array in non-native byte order would not preserve the byte order, thus interpreting the column array using the wrong byte order (#77) 3.0.0 (2011-08-23) -------------------- - Contains major changes, bumping the version to 3.0 - Large amounts of refactoring and reorganization of the code; tried to preserve public API backwards-compatibility with older versions (private API has many changes and is not guaranteed to be backwards-compatible). There are a few small public API changes to be aware of: * The pyfits.rec module has been removed completely. If your version of numpy does not have the numpy.core.records module it is too old to be used with PyFITS. * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard`` attribute instead. * ``Card`` instances have a new ``.cardimage`` attribute that should be used rather than ``.ascardimage()``, which may become deprecated. * The ``Card.fromstring()`` method is now a classmethod. It returns a new ``Card`` instance rather than modifying an existing instance. * The ``req_cards()`` method on HDU instances has changed: The ``pos`` argument is not longer a string. It is either an integer value (meaning the card's position must match that value) or it can be a function that takes the card's position as it's argument, and returns True if the position is valid. Likewise, the ``test`` argument no longer takes a string, but instead a function that validates the card's value and returns True or False. * The ``get_coldefs()`` method of table HDUs is deprecated. Use the ``.columns`` attribute instead. * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns`` instead (though in general you shouldn't mess with it directly--it might become internal at some point). * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of ``startColumn`` and ``endColumn`` (these are rarely created manually, so it's unlikely that this change will affect anyone). * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new ``BinTableHDU`` instance. * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU classes. They are now public interfaces, wheres previously they were private and prefixed with underscores. * Possibly others--please report if you find any changes that cause difficulties. - Calls to deprecated functions will display a Deprecation warning. However, in Python 2.7 and up Deprecation warnings are ignored by default, so run Python with the `-Wd` option to see if you're using any deprecated functions. If we get close to actually removing any functions, we might make the Deprecation warnings display by default. - Added basic Python 3 support - Added support for multi-dimensional columns in tables as specified by the TDIMn keywords (#47) - Fixed a major memory leak that occurred when creating new tables with the ``new_table()`` function (#49) be padded with zero-bytes) vs ASCII tables (where strings are padded with spaces) (#15) - Fixed a bug in which the case of Random Access Group parameters names was not preserved when writing (#41) - Added support for binary table fields with zero width (#42) - Added support for wider integer types in ASCII tables; although this is non- standard, some GEIS images require it (#45) - Fixed a bug that caused the index_of() method of HDULists to crash when the HDUList object is created from scratch (#48) - Fixed the behavior of string padding in binary tables (where strings should be padded with nulls instead of spaces) - Fixed a rare issue that caused excessive memory usage when computing checksums using a non-standard block size (see r818) - Add support for forced uint data in image sections (#53) - Fixed an issue where variable-length array columns were not extended when creating a new table with more rows than the original (#54) - Fixed tuple and list-based indexing of FITS_rec objects (#55) - Fixed an issue where BZERO and BSCALE keywords were appended to headers in the wrong location (#56) - ``FITS_record`` objects (table rows) have full slicing support, including stepping, etc. (#59) - Fixed a bug where updating multiple files simultaneously (such as when running parallel processes) could lead to a race condition with mktemp() (#61) - Fixed a bug where compressed image headers were not in the order expected by the funpack utility (#62)
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2014
Release 2.3.0 ============= New Features ------------ :mod:`rpy2.rinterface`: - C-level API, allowing other C-level modules to make use of utilities without going through the Python level. The exact definition of the API is not yet fixed. For now there is PyRinteractive_IsInitialized() to assess whether R was initialized (through :mod:`rpy2.rinterface` or not). - C-module _rpy_device, allowing one to implement R graphical devices in Python [(very) experimental] - Tracking of R objects kept protected from garbage collection by rpy2 is now possible. - New method :meth:`Sexp.rid` to return the identifier of the R object represented by a Python/rpy2 object :mod:`rpy2.rinteractive`: - Dynamic build of Python docstrings out of the R manual pages :mod:`rpy2.robjects.help`: - Build dynamic help :mod:`rpy2.robjects.packages: - Build anonymous R packages from strings - When using :func:`importr`, the datasets are added as an attribute :attr:`data`, itself an instance of a new class :class:`PackageData`. It no longer possible to access datasets are regular objects from a code package (because of changes in R), and the new system is more robust against quirks. Changes ------- :mod:`rpy2.rinterface`: - :attr:`SexpClosure.env` to replace the method `closureenv`. Release 2.2.6 ============= Bugs fixed ---------- - Newest R-2.15 and ggplot2 0.9 broke the ggplot2 interaface in :mod:`rpy2.robjects.lib.ggplot2` Release 2.2.5 ============= Bugs fixed ---------- - install process: Library location for some of the R installations - should compile on win32 (thanks to a patch from Evgeny Cherkashin), a work to a limited extend Release 2.2.4 ============= Bugs fixed ---------- - Memory leak when creating R vectors from Python (issue #82) Release 2.2.3 ============= Bugs fixed ---------- - Dynamic construction of S4 classes was looking for R help as 'class.<class>' rather than '<class>-class' - The cleanup of temporary directories created by R was not happening if the Python process terminated without calline :func:`rpy2.rinterface.endr()` (issue #68, and proof-of-principle fix by chrish42) Release 2.2.2 ============= Bugs fixed ---------- - With the robjects layer, repr() on a list containing non-vector elements was failing Release 2.2.1 ============= Bugs fixed ---------- - MANIFEST.in was missing from MANIFEST.in, required with Python 3 Release 2.2.0 ============= New Features ------------ - Support for Python 3, and for some of its features ported to Python 2.7 :mod:`rpy2.robjects`: - :meth:`Environment.keys` to list the keys - classes :class:`robjects.vectors.POSIXlt` and :class:`robjects.vectors.POSIXlt` to represent vectors of R dates/time - :func:`packages.get_packagepath` to get the path to an R package - module :mod:`rpy2.robjects.help` to expose the R help system to Python - Metaclass utilities in :mod:`rpy2.robjects.methods`, allowing to reflect automatically R S4 classes as Python classes. - :meth:`rpy2.robjects.vectors.FactorVector.iter_labels` to iterate over the labels - :class:`rpy2.robjects.vectors.ListVector` to represent R lists. - Constructor for :class:`rpy2.robjects.vectors.ListVector` and :class:`rpy2.robjects.vectors.DataFrame` accept any iterable at the condition that the elements iterated through also valid subscripts for it (e.g., given an iterable v, the following is valid: .. code-block:: python x[k] for x in v :mod:`rpy2.rinterface`: - :data:`NA_Complex` and :class:`NAComplexType` for missing complex values. - :class:`SexpExtPtr` to represent R objects of type EXTPTR (external pointers). - :func:`rpy2.rinterface.parse` to parse a string a R code - :func:`rpy2.rinterface.rternalise` to wrap Python function as :class:`SexpClosure` that can be called by R just as it was a function of its own. - :class:`rpy2.rinterface.RNULLType` for R's C-level NULL value and :class:`rpy2.rinterface.UnboundValueType` for R's C-level R_UnboundValue (both singletons). - :meth:`rinterface.SexpVector.index`, of similar behaviour to :meth:`list.index`. - :meth:`rpy2.rinterface.Sexp.list_attrs` to list the names of all R attributes for a given object. - :class:`rpy2.rinterface.ByteSexpVector` to represent R 'raw' vectors. - constant `R_LEN_T_MAX` to store what is the maximum length for a vector in R. - tuple `R_VERSION_BUILD` to store the version of R rpy2 was built against - getter :attr:`Sexp.rclass` to return the R class associated with an object :mod:`rpy2.rlike`: - :class:`container.OrdDict` get proper methods :meth:`keys` and `get` :mod:`rpy2.interactive`: - A new sub-package to provide utilities for interactive work, either for handling R interactive events or use Python for interactive programming (as often done with the R console) Changes ------- :mod:`rpy2.robjects`: - NA_bool, NA_real, NA_integer, NA_character and NA_complex are now deprecated (and removed). NA_Logical, NA_Real, NA_Integer, NA_Character, NA_Complex should be used. - :class:`rpy2.robjects.packages.Package` now inherits from :class:`types.ModuleType` - classes representing R vector also inherit their type-specific rinterface-level counterpart. - Importing the :class:`rpy2.robjects.numpy2ri` is no longer sufficient to active the conversion. Explicit activation is now needed; the function `activate` can do that. :mod:`rpy2.rinterface`: - :class:`IntSexpVector`, :class:`FloatSexpVector`, :class:`StrSexpVector`, :class:`BoolSexpVector`, :class:`ComplexSexpVector` are now defined at the C level, improving performances and memory footprint whenever a lot of instances are created. Bugs fixed ---------- - Better and more explicit detection system for needed libraries when compiling rpy2 (ported to release 2.1.6) - Long-standing issue with readline fixed (issue #10) Release 2.1.9 ============= Bugs fixed ---------- - The R class in rpy2.robjects is now truly a singleton - When using numpy 1.5 and Python >= 2.7, the exposed buffer for R numerical (double) vectors or arrays was wrong. Release 2.1.8 ============= Bugs fixed ---------- - Fixed issue with R arrays with more than 2 dimensions and numpy arrays (issue #47 - backported from the branch 2.2.x). Release 2.1.7 ============= Bugs fixed ---------- - More fixes for the automated detection of include and libraries at build time. Release 2.1.6 ============= Bugs fixed ---------- - Further fixes in the automatic detection of includes and libraries needed to compile rpy2 against R. The detection code has been refactored (backport from the 2.2.x branch) Release 2.1.5 ============= Bugs fixed ---------- - fixes the automatic detection of R_HOME/lib during building/compiling when R_HOME/lib is not in lib/ (issue #54) Release 2.1.4 ============= New features ------------ - :mod:`rpy2.robjects.lib.ggplot2` now has the functions :func:`limits`, :func:`xlim`, :func:`ylim` exposed (patch contributed anonymously) Bugs fixed ---------- - Install script when the BLAS library used by R is specified as a library file (patch by Michael Kuhn)
jperkin
pushed a commit
that referenced
this issue
Mar 17, 2014
=== 2.9.4 / 2014-02-10 * Bug fixes * Improve proxy escaping from 2.9.2. Pull request #59 by Mislav Marohnić. === 2.9.3 / 2014-02-06 * Bug fixes * Fix breakage in 2.9.2 for users without proxies. Pull request #56 by Yoshihiro TAKAHARA (merged), #57 by ChuckLin, #58 by Kenny Meyer. === 2.9.2 / 2014-02-05 * Bug fixes * Special characters in proxy passwords are now handled correctly. Issue #48 by Mislav Marohnić. Pull request #54 by Juha Kajava === 2.9.1 / 2014-01-22 * Bug fixes * Added license to gemspec. Issue #47 by Benjamin Fleischer * Set Net::HTTP#keep_alive_timeout when supported by ruby. Pull request #53 by Dylan Thacker-Smith. * The backtrace is preserved for errors in #reset to help with debugging. Issue #41 by Andrew Cholakian.
jperkin
pushed a commit
that referenced
this issue
Mar 18, 2014
=== 2.9.4 / 2014-02-10 * Bug fixes * Improve proxy escaping from 2.9.2. Pull request #59 by Mislav Marohnić. === 2.9.3 / 2014-02-06 * Bug fixes * Fix breakage in 2.9.2 for users without proxies. Pull request #56 by Yoshihiro TAKAHARA (merged), #57 by ChuckLin, #58 by Kenny Meyer. === 2.9.2 / 2014-02-05 * Bug fixes * Special characters in proxy passwords are now handled correctly. Issue #48 by Mislav Marohnić. Pull request #54 by Juha Kajava === 2.9.1 / 2014-01-22 * Bug fixes * Added license to gemspec. Issue #47 by Benjamin Fleischer * Set Net::HTTP#keep_alive_timeout when supported by ruby. Pull request #53 by Dylan Thacker-Smith. * The backtrace is preserved for errors in #reset to help with debugging. Issue #41 by Andrew Cholakian.
jperkin
pushed a commit
that referenced
this issue
May 19, 2014
Changes in 2.2.0: - Added the OPT_SERVER_TIMEOUT_LIMIT behaviour Changes in 2.2.0RC1 - Fixes incorrect size when compressing serialized objects - Fixes endianess of compressed values Changes in 2.2.0b1 - Reinstate support for libmemcached 0.x series - Added SASL support to session handler - Added Memcached::flushBuffers as per GH #78 - Fixes GH #54: Fixed UDP server adding with newer libmemcached - Fixed PHP bug #65334: (Segfault if uncompress value failed) - Fixes GH #14: get with cas token fails to fetch all results - Fixes GH #68: memcached 2.1.0 requires libmemcached 1.0.10 - Fixes GH #69: compiling on CentOS 6.4 with libmemcached 1.0.17 - Merged PR #91: More granular session locking support - Added session handler settings: * memcached.sess_number_of_replicas * memcached.sess_randomize_replica_read * memcached.sess_remove_failed * memcached.sess_connect_timeout - Added support for memcached protocol handlers - Added Memcached::setBucket for virtual bucket support - Added support for msgpack serialization - Memcached::setSaslAuthData returns correct status on success - Added support for user-defined flags in set and get operations
jperkin
pushed a commit
that referenced
this issue
Jun 2, 2014
Changes in 2.2.0: - Added the OPT_SERVER_TIMEOUT_LIMIT behaviour Changes in 2.2.0RC1 - Fixes incorrect size when compressing serialized objects - Fixes endianess of compressed values Changes in 2.2.0b1 - Reinstate support for libmemcached 0.x series - Added SASL support to session handler - Added Memcached::flushBuffers as per GH #78 - Fixes GH #54: Fixed UDP server adding with newer libmemcached - Fixed PHP bug #65334: (Segfault if uncompress value failed) - Fixes GH #14: get with cas token fails to fetch all results - Fixes GH #68: memcached 2.1.0 requires libmemcached 1.0.10 - Fixes GH #69: compiling on CentOS 6.4 with libmemcached 1.0.17 - Merged PR #91: More granular session locking support - Added session handler settings: * memcached.sess_number_of_replicas * memcached.sess_randomize_replica_read * memcached.sess_remove_failed * memcached.sess_connect_timeout - Added support for memcached protocol handlers - Added Memcached::setBucket for virtual bucket support - Added support for msgpack serialization - Memcached::setSaslAuthData returns correct status on success - Added support for user-defined flags in set and get operations
jperkin
pushed a commit
that referenced
this issue
Aug 12, 2014
2014-07-02 version 0.5.9: * Support std::tr1 unordered containers by default (#51, #63, #68, #69) * Remove some warnings (#56) * Fix segmentation fault after malloc failures (#58, #59) * Fix alloc/dealloc mismatch (#52, #61) * Fix sample codes (#60, #64) * Support implicit conversion from integer to float/double (#54) * Improve documents (#45, #75, #82, #83) * Support CMake (#20, #87) * Remove Ruby dependencies in bootstrap (#86, #87) * Add FILE* buffer (#40) * Other bug fixes and refactoring: #39, #73, #77, #79, #80, #81, #84, #90
jperkin
pushed a commit
that referenced
this issue
Mar 14, 2015
…kages Collection. This extention was previously known as ZendOptimizerPlus and has been renamed by upstream. Changes: 7.0.4 Added function opcache_is_script_cached() - Fix bug #67111 (Loop variables need to be freed for both "break" and "continue") - Fix opcache.revalidate_freq per-request behavior - Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault happen) - Fixed issue #183 (TMP_VAR is not only used once) 7.0.3 - Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style ^M as lineend) - Added suggestion about opcache.revalidate_freq setting in development environmento - Fixed Issue #140: "opcache.enable_file_override" doesn't respect "opcache.revalidate_freq" - Fixed reavlidate_path=1 behavior to avoid caching of symlinks values. - Fixed opcahce_reset() crash when opcache.protect_memory is set - Fixed bug #66176 (Invalid constant substitution) - Fixed bug #65559 (Opcache: cache not cleared if changes occur while running) - Fixed compatibility with old PHP versions - Fixed bug #65915 (Inconsistent results with require return value) - Fixed issue #115 (path issue when using phar) - Fixed issue #149 (Phar mount points not working with OPcache enabled) - Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled). - Added function opcache_compile_file() to load PHP scripts into cache without execution. - Fixed issue #135 (segfault in interned strings if initial memory is too low) - Fixed bug #65665 (Exception not properly caught when opcache enabled) - Fixed issue #128 (opcache_invalidate segmentation fault) - Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var) - Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4) - Replce ZEND_FETCH_* instructions with IS_CV if possible - Added opcache.restrict_api configuration directive that may limit usage of OPcahce API functions only to patricular script(s) - Added support for glob symbols in blacklist entries (?, *, **) - Improved implementation of NOP removal pass from O(n^2) to O(n) - Fixed bug #65338 (Enabling both php_opcache and php_wincache AVs on shutdown). - Fixed bug #64827 Segfault in zval_mark_grey (zend_gc.c) 7.0.2 - Fixed issue #26 (added opcache_invalidate(string $filename [, bool $force = false]) function) - Fixed issue #74 (Allowed per request OPcache disabling) - Fixed issue #76 (actually we don't need zend_shared_meory_block_header at all) - Fixed issue #78 (incorrect file path validation) - Fixed issue #79 (Optimization Problem/Bug) - Fixed issue #82 (allow comments in blacklist file, lines started with ";") - Fixed issue #91 (fix x64 fixed addresses) - Fxied issue #92 (Compilation warnings) - Fixed issue #97 (Use size_t instead of int to support a cache larger than 2G) - Fixed bug (Avoid possible conditional jump depended on uninitialised value) 7.0.1 - Fixed Bug #64490 (add __FreeBSD_kernel__ to allowed FreeBSD defs) - Fixed Bug #64482 (Opcodes for dynamic includes should not be cached) - Fixed Bug #64353 (Built-in classes can be unavailable with dynamic includes and Optimizer+) - Fixed compatibility with ext/phar - Fixed Issue #58 (PHP-5.2 compatibility) - Fixed Issue #57 (segfaults in drupal7) - Fixed Issue #54 (PECL install adds extension= instead of zend_extension= to php.ini)-iii - Allows exclusion of large files from being cached - Save a stat() call by calling sapi_module.get_stat() - Add optional flag to opcache_get_status() - Separate "start_time" from "last_restart_time"
jperkin
pushed a commit
that referenced
this issue
Jun 1, 2015
Upstream changes: version 3.27 (2015-05-05) [ENHANCEMENTS] * Cisco Aironet PSU information * Only log adding mibdirs at debug level 2 [BUG FIXES] * [#221] Drop Cisco Voice VLAN 4096 version 3.26 (2015-03-07) [ENHANCEMENTS] * Add fan and psu reporting to Layer3::Dell * Include Voice VLANs in (tagged) VLAN Membership on Cisco devices [BUG FIXES] * Fix typo in MRO::print_superclasses version 3.25 (2015-02-25) [ENHANCEMENTS] * Add new model name mappings for to Layer2::HP version 3.24 (2015-02-04) [ENHANCEMENTS] * Support RSTP and ieee8021d STP operating modes in RapidCity [BUG FIXES] * Fix single instance leafs defined in %FUNCS to behave like table leafs * Fix incorrect FDB ID to VLAN ID mapping in Bridge and L3:Enterasys version 3.23 (2014-12-09) [ENHANCEMENTS] * Update MIB used in L1::Asante * Enhanced STP support for L3::Extreme [BUG FIXES] * Fix Cisco VLAN membership issue introduced in 3.22 related to capturing port VLANs on Cisco interfaces which are configured for trunking but are not in operational trunking mode version 3.22 (2014-12-02) [NEW FEATURES] * Support obtaining FDB in Avaya SPBM edge deployments in L2::Baystack NOTE: This requires a RAPID-CITY MIB with the rcBridgeSpbmMacTable * Support for Fortinet devices in new class L3::Fortinet [ENHANCEMENTS] * Include LLDP support in base Layer2 and Layer3 classes. Due to the widespread adoption of LLDP, this should improve mapping networks when devices aren't supported in a more specific class. * No longer ignore interfaces based on name, in base L2/L3/L7 device classes. For several device classes SNMP::Info will now return tunnel interfaces and/or loopbacks, if present. * Use dot1qVlanCurrentTable if available to capture dynamic and static VLANs, fall back to dot1qVlanStaticTable if not available. * New method i_vlan_membership_untagged() for VLANs transmitted as untagged frames. * Capture Aruba AP hardware and software version when available * New STP methods to support gathering information from devices running mutiple STP instances such as PVST and MST * Enhanced STP support for Avaya and Foundry classes [BUG FIXES] * [#64] Misdetection: Wireless APs, add products MIB to L2::3Com * Use FDB ID to VID mapping if available to determine end station VLAN rather than assuming they are the same. * Capture port VLANs on Cisco interfaces which are configured for trunking but are not in operational trunking mode * Correct munging of stp_p_port(), i_stp_port(), and stp_root() methods in Bridge * In LLDP.pm don't create a variable in a conditional version 3.20 (2014-09-08) [NEW FEATURES] * Override layers in Juniper for routers with switch modules [BUG FIXES] * Update MANIFEST to include Ubiquiti files version 3.19 (2014-08-01) [NEW FEATURES] * Support for Ubiquiti Access Points in new class L2::Ubiquiti (begemot) * Preliminary support for 3Com switches in new class L2::3Com (begemot) [BUG FIXES] * Fix Avaya detection lldp_port() * Silence uninitialized value warning in L3::Cisco * H3C fixes (begemot) * Only use L2::ZyXEL_DSLAM for ZyXEL DSL modules version 3.18 (2014-07-02) [ENHANCEMENTS] * Pseudo ENTITY-MIB methods added to L3::Tasman for hardware information * Capture VPC Keepalive IP addresses in L3::Nexus (jeroenvi) * L2::Netgear inheritance clean up and removal of unnecessary c_* methods defined in Info base class [BUG FIXES] * Correctly identify device type (class) for instantiated objects which have overridden layers. * [#58] Fix inheritance in L3::FWSM and L3::CiscoASA * [#71] Don't try to match on a false port description in lldp_if * [#54] Possible bad values returned for cdp_id and lldp_port with some HP gear (Joel Leonhardt) version 3.17 (2014-06-23) [ENHANCEMENTS] * POD tests are not required for distribution. version 3.16 (2014-06-23) [ENHANCEMENTS] * Add method resolution discovery in SNMP::Info::MRO helper module * Consolidate CiscoImage class into CiscoStats class * Clean up inheritance for Cisco classes. With this change all applicable classes now inherit CiscoAgg, CiscoStpExtensions, CiscoPortSecurity, CiscoPower, and LLDP classes. * Remove inheritance of classes the devices do not support in L3::FWSM and L3::CiscoASA [BUG FIXES] * Use CiscoVTP methods to get interface VLAN in L3::Cisco rather than solely relying on the interface description. version 3.15 (2014-07-10) [NEW FEATURES] * Offline mode and Cache export/priming. [ENHANCEMENTS] * Return serial number for Cisco 3850 from entPhysicalSerialNum [BUG FIXES] * Cisco SB serial number probably did not work version 3.14 (2014-06-07) [ENHANCEMENTS] * Improvements to Mikrotik module (Alex Z) * Don't unshift length from broken lldpRemManAddrTable implementations (G. Shtern) * 802.3ad LAG support in Layer3::H3C * Add LLDP capabilities to Layer2::HPVC class [BUG FIXES] * Return correct VLAN info with qb_fw_table() on Layer2::HP version 3.13 (2014-03-27) [ENHANCEMENTS] * Cisco PAgP support added to LAG method * HP ProCurve LAG support by inheriting Info::Aggregate class version 3.12 (2014-02-10) [ENHANCEMENTS] * Modify L3::Passport to obtain forwarding table information from RAPID-CITY if information is not available in either Q-BRIDGE-MIB or BRIDGE-MIB. Needed for VSP 9000 prior to version 4.x (Tobias Gerlach) [BUG FIXES] * [#52] NETSCREEN-IP-ARP-MIB considered harmful * Foundry/Brocade aggreate port master ifIndex resolved properly version 3.11 (2014-01-26) [NEW FEATURES] * [#31] port-channel (aggregate) support. Aggregate support added in new agg_ports() method. Inital support added for Arista (ifStack), Avaya (MLT), Brocade (MST), and Cisco (802.3ad). [ENHANCEMENTS] * Use Q-BRIDGE-MIB as default with fallback to BRIDGE-MIB across all classes for the fw_mac, fw_port, and fw_status methods * Additional support for Avaya 8800 series in L3::Passport [BUG FIXES] * Modify cdp_cap() to handle devices which return space delimited strings for cdpCacheCapabilities rather than hex strings * [#51] Netdisco shows broken topology for devices with no alias entry for primary IP - Collect nsIfMngIp when getting IP interfaces in L3::Netscreen * Fix Extreme XOS i_vlan_membership - Revert [28bbe0], fix bug with untagged being added to @ret twice (Robert Kerr) * Skip default CPU management addresses on VSP and 8800/8600 series in L3::Passport to prevent erroneous duplicate addresses version 3.10 (2013-12-16) [BUG FIXES] * Data values of zero are now sent to munge method instead of skipped version 3.09 (2013-12-15) [NEW FEATURES] * [#45] IBM (Blade Network Technologies) Rackswitch support in new class L3::IBMGbTor * [] set_i_untagged combines both set_i_vlan and set_i_pvid in one method * [#41] Riverbed Steelhead support added in new class L3::Steelhead * New c_cap(), cdp_cap(), and lldp_cap() methods which return a hash of arrays with each array containing the system capabilities reported as supported by the remote system via CDP or LLDP. [ENHANCEMENTS] * Remove "Switch" from model name in L3::Foundry * [#49] IOS-XR support, add identification of IOS XR and version in CiscoStats * Aruba POE Support * Aruba utilizes Q-BRIDGE-MIB when available for VLAN information to better support wired switches * Add lldp_platform() method which uses lldp_rem_sysdesc() or lldp_rem_sysname() to provide a clue to type of remote LLDP capable device. * [RT#78232] Extend cdpCacheCapabilities to show more CDP bits [BUG FIXES] * Modify _xos_i_vlan_membership() in L3::Extreme to only include tagged ports * When determining the BSSID in Airespace there is only one hexadecimal digit available so skip if outside the range of 1-16, 17 is reserved for 3rd party AP's * Don't assume entity index 1 is the chassis and has serial in Layer3 * Capture serial number on newer Aruba devices * munge_bits() correctly unpacks BITS * Fix for single instance table leafs in test_class_mocked.pl * Fix power module indexing version 3.08 (2013-10-22) [ENHANCEMENTS] * Rewrite of L3::Aruba, now supports pseudo ENTITY-MIB methods to gather module information, more interface information for APs, more wireless information to include client stats, and arpnip information from wireless clients. WARNING: AP device interfaces are now based on AP MAC and radio versus BSSID to align with other wireless classes. * [#64] Add i_speed_admin() to L2::2900 (psychiatric) * [#66] Support for VSS via CISCO-VIRTUAL-SWITCH-MIB in L3::6500 * [#67] Add the possibility to set speed for Layer3::C4000 (psychiatric) * [#69] set speed and duplex on Cisco VSS system (psychiatric) * munge_null() now removes all non-printable control characters * Support Aironet standalone access points (Layer2::Aironet) running IOS15 * lldp_port() returns port ID instead of port description if the port ID subtype is "interface name". This improves the ability to correlate ports by name when a port description is also set. * Add docs note about make_snmpdata.pl under EXTENDING SNMP::Info * [#46] Brocade (Foundry) Module Support * Brocade (Foundry) POE Support * Support peth_port_power() power supplied by PoE ports in L2::Baystack * Update test_class.pl utility to allow ignore of snmp.conf and test summarize more standard class methods * On EOS, the LLDP port ID is a dot1d port * Use LLDP in Layer3::Aruba, for switches * Clean up more model names in L2::Baystack [BUG FIXES] * [#68] Fix device_port entries for switches with non-unique ifDesc (Nic Bernstein) * Don't try to munge undef values * [#49] Perl 5.18 UNIVERSAL::can change could cause infinite loop * Silence warning from uninitialized variable in L3::Passport e_descr() version 3.07 (2013-10-01) [ENHANCEMENTS] * Support for Pica8 switches in L3::Pica8 * Factor out cache/munge code from global/attr methods [BUG FIXES] * [#48] Switch duplicate J9624A for J9626A in Layer2/HP (R. Kerr) * Correct device serial number reporting for Nexus devices * Override ipAddrTable methods in L3::Nexus as some versions do not index the table with the IPv4 address in accordance with the MIB definition. version 3.05 (2013-08-16) [ENHANCEMENTS] * [#47] Add model info on HP 2530 and HP 2920 series * Add support for Cisco Small Business series Layer2/CiscoSB class * Add proper LLDP support to Netgear.pm * Change $netgear->interfaces() to use ifName rather than ifDescr as the former is unique per interface while the latter is not. If ifName is not present, concatenate ifDescr and ifIndex to achieve a unique value. * Properly report hardware version, Serial No. and OS Version for Netgear. version 3.03 (2013-07-11) [BUG FIXES] * Add missing =back to POD (A. Hartmaier) version 3.02 (2013-07-08) [ENHANCEMENTS] * Properly pull os_ver from Netgear GS series switches. * Support Alcatel devices with layer3 features. * Identify Cisco Aironet 1140 APs as Layer2::Aironet * LAN switch support added to Layer3::Aruba class * [RT#86725] - Identify Cisco Catalyst 3850 as Layer3::C6500 (C. Causer) version 3.01 (2013-04-13) [API Changes] * The methods c_ip(), c_if(), c_port(), c_id(), and c_platform() now represent common topology methods and will try to return a combined hash of data from all L2 topology protocols either running on the device or specified in the method call. The topology specific methods have been been prefixed with the protocol name in lowercase so that they can be called directly, sonmp_ip(), cdp_ip(), etc. * L2::Bay and L2::Foundry have been removed from the distribution. Both classes were depreciated and all functionality is available through L2::Baystack and L3::Foundry. [NEW FEATURES] * [3160037] - Support _raw suffix on methods to skip munging * [3185391] - Support for F5 devices in new class L3::F5 * [3323814] - Arp support for Netscreen (David Baldwin) * [3323821] - Support for Netscreen w/ WLAN (eg SSG5) (David Baldwin) * [3599277] - Q-BRIDGE Support to collect VLAN in macsuck * [3033731] - Alcatel-Lucent OmniSwich AMAP Support in new AMAP class * [3598896] - Lantronix device support (J R Binks) * [3598337] - Lantronix SLC support * Support for Cisco ASA in L3::CiscoASA (Kraus/Hartmaier/Bernstein) * Support for Avaya VSP 9000 series in L3::Passport * Support for Avaya VSP 7000 series in L2::Baystack * Support Avaya (Trapeze) Wireless Controllers in new class L2::NWSS2300 * Support Juniper (Trapeze) Wireless Controllers in new class L2::Trapeze * Support for newer Radware Alteon ADC switches 4408/4416/5412/5224 and older AWS 2000/3000 series in existing L3::AlteonAD * Support for H3C & HP A-series in new class L3::H3C * Support for Citrix Netscaler appliances in new class L7::Netscaler * New configuration option IgnoreNetSNMPConf will ignore Net-SNMP configuration files on object initialization * Two new utilities added in t/util to assist in developing device support; make_snmpdata.pl gathers SNMP data (snmpwalk) in a format that can be used with test_class_mocked.pl which mocks an SNMP agent to enable testing with no network access to a device. [ENHANCEMENTS] * UNIVERSAL::can() now works with dynamic methods * Dynamically generated methods are added to symbol table to avoid AUTOLOAD on subsequent calls * L2::Airespace now supports 802.11n client tx rates * L2::Airespace now reports AP Ethernet MAC as port MAC for radio ports * CiscoStats improvements to determine os versions, eg IOS XE ver on Sup7L-E * CiscoStats now reports 'ios-xe' if the device runs IOS XE (used to be 'ios') * Improved support of XOS based Extreme devices [BUG FIXES] * [3564920] - lldp_if gives wrong data for Enterasys version 2.11 (2012-12-09) [BUG FIXES] * Add fall-back for sysDescr on Force10 version 2.10 (2012-12-08) [NEW FEATURES] * Support for Force10 devices (W. Bulley)
jperkin
pushed a commit
that referenced
this issue
Aug 29, 2015
Upstream changes: v2.4.5 2015-08-03T15:57:50Z - Fix for older Perl(< 5.14.0) (#54)
jperkin
pushed a commit
that referenced
this issue
Dec 14, 2015
v2.0.4 Major Enhancements * Classification thresholds can be enabled or disabled. The default is disabled. The threshold value can be set at initialization time or dynamically during processing (#47) * Made auto-categorization optional, defaulting to false (#45) * Added the ability to handle an array of classifications to the constructor (#44) * Classification with a threshold has been added to the api (#39) Minor Enhancements * Documentation around threshold usage (#54) * Fixed UTF-8 encoding for hasher.rb (#50) * Removed some unnecessary methods (#43) * Add optional CachedContentNode (GSL only) (#43) * Caches the transposed search_vector (#43) * Added custom marshal_ methods to not save the cache when dumping/loading (#43) * Optimized some numeric comparisons and iterators (#43) * Added cached calculation table when computing raw_vectors (#43) * If a category name is already a symbol, just return it (#45) * Various Hash improvements (#45) * Eliminated several Ruby⚠️ s when run with RUBYOPT="-w" (#38) * Simple performance improvements for the Hasher process (#41) * Fixes for broken regex splitting for non-ascii characters and removal of the unused punctuation filter (#41) * Add multiple language stopwords with customizable stop word paths (#40) Bug Fixes * Fixed the bug where adding the same category a second time would clobber the category that was already there (#45) * Fixed deprecation warning for <=> in ls.rb (#33) * Remove references to Madeline in the README and replace it with Marshal or Redis (#32) Development Fixes * Added development dependency on mini_test and added 2.2 to travis.yml (#36)
jperkin
pushed a commit
that referenced
this issue
Jan 22, 2016
Version v1.7.5 - March 25, 2015 Prevent method redefined warnings being generated by replacing uses of attr_accessor with: attr_reader where a setter function is already defined, attr_writer where a getter function is already defined Version v1.7.4 - March 23, 2015 Version v1.7.3 - March 23, 2015 Version v1.7.2 - March 23, 2015 Added rubygems config Version v1.7.1 - December 21, 2014 Bugfix ETA works again, when ProgressBar is initialized with a non zero starting_at. Uncategorized Describe the wiki link Inline the cage image in the README THE CAGE Remove superfluous subtitle Remove sections from the README that were moved to the Wiki Add link to wiki Update logo Version v1.7.0 - November 4, 2014 Feature Massive internal refactoring. Now 236% faster! Add Timer#restart Version v1.6.1 - October 30, 2014 Uncategorized Update readme about output option Display warnings when testing Bugfix Remove warnings from uninitialized instance variable Instance variable @started_at not initialized Instance variable @out_of_bounds_time_format not initialized Change private attributes to protected `*' interpreted as argument prefix Prefix assigned but unused variables with underscores Ambiguous first argument Version v1.6.0 - September 20, 2014 Feature Add ability to disable auto-finish Add SCSS lint configuration Update JSHint config with our custom version Add right-justified percentages - Closes #77 Bugfix Don't allow title to change for non-TTY output Percentage formatter failed when total was 0 or unknown Version v1.5.1 - May 14, 2014 Uncategorized Make grammar and spelling corrections in the README Add the ability to scale the rate component Add notes to the README about the new format components Add the %R flag to the formatting to show the rate with 2 decimal places of precision Remove unused molecule cruft Add specs to make sure that rate works even if the bar is started in the middle Add base functionality for the rate component Add Slack notification to Travis builds Upgrade rspectacular to v0.21.6 Upgrade rspectacular to v0.21.5 Upgrade rspectacular to v0.21.4 Upgrade rspectacular to v0.21.3 Upgrade rspectacular to v0.21.2 Add badges to the README Upgrade rspectacular to v0.21.1 Lower Timecop version for Ruby 1.8 compatibility Lower rake version to 0.9.6 so that it will be compatible with Ruby 1.8 Update rspectacular to 0.21 Add CODECLIMATE_REPO_TOKEN as a secure Travis ENV variable Upgrade rspectacular to v0.20 Add the Code Climate test reporter gem Add Ruby 2.1 to Travis Convert to RSpec 3 Feature The running average is always set back to 0 when the bar is reset Version v1.4.2 - March 1, 2014 Improve estimated timer for short durations Remove useless protection README Update Slight formatting changes on the PACMAN example to make it consistent with the others Pacman-style progressbar Version v1.4.1 - January 26, 2014 Change from 'STDOUT.puts' to the more appropriate 'Kernel.warn' Add another spec which tests this in a different way Add an acceptance spec to mimic running fuubar with no specs Makes Timer#stop a no-op unless it has first been started. Version v1.4.0 - December 28, 2013 Displaying the call stack was probably too much Upgrade fuubar Add an error specifically for invalid progress so that, in parent libraries, it can be caught properly Use the splat operator just to be clear Fix an issue with the estimated timers blowing up if the total was nil - Closes #62 Changed my mind. Rather than checking if the bar is stopped/started just blow up when the attempt is made to increment/decrement the bar to an invalid value Remove the CannotUpdateStoppedBarError Changes to the total should also be considered a change in progress and should therefore not be allowed for a stopped bar Add a warning that any changes to progress while the bar is stopped, will eventually be an exception Use the helper to divide the seconds. Don't know why I didn't do this before When finishing the bar, we also should stop the timers When checking 'finished?' make sure we check all progressables Always thought it was weird that the 'finished?' check was in the update method Move the 'finished' logic into the progressable Rather than specifying @elapsed_time explicitly, use the with_timers helper Add a method to check to see whether the bar has been started Extract logic for updating progress into a 'update_progress' method Add placeholder for an Error which will be used in v2.0.0 Update the copyright in the README to 2014 (we're almost there :) Add 'Zero dependencies' to the README as a beneifit of using ruby-progressbar Version v1.3.2 - December 15, 2013 Try to fix issues with testing on 1.8 and 1.9 when 'console/io' is not available Remove rspectacular so we can get the specs to pass on 1.8 and 1.9.2 Version v1.3.1 - December 15, 2013 Even if the throttle rate is passed in as nil, use the default regardless Version v1.3.0 - December 15, 2013 Remove the 'Road Map' section in the README Add notes to the README about non-TTY output Add notes to the CHANGELOG Give the bar the option of whether or not to automatically start or if #start has to be explicitly called Default to a non-TTY-safe format if there is no TTY support when outputting the bar Do not output the bar multiple times if #resume is called when the bar is already started Do not output the bar multiple times if #stop is called when the bar is already stopped Do not output multiple bars if #finish is called multiple times Change progressbar variables in specs to be let's instead Change output variables in specs to be let's instead Update Gemfile.lock to use HTTPS for Rubygems Add Ruby 2.0.0 to the README as a supported Ruby version Test with Ruby 2.0.0 on Travis CI Use HTTPS RubyGems source Added an option to set the :remainder_mark (along the lines of :progress_mark) that allows the user to set the character used to represent the remaining progress to be made along the bar. Add specs for the ANSI color code length calculation Name the regex for the ANSI SGR codes so that it's more clear what we're doing Remove comment allows to inclue ANSI SGR codes into molecules, preserving the printable length Switch from using 'git ls-files' to Ruby Dir globbing - Closes #54 Version v1.2.0 - August 12, 2013 Add note to CHANGELOG about TTY updates Update benchmark script Update logic to describe the bar as being 'stopped' also when it is 'finished' Only print the bar output if we're printing to a TTY device, or any device as long as the bar is finished Switch to instead of STDOUT so that it can be properly reassigned for redirections Move carriage return to the clear method Add better inspection now that we can have a nil total Add note about unknown progress to the changelog Add notes to the README about displaying unknown progress Fix missing throttle rate in README Allow the progress bar to have an 'unknown' amount of progress Add item to the changelog Update the benchmark script Add #log to progressbar for properly handling bar output when printing to the output IO Add CHANGELOG Rename all of the requires lines to be consistent with the new lib file Remove depreciation code Version v1.1.2 - August 11, 2013 Fix the 'negative argument' problem - Closes #47 Update a spec that was passing when it shouldn't have been and pend it until we can implement the fix Upgrade rspec and fuubar When dividing up the remainder of the length and determining how much space a completed bar should take up, round down so that the bar doesn't complete until 100% Add tags file to gitignore Version v1.1.1 - June 8, 2013 Fix file modes to be world readable Filter out specs themselves from coverage report Add tags file to gitignore Simplify #with_progressables and #with_timers Version v1.1.0 - May 29, 2013 Upgrade simplecov so it is resilient to mathn being loaded fix progress format when core lib mathn is loaded Rename throttle_period to throttle_rate Set a default throttle_period of 100 times per second Use the new precise #elapsed_seconds in the throttle component Add #elapsed_seconds that gets a more precise value for the elapsed time Rename #elapsed_seconds to #elapsed_whole_seconds Add throttle_period documentation Made throttle API resemble other components Add throttle_period option to #create Add throttle component Use StringIO in the new spec so we don't get output to STDOUT fix for the ruby_debug error, where debug defines a start method on kernel that is used erroneously by progressbar spec that recreates the problem we're seeing with ruby-debug under jruby fix terminal width crashing progressbar Add failing test for terminal width crashing progress bar Make sure we're using an up-to-date version of the JSON gem Fix gemspec since Date.today is no longer supported Update ruby-prof Upgrade timecop Upgrade simplecov Upgrade rake Make changes related to rspectacular Install rspectacular Remove guard Rework gem manifest so that it only calls ls-files once Replace .rvmrc with .ruby-version Rework #length specs now that we have a more complex set of specifications Fix overriding the progress bar length with an environment variable. Fix the rdoc_options specification in the gemspec Add Ruby Markdown code fencing to the README Version v1.0.2 - October 7, 2012 Remove superfluous comment The amount returned if the total is 0 should always be 100 (as in 100%) and not the DEFAULT_TOTAL. Even though they currently happen to be the same number. return DEFAULT_TOTAL for percentage_completed of total is zero, fixing ZeroDivisionError Use io/console where available. Add tmux notifications to Guardfile Bundler is not a development dependency Hashes are not ordered and therefore when looking for the time mocking method, we weren't selecting the proper one. Switched to an Array instead. Update development gems Move ruby-prof into the Gemfile so it is only loaded when it's MRI Ruby Add a script for benchmarking Now that we're memoizing Format::Base#bar_molecules, just use it to calculate how many bar molecules are left Limit the API of the Format.Base class by making #non_bar_molecules and #bar_molecules private Move Formatter#process into Format::Base because it is much more concerned with the format Remove the Kernel#tap in Formatter#process and just use an instance variable instead Now that we're not reparsing the format string each time, we can save some cycles by memoizing the Format::Base#non_bar_molecules and #bar_molecules When setting the format string, if it hasn't changed, we don't need to reparse it Extract the logic of setting the format string out into its own private method ProgressBar::Formatter#format_string= Add 'ruby-prof' to the project as a development gem Version v1.0.1 - August 28, 2012 Add Ruby 1.8.7 back into Travis CI build Fixing string slice bug Add a Rakefile Update .gitignore Add Rake to the Gemfile Version v1.0.0 - August 18, 2012 Remove 1.8 from the Ruby Travis builds Add a spec for the %% molecule Fix bug where a progress bar with an integrated percentage miscalculated the space it was taking up fix @terminal_width and bar_width calculation Fix more README typos Set the default bar mark to '=' Make sure to blow up if a molecule is not value It's not sufficient to say that a molecule is 'a percent sign followed by something that isn't a percent sign', we need to force it to be followed by a letter Fix problems in the README Update the formatting to make sure the %b and %i formatting molecules can coexist with each other Now that we can use the %b and %i flags, we can create a mirrored bar simply by using a format string of '%i%b' and therefore this extra code is no longer necessary Make sure that when the timer is started, then stopped, then started again, it should not register as stopped? Allow %i to be used display the incomplete space of the bar Update ProgressBar::Formatter#format to reset the bar style to default if it is called without passing in a format string Allow the %b molecule to be used to display the bar only without incomplete space Update the %B format test to be more reasonable Make the %w molecule only return the bar with the percentage instead of including empty space Remove the length argument when calling ProgressBar::Components::Bar#to_s and instead set the attribute Rename ProgressBar::Formatter#bar to #complete_bar Change the %b (bar with percentage) format molecule to %w Swap the meaning of the %b and %B molecules There was a typo in the example formats in the README. The literal percent sign needs to be included in the format string Make sure the '%%' molecule is formatted properly Little refactoring on the ProgressBar::Formatter#process method README update Remove all of the ProgressBar::Base#update calls and convert to method calls that take a block #with_update Add an "In The Weeds" section to the README Add 'It's better than some other library' section to the README Add contributors to the README Add supported Rubies to the README Tons of README formatting updates Add time-mocking information to the README If Time is being mocked via Delorean, make sure that the progress bar always uses the unmocked time If Time is being mocked via Timecop, make sure that the progress bar always uses the unmocked time When testing, make sure that we're able to always get the proper version of now that we need for our particular spec When calling ProgressBar::Time.now allow a Time-like object to be passed in Add a ruby-progressbar-specific implementation of Time to encapsulate the business logic Extract the notion of now into a method on the Timer module Remove extra private Use inheritance to put title= in the Formatter module where it belongs I didn't notice that #total and #progress were available in the Formatter module Move logic specific to the modules into those modules and use the inheritance chain to get at them Evidently Travis is having issues with Rubinius so we'll remove them from our .travis.yml file to get a passing build Try and get better 1.8.7 compatibility when checking the end character in the progressbar string Add the Travis-CI build status to the README Add the Travis-CI configuration file Update the other deprecation warnings outside of ProgressBar::Base Add the remaining method deprecation/warning messages Use a little metaprogramming to further dry up the deprecation messages fixup! c3e6991988107ab45ac3dac380750b287db3bc2e When displaying deprecation warnings for methods, only show them one time; not every time the method is invoked Dry up the warning messages in ProgressBar::Depreciable Move ProgressBar::Base#backwards_compatible_args_to_options_conversion to the ProgressBar::Depreciable module Add a new ProgressBar::Depreciable module to encapsulate all of the deprecation logic Forgot to return the options hash from ProgressBar::Base#backwards_compatible_args_to_options_conversion Add the old bar_mark= method back so it's more backwards compatible Update deprecation warnings to expire June 30th, 2013 instead of October 30th, 2013 Update the README to reflect the new syntax for creating a ProgressBar Override ProgressBar.new and remain backward compatible with the pre-1.0 versions of the gem Convert the ProgressBar module to a class so that we can... Add ProgressBar::Base#progress and #total Update the gemspec Update the EstimatedTimer specs when smoothing is turned off such that the #decrement spec is sufficiently different from the smoothing on #decrement spec Update EstimatedTimer specs when smoothing is turned off to be more consistent with the new smoothing specs Add EstimatedTimer specs to test when smoothing is turned on Update the spec text for the EstimatedTimer class so that it doesn't contain the actual expected value but rather the general expectation Extract smoothing into its own let variable Add notes to the README about smoothing Invert the smoothing value such that 0.0 is no smoothing and 1.0 is maximum smoothing Set the default smoothing value to 0.9 Convert the EstimatedTime#estimated_seconds_remaining over to using the running average Tell the Progressable module to update the running average any time the progress is set Add the notion of a smoothing variable to the Progressable module for use when calculating the running average Introduce Progressable#running_average and reset it any time Progressable#start is called Add a RunningAverageCalculator so we can offload the logic for calculating running averages in our Progressables Always refer to total using the accessor rather than the instance variable Fix place where we were using a literal string for our time format rather than the TIME_FORMAT constant Make the Progressable initializer optional Fix README mistake regarding out of bounds ETAs In Progressable, rather than accessing the starting_position instance variable, use an accessor Rather than having the logic in multiple places, use Progressable#start where possible Update the Progressable module to always reference the progress accessor rather than the instance variable Add the ability to customize the bar's title in real time Add a note to the README about customizing the bar in real time Add notes to the README about overriding the bar's length Update the deprecation date of Upgrade the README to describe the new 'integrated percentage' formatting option Update Ruby version in .rvmrc Replace @out.print with @out.write to work better in dumb terminal like Emacs' M-x shell. Document the smoothing attribute a little better. Rewrote smoothing stuff to something better. Offload handling of weird time values to format_time (isn't that its job?) ;-) Added "smoothing" attribute (default 0.9). It can be set to nil to use the old ETA code. Make time estimate a smoothed moving average Use the inherited #initialize Add a format where the bar has an integrated percentage Just always run all specs Alias stopped? to paused? If the bar is completed, show the elapsed time, otherwise show the estimated time estimated_time to estimated_time_with_no_oob Add a Guardfile Add the ability to set the progress mark at any point Upgrade RSpec in the Gemfile Allow :focused w/o the '=> true' More gem updates. Include guard Quotes Unindent private methods And again Consistency is key And again Change to new date and repo Upgraded RSpec uses RSpec not Rspec Not sure why I did this here Upgrade RSpec and SimpleCov Bump Ruby version to 1.9.3 allow to customize the #title_width Detect whether the output device is a terminal, and use a simplified output strategy when it is not. Use 1.9 compatible require in test. Add tests for Timecop and Delorean time mocking Make Progressbar resistant to time mocking Automatically tag gem builds as Date.today Replace the Bar's instance variable references Remove Options Parser The starting value should be passed on #start Remove Title class for now Change 'reversed bar' to 'mirrored bar' Rename out to output and access w/o variable Change default output to STDOUT Rename output_stream to output Rename current to progress Update README Add #decrement to the progress bar Backwards compatibility for instantiation Create with_timers helper Update spec_helper with new root gem file Update gemspec with new license file Update gemspec to auto-update Date Add deprecation and backwards compatibility helprs Add SimpleCov to the project Rename 'beginning_position' option to 'started_at' Fix require files Update README Update README Update README Remove Test::Unit test cases which are covered Replace licenses with the MIT license Begin updating README Add .gitignore Fix 'ArgumentError: negative argument' when using with Spork Bar can be forcibly stopped Autostart for now Add ability to pause/resume progress bar Bar resets the elapsed time when reset. Bar resets the estimated time when reset. Timers can now be reset #start determines #reset position On #reset, bar goes back to its starting position Bar can be reset back to 0 Fix test typo Fix tests Reminder for autostart Move #title Delete unneeded code Stop Elapsed Timer on finish Progressable components finish properly Refactor out common 'Progressable' functionality Prepare for more 'finish' functionality Refactor common Timer functionality into a module Bar outputs a \n when it's finished Bar can now be "finished" Remove unnecessary (for now) code Resizing algorithm is much smarter Fix length_changed? check Move formatting methods and make them private Create #inspect method Remove implemented methods We have a LICENSE file. No need for this. Fix output problem Always show 2 decimal places with precise percentage Elapsed Time works properly with progress bar Estimated Timer works properly with progress bar %r format string works properly Estimated Timer can now be incremented Bar graphic can now be reversed Remove method arguments from molecule %e, %E and %f format the estimated time correctly Formatting Include Molecule specs Estimated Timer works with out of bounds times Estimated Timer displays estimated time correctly Estimated Timer displays unknown time remaining Estimated Time can now be displayed Make Timer work properly Move bar_spec to the proper locale Elapsed Time can now be displayed Percentage information can now be displayed Capacity information can now be displayed Move Bar and Title into Components submodule Base refactoring work laid out Add RSpec support files Create a Gemfile and other infrastructure files Update gemspec Fix to failing test: Adjusting the path to progressbar.rb file accessor for alternate bar mark Updated gem name to match project (so it would build) Add a gemspec. Move progressbar.rb into lib/. Add LICENSE files. Get rid of the ChangeLog. That's what revision logs are for. Make the readme use Markdown. Initial commit (based on Ruby/ProgressBar 0.9).
mamash
pushed a commit
that referenced
this issue
Apr 6, 2016
v2.1 - Issue #156 parsedatetime 2.0 doesn't work on py26 v2.0 - Issue #155 Relative times containing years fail when computed from a leap day - Issue #145 cal.parse('2015-11-18') returns November 19th 2015 - Issue #143 What is the second value returned by `parse`? - Issue #141 Bad test case in TestComplexDateTimes - Issue #123 update supporting files for v2.0 release - Issue #124 Put locales into config-files (yaml) - Issue #125 Remove extra files - Issue #137 Year is parsed wrongly if the date is of format MMM DD, YYxx xx:SS bug - Issue #136 Why I see 2016 instead of 2015? - Issue #133 Bug: "2015-01-01" is parsed as the current date. - Issue #126 "Unresolved attribute reference 'parse' for class 'object'... " in Pycharm IDE. bug - Issue #120 the pdt_locales/en_AU.py file uses en_A for the localID instead of en_AU - Issue #114 Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day - Issue #112 Document getting a time from parsedatetime into a standard Python structure - Issue #110 AttributeError when running in the context of an HTTP request - Issue #109 YearParseStyle is ignored for dates in MM/DD style - Issue #107 yyyy/mm/dd date format - Issue #105 "this week" is not parsed - Issue #103 get UTC times from parseDT - trouble with at 9:30 clock times being interpreted directly in UTC - Issue #100 Fractional deltas result in incoherent results. - PR #118 ADD: improve russian locale - PR #117 ADD: Russian Locale - PR #116 Fix spelling of "separator". - PR #115 Update README.rst - PR #113 Add datetime example to readme. - PR #111 Allowed real number appear in text like "5.5 days ago" v1.5 - Issue #99 Which year is implied when given just a month and day? Next and last? question - Issue #96 Word boundary issues for specials (on, at, in) in nlp - Issue #94 inconsistent application of sourceTime in Calendar.parseDT - Issue #87 nlp() doesn't recognize some "next ..." expressions - Issue #84 Afternoon? bug - Issue #82 'last week' and 'next week' are broken - Issue #81 parse returns default time of 0900 with dates like 'next friday' despite passed struct_time bug - Issue #78 Link for Travis in README is wrong - Issue #72 Enable travis - Issue #71 Calendar() class can not be initialized 1.4 (it's fine) - Issue #66 Unexpected struct_time flag with Calendar.parse on HTML <a href> string - Issue #65 NLP false positives - Issue #63 Supporting multiple shortweekday abbreviations - Issue #61 Short weekday abbreviations bug - Issue #56 Parse words to numbers (thirteen => 13) - Issue #54 testMonths fails - commit 107c7e4655 fix for issue 95 - parsing 'next june 15' - commit 2c0c8ec778 Fixed faulty test, "730am" parses as "73:0 am" which is a bug for a later day. - commit 6f244e891d Fix "ones" parsing as "1s." Require a word boundary between spelled numbers and units. - commit 035818edef Fix "1 day ago" parsing like "1d 1y ago" where "a" within the word "day" is interpreted as 1. - commit 45002e6eec Fixes "next week" and similar modifier + unit pairs in nlp() - commit 47d2e1d527 Fixed "last week" v1.4 - Updated setup.py for wheel compatibility - renamed README.txt to README.rst - renamed MANIFEST to MANIFEST.in - cleaned up a lot of the doc and notes - Commit 3fc165e701 mafagafo Now it works for Python 3.4.1 - Commit d5883801e7 borgstrom Restore Python 2.6 compatibility 1.3 - Issue #45 make a new release to really fix backwards compatibility - Issue #43 Please tag version 1.3 - Commit 29c5c8961d devainandor fixed Python 3 compatibility in pdtLocale_icu - Commit d7304f18f7 inean Fix support for 'now' when no modifiers are present - Commit 26bfc91c28 sashaacker Added parseDT method. - Commit 848deb47e2 rmecham Added support for dotted meridians. - Commit c821e08ce2 ccho-sevenrooms corrected misspelling of 'thirteen' - Biggest change is the addition of the nlp() function by Geoffrey Floyd: nlp() function that utilizes parse() after making judgements about what datetime information belongs together. It makes logical groupings based on proximity and returns a parsed datetime for each matched grouping of datetime text, along with location info within the given inputString.
jperkin
pushed a commit
that referenced
this issue
Apr 7, 2016
v2.1 - Issue #156 parsedatetime 2.0 doesn't work on py26 v2.0 - Issue #155 Relative times containing years fail when computed from a leap day - Issue #145 cal.parse('2015-11-18') returns November 19th 2015 - Issue #143 What is the second value returned by `parse`? - Issue #141 Bad test case in TestComplexDateTimes - Issue #123 update supporting files for v2.0 release - Issue #124 Put locales into config-files (yaml) - Issue #125 Remove extra files - Issue #137 Year is parsed wrongly if the date is of format MMM DD, YYxx xx:SS bug - Issue #136 Why I see 2016 instead of 2015? - Issue #133 Bug: "2015-01-01" is parsed as the current date. - Issue #126 "Unresolved attribute reference 'parse' for class 'object'... " in Pycharm IDE. bug - Issue #120 the pdt_locales/en_AU.py file uses en_A for the localID instead of en_AU - Issue #114 Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day - Issue #112 Document getting a time from parsedatetime into a standard Python structure - Issue #110 AttributeError when running in the context of an HTTP request - Issue #109 YearParseStyle is ignored for dates in MM/DD style - Issue #107 yyyy/mm/dd date format - Issue #105 "this week" is not parsed - Issue #103 get UTC times from parseDT - trouble with at 9:30 clock times being interpreted directly in UTC - Issue #100 Fractional deltas result in incoherent results. - PR #118 ADD: improve russian locale - PR #117 ADD: Russian Locale - PR #116 Fix spelling of "separator". - PR #115 Update README.rst - PR #113 Add datetime example to readme. - PR #111 Allowed real number appear in text like "5.5 days ago" v1.5 - Issue #99 Which year is implied when given just a month and day? Next and last? question - Issue #96 Word boundary issues for specials (on, at, in) in nlp - Issue #94 inconsistent application of sourceTime in Calendar.parseDT - Issue #87 nlp() doesn't recognize some "next ..." expressions - Issue #84 Afternoon? bug - Issue #82 'last week' and 'next week' are broken - Issue #81 parse returns default time of 0900 with dates like 'next friday' despite passed struct_time bug - Issue #78 Link for Travis in README is wrong - Issue #72 Enable travis - Issue #71 Calendar() class can not be initialized 1.4 (it's fine) - Issue #66 Unexpected struct_time flag with Calendar.parse on HTML <a href> string - Issue #65 NLP false positives - Issue #63 Supporting multiple shortweekday abbreviations - Issue #61 Short weekday abbreviations bug - Issue #56 Parse words to numbers (thirteen => 13) - Issue #54 testMonths fails - commit 107c7e4655 fix for issue 95 - parsing 'next june 15' - commit 2c0c8ec778 Fixed faulty test, "730am" parses as "73:0 am" which is a bug for a later day. - commit 6f244e891d Fix "ones" parsing as "1s." Require a word boundary between spelled numbers and units. - commit 035818edef Fix "1 day ago" parsing like "1d 1y ago" where "a" within the word "day" is interpreted as 1. - commit 45002e6eec Fixes "next week" and similar modifier + unit pairs in nlp() - commit 47d2e1d527 Fixed "last week" v1.4 - Updated setup.py for wheel compatibility - renamed README.txt to README.rst - renamed MANIFEST to MANIFEST.in - cleaned up a lot of the doc and notes - Commit 3fc165e701 mafagafo Now it works for Python 3.4.1 - Commit d5883801e7 borgstrom Restore Python 2.6 compatibility 1.3 - Issue #45 make a new release to really fix backwards compatibility - Issue #43 Please tag version 1.3 - Commit 29c5c8961d devainandor fixed Python 3 compatibility in pdtLocale_icu - Commit d7304f18f7 inean Fix support for 'now' when no modifiers are present - Commit 26bfc91c28 sashaacker Added parseDT method. - Commit 848deb47e2 rmecham Added support for dotted meridians. - Commit c821e08ce2 ccho-sevenrooms corrected misspelling of 'thirteen' - Biggest change is the addition of the nlp() function by Geoffrey Floyd: nlp() function that utilizes parse() after making judgements about what datetime information belongs together. It makes logical groupings based on proximity and returns a parsed datetime for each matched grouping of datetime text, along with location info within the given inputString.
jperkin
pushed a commit
that referenced
this issue
Aug 12, 2016
--------------------------- * version 2.6.1 released 2016-03-01 ** flex resources *** The flex project is now hosted at github. Consider this a "period of transition". In particular, you should start at https://github.com/westes/flex for the flex codebase, issue tracking and pull requests. *** New releases of flex are to be found at https://github.com/westes/flex/releases. ** flex internals *** Flex now uses more modern and more standard names for variable types. There's more work to be done on that front yet, though. *** A number of compiler warnings have been remedied. *** Line directives should now work as expected and be absent when that is expected. ** test suite *** When running the test suite, c++ files are compiled with the c++ header inside the flex distribution, rather than relying on the build system's flex header , which might not be installed yet or which might be out of date with respect to what flex tests expect. *** Some portability fixes in the test suite such as opening files for reading in binary mode ** Building flex *** The file src/scan.c asdistributed with flex source is now built with the current version of flex. Occasionally this had to be done manually to pick up new flex features. It's now just a part of flex's build system. *** The pdf version of the manual is no longer distributed with flex, although if you have the texinfo package installed, you can still build it. *** lots of general build system cleanup *** the build system tries a bit harder to find libtoolize and texi2dvi. *** When help2man and texi2dvi are missing, the error messages are now much more helpful. ** bug fixes *** resolved github issues #53, #54, #55, #61. *** Resolved sf bugs #128, #129, #155, #160, #184, #187, #195. (pkgsrc changes) - Githubify - pre-configure: stage set for ./autogen.sh - Add patch-src_Makefile.am to generate parse.h before main.c is compiled (MAKE_JOBS_SAFE = no without this patch) - Drop (or convert) patches patch-src_filter.c -- upstream taken patch-src_Makefile.in -- file is gone patch-src_Makefile.am converted to the same name, different purpose patch-tests_Makefile.in converted to patch-tests_Makefile.am - Add BUILD_DEPENDS+= help2man-[0-9]*:../../converters/help2man
jperkin
pushed a commit
that referenced
this issue
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.
wiedi
pushed a commit
to wiedi/pkgsrc-legacy
that referenced
this issue
Nov 17, 2016
Slightly based on wip/flex by Makoto Fujiwara and Juraj Lutter. * version 2.6.2 released 2016-10-24 ** flex internals *** a segfalt involving yyrestart(NULL) has been fixed *** flex should now handle quoting when mixed with m4 processing correctly *** flex handles `[[' and `]]' correctly *** flex no longer generates non-ANSI code *** more compilation warnings were squashed in generated scanners *** prevented a buffer overflow that could occur when input buffers were the exact wrong size ** test suite *** input filenames on MSWindows are now calculated correctly *** general code cleanups in a number of tests now make the test suite compile much more cleanly ** build system *** the xz archive has been replaced with an lzip archive *** a new option to configure --enable-warnings to encapsulate passing of warning-related flags which is useful in testing flex *** make indent now works for out of source builds *** Portability warnings when generating Makefile.in files are now suppressed; they were just noise and the use of GNU extensions in Makefile.{am,in,} was intentional and well known. ** bugs *** resolved gh#67 ** new sv translation from the translation project * version 2.6.1 released 2016-03-01 ** flex resources *** The flex project is now hosted at github. Consider this a "period of transition". In particular, you should start at https://github.com/westes/flex for the flex codebase, issue tracking and pull requests. *** New releases of flex are to be found at https://github.com/westes/flex/releases. ** flex internals *** Flex now uses more modern and more standard names for variable types. There's more work to be done on that front yet, though. *** A number of compiler warnings have been remedied. *** Line directives should now work as expected and be absent when that is expected. ** test suite *** When running the test suite, c++ files are compiled with the c++ header inside the flex distribution, rather than relying on the build system's flex header , which might not be installed yet or which might be out of date with respect to what flex tests expect. *** Some portability fixes in the test suite such as opening files for reading in binary mode ** Building flex *** The file src/scan.c asdistributed with flex source is now built with the current version of flex. Occasionally this had to be done manually to pick up new flex features. It's now just a part of flex's build system. *** The pdf version of the manual is no longer distributed with flex, although if you have the texinfo package installed, you can still build it. *** lots of general build system cleanup *** the build system tries a bit harder to find libtoolize and texi2dvi. *** When help2man and texi2dvi are missing, the error messages are now much more helpful. ** bug fixes *** resolved github issues TritonDataCenter#53, TritonDataCenter#54, TritonDataCenter#55, TritonDataCenter#61. *** Resolved sf bugs TritonDataCenter#128, TritonDataCenter#129, TritonDataCenter#155, TritonDataCenter#160, TritonDataCenter#184, TritonDataCenter#187, TritonDataCenter#195.
jperkin
pushed a commit
that referenced
this issue
Feb 20, 2017
6.19 2017-02-14 - Call HTTP::Status constant functions without & (GH#110) - Make bin scripts use LWP's version and not maintain their own (PR #54) - Fix bug triggered in some cases of auth challenges not having a viable protocol (PR#111) - Remove usage of the 'vars' pragma (GH#113)
jperkin
pushed a commit
that referenced
this issue
Apr 10, 2017
0.3.7 * Fix issue #84: check if stream has 'closed' attribute before testing it * Fix issue #74: objects might become None at exit 0.3.6 * Fix issue #81: fix ValueError when a closed stream was used 0.3.5 * Bumping version to re-upload a wheel distribution 0.3.4 * Fix issue #47 and #80 - stream redirection now strips ANSI codes on Linux * Fix issue #53 - strip readline markers * Fix issue #32 - assign orig_stdout and orig_stderr when initialising * Fix issue #57 - Fore.RESET did not reset style of LIGHT_EX colors. Fixed by Andy Neff * Fix issue #51 - add context manager syntax. Thanks to Matt Olsen. * Fix issue #48 - colorama didn't work on Windows when environment variable 'TERM' was set. * Fix issue #54 - fix pylint errors in client code. * Changes to readme and other improvements by Marc Abramowitz and Zearin 0.3.3 * Fix Google Code issue #13 - support changing the console title with OSC escape sequence * Fix Google Code issue #16 - Add support for Windows xterm emulators * Fix Google Code issue #30 - implement \033[nK (clear line) * Fix Google Code issue #49 - no need to adjust for scroll when new position is already relative (CSI n A\B\C\D) * Fix Google Code issue #55 - erase_data fails on Python 3.x * Fix Google Code issue #46 - win32.COORD definition missing * Implement \033[0J and \033[1J (clear screen options) * Fix default ANSI parameters * Fix position after \033[2J (clear screen) * Add command shortcuts: colorama.Cursor, colorama.ansi.set_title, colorama.ansi.clear_line, colorama.ansi.clear_screen * Fix issue #22 - Importing fails for python3 on Windows * Thanks to John Szakmeister for adding support for light colors * Thanks to Charles Merriam for adding documentation to demos
jperkin
pushed a commit
that referenced
this issue
Apr 18, 2017
v1.2.3 2017/3/25 * Reduce the number of String objects allocated when loading zoneinfo files. #54. * Make Timezone#friendly_identifier compatible with frozen string literals. * Improve the algorithm for deriving the utc_offset from zoneinfo files. This now correctly handles Pacific/Apia switching from one side of the International Date Line to the other whilst observing daylight savings time. #66. * Fix an UnknownTimezone exception when calling transitions_up_to or offsets_up_to on a TimezoneProxy instance obtained from Timezone.get_proxy. * Allow the Factory zone to be obtained from the Zoneinfo data source. * Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware distributions. #64. * Fix Timezone#strftime handling of %Z expansion when %Z is prefixed with more than one percent. #31. * Support expansion of %z, %:z, %::z and %:::z to the UTC offset of the time zone in Timezone#strftime. #31 and #67.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I don't know if it preferable to do 2 versions (eg. net/zeromq2 net/zeromq3), but if you apply the following patches on net/zeromq, you should be able to compile and create the 3.2.3 package..
I've tried to keep the DragonFlyBSD part, but since the code is new, I'm not sure if I have broke the whole thing or not. Maybe someone with DragonFlyBSD could test ?
The text was updated successfully, but these errors were encountered: