Skip to content
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

getgrouplist undefined in cups-pdf #15

Closed
ghost opened this issue Nov 1, 2012 · 1 comment
Closed

getgrouplist undefined in cups-pdf #15

ghost opened this issue Nov 1, 2012 · 1 comment

Comments

@ghost
Copy link

ghost commented Nov 1, 2012

I get the following building cups-pdf:

===> Building for cups-pdf-2.6.1nb2
cd /home/richard/src/pkgsrc/print/cups-pdf/work.devzone/cups-pdf-2.6.1 &&  gcc -O -I/opt/pkg/include -I/usr/include -o src/cups-pdf src/cups-pdf.c
Undefined                       first referenced
 symbol                             in file
getgrouplist                        /var/tmp//ccjdaWAi.o
ld: fatal: symbol referencing errors. No output written to src/cups-pdf
collect2: error: ld returned 1 exit status
*** Error code 1

Stop.
bmake: stopped in /home/richard/src/pkgsrc/print/cups-pdf
*** Error code 1

Stop.

After a bit of research, it appears there are a number of consumers looking for this function, even in illumos itself (http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/ssh/libopenbsd-compat/common/getgrouplist.c) .

Again, is it best to put in a workaround, or perhaps add the function where it it habitually found?

@ghost
Copy link
Author

ghost commented Nov 1, 2012

jperkin pushed a commit that referenced this issue Jan 7, 2013
Changes since 4.0:
- Dropped support for Python below 2.5 and PostgreSQL below 8.3.
- Added support for Python up to 2.7 and PostgreSQL up to 9.2.
- Particularly, support PQescapeLiteral() and PQescapeIdentifier().
- The query method of the classic API now supports positional parameters.
  This an effective way to pass arbitrary or unknown data without worrying
  about SQL injection or syntax errors (contribution by Patrick TJ McPhee).
- The classic API now supports a method namedresult() in addition to
  getresult() and dictresult(), which returns the rows of the result
  as named tuples if these are supported (Python 2.6 or higher).
- The classic API has got the new methods begin(), commit(), rollback(),
  savepoint() and release() for handling transactions.
- Both classic and DBAPI 2 connections can now be used as context
  managers for encapsulating transactions.
- The execute() and executemany() methods now return the cursor object,
  so you can now write statements like "for row in cursor.execute(...)"
  (as suggested by Adam Frederick).
- Binary objects are now automatically escaped and unescaped.
- Bug in money quoting fixed.  Amounts of $0.00 handled correctly.
- Proper handling of date and time objects as input.
- Proper handling of floats with 'nan' or 'inf' values as input.
- Fixed the set_decimal() function.
- All DatabaseError instances now have a sqlstate attribute.
- The getnotify() method can now also return payload strings (#15).
- Better support for notice processing with the new methods
  set_notice_receiver() and get_notice_receiver()
  (as suggested by Michael Filonenko, see #12 and #37).
- Open transactions are rolled back when pgdb connections are closed
  (as suggested by Peter Harris, see #46).
- Connections and cursors can now be used with the "with" statement
  (as suggested by Peter Harris, see #46).
- New method use_regtypes() that can be called to let getattnames()
  return regular type names instead of the simplified classic types (#44).
@ghost ghost closed this as completed Mar 6, 2013
jperkin pushed a commit that referenced this issue Apr 26, 2013
## 2.3.9: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio

## 2.3.8: 2013-04-05

This is a msgmerge improved release.

### Improvements

  * Added licence information to the gemspec.
    [GitHub #13] [Patch by jordimassaguerpla]
  * Supported Ruby 2.0.0.
    [GitHub #14] [Reported by mtasaka]

### Fixes

  * [rxgettext] Fixed a bug that the comment for the previous message
    also exists in the current message.
    [Debian #684184] [Reported by Francesco Poli] [Patch by Jérémy Bobbio]

### Thanks

  * jordimassaguerpla
  * mtasaka
  * Francesco Poli
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue May 7, 2013
## 2.3.9: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio

## 2.3.8: 2013-04-05

This is a msgmerge improved release.

### Improvements

  * Added licence information to the gemspec.
    [GitHub #13] [Patch by jordimassaguerpla]
  * Supported Ruby 2.0.0.
    [GitHub #14] [Reported by mtasaka]

### Fixes

  * [rxgettext] Fixed a bug that the comment for the previous message
    also exists in the current message.
    [Debian #684184] [Reported by Francesco Poli] [Patch by Jérémy Bobbio]

### Thanks

  * jordimassaguerpla
  * mtasaka
  * Francesco Poli
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue May 13, 2013
Upstream changes:
2.19      2013-05-13 10:02:15 Australia/Melbourne

        * BUGFIX: Loading a file that does not change packages while
          autodie in effect no longer causes weird behaviour when
          slurpy built-ins (like open() and unlink()) are called. GH #22
          Thanks to Niels Thykier.

        * TEST: Tests for leak guard failures for slurpy core functions.

2.18      2013-05-12 18:12:14 Australia/Melbourne

        * TEST: More testing in scope_leak.t.

        * TEST: More testing around packages in truncate.t.

        * SPEED / INTERNAL: Significant improvements in load time,
          especially when autodie is used across multiple files,
          by caching reuseable subroutines and reducing calls to eval "".
          Huge thanks to Niels Thykier, who is a hero of the
          free people, and completely and utterly awesome.
          (RT #46984)

        * DOCUMENTATION: Spelling and correction fixes,
          courtesy David Steinbrunner.

        * DEVEL: Faster and more robust testing with travis-ci.

        * DEVEL: Some simple benchmarks bundled in the benchmarks/ directory.

2.17      2013-04-29 01:03:50 Australia/Melbourne

        * DOCS: Spelling fixes thanks to dsteinbrunner! (RT #84897)

        * DOCS: Fixed github links to point to 'pjf' rather than
          'pfenwick' (GH #18, thanks to Lx!)

        * INTERNAL: Silence warnings about experimental smart-match on
          5.17.11+ (via Brian Fraser and p5p)

        * TEST / BUILD: Generate .travis.yml files for CI testing via
          dzil.

2.16      2013-02-23 01:49:16 Australia/Melbourne

        * BUGFIX: Fix breakages under 5.8.x related to the new
          autodie::skip feature.

        * BUILD / BUGFIX: Remove dependency on parent.pm.

2.15      2013-02-22 23:55:22 Australia/Melbourne

        * BUILD / BUGFIX: Correct meta-info that wanted at least Perl
          v5.8.40, rather than v5.8.4.  Giant thanks to Paul Howarth
          for spotting this!

2.14      2013-02-22 15:43:33 Australia/Melbourne

        * FEATURE: Classes which claim they ->DOES('autodie::skip') are now
          skipped when generating exceptions.  This is mainly of use to
          utility classes. See `perldoc autodie::skip` for more details.
          (GH Issue #15)

        * FEATURE / BUGFIX / INCOMPAT: 'chmod' is now in the ':filesys'
          category (was in ':file').

        * BUGFIX: Added support for 'chown' and 'utime', that was
          previously overlooked. Mad props to RsrchBoy for spotting this.
          These are all in the ':filesys' category.
          (GH Pull #13)

        * BUGFIX: Added support for 'kill'. This is part of the
          ':ipc' category.

        * BUGFIX: Fixed bug whereby chmod, chown, kill, unlink and
          utime would not throw an exception when they didn't
          change all their files or signal all their processes.

        * TEST: truncate.t is now skipped on systems that don't have a
          working File::Temp.

        * TEST: open.t has a few more tests for exotic modes.

        * TEST: chown() tests are skipped on Win32, as chown on Windows
          is a no-op. (Thanks to Mithaldu for spotting this!)

        * TEST: Author tests now look for the AUTHOR_TESTING env
          variable (for dzil compliance).

        * TEST: Better testing for chown, chmod, and unlink.

        * TEST: Better testing for utime.

        * TEST: kwalitee.t is now only run when $ENV{RELEASE_TESTING} is set.

        * BUGFIX: Removed executable bits from some bundled text files.

        * BUILD: We now use dzil to manage autodie.

        * BUILD: Only Perl 5.8.4 and above is supported by autodie.
          Please upgrade your Perl distro if you're using 5.8.3 or
          below.

2.13  Thu Nov  8 14:22:03 EST 2012
        * TEST: Deterministic tests in hints_pod_examples.t .
          (RT #80412, thanks to demerphq)

        * INTERNAL: subroutine installs are now done in a
          deterministic order. (RT #80414, thanks to demerphq)
jperkin pushed a commit that referenced this issue Jun 17, 2013
Jason Bacon.  Should make gnuradio find swig2.

Version 2.0.10 (27 May 2013)
============================

2013-05-25: wsfulton
            [Python] Fix Python 3 inconsistency when negative numbers are passed
            where a parameter expects an unsigned C type. An OverFlow error is
            now consistently thrown instead of a TypeError.

2013-05-25: Artem Serebriyskiy
            SVN Patch ticket #338 - fixes to %attribute macros for template usage
            with %arg.

2013-05-19: wsfulton
            Fix ccache-swig internal error bug due to premature file cleanup.

            Fixes SF bug 1319 which shows up as a failure in the ccache tests on
            Debian 64 bit Wheezy, possibly because ENABLE_ZLIB is defined.

            This is a corner case which will be hit when the maximum number of files
            in the cache is set to be quite low (-F option), resulting in a cache miss.

2013-05-09: kwwette
            [Octave] Fix bugs in Octave module loading:
            - fix a memory leak in setting of global variables
            - install functions only once, to speed up module loads

2013-04-28: gjanssens
            [Guile] Updates in guile module:
            - Add support for guile 2.0
            - Drop support for guile 1.6
            - Drop support for generating wrappers using guile's gh interface.
              All generated wrappers will use the scm interface from now on.
            - Deprecate -gh and -scm options. They are no longer needed.
              A warning will be issued when these options are still used.
            - Fix all tests and examples to have a successful travis test

2013-04-18: wsfulton
            Apply Patch #36 from Jesus Lopez to add support for $descriptor() special variable macro expansion
            in fragments. For example:

              %fragment("nameDescriptor", "header")
              %{
                static const char *nameDescriptor = "$descriptor(Name)";
              %}

            which will generate into the wrapper if the fragment is used:

              static const char *nameDescriptor = "SWIGTYPE_Name";

2013-04-18: wsfulton
            Fix SF Bug #428 - Syntax error when preprocessor macros are defined inside of enum lists, such as:

              typedef enum {
                eZero = 0
              #define ONE 1
              } EFoo;

            The macros are silently ignored.

2013-04-17: wsfulton
            [C#] Pull patch #34 from BrantKyser to fix smart pointers in conjuction with directors.

2013-04-15: kwwette
            [Octave] Fix bugs in output of cleanup code.
            - Cleanup code is now written also after the "fail:" label, so it will be called if
              a SWIG_exception is raised by the wrapping function, consistent with other modules.
            - Octave module now also recognises the "$cleanup" special variable, if needed.

2013-04-08: kwwette
            Add -MP option to SWIG for generating phony targets for all dependencies.
            - Prevents make from complaining if header files have been deleted before
              the dependency file has been updated.
            - Modelled on similar option in GCC.

2013-04-09: olly
	    [PHP] Add missing directorin typemap for char* and char[] which
	    fixes director_string testcase failure.

2013-04-05: wsfulton
            [Ruby] SF Bug #1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL
            wrappers that override the default predicate, such as:

              %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >;

2013-04-05: wsfulton
            [Ruby] SF Bug #1159 - Correctly check rb_respond_to call return values to fix some
            further 1.9 problems with functors and use of Complex wrappers.

2013-04-02: wsfulton
            [Ruby] Runtime fixes for std::complex wrappers for ruby-1.9 - new native Ruby complex numbers are used.

2013-03-30: wsfulton
            [Ruby] Fix seg fault when using STL containers of generic Ruby types, GC_VALUE or LANGUAGE_OBJECT,
            on exit of the Ruby interpreter. More frequently observed in ruby-1.9.

2013-03-29: wsfulton
            [Ruby] Fix delete_if (reject!) for the STL container wrappers which previously would
            sometimes seg fault or not work.

2013-03-25: wsfulton
            [Python] Fix some undefined behaviour deleting slices in the STL containers.

2013-03-19: wsfulton
            [C#, Java, D] Fix seg fault in SWIG using directors when class and virtual method names are
            the same except being in different namespaces when the %nspace feature is not being used.

2013-02-19: kwwette
            Fix bug in SWIG's handling of qualified (e.g. const) variables of array type. Given the typedef
              a(7).q(volatile).double myarray     // typedef volatile double[7] myarray;
            the type
              q(const).myarray                    // const myarray
            becomes
              a(7).q(const volatile).double       // const volatile double[7]
            Previously, SwigType_typedef_resolve() produces the type
              q(const).a(7).q(volatile).double    // non-sensical type
            which would never match %typemap declarations, whose types were parsed correctly.
            Add typemap_array_qualifiers.i to the test suite which checks for the correct behaviour.

2013-02-18: wsfulton
            Deprecate typedef names used as constructor and destructor names in %extend. The real
            class/struct name should be used.

              typedef struct tagEStruct {
                int ivar;
              } EStruct;

              %extend tagEStruct {
                EStruct() // illegal name, should be tagEStruct()
                {
                  EStruct *s = new EStruct();
                  s->ivar = ivar0;
                  return s;
                }
                ~EStruct() // illegal name, should be ~tagEStruct()
                {
                  delete $self;
                }
              }

            For now these trigger a warning:

              extend_constructor_destructor.i:107: Warning 522: Use of an illegal constructor name 'EStruct' in
              %extend is deprecated, the constructor name should be 'tagEStruct'.
              extend_constructor_destructor.i:111: Warning 523: Use of an illegal destructor name 'EStruct' in
              %extend is deprecated, the destructor name should be 'tagEStruct'.

            These %extend destructor and constructor names were valid up to swig-2.0.4, however swig-2.0.5 ignored
            them altogether for C code as reported in SF bug #1306. The old behaviour of using them has been
            restored for now, but is officially deprecated. This does not apply to anonymously defined typedef
            classes/structs such as:

              typedef struct {...} X;

2013-02-17: kwwette
            When generating functions provided by %extend, use "(void)" for no-argument functions
            instead of "()". This prevents warnings when compiling with "gcc -Wstrict-prototypes".

2013-02-17: kwwette
            [Octave] Minor fix to autodoc generation: get the right type for functions returning structs.

2013-02-15: wsfulton
            Deprecate typedef names used in %extend that are not the real class/struct name. For example:

              typedef struct StructBName {
                int myint;
              } StructB;

              %extend StructB {
                void method() {}
              }

            will now trigger a warning:

              swig_extend.i:19: Warning 326: Deprecated %extend name used - the struct name StructBName
              should be used instead of the typedef name StructB.

            This is only partially working anyway (the %extend only worked if placed after the class
            definition).

2013-02-09: wsfulton
            [CFFI] Apply patch #22 - Fix missing package before &body

2013-01-29: wsfulton
            [Java] Ensure 'javapackage' typemap is used as it stopped working from version 2.0.5.

2013-01-28: wsfulton
            [Python] Apply patch SF #334 - Fix default value conversions "TRUE"->True, "FALSE"->False.

2013-01-28: wsfulton
            [Java] Apply patch SF #335 - Truly ignore constructors in directors with %ignore.

2013-01-18: Brant Kyser
            [Java] Patch #15 - Allow the use of the nspace feature without the -package commandline option.
            This works as long and the new jniclasspackage pragma is used to place the JNI intermediate class
            into a package and the nspace feature is used to place all exposed types into a package.

2013-01-15: wsfulton
            Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces.

2013-01-15: wsfulton
            [C#] Fix cstype typemap lookup for member variables so that a fully qualified variable name
            matches. For example:
              %typemap(cstype) bool MVar::mvar "MyBool"
              struct MVar {
                bool mvar;
              };

2013-01-11: Brant Kyser
	    [Java, C#, D] SF Bug #1299 - Fix generated names for when %nspace is used on
            classes with the same name in two different namespaces.

2013-01-11: Vladimir Kalinin
	    [C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes.

2013-01-08: olly
	    [PHP] Fix to work with a ZTS build of PHP (broken in 2.0.7).

2013-01-07: olly
	    Fix bashism in configure, introduced in 2.0.9.

2013-01-06: wsfulton
            Pull patch #4 from ptomulik to fix SF Bug #1296 - Fix incorrect warning for virtual destructors
            in templates, such as:
             Warning 521: Illegal destructor name B< A >::~B(). Ignored.

2013-01-05: wsfulton
            [Python] Pull patch #3 from ptomulik to fix SF Bug #1295 - standard exceptions as
            classes using the SWIG_STD_EXCEPTIONS_AS_CLASSES macro.

2013-01-04: wsfulton
            [Java] Pull patch #2 from BrantKyser to fix SF Bug #1283 - fix smart pointers in conjuction
            with directors.

2013-01-03: wsfulton
            [Java] Pull patch #1 from BrantKyser to fix SF Bug #1278 - fix directors and nspace feature when
            multilevel namespaces are used.

Version 2.0.9 (16 December 2012)
================================

2012-12-16: wsfulton
            Fix garbage line number / empty file name reporting for some missing
            '}' or ')' error messages.

2012-12-15: kkaempf
            [Ruby] Apply patch 3530444, Class#methods and Class#constants returns array of
            symbols in Ruby 1.9+

2012-12-14: kkaempf
            [Ruby] Apply patch 3530439 and finally replace all occurrences of the STR2CSTR() macro
            with StringValuePtr(). STR2CSTR was deprecated since years and got removed in Ruby 1.9

2012-12-14: kkaempf
            [Ruby] Applied patches #3530442 and 3530443 to adapt compile and runtime include
            paths to match Ruby 1.9+

2012-12-14: wsfulton
            [CFFI] Fix #3161614 - Some string constants are incorrect

2012-12-13: wsfulton
            [CFFI] Fix #3529690 - Fix incorrect constant names.

2012-12-12: drjoe
	    [R] add fix to finalizer that was missed earlier

2012-12-11: wsfulton
            [Python] Apply patch #3590522 - fully qualified package paths for Python 3 even if a module is in the
            same package.

2012-12-08: wsfulton
            [Python] Bug #3563647 - PyInt_FromSize_t unavailable prior to Python 2.5 for unsigned int types.

2012-12-08: wsfulton
            [Perl] Fix bug #3571361 - C++ comment in C wrappers.

2012-12-07: wsfulton
            [C#] Apply patch #3571029 which adds missing director support for const unsigned long long &.

2012-11-28: kwwette
            [Octave] Simplified module loading: now just the syntax
            $ example;
            is accepted, which loads functions globally but constants and variables relative to the current scope.
            This make module loading behaviour reliably consistent, and reduces problems when loading modules which
            depend on other modules which may not have been previously loaded.

2012-11-27: wsfulton
            [cffi] Fix junk output when wrapping single character literal constants.

2012-11-17: wsfulton
            [Tcl, Modula3] Add missing support for -outdir.

2012-11-17: wsfulton
            Fix segfaults when using filename paths greater than 1024 characters in length.

2012-11-14: wsfulton
            [ccache-swig] Apply patch #3586392 from Frederik Deweerdt to fix some error cases - incorrectly using
            memory after it has been deleted.

2012-11-09: vzeitlin
            [Python] Fix overflow when passing values greater than LONG_MAX from Python 3 for parameters with unsigned long C type.

2012-11-09: wsfulton
            Fix some feature matching issues for implicit destructors and implicit constructors and implicit
            copy constructors added with %copyctor. Previously a feature for these had to be fully qualified
            in order to match. Now the following will also match:

              %feature("xyz") ~XXX();
              struct XXX {};

2012-11-09: wsfulton
            Further consistency in named output typemap lookups for implicit constructors and destructors and
            implicit copy constructors added with %copyctor. Previously only the fully qualified name was being
            used, now the unqualified name will also be used. For example, previously:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void

            Now the unqualified name is also used:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void ~More
                Looking for: void

2012-11-02: wsfulton
            Fix some subtle named output typemap lookup misses, the fully qualified name was not always being
            used for variables, for example:

              struct Glob {
                int MyVar;
              };

            Previously the search rules (as shown by -debug-tmsearch) for the getter wrapper were:

              example.i:44: Searching for a suitable 'out' typemap for: int MyVar
                Looking for: int MyVar
                Looking for: int

            Now the scope is named correctly:

              example.i:44: Searching for a suitable 'out' typemap for: int Glob::MyVar
                Looking for: int Glob::MyVar
                Looking for: int MyVar
                Looking for: int

2012-10-26: wsfulton
            Fix director typemap searching so that a typemap specified with a name will be correctly matched. Previously
            the name was ignored during the typemap search. Applies to the following list of typemaps:
            directorout, csdirectorout, cstype, imtype, ctype, ddirectorout, dtype, gotype, jtype, jni, javadirectorout.

2012-10-11: wsfulton
            Most of the special variables available for use in %exception are now also available for expansion in
            %extend blocks. These are: $name $symname $overname $decl $fulldecl $parentname $parentsymname, see docs
            on "Class extension" in SWIGPlus.html. Patch based on submission from Kris Thielemans.

2012-10-10: wsfulton
            Additional new special variables in %exception are expanded as follows:
              $parentname - The parent class name (if any) for a method.
              $parentsymname - The target language parent class name (if any) for a method.

2012-10-08: iant
	    [Go] Generating Go code now requires using the -intgosize option to
	    indicate the size of the 'int' type in Go.  This is because the
	    size of the type is changing from Go 1.0 to Go 1.1 for x86_64.

2012-09-14: wsfulton
	    Add new warning if the empty template instantiation is used as a base class, for example:

              template <typename T> class Base {};
              %template() Base<int>;
              class Derived : public Base<int> {};

            gives the following warning instead of silently ignoring the base:

            cpp_inherit.i:52: Warning 401: Base class 'Base< int >' has no name as it is an empty template instantiated with '%template()'. Ignored.
            cpp_inherit.i:51: Warning 401: The %template directive must be written before 'Base< int >' is used as a base class and be declared with a name.


2012-09-11: wsfulton
	    [Java] Fix #3535304 - Direct use of a weak global reference in directors
            sometimes causing seg faults especially on Android.

2012-09-06: wsfulton
	    [Java] Fix (char *STRING, size_t LENGTH) typemaps to accept NULL string.

2012-08-26: drjoe
	    [R] make ExternalReference slot ref to contain reference

2012-08-26: drjoe
	    [R] fix Examples/Makefile to use C in $(CC) rather than $(CXX)
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.
jperkin pushed a commit that referenced this issue Sep 16, 2013
## <a id="3-0-0">3.0.0</a>: 2013-08-31

This is a new major version up release!

This release removes many deprecated APIs and improves internal
APIs. We want to keep backward compatibility as much as possible but
some existing codes may be broken by gettext gem API change. If your
code breaks by gettext gem 3.0.0, please report your problem. We will
fix the problem and release a new version.

### Improvements

  * Removed deprecated APIs
    * `require "gettext/parser/erb"`.
       Use `require "gettext/tools/parser/erb"` instead.
    * `require "gettext/parser/glade"`.
      Use `require "gettext/tools/parser/glade"` instead.
    * `require "gettext/parser/ruby"`.
      Use `require "gettext/tools/parser/ruby"` instead.
    * `require "gettext/utils"`.
      Use `require "gettext/tools"` instead.
    * `GetText.msgmerge`. Use `GetText::Tools::MsgMerge.run` instead.
    * `GetText.create_mofiles`. Use `GetText::Tools::Task` instead.
    * `GetText::PoParser`. Use `GetText::POParser` instead.
    * `require "gettext/tools/poparser"`.
       Use `require "gettext/po_parser"` instead.
    * `require "gettext/runtime/mofile"`.
       Use `require "gettext/mo"` instead.
    * `GetText::MoFile`. Use `GetText::MO` instead.
    * `GetText::Task`. Use `GetText::Tools::Task` instead.
    * `GetText.set_locale_all`. Use `GetText.set_locale` instead.
    * `GetText.setlocale`. Use `GetText.set_locale` instead.
    * `GetText::Tools::MsgMerge::PoData`. Use `GetText::POEntry` instead.
  * Removed Ruby 1.8 support.
  * Supported Rake 10.1.0.
  * Stopped to remove `TRANSLATORS:` tag because GNU gettext doesn't
    remove it.
  * Stopped to use `TRANSLATORS:` as comment tag. It is GNU gettext
    compatible behavior.
  * rxgettext: Added `--add-comments[=TAG]` option that exists in
    xgettext. [GitHub #16] [Reported by Ladislav Slezák]
  * Supported escaping tab character as `\t`.

### Fixes

  * po: Added a missing new line for multiple extracted comments.
    [GitHub #17] [Patch by Ladislav Slezák]
  * Fixed a bug that encoding may not be set.
  * Fixed a bug that `\n` is escaped as `\\n`.
    [GitHub #18] [Debian #716916] [Reported by Ladislav Slezák]
    [Reported by Francesco Poli]

### Thanks

  * Ladislav Slezák
  * Francesco Poli

## <a id="2-3-9">2.3.9</a>: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue Dec 9, 2013
(added test target)

2011-03-31 John J Lee <[email protected]>
	* 0.2.5 release.
	* This is essentially a no-changes release to fix easy_install
	  breakage caused by a SourceForge issue
	* Sourceforge is returning invalid HTTP responses, make download
	  links point to PyPI instead
	* Include cookietest.cgi in source distribution
	* Note new IETF cookie standardisation effort

2010-10-28 John J Lee <[email protected]>
	* 0.2.4 release.
	* Fix IndexError on empty Content-type header value. (GH-18)
	* Fall back to another encoding if an unknown one is declared.
	  Fixes traceback on unknoqn encoding in Content-type header.
	  (GH-30)

2010-10-16 John J Lee <[email protected]>
	* 0.2.3 release.
	* Fix str(ParseError()) traceback. (GH-25)
	* Add equality methods to mechanize.Cookie . (GH-29)

2010-07-17 John J Lee <[email protected]>
	* 0.2.2 release.
	* Officially support Python 2.7 (no changes were required)
	* Fix TypeError on .open()ing ftp: URL (only affects Python 2.4
	  and 2.5)
	* Don't include HTTPSHandler in __all__ if it's not available

2010-05-16 John J Lee <[email protected]>
	* 0.2.1 release.
	* API change: Change argument order of
	  HTTPRedirectHandler.redirect_request() to match urllib2.
	* Fix failure to use bundled BeautifulSoup for forms. (GH-15)
	* Fix default cookie path where request path has query containing
	  / character. (http://bugs.python.org/issue3704)
	* Fix failure to raise on click for nonexistent label. (GH-16)
	* Documentation fixes.

2010-04-22 John J Lee <[email protected]>
	* 0.2.0 release.
	* Behaviour change: merged upstream urllib2 change (allegedly a
	  "bug fix") to return a response for all 2** HTTP responses (e.g.
	  206 Partial Content).  Previously, only 200 caused a response
	  object to be returned.  All other HTTP response codes resulted
	  in a response object being raised as an exception.
	* Behaviour change: Use of mechanize classes with `urllib2` (and
	  vice-versa) is no longer supported.  However, existing classes
	  implementing the urllib2 Handler interface are likely to work
	  unchanged with mechanize.  Removed RequestUpgradeProcessor,
	  ResponseUpgradeProcessor, SeekableProcessor.
	* ClientForm has been merged into mechanize.  This means that
	  mechanize has no dependencies other than Python itself.  The
	  ClientForm API is still available -- to switch from ClientForm to
	  mechanize, just s/ClientForm/mechanize in your source code, and
	  ensure any use of the module logging logger named "ClientForm" is
	  updated to use the new logger name "mechanize.forms".  I probably
	  won't do further standalone releases of ClientForm.
	* Stop monkey-patching Python stdlib.
	* Merge fixes from urllib2 trunk
	* Close file objects on .read() failure in .retrieve()
	* Fix a python 2.4 bug due to buggy urllib.splithost
	* Fix Python 2.4 syntax error in _firefox3cookiejar
	* Fix __init__.py typo that hid mechanize.seek_wrapped_response and
	  mechanize.str2time.  Fixes
	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=465206
	* Fix an obvious bug with experimental firefox 3 cookiejar support.
	  It's still experimental and not properly tested.
	* Change documentation to not require a .port attribute on request
	  objects, since that's unused.
	* Doc fixes
	* Added mechanize.urljoin (RFC 3986 compliant function for joining
	  a base URI with a URI reference)
	* Merge of ClientForm (see above).
	* Moved to git (from SVN) http://github.com/jjlee/mechanize
	* Created an issue tracker http://github.com/jjlee/mechanize/issues
	* Docs are now in markdown format (thanks John Gabriele).
	* Website rearranged.  The old website has been archived at
	  http://wwwsearch.sourceforge.net/old/ .  The new website is
	  essentially just the mechanize pages, rearranged and cleaned up a
	  bit.
	* Source code rearranged for easier merging with upstream urllib2
	* Fully automated release process.
	* New test runner.  Single test suite; tests create their own HTTP
	  server fixtures (server fixtures are cached where possible for
	  speed).
jperkin pushed a commit that referenced this issue Dec 9, 2013
pkgsrc: Not switched to cmake, no libaudiofile dependency.

1.1.5:

  * Autotools build resulted in the wrong version number for libfluidsynth.so (reported by plcl, Takashi Iwai)
  * One symbol was dropped from libfluidsynth.so - this symbol was not part of the public API though. (reported by Alessio Treglia)
  * Windows 64 bit: Wrong prototype declaration for MIDI (reported by Graham Goode)
  * JACK: Using jack_free instead of free when needed. Note that this might require a later version of JACK than previously. (reported
    by Graham Goode)
  * Update Free Software Foundation address (reported by ogetbilo)

1.1.4:

  * Several improvements and fixes to the CMake build system, especially for Mac OS X
  * Several bug fixes to the engine, notably quite a few which could cause FluidSynth to sound bad in some cases.
  * API additions, that make it possible to
       * load MIDI files from memory
       * to inspect/modify MIDI events as they are being played from a MIDI file
       * to change channels between melodic and drum mode
       * and to silence all notes in one command.
  * Improvements to the CoreAudio driver

1.1.3:

* Compilation with LADSPA enabled was broken in 1.1.2 - fixed (plcl, diwic)
* Multichannel output broken when double precision was used - fixed (plcl, diwic)
* Doxygen settings (plcl)
* Mac OS X build system fixes (plcl, Benjamin Reed, Jean-Franc,ois Mertens)
* Fix build problem with scummvm (Alexander Hansen, Ebrahim Mayat)
* Optimize by not starting unused threads with multicore rendering (diwic)
* Window handle creation/destruction in Windows dll version (Andy Fillebrown)
* Race condition in alsa_seq / alsa_raw drivers caused them not to quit (diwic)

1.1.2:

Big changes:

  * New CMake build system [plcl]
       * Winbuild and Macbuild directories dropped
       * Autotools build system is deprecated, but is still working
  * Rewriting of thread safety [diwic]
       * Two new settings control the thread safety mode. The default is to be backwards compatible.

Smaller changes:

  * Voice overflow settings [diwic]
  * Possible to update polyphony, up to 65536 (and beyond initial setting) [diwic]
  * Possible to update sample rate (jack driver updates sample rate correctly) [diwic]
  * MIDI Bank Select handling fixed [plcl]
  * Source files moved into different subdirectories [diwic]
  * Can use RealTimeKit (on Linux) to get real-time priority [diwic]
  * Shell commands for pitch bend and pitch bend range [monk]
  * PulseAudio driver: specify media role, and allow pulseaudio to adjust latency [diwic]
  * Bug fixes [diwic, plcl, KO Myung hun, Felix Krause, laurent, nshepperd]

1.1.1:
Bug fixes

     * Recommit fix for voice stealing algorithm (David Henningsson)
     * Update deltatime on midi file load, ticket #59 (David Henningsson and Josh Green, reported by Hans Petter Selasky)
     * Build fix on OS X 10.4 (David Fang and Ebrahim Mayat)
     * Fixed most asynchronous assignment/query regressions affecting QSynth (chorus, reverb, polyphony, MIDI CCs and presets) (Josh Green,
       reports and testing by Rui Nuno Capela)
     * Reverted queuing of chorus and reverb assignments which fixes real-time performance issues when changing values (Josh Green)
     * Fixed issue with audio thread changes affecting CoreAudio on OS X (Josh Green, reported by Ebrahim Mayat)
     * Improved SMP safety with CC MIDI controls, polyphony, modulators and synth gain (Josh Green)
     * Fixed crash bugs in fluid_timer functions (Josh Green)
     * Reverted char * -> const char * changes to function prototypes (Josh Green, reported by Rui Nuno Capela)
     * Fixed TCP server build issue where WITHOUT_SERVER was still being set on win32 (Josh Green)
     * Fixed crash when Jack driver was re-created (Josh Green)
     * Fixed unknown macro warning in FluidSynth man page (David Henningsson)

Misc

     * Return queue process is now a thread instead of a timer and more responsive (Josh Green)
     * Added missing dist files in doc/ (Josh Green)
     * Updated README-OSX (Ebrahim Mayat)

1.1.0:
Features and improvements

     * Extensive work on making FluidSynth more thread safe, resulting in better stability.
     * Audio file rendering for MIDI to audio file conversion, faster than realtime (#15).
     * Optional libsndfile support for file rendering in different audio file formats (wav, flac, ogg vorbis, etc) (#30).
     * Audio and MIDI are synchronized for MIDI file playback.
     * Server can be specified for Jack audio and MIDI drivers.
     * Jack audio and MIDI is now synchronized (when same Jack server used).
     * MIDI file playback is now timed correctly, even with large audio buffer sizes.
     * Fixed issue with missing percussion in MIDI files caused by very short notes, using synth.min-note-length setting (#1).
     * Improved support for MIDI tuning standard, including SYSEX support and realtime tuning activation.
     * Multi-core support for utilizing multiple CPUs for synthesis or increasing speed of file rendering.
     * Voices for a note-on event are started synchronously (#46).
     * TCP/IP shell server support for windows (#20).
     * Improved settings output (-o help) (alphabetically sorted and string options listed).
     * Audio driver (-a) and MIDI driver (-m) options now accept "help" and list available options (#41).
     * Added audio.realtime-prio and midi.realtime-prio for controlling realtime scheduling of some audio and MIDI drivers.
     * Default priority levels of audio and MIDI threads set to 60 and 50 respectively.
     * All yes/no string boolean settings converted to integer toggle settings (with backwards compatibility).
     * glib is now a required dependency.
     * Updated README-OSX
     * Added "voice_count" shell command for getting current number of active voices.

New command line options

     * -F, --fast-render=[file]
     * -T, --audio-file-type
     * -O, --audio-file-format
     * -E, --audio-file-endian

New or changed parameters

     * Audio file output settings: audio.file.endian, audio.file.format, audio.file.name, audio.file.type, audio.sample-format
     * Realtime scheduling settings: audio.realtime-prio, midi.realtime-prio
     * Jack settings: audio.jack.server and midi.jack.server
     * Other settings: player.reset-synth, player.timing-source, synth.cpu-cores (experimental), synth.min-note-length

Bug fixes and minor changes

     * Fixed enabling of high priority scheduling in many audio drivers.
     * Fixed bank selection logic
     * Build fixes for mingw and VC++ builds on Windows
     * Fix default values (after MIDI reset) to be more consistent with MIDI spec (#29).
     * Removed VintageDreamsWaves?-v2.sf2 since it wasn't under a free license.
     * Solaris build fix (#52)
     * Implemented fluid_player_set_loop (#33)
     * Fixed scaletune error (#26)
     * Fixed synth reset between songs (#31)
     * Fixed pitch bend error in Windows MIDI driver (#54)
     * Skip remaining track data in MIDI file after EOT (#53)
     * Bug fix in MIDI router where mutex was left locked with MIDI system reset message.
     * Help command now shows list of topics instead of General help.
     * Fixed non-blocking in alsa_raw, alsa_seq and OSS MIDI drivers.
     * Fixed segfault on config file load (#45).
jperkin pushed a commit that referenced this issue Dec 9, 2013
== 1.7.2 / 2012-04-03

Bug Fixes
- Fixed segmentation fault on exit [issue #30]
- Fixed syswrite warning when IO contains unflushed data in buffer [issue #31]
- Added "mingw" to the list of Windows host versions

== 1.7.1 / 2012-03-05

Bug Fixes
- Fixed deprecated use of Config::* [issue #29]

== 1.7.0 / 2012-02-18

Enhancements
- Move appender factories [issue #28]
- ActionMail compatible options in the email appender [issue #27]
- Add TLS support to the email appender [issue #25]
- Refactoring appender shutdown [issue #20]
Bug Fixes
- File locking fails on windows using JRuby [issue #22]

== 1.6.2 / 2012-01-05

Bug Fixes
- Fix typo in the Readme [issue #14]
- Fix spelling in a variety of places [issue #15]
- Solaris does not have Syslog#LOG_PERROR defined [issue #17]
- Fix failing tests for Ruby 1.9.3 [issue #18]
- Check for RUBY_ENGINE for Ruby 1.8.7 [issue #19]
- Whitespace and '# EOF' cleanup
- Support for Rubinious

== 1.6.1 / 2011-09-09

Bug Fixes
- Rails compatibility methods [issue #11]
- Blocked rolling file appender [issue #12]

== 1.6.0 / 2011-08-22

Enhancements
- Adding periodic flushing of buffered messages [issue #10]
- Accessor for a logger's appenders [issue #9]
- Better support for capturing log messages in RSpec version 1 & 2

== 1.5.2 / 2011-07-07

Bug Fixes
- Changing working directory breaks rolling file appenders [issue #8]

== 1.5.1 / 2011-06-03

Bug Fixes
- IO streams cannot be buffered when using syswrite
- JRuby does not allow shared locks on write only file descriptors
- Fixing tests for JRuby 1.6.X

== 1.5.0 / 2011-03-22

Minor Enhancements
- removed mutexes in favor of IO#syswrite
- no round tripping through the buffer array when auto_flushing is true
- added a Proxy object that will log all methods called on it
- colorization of log messages
jperkin pushed a commit that referenced this issue Dec 9, 2013
Changes in 1.0.6

* New option :break_lines for the HTML encoder (splits tokens at line
  breaks). [GH-15, thanks to Etienne Massip]
* Improved speed of :line_numbers => :inline option for the HTML encoder.
* Fixed wrong HTML file type. (was :page) [GH-16, thanks to Doug Hammond]
* The CSS Scanner now highlights tokens like url(...) as :function instead of
  :string. [GH-13, thanks to Joel Holdbrooks]
jperkin pushed a commit that referenced this issue Dec 9, 2013
Upstream changes:
-----------------

## ssh 1.7.14 (2012-05-07)

* #15: Implemented parameter substitution in SSHConfig, matching the
  implementation of `ssh_config(5)`. Thanks to Olle Lundberg for the patch.
* #24: Switch some internal type checking to use `isinstance` to help prevent
  problems with client libraries using subclasses of builtin types. Thanks to
  Alex Morega for the patch.
* [Fabric #562](fabric/fabric#562): Agent forwarding
  would error out (with `Authentication response too long`) or freeze, when more
  than one remote connection to the local agent was active at the same time.
  This has been fixed. Thanks to Steven McDonald for assisting in
  troubleshooting/patching, and to GitHub user `@lynxis` for providing the
  final version of the patch.
jperkin pushed a commit that referenced this issue Dec 9, 2013
v2.3.3 (2012-03-16) / Toni Gundogdu

Toni Gundogdu:
  - Do not prepend "http" URL if it is not found [13c5d89]
  - examples/cliverc: Use new category option [9b32fd2]
  - Fix a typo in manual [249c3d9]
  - Revise --help output [cf1f0dd]
  - Use -vq with quvi when supported (#15) [02b3f64]


2.3.2  Sat Oct 22 2011  Toni Gundogdu
Changes:
    - Revise README, README.packagers, INSTALL, manual, Makefile.PL
    - Add --user-agent to args used with autodetected curl command
    - Revise examples/cliverc, add --user-agent to curl example
    - Lower quvi prerequisite to 0.2.16.1
jperkin pushed a commit that referenced this issue Dec 9, 2013
[Changes]
- Merge pull request #13 from hiroshiyui to Fix wrong data type conversion
- Fixed: Google Issue 1079: Use shift key to switch to English mode in ibus-chewing
	Also list as GitHub pull request #17
- Fixed: Google Issue 1089: Ibus-chewing cause window flicker when compiz enabled
- Fixed: Google Issue 1329, Github Issue 3: Merge with buganini at gmail.com
- Fixed: Google Issue 1351: ibus-chewing 1.3.10 mistakenly send uncommitted charactor.
- Fixed: Google Issue 1374: ibus-chewing: cannot save the preference with gnomeshell
- Fixed: Google Issue 1427: ibus-chewing-1.3.10 is not compatible with ibus-1.4.0 and higher
        Also list as GitHub pull request #16
- Fixed: GitHub Issue 5: Word missing when with libchewing-0.3.3 and  ibus-chewing 1.3.10
	Also list as GitHub pull request #15
- Fixed: Launchpad bug: 1014456 bus-chewing deletes characters if too many of them are entered
	Also list as GitHub pull request #19
jperkin pushed a commit that referenced this issue Dec 9, 2013
Changes since 4.0:
- Dropped support for Python below 2.5 and PostgreSQL below 8.3.
- Added support for Python up to 2.7 and PostgreSQL up to 9.2.
- Particularly, support PQescapeLiteral() and PQescapeIdentifier().
- The query method of the classic API now supports positional parameters.
  This an effective way to pass arbitrary or unknown data without worrying
  about SQL injection or syntax errors (contribution by Patrick TJ McPhee).
- The classic API now supports a method namedresult() in addition to
  getresult() and dictresult(), which returns the rows of the result
  as named tuples if these are supported (Python 2.6 or higher).
- The classic API has got the new methods begin(), commit(), rollback(),
  savepoint() and release() for handling transactions.
- Both classic and DBAPI 2 connections can now be used as context
  managers for encapsulating transactions.
- The execute() and executemany() methods now return the cursor object,
  so you can now write statements like "for row in cursor.execute(...)"
  (as suggested by Adam Frederick).
- Binary objects are now automatically escaped and unescaped.
- Bug in money quoting fixed.  Amounts of $0.00 handled correctly.
- Proper handling of date and time objects as input.
- Proper handling of floats with 'nan' or 'inf' values as input.
- Fixed the set_decimal() function.
- All DatabaseError instances now have a sqlstate attribute.
- The getnotify() method can now also return payload strings (#15).
- Better support for notice processing with the new methods
  set_notice_receiver() and get_notice_receiver()
  (as suggested by Michael Filonenko, see #12 and #37).
- Open transactions are rolled back when pgdb connections are closed
  (as suggested by Peter Harris, see #46).
- Connections and cursors can now be used with the "with" statement
  (as suggested by Peter Harris, see #46).
- New method use_regtypes() that can be called to let getattnames()
  return regular type names instead of the simplified classic types (#44).
jperkin pushed a commit that referenced this issue Dec 9, 2013
## 2.3.9: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio

## 2.3.8: 2013-04-05

This is a msgmerge improved release.

### Improvements

  * Added licence information to the gemspec.
    [GitHub #13] [Patch by jordimassaguerpla]
  * Supported Ruby 2.0.0.
    [GitHub #14] [Reported by mtasaka]

### Fixes

  * [rxgettext] Fixed a bug that the comment for the previous message
    also exists in the current message.
    [Debian #684184] [Reported by Francesco Poli] [Patch by Jérémy Bobbio]

### Thanks

  * jordimassaguerpla
  * mtasaka
  * Francesco Poli
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue Dec 9, 2013
Upstream changes:
2.19      2013-05-13 10:02:15 Australia/Melbourne

        * BUGFIX: Loading a file that does not change packages while
          autodie in effect no longer causes weird behaviour when
          slurpy built-ins (like open() and unlink()) are called. GH #22
          Thanks to Niels Thykier.

        * TEST: Tests for leak guard failures for slurpy core functions.

2.18      2013-05-12 18:12:14 Australia/Melbourne

        * TEST: More testing in scope_leak.t.

        * TEST: More testing around packages in truncate.t.

        * SPEED / INTERNAL: Significant improvements in load time,
          especially when autodie is used across multiple files,
          by caching reuseable subroutines and reducing calls to eval "".
          Huge thanks to Niels Thykier, who is a hero of the
          free people, and completely and utterly awesome.
          (RT #46984)

        * DOCUMENTATION: Spelling and correction fixes,
          courtesy David Steinbrunner.

        * DEVEL: Faster and more robust testing with travis-ci.

        * DEVEL: Some simple benchmarks bundled in the benchmarks/ directory.

2.17      2013-04-29 01:03:50 Australia/Melbourne

        * DOCS: Spelling fixes thanks to dsteinbrunner! (RT #84897)

        * DOCS: Fixed github links to point to 'pjf' rather than
          'pfenwick' (GH #18, thanks to Lx!)

        * INTERNAL: Silence warnings about experimental smart-match on
          5.17.11+ (via Brian Fraser and p5p)

        * TEST / BUILD: Generate .travis.yml files for CI testing via
          dzil.

2.16      2013-02-23 01:49:16 Australia/Melbourne

        * BUGFIX: Fix breakages under 5.8.x related to the new
          autodie::skip feature.

        * BUILD / BUGFIX: Remove dependency on parent.pm.

2.15      2013-02-22 23:55:22 Australia/Melbourne

        * BUILD / BUGFIX: Correct meta-info that wanted at least Perl
          v5.8.40, rather than v5.8.4.  Giant thanks to Paul Howarth
          for spotting this!

2.14      2013-02-22 15:43:33 Australia/Melbourne

        * FEATURE: Classes which claim they ->DOES('autodie::skip') are now
          skipped when generating exceptions.  This is mainly of use to
          utility classes. See `perldoc autodie::skip` for more details.
          (GH Issue #15)

        * FEATURE / BUGFIX / INCOMPAT: 'chmod' is now in the ':filesys'
          category (was in ':file').

        * BUGFIX: Added support for 'chown' and 'utime', that was
          previously overlooked. Mad props to RsrchBoy for spotting this.
          These are all in the ':filesys' category.
          (GH Pull #13)

        * BUGFIX: Added support for 'kill'. This is part of the
          ':ipc' category.

        * BUGFIX: Fixed bug whereby chmod, chown, kill, unlink and
          utime would not throw an exception when they didn't
          change all their files or signal all their processes.

        * TEST: truncate.t is now skipped on systems that don't have a
          working File::Temp.

        * TEST: open.t has a few more tests for exotic modes.

        * TEST: chown() tests are skipped on Win32, as chown on Windows
          is a no-op. (Thanks to Mithaldu for spotting this!)

        * TEST: Author tests now look for the AUTHOR_TESTING env
          variable (for dzil compliance).

        * TEST: Better testing for chown, chmod, and unlink.

        * TEST: Better testing for utime.

        * TEST: kwalitee.t is now only run when $ENV{RELEASE_TESTING} is set.

        * BUGFIX: Removed executable bits from some bundled text files.

        * BUILD: We now use dzil to manage autodie.

        * BUILD: Only Perl 5.8.4 and above is supported by autodie.
          Please upgrade your Perl distro if you're using 5.8.3 or
          below.

2.13  Thu Nov  8 14:22:03 EST 2012
        * TEST: Deterministic tests in hints_pod_examples.t .
          (RT #80412, thanks to demerphq)

        * INTERNAL: subroutine installs are now done in a
          deterministic order. (RT #80414, thanks to demerphq)
jperkin pushed a commit that referenced this issue Dec 9, 2013
Jason Bacon.  Should make gnuradio find swig2.

Version 2.0.10 (27 May 2013)
============================

2013-05-25: wsfulton
            [Python] Fix Python 3 inconsistency when negative numbers are passed
            where a parameter expects an unsigned C type. An OverFlow error is
            now consistently thrown instead of a TypeError.

2013-05-25: Artem Serebriyskiy
            SVN Patch ticket #338 - fixes to %attribute macros for template usage
            with %arg.

2013-05-19: wsfulton
            Fix ccache-swig internal error bug due to premature file cleanup.

            Fixes SF bug 1319 which shows up as a failure in the ccache tests on
            Debian 64 bit Wheezy, possibly because ENABLE_ZLIB is defined.

            This is a corner case which will be hit when the maximum number of files
            in the cache is set to be quite low (-F option), resulting in a cache miss.

2013-05-09: kwwette
            [Octave] Fix bugs in Octave module loading:
            - fix a memory leak in setting of global variables
            - install functions only once, to speed up module loads

2013-04-28: gjanssens
            [Guile] Updates in guile module:
            - Add support for guile 2.0
            - Drop support for guile 1.6
            - Drop support for generating wrappers using guile's gh interface.
              All generated wrappers will use the scm interface from now on.
            - Deprecate -gh and -scm options. They are no longer needed.
              A warning will be issued when these options are still used.
            - Fix all tests and examples to have a successful travis test

2013-04-18: wsfulton
            Apply Patch #36 from Jesus Lopez to add support for $descriptor() special variable macro expansion
            in fragments. For example:

              %fragment("nameDescriptor", "header")
              %{
                static const char *nameDescriptor = "$descriptor(Name)";
              %}

            which will generate into the wrapper if the fragment is used:

              static const char *nameDescriptor = "SWIGTYPE_Name";

2013-04-18: wsfulton
            Fix SF Bug #428 - Syntax error when preprocessor macros are defined inside of enum lists, such as:

              typedef enum {
                eZero = 0
              #define ONE 1
              } EFoo;

            The macros are silently ignored.

2013-04-17: wsfulton
            [C#] Pull patch #34 from BrantKyser to fix smart pointers in conjuction with directors.

2013-04-15: kwwette
            [Octave] Fix bugs in output of cleanup code.
            - Cleanup code is now written also after the "fail:" label, so it will be called if
              a SWIG_exception is raised by the wrapping function, consistent with other modules.
            - Octave module now also recognises the "$cleanup" special variable, if needed.

2013-04-08: kwwette
            Add -MP option to SWIG for generating phony targets for all dependencies.
            - Prevents make from complaining if header files have been deleted before
              the dependency file has been updated.
            - Modelled on similar option in GCC.

2013-04-09: olly
	    [PHP] Add missing directorin typemap for char* and char[] which
	    fixes director_string testcase failure.

2013-04-05: wsfulton
            [Ruby] SF Bug #1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL
            wrappers that override the default predicate, such as:

              %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >;

2013-04-05: wsfulton
            [Ruby] SF Bug #1159 - Correctly check rb_respond_to call return values to fix some
            further 1.9 problems with functors and use of Complex wrappers.

2013-04-02: wsfulton
            [Ruby] Runtime fixes for std::complex wrappers for ruby-1.9 - new native Ruby complex numbers are used.

2013-03-30: wsfulton
            [Ruby] Fix seg fault when using STL containers of generic Ruby types, GC_VALUE or LANGUAGE_OBJECT,
            on exit of the Ruby interpreter. More frequently observed in ruby-1.9.

2013-03-29: wsfulton
            [Ruby] Fix delete_if (reject!) for the STL container wrappers which previously would
            sometimes seg fault or not work.

2013-03-25: wsfulton
            [Python] Fix some undefined behaviour deleting slices in the STL containers.

2013-03-19: wsfulton
            [C#, Java, D] Fix seg fault in SWIG using directors when class and virtual method names are
            the same except being in different namespaces when the %nspace feature is not being used.

2013-02-19: kwwette
            Fix bug in SWIG's handling of qualified (e.g. const) variables of array type. Given the typedef
              a(7).q(volatile).double myarray     // typedef volatile double[7] myarray;
            the type
              q(const).myarray                    // const myarray
            becomes
              a(7).q(const volatile).double       // const volatile double[7]
            Previously, SwigType_typedef_resolve() produces the type
              q(const).a(7).q(volatile).double    // non-sensical type
            which would never match %typemap declarations, whose types were parsed correctly.
            Add typemap_array_qualifiers.i to the test suite which checks for the correct behaviour.

2013-02-18: wsfulton
            Deprecate typedef names used as constructor and destructor names in %extend. The real
            class/struct name should be used.

              typedef struct tagEStruct {
                int ivar;
              } EStruct;

              %extend tagEStruct {
                EStruct() // illegal name, should be tagEStruct()
                {
                  EStruct *s = new EStruct();
                  s->ivar = ivar0;
                  return s;
                }
                ~EStruct() // illegal name, should be ~tagEStruct()
                {
                  delete $self;
                }
              }

            For now these trigger a warning:

              extend_constructor_destructor.i:107: Warning 522: Use of an illegal constructor name 'EStruct' in
              %extend is deprecated, the constructor name should be 'tagEStruct'.
              extend_constructor_destructor.i:111: Warning 523: Use of an illegal destructor name 'EStruct' in
              %extend is deprecated, the destructor name should be 'tagEStruct'.

            These %extend destructor and constructor names were valid up to swig-2.0.4, however swig-2.0.5 ignored
            them altogether for C code as reported in SF bug #1306. The old behaviour of using them has been
            restored for now, but is officially deprecated. This does not apply to anonymously defined typedef
            classes/structs such as:

              typedef struct {...} X;

2013-02-17: kwwette
            When generating functions provided by %extend, use "(void)" for no-argument functions
            instead of "()". This prevents warnings when compiling with "gcc -Wstrict-prototypes".

2013-02-17: kwwette
            [Octave] Minor fix to autodoc generation: get the right type for functions returning structs.

2013-02-15: wsfulton
            Deprecate typedef names used in %extend that are not the real class/struct name. For example:

              typedef struct StructBName {
                int myint;
              } StructB;

              %extend StructB {
                void method() {}
              }

            will now trigger a warning:

              swig_extend.i:19: Warning 326: Deprecated %extend name used - the struct name StructBName
              should be used instead of the typedef name StructB.

            This is only partially working anyway (the %extend only worked if placed after the class
            definition).

2013-02-09: wsfulton
            [CFFI] Apply patch #22 - Fix missing package before &body

2013-01-29: wsfulton
            [Java] Ensure 'javapackage' typemap is used as it stopped working from version 2.0.5.

2013-01-28: wsfulton
            [Python] Apply patch SF #334 - Fix default value conversions "TRUE"->True, "FALSE"->False.

2013-01-28: wsfulton
            [Java] Apply patch SF #335 - Truly ignore constructors in directors with %ignore.

2013-01-18: Brant Kyser
            [Java] Patch #15 - Allow the use of the nspace feature without the -package commandline option.
            This works as long and the new jniclasspackage pragma is used to place the JNI intermediate class
            into a package and the nspace feature is used to place all exposed types into a package.

2013-01-15: wsfulton
            Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces.

2013-01-15: wsfulton
            [C#] Fix cstype typemap lookup for member variables so that a fully qualified variable name
            matches. For example:
              %typemap(cstype) bool MVar::mvar "MyBool"
              struct MVar {
                bool mvar;
              };

2013-01-11: Brant Kyser
	    [Java, C#, D] SF Bug #1299 - Fix generated names for when %nspace is used on
            classes with the same name in two different namespaces.

2013-01-11: Vladimir Kalinin
	    [C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes.

2013-01-08: olly
	    [PHP] Fix to work with a ZTS build of PHP (broken in 2.0.7).

2013-01-07: olly
	    Fix bashism in configure, introduced in 2.0.9.

2013-01-06: wsfulton
            Pull patch #4 from ptomulik to fix SF Bug #1296 - Fix incorrect warning for virtual destructors
            in templates, such as:
             Warning 521: Illegal destructor name B< A >::~B(). Ignored.

2013-01-05: wsfulton
            [Python] Pull patch #3 from ptomulik to fix SF Bug #1295 - standard exceptions as
            classes using the SWIG_STD_EXCEPTIONS_AS_CLASSES macro.

2013-01-04: wsfulton
            [Java] Pull patch #2 from BrantKyser to fix SF Bug #1283 - fix smart pointers in conjuction
            with directors.

2013-01-03: wsfulton
            [Java] Pull patch #1 from BrantKyser to fix SF Bug #1278 - fix directors and nspace feature when
            multilevel namespaces are used.

Version 2.0.9 (16 December 2012)
================================

2012-12-16: wsfulton
            Fix garbage line number / empty file name reporting for some missing
            '}' or ')' error messages.

2012-12-15: kkaempf
            [Ruby] Apply patch 3530444, Class#methods and Class#constants returns array of
            symbols in Ruby 1.9+

2012-12-14: kkaempf
            [Ruby] Apply patch 3530439 and finally replace all occurrences of the STR2CSTR() macro
            with StringValuePtr(). STR2CSTR was deprecated since years and got removed in Ruby 1.9

2012-12-14: kkaempf
            [Ruby] Applied patches #3530442 and 3530443 to adapt compile and runtime include
            paths to match Ruby 1.9+

2012-12-14: wsfulton
            [CFFI] Fix #3161614 - Some string constants are incorrect

2012-12-13: wsfulton
            [CFFI] Fix #3529690 - Fix incorrect constant names.

2012-12-12: drjoe
	    [R] add fix to finalizer that was missed earlier

2012-12-11: wsfulton
            [Python] Apply patch #3590522 - fully qualified package paths for Python 3 even if a module is in the
            same package.

2012-12-08: wsfulton
            [Python] Bug #3563647 - PyInt_FromSize_t unavailable prior to Python 2.5 for unsigned int types.

2012-12-08: wsfulton
            [Perl] Fix bug #3571361 - C++ comment in C wrappers.

2012-12-07: wsfulton
            [C#] Apply patch #3571029 which adds missing director support for const unsigned long long &.

2012-11-28: kwwette
            [Octave] Simplified module loading: now just the syntax
            $ example;
            is accepted, which loads functions globally but constants and variables relative to the current scope.
            This make module loading behaviour reliably consistent, and reduces problems when loading modules which
            depend on other modules which may not have been previously loaded.

2012-11-27: wsfulton
            [cffi] Fix junk output when wrapping single character literal constants.

2012-11-17: wsfulton
            [Tcl, Modula3] Add missing support for -outdir.

2012-11-17: wsfulton
            Fix segfaults when using filename paths greater than 1024 characters in length.

2012-11-14: wsfulton
            [ccache-swig] Apply patch #3586392 from Frederik Deweerdt to fix some error cases - incorrectly using
            memory after it has been deleted.

2012-11-09: vzeitlin
            [Python] Fix overflow when passing values greater than LONG_MAX from Python 3 for parameters with unsigned long C type.

2012-11-09: wsfulton
            Fix some feature matching issues for implicit destructors and implicit constructors and implicit
            copy constructors added with %copyctor. Previously a feature for these had to be fully qualified
            in order to match. Now the following will also match:

              %feature("xyz") ~XXX();
              struct XXX {};

2012-11-09: wsfulton
            Further consistency in named output typemap lookups for implicit constructors and destructors and
            implicit copy constructors added with %copyctor. Previously only the fully qualified name was being
            used, now the unqualified name will also be used. For example, previously:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void

            Now the unqualified name is also used:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void ~More
                Looking for: void

2012-11-02: wsfulton
            Fix some subtle named output typemap lookup misses, the fully qualified name was not always being
            used for variables, for example:

              struct Glob {
                int MyVar;
              };

            Previously the search rules (as shown by -debug-tmsearch) for the getter wrapper were:

              example.i:44: Searching for a suitable 'out' typemap for: int MyVar
                Looking for: int MyVar
                Looking for: int

            Now the scope is named correctly:

              example.i:44: Searching for a suitable 'out' typemap for: int Glob::MyVar
                Looking for: int Glob::MyVar
                Looking for: int MyVar
                Looking for: int

2012-10-26: wsfulton
            Fix director typemap searching so that a typemap specified with a name will be correctly matched. Previously
            the name was ignored during the typemap search. Applies to the following list of typemaps:
            directorout, csdirectorout, cstype, imtype, ctype, ddirectorout, dtype, gotype, jtype, jni, javadirectorout.

2012-10-11: wsfulton
            Most of the special variables available for use in %exception are now also available for expansion in
            %extend blocks. These are: $name $symname $overname $decl $fulldecl $parentname $parentsymname, see docs
            on "Class extension" in SWIGPlus.html. Patch based on submission from Kris Thielemans.

2012-10-10: wsfulton
            Additional new special variables in %exception are expanded as follows:
              $parentname - The parent class name (if any) for a method.
              $parentsymname - The target language parent class name (if any) for a method.

2012-10-08: iant
	    [Go] Generating Go code now requires using the -intgosize option to
	    indicate the size of the 'int' type in Go.  This is because the
	    size of the type is changing from Go 1.0 to Go 1.1 for x86_64.

2012-09-14: wsfulton
	    Add new warning if the empty template instantiation is used as a base class, for example:

              template <typename T> class Base {};
              %template() Base<int>;
              class Derived : public Base<int> {};

            gives the following warning instead of silently ignoring the base:

            cpp_inherit.i:52: Warning 401: Base class 'Base< int >' has no name as it is an empty template instantiated with '%template()'. Ignored.
            cpp_inherit.i:51: Warning 401: The %template directive must be written before 'Base< int >' is used as a base class and be declared with a name.


2012-09-11: wsfulton
	    [Java] Fix #3535304 - Direct use of a weak global reference in directors
            sometimes causing seg faults especially on Android.

2012-09-06: wsfulton
	    [Java] Fix (char *STRING, size_t LENGTH) typemaps to accept NULL string.

2012-08-26: drjoe
	    [R] make ExternalReference slot ref to contain reference

2012-08-26: drjoe
	    [R] fix Examples/Makefile to use C in $(CC) rather than $(CXX)
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
## <a id="3-0-0">3.0.0</a>: 2013-08-31

This is a new major version up release!

This release removes many deprecated APIs and improves internal
APIs. We want to keep backward compatibility as much as possible but
some existing codes may be broken by gettext gem API change. If your
code breaks by gettext gem 3.0.0, please report your problem. We will
fix the problem and release a new version.

### Improvements

  * Removed deprecated APIs
    * `require "gettext/parser/erb"`.
       Use `require "gettext/tools/parser/erb"` instead.
    * `require "gettext/parser/glade"`.
      Use `require "gettext/tools/parser/glade"` instead.
    * `require "gettext/parser/ruby"`.
      Use `require "gettext/tools/parser/ruby"` instead.
    * `require "gettext/utils"`.
      Use `require "gettext/tools"` instead.
    * `GetText.msgmerge`. Use `GetText::Tools::MsgMerge.run` instead.
    * `GetText.create_mofiles`. Use `GetText::Tools::Task` instead.
    * `GetText::PoParser`. Use `GetText::POParser` instead.
    * `require "gettext/tools/poparser"`.
       Use `require "gettext/po_parser"` instead.
    * `require "gettext/runtime/mofile"`.
       Use `require "gettext/mo"` instead.
    * `GetText::MoFile`. Use `GetText::MO` instead.
    * `GetText::Task`. Use `GetText::Tools::Task` instead.
    * `GetText.set_locale_all`. Use `GetText.set_locale` instead.
    * `GetText.setlocale`. Use `GetText.set_locale` instead.
    * `GetText::Tools::MsgMerge::PoData`. Use `GetText::POEntry` instead.
  * Removed Ruby 1.8 support.
  * Supported Rake 10.1.0.
  * Stopped to remove `TRANSLATORS:` tag because GNU gettext doesn't
    remove it.
  * Stopped to use `TRANSLATORS:` as comment tag. It is GNU gettext
    compatible behavior.
  * rxgettext: Added `--add-comments[=TAG]` option that exists in
    xgettext. [GitHub #16] [Reported by Ladislav Slezák]
  * Supported escaping tab character as `\t`.

### Fixes

  * po: Added a missing new line for multiple extracted comments.
    [GitHub #17] [Patch by Ladislav Slezák]
  * Fixed a bug that encoding may not be set.
  * Fixed a bug that `\n` is escaped as `\\n`.
    [GitHub #18] [Debian #716916] [Reported by Ladislav Slezák]
    [Reported by Francesco Poli]

### Thanks

  * Ladislav Slezák
  * Francesco Poli

## <a id="2-3-9">2.3.9</a>: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue Jan 21, 2014
Upstream changes:
2.19      2013-05-13 10:02:15 Australia/Melbourne

        * BUGFIX: Loading a file that does not change packages while
          autodie in effect no longer causes weird behaviour when
          slurpy built-ins (like open() and unlink()) are called. GH #22
          Thanks to Niels Thykier.

        * TEST: Tests for leak guard failures for slurpy core functions.

2.18      2013-05-12 18:12:14 Australia/Melbourne

        * TEST: More testing in scope_leak.t.

        * TEST: More testing around packages in truncate.t.

        * SPEED / INTERNAL: Significant improvements in load time,
          especially when autodie is used across multiple files,
          by caching reuseable subroutines and reducing calls to eval "".
          Huge thanks to Niels Thykier, who is a hero of the
          free people, and completely and utterly awesome.
          (RT #46984)

        * DOCUMENTATION: Spelling and correction fixes,
          courtesy David Steinbrunner.

        * DEVEL: Faster and more robust testing with travis-ci.

        * DEVEL: Some simple benchmarks bundled in the benchmarks/ directory.

2.17      2013-04-29 01:03:50 Australia/Melbourne

        * DOCS: Spelling fixes thanks to dsteinbrunner! (RT #84897)

        * DOCS: Fixed github links to point to 'pjf' rather than
          'pfenwick' (GH #18, thanks to Lx!)

        * INTERNAL: Silence warnings about experimental smart-match on
          5.17.11+ (via Brian Fraser and p5p)

        * TEST / BUILD: Generate .travis.yml files for CI testing via
          dzil.

2.16      2013-02-23 01:49:16 Australia/Melbourne

        * BUGFIX: Fix breakages under 5.8.x related to the new
          autodie::skip feature.

        * BUILD / BUGFIX: Remove dependency on parent.pm.

2.15      2013-02-22 23:55:22 Australia/Melbourne

        * BUILD / BUGFIX: Correct meta-info that wanted at least Perl
          v5.8.40, rather than v5.8.4.  Giant thanks to Paul Howarth
          for spotting this!

2.14      2013-02-22 15:43:33 Australia/Melbourne

        * FEATURE: Classes which claim they ->DOES('autodie::skip') are now
          skipped when generating exceptions.  This is mainly of use to
          utility classes. See `perldoc autodie::skip` for more details.
          (GH Issue #15)

        * FEATURE / BUGFIX / INCOMPAT: 'chmod' is now in the ':filesys'
          category (was in ':file').

        * BUGFIX: Added support for 'chown' and 'utime', that was
          previously overlooked. Mad props to RsrchBoy for spotting this.
          These are all in the ':filesys' category.
          (GH Pull #13)

        * BUGFIX: Added support for 'kill'. This is part of the
          ':ipc' category.

        * BUGFIX: Fixed bug whereby chmod, chown, kill, unlink and
          utime would not throw an exception when they didn't
          change all their files or signal all their processes.

        * TEST: truncate.t is now skipped on systems that don't have a
          working File::Temp.

        * TEST: open.t has a few more tests for exotic modes.

        * TEST: chown() tests are skipped on Win32, as chown on Windows
          is a no-op. (Thanks to Mithaldu for spotting this!)

        * TEST: Author tests now look for the AUTHOR_TESTING env
          variable (for dzil compliance).

        * TEST: Better testing for chown, chmod, and unlink.

        * TEST: Better testing for utime.

        * TEST: kwalitee.t is now only run when $ENV{RELEASE_TESTING} is set.

        * BUGFIX: Removed executable bits from some bundled text files.

        * BUILD: We now use dzil to manage autodie.

        * BUILD: Only Perl 5.8.4 and above is supported by autodie.
          Please upgrade your Perl distro if you're using 5.8.3 or
          below.

2.13  Thu Nov  8 14:22:03 EST 2012
        * TEST: Deterministic tests in hints_pod_examples.t .
          (RT #80412, thanks to demerphq)

        * INTERNAL: subroutine installs are now done in a
          deterministic order. (RT #80414, thanks to demerphq)
jperkin pushed a commit that referenced this issue Jan 21, 2014
Jason Bacon.  Should make gnuradio find swig2.

Version 2.0.10 (27 May 2013)
============================

2013-05-25: wsfulton
            [Python] Fix Python 3 inconsistency when negative numbers are passed
            where a parameter expects an unsigned C type. An OverFlow error is
            now consistently thrown instead of a TypeError.

2013-05-25: Artem Serebriyskiy
            SVN Patch ticket #338 - fixes to %attribute macros for template usage
            with %arg.

2013-05-19: wsfulton
            Fix ccache-swig internal error bug due to premature file cleanup.

            Fixes SF bug 1319 which shows up as a failure in the ccache tests on
            Debian 64 bit Wheezy, possibly because ENABLE_ZLIB is defined.

            This is a corner case which will be hit when the maximum number of files
            in the cache is set to be quite low (-F option), resulting in a cache miss.

2013-05-09: kwwette
            [Octave] Fix bugs in Octave module loading:
            - fix a memory leak in setting of global variables
            - install functions only once, to speed up module loads

2013-04-28: gjanssens
            [Guile] Updates in guile module:
            - Add support for guile 2.0
            - Drop support for guile 1.6
            - Drop support for generating wrappers using guile's gh interface.
              All generated wrappers will use the scm interface from now on.
            - Deprecate -gh and -scm options. They are no longer needed.
              A warning will be issued when these options are still used.
            - Fix all tests and examples to have a successful travis test

2013-04-18: wsfulton
            Apply Patch #36 from Jesus Lopez to add support for $descriptor() special variable macro expansion
            in fragments. For example:

              %fragment("nameDescriptor", "header")
              %{
                static const char *nameDescriptor = "$descriptor(Name)";
              %}

            which will generate into the wrapper if the fragment is used:

              static const char *nameDescriptor = "SWIGTYPE_Name";

2013-04-18: wsfulton
            Fix SF Bug #428 - Syntax error when preprocessor macros are defined inside of enum lists, such as:

              typedef enum {
                eZero = 0
              #define ONE 1
              } EFoo;

            The macros are silently ignored.

2013-04-17: wsfulton
            [C#] Pull patch #34 from BrantKyser to fix smart pointers in conjuction with directors.

2013-04-15: kwwette
            [Octave] Fix bugs in output of cleanup code.
            - Cleanup code is now written also after the "fail:" label, so it will be called if
              a SWIG_exception is raised by the wrapping function, consistent with other modules.
            - Octave module now also recognises the "$cleanup" special variable, if needed.

2013-04-08: kwwette
            Add -MP option to SWIG for generating phony targets for all dependencies.
            - Prevents make from complaining if header files have been deleted before
              the dependency file has been updated.
            - Modelled on similar option in GCC.

2013-04-09: olly
	    [PHP] Add missing directorin typemap for char* and char[] which
	    fixes director_string testcase failure.

2013-04-05: wsfulton
            [Ruby] SF Bug #1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL
            wrappers that override the default predicate, such as:

              %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >;

2013-04-05: wsfulton
            [Ruby] SF Bug #1159 - Correctly check rb_respond_to call return values to fix some
            further 1.9 problems with functors and use of Complex wrappers.

2013-04-02: wsfulton
            [Ruby] Runtime fixes for std::complex wrappers for ruby-1.9 - new native Ruby complex numbers are used.

2013-03-30: wsfulton
            [Ruby] Fix seg fault when using STL containers of generic Ruby types, GC_VALUE or LANGUAGE_OBJECT,
            on exit of the Ruby interpreter. More frequently observed in ruby-1.9.

2013-03-29: wsfulton
            [Ruby] Fix delete_if (reject!) for the STL container wrappers which previously would
            sometimes seg fault or not work.

2013-03-25: wsfulton
            [Python] Fix some undefined behaviour deleting slices in the STL containers.

2013-03-19: wsfulton
            [C#, Java, D] Fix seg fault in SWIG using directors when class and virtual method names are
            the same except being in different namespaces when the %nspace feature is not being used.

2013-02-19: kwwette
            Fix bug in SWIG's handling of qualified (e.g. const) variables of array type. Given the typedef
              a(7).q(volatile).double myarray     // typedef volatile double[7] myarray;
            the type
              q(const).myarray                    // const myarray
            becomes
              a(7).q(const volatile).double       // const volatile double[7]
            Previously, SwigType_typedef_resolve() produces the type
              q(const).a(7).q(volatile).double    // non-sensical type
            which would never match %typemap declarations, whose types were parsed correctly.
            Add typemap_array_qualifiers.i to the test suite which checks for the correct behaviour.

2013-02-18: wsfulton
            Deprecate typedef names used as constructor and destructor names in %extend. The real
            class/struct name should be used.

              typedef struct tagEStruct {
                int ivar;
              } EStruct;

              %extend tagEStruct {
                EStruct() // illegal name, should be tagEStruct()
                {
                  EStruct *s = new EStruct();
                  s->ivar = ivar0;
                  return s;
                }
                ~EStruct() // illegal name, should be ~tagEStruct()
                {
                  delete $self;
                }
              }

            For now these trigger a warning:

              extend_constructor_destructor.i:107: Warning 522: Use of an illegal constructor name 'EStruct' in
              %extend is deprecated, the constructor name should be 'tagEStruct'.
              extend_constructor_destructor.i:111: Warning 523: Use of an illegal destructor name 'EStruct' in
              %extend is deprecated, the destructor name should be 'tagEStruct'.

            These %extend destructor and constructor names were valid up to swig-2.0.4, however swig-2.0.5 ignored
            them altogether for C code as reported in SF bug #1306. The old behaviour of using them has been
            restored for now, but is officially deprecated. This does not apply to anonymously defined typedef
            classes/structs such as:

              typedef struct {...} X;

2013-02-17: kwwette
            When generating functions provided by %extend, use "(void)" for no-argument functions
            instead of "()". This prevents warnings when compiling with "gcc -Wstrict-prototypes".

2013-02-17: kwwette
            [Octave] Minor fix to autodoc generation: get the right type for functions returning structs.

2013-02-15: wsfulton
            Deprecate typedef names used in %extend that are not the real class/struct name. For example:

              typedef struct StructBName {
                int myint;
              } StructB;

              %extend StructB {
                void method() {}
              }

            will now trigger a warning:

              swig_extend.i:19: Warning 326: Deprecated %extend name used - the struct name StructBName
              should be used instead of the typedef name StructB.

            This is only partially working anyway (the %extend only worked if placed after the class
            definition).

2013-02-09: wsfulton
            [CFFI] Apply patch #22 - Fix missing package before &body

2013-01-29: wsfulton
            [Java] Ensure 'javapackage' typemap is used as it stopped working from version 2.0.5.

2013-01-28: wsfulton
            [Python] Apply patch SF #334 - Fix default value conversions "TRUE"->True, "FALSE"->False.

2013-01-28: wsfulton
            [Java] Apply patch SF #335 - Truly ignore constructors in directors with %ignore.

2013-01-18: Brant Kyser
            [Java] Patch #15 - Allow the use of the nspace feature without the -package commandline option.
            This works as long and the new jniclasspackage pragma is used to place the JNI intermediate class
            into a package and the nspace feature is used to place all exposed types into a package.

2013-01-15: wsfulton
            Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces.

2013-01-15: wsfulton
            [C#] Fix cstype typemap lookup for member variables so that a fully qualified variable name
            matches. For example:
              %typemap(cstype) bool MVar::mvar "MyBool"
              struct MVar {
                bool mvar;
              };

2013-01-11: Brant Kyser
	    [Java, C#, D] SF Bug #1299 - Fix generated names for when %nspace is used on
            classes with the same name in two different namespaces.

2013-01-11: Vladimir Kalinin
	    [C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes.

2013-01-08: olly
	    [PHP] Fix to work with a ZTS build of PHP (broken in 2.0.7).

2013-01-07: olly
	    Fix bashism in configure, introduced in 2.0.9.

2013-01-06: wsfulton
            Pull patch #4 from ptomulik to fix SF Bug #1296 - Fix incorrect warning for virtual destructors
            in templates, such as:
             Warning 521: Illegal destructor name B< A >::~B(). Ignored.

2013-01-05: wsfulton
            [Python] Pull patch #3 from ptomulik to fix SF Bug #1295 - standard exceptions as
            classes using the SWIG_STD_EXCEPTIONS_AS_CLASSES macro.

2013-01-04: wsfulton
            [Java] Pull patch #2 from BrantKyser to fix SF Bug #1283 - fix smart pointers in conjuction
            with directors.

2013-01-03: wsfulton
            [Java] Pull patch #1 from BrantKyser to fix SF Bug #1278 - fix directors and nspace feature when
            multilevel namespaces are used.

Version 2.0.9 (16 December 2012)
================================

2012-12-16: wsfulton
            Fix garbage line number / empty file name reporting for some missing
            '}' or ')' error messages.

2012-12-15: kkaempf
            [Ruby] Apply patch 3530444, Class#methods and Class#constants returns array of
            symbols in Ruby 1.9+

2012-12-14: kkaempf
            [Ruby] Apply patch 3530439 and finally replace all occurrences of the STR2CSTR() macro
            with StringValuePtr(). STR2CSTR was deprecated since years and got removed in Ruby 1.9

2012-12-14: kkaempf
            [Ruby] Applied patches #3530442 and 3530443 to adapt compile and runtime include
            paths to match Ruby 1.9+

2012-12-14: wsfulton
            [CFFI] Fix #3161614 - Some string constants are incorrect

2012-12-13: wsfulton
            [CFFI] Fix #3529690 - Fix incorrect constant names.

2012-12-12: drjoe
	    [R] add fix to finalizer that was missed earlier

2012-12-11: wsfulton
            [Python] Apply patch #3590522 - fully qualified package paths for Python 3 even if a module is in the
            same package.

2012-12-08: wsfulton
            [Python] Bug #3563647 - PyInt_FromSize_t unavailable prior to Python 2.5 for unsigned int types.

2012-12-08: wsfulton
            [Perl] Fix bug #3571361 - C++ comment in C wrappers.

2012-12-07: wsfulton
            [C#] Apply patch #3571029 which adds missing director support for const unsigned long long &.

2012-11-28: kwwette
            [Octave] Simplified module loading: now just the syntax
            $ example;
            is accepted, which loads functions globally but constants and variables relative to the current scope.
            This make module loading behaviour reliably consistent, and reduces problems when loading modules which
            depend on other modules which may not have been previously loaded.

2012-11-27: wsfulton
            [cffi] Fix junk output when wrapping single character literal constants.

2012-11-17: wsfulton
            [Tcl, Modula3] Add missing support for -outdir.

2012-11-17: wsfulton
            Fix segfaults when using filename paths greater than 1024 characters in length.

2012-11-14: wsfulton
            [ccache-swig] Apply patch #3586392 from Frederik Deweerdt to fix some error cases - incorrectly using
            memory after it has been deleted.

2012-11-09: vzeitlin
            [Python] Fix overflow when passing values greater than LONG_MAX from Python 3 for parameters with unsigned long C type.

2012-11-09: wsfulton
            Fix some feature matching issues for implicit destructors and implicit constructors and implicit
            copy constructors added with %copyctor. Previously a feature for these had to be fully qualified
            in order to match. Now the following will also match:

              %feature("xyz") ~XXX();
              struct XXX {};

2012-11-09: wsfulton
            Further consistency in named output typemap lookups for implicit constructors and destructors and
            implicit copy constructors added with %copyctor. Previously only the fully qualified name was being
            used, now the unqualified name will also be used. For example, previously:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void

            Now the unqualified name is also used:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void ~More
                Looking for: void

2012-11-02: wsfulton
            Fix some subtle named output typemap lookup misses, the fully qualified name was not always being
            used for variables, for example:

              struct Glob {
                int MyVar;
              };

            Previously the search rules (as shown by -debug-tmsearch) for the getter wrapper were:

              example.i:44: Searching for a suitable 'out' typemap for: int MyVar
                Looking for: int MyVar
                Looking for: int

            Now the scope is named correctly:

              example.i:44: Searching for a suitable 'out' typemap for: int Glob::MyVar
                Looking for: int Glob::MyVar
                Looking for: int MyVar
                Looking for: int

2012-10-26: wsfulton
            Fix director typemap searching so that a typemap specified with a name will be correctly matched. Previously
            the name was ignored during the typemap search. Applies to the following list of typemaps:
            directorout, csdirectorout, cstype, imtype, ctype, ddirectorout, dtype, gotype, jtype, jni, javadirectorout.

2012-10-11: wsfulton
            Most of the special variables available for use in %exception are now also available for expansion in
            %extend blocks. These are: $name $symname $overname $decl $fulldecl $parentname $parentsymname, see docs
            on "Class extension" in SWIGPlus.html. Patch based on submission from Kris Thielemans.

2012-10-10: wsfulton
            Additional new special variables in %exception are expanded as follows:
              $parentname - The parent class name (if any) for a method.
              $parentsymname - The target language parent class name (if any) for a method.

2012-10-08: iant
	    [Go] Generating Go code now requires using the -intgosize option to
	    indicate the size of the 'int' type in Go.  This is because the
	    size of the type is changing from Go 1.0 to Go 1.1 for x86_64.

2012-09-14: wsfulton
	    Add new warning if the empty template instantiation is used as a base class, for example:

              template <typename T> class Base {};
              %template() Base<int>;
              class Derived : public Base<int> {};

            gives the following warning instead of silently ignoring the base:

            cpp_inherit.i:52: Warning 401: Base class 'Base< int >' has no name as it is an empty template instantiated with '%template()'. Ignored.
            cpp_inherit.i:51: Warning 401: The %template directive must be written before 'Base< int >' is used as a base class and be declared with a name.


2012-09-11: wsfulton
	    [Java] Fix #3535304 - Direct use of a weak global reference in directors
            sometimes causing seg faults especially on Android.

2012-09-06: wsfulton
	    [Java] Fix (char *STRING, size_t LENGTH) typemaps to accept NULL string.

2012-08-26: drjoe
	    [R] make ExternalReference slot ref to contain reference

2012-08-26: drjoe
	    [R] fix Examples/Makefile to use C in $(CC) rather than $(CXX)
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
## <a id="3-0-0">3.0.0</a>: 2013-08-31

This is a new major version up release!

This release removes many deprecated APIs and improves internal
APIs. We want to keep backward compatibility as much as possible but
some existing codes may be broken by gettext gem API change. If your
code breaks by gettext gem 3.0.0, please report your problem. We will
fix the problem and release a new version.

### Improvements

  * Removed deprecated APIs
    * `require "gettext/parser/erb"`.
       Use `require "gettext/tools/parser/erb"` instead.
    * `require "gettext/parser/glade"`.
      Use `require "gettext/tools/parser/glade"` instead.
    * `require "gettext/parser/ruby"`.
      Use `require "gettext/tools/parser/ruby"` instead.
    * `require "gettext/utils"`.
      Use `require "gettext/tools"` instead.
    * `GetText.msgmerge`. Use `GetText::Tools::MsgMerge.run` instead.
    * `GetText.create_mofiles`. Use `GetText::Tools::Task` instead.
    * `GetText::PoParser`. Use `GetText::POParser` instead.
    * `require "gettext/tools/poparser"`.
       Use `require "gettext/po_parser"` instead.
    * `require "gettext/runtime/mofile"`.
       Use `require "gettext/mo"` instead.
    * `GetText::MoFile`. Use `GetText::MO` instead.
    * `GetText::Task`. Use `GetText::Tools::Task` instead.
    * `GetText.set_locale_all`. Use `GetText.set_locale` instead.
    * `GetText.setlocale`. Use `GetText.set_locale` instead.
    * `GetText::Tools::MsgMerge::PoData`. Use `GetText::POEntry` instead.
  * Removed Ruby 1.8 support.
  * Supported Rake 10.1.0.
  * Stopped to remove `TRANSLATORS:` tag because GNU gettext doesn't
    remove it.
  * Stopped to use `TRANSLATORS:` as comment tag. It is GNU gettext
    compatible behavior.
  * rxgettext: Added `--add-comments[=TAG]` option that exists in
    xgettext. [GitHub #16] [Reported by Ladislav Slezák]
  * Supported escaping tab character as `\t`.

### Fixes

  * po: Added a missing new line for multiple extracted comments.
    [GitHub #17] [Patch by Ladislav Slezák]
  * Fixed a bug that encoding may not be set.
  * Fixed a bug that `\n` is escaped as `\\n`.
    [GitHub #18] [Debian #716916] [Reported by Ladislav Slezák]
    [Reported by Francesco Poli]

### Thanks

  * Ladislav Slezák
  * Francesco Poli

## <a id="2-3-9">2.3.9</a>: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue Jan 21, 2014
FITS (Flexible Image Transport System) is a data format most used in astronomy.
PyFITS is a Python module for reading, writing, and manipulating FITS files.
The module uses Python's object-oriented features to provide quick, easy, and
efficient access to FITS files. The use of Python's array syntax enables
immediate access to any FITS extension, header cards, or data items.

Changes to 2.4.0 (in py-pyfits):

Changelog
===========

3.2 (2013-11-26)
----------------

Highlights
^^^^^^^^^^

- Rewrote CFITSIO-based backend for handling tile compression of FITS files.
  It now uses a standard CFITSIO instead of heavily modified pieces of CFITSIO
  as before.  PyFITS ships with its own copy of CFITSIO v3.35 which supports
  the latest version of the Tiled Image Convention (v2.3), but system
  packagers may choose instead to strip this out in favor of a
  system-installed version of CFITSIO.  Earlier versions may work, but nothing
  earlier than 3.28 has been tested yet. (#169)

- Added support for reading and writing tables using the Q format for columns.
  The Q format is identical to the P format (variable-length arrays) except
  that it uses 64-bit integers for the data descriptors, allowing more than
  4 GB of variable-length array data in a single table. (#160)

- Added initial support for table columns containing pseudo-unsigned integers.
  This is currently enabled by using the ``uint=True`` option when opening
  files; any table columns with the correct BZERO value will be interpreted
  and returned as arrays of unsigned integers.

- Some refactoring of the table and ``FITS_rec`` modules in order to better
  separate the details of the FITS binary and ASCII table data structures from
  the HDU data structures that encapsulate them.  Most of these changes should
  not be apparent to users (but see API Changes below).


API Changes
^^^^^^^^^^^

- Assigning to values in ``ColDefs.names``, ``ColDefs.formats``,
  ``ColDefs.nulls`` and other attributes of ``ColDefs`` instances that return
  lists of column properties is no longer supported.  Assigning to those lists
  will no longer update the corresponding columns.  Instead, please just
  modify the ``Column`` instances directly (``Column.name``, ``Column.null``,
  etc.)

- The ``pyfits.new_table`` function is marked "pending deprecation".  This
  does not mean it will be removed outright or that its functionality has
  changed.  It will likely be replaced in the future for a function with
  similar, if not subtly different functionality.  A better, if not slightly
  more verbose approach is to use ``pyfits.FITS_rec.from_columns`` to create
  a new ``FITS_rec`` table--this has the same interface as
  ``pyfits.new_table``.  The difference is that it returns a plan ``FITS_rec``
  array, and not an HDU instance.  This ``FITS_rec`` object can then be used
  as the data argument in the constructors for ``BinTableHDU`` (for binary
  tables) or ``TableHDU`` (for ASCII tables).  This is analogous to creating
  an ``ImageHDU`` by passing in an image array.
  ``pyfits.FITS_rec.from_columns`` is just a simpler way of creating a
  FITS-compatible recarray from a FITS column specification.

- The ``updateHeader``, ``updateHeaderData``, and ``updateCompressedData``
  methods of the ``CompDataHDU`` class are pending deprecation and moved to
  internal methods.  The operation of these methods depended too much on
  internal state to be used safely by users; instead they are invoked
  automatically in the appropriate places when reading/writing compressed image
  HDUs.

- The ``CompDataHDU.compData`` attribute is pending deprecation in favor of
  the clearer and more PEP-8 compatible ``CompDataHDU.compressed_data``.

- The constructor for ``CompDataHDU`` has been changed to accept new keyword
  arguments.  The new keyword arguments are essentially the same, but are in
  underscore_separated format rather than camelCase format.  The old arguments
  are still pending deprecation.

- The internal attributes of HDU classes ``_hdrLoc``, ``_datLoc``, and
  ``_datSpan`` have been replaced with ``_header_offset``, ``_data_offset``,
  and ``_data_size`` respectively.  The old attribute names are still pending
  deprecation.  This should only be of interest to advanced users who have
  created their own HDU subclasses.

- The following previously deprecated functions and methods have been removed
  entirely: ``createCard``, ``createCardFromString``, ``upperKey``,
  ``ColDefs.data``, ``setExtensionNameCaseSensitive``, ``_File.getfile``,
  ``_TableBaseHDU.get_coldefs``, ``Header.has_key``, ``Header.ascardlist``.

  If you run your code with a previous version of PyFITS (>= 3.0, < 3.2) with
  the ``python -Wd`` argument, warnings for all deprecated interfaces still in
  use will be displayed.

- Interfaces that were pending deprecation are now fully deprecated.  These
  include: ``create_card``, ``create_card_from_string``, ``upper_key``,
  ``Header.get_history``, and ``Header.get_comment``.

- The ``.name`` attribute on HDUs is now directly tied to the HDU's header, so
  that if ``.header['EXTNAME']`` changes so does ``.name`` and vice-versa.

- The ``pyfits.file.PYTHON_MODES`` constant dict was renamed to
  ``pyfits.file.PYFITS_MODES`` which better reflects its purpose.  This is
  rarely used by client code, however.  Support for the old name will be
  removed by PyFITS 3.4.


Other Changes and Additions
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- The new compression code also adds support for the ZQUANTIZ and ZDITHER0
  keywords added in more recent versions of this FITS Tile Compression spec.
  This includes support for lossless compression with GZIP. (#198) By default
  no dithering is used, but the ``SUBTRACTIVE_DITHER_1`` and
  ``SUBTRACTIVE_DITHER_2`` methods can be enabled by passing the correct
  constants to the ``quantize_method`` argument to the ``CompImageHDU``
  constuctor.  A seed can be manually specified, or automatically generated
  using either the system clock or checksum-based methods via the
  ``dither_seed`` argument.  See the documentation for ``CompImageHDU`` for
  more details. (#198) (spacetelescope/PYFITS#32)

- Images compressed with the Tile Compression standard can now be larger than
  4 GB through support of the Q format. (#159)

- All HDUs now have a ``.ver`` ``.level`` attribute that returns the value of
  the EXTVAL and EXTLEVEL keywords from that HDU's header, if the exist.  This
  was added for consistency with the ``.name`` attribute which returns the
  EXTNAME value from the header.

- Then ``Column`` and ``ColDefs`` classes have new ``.dtype`` attributes
  which give the Numpy dtype for the column data in the first case, and the
  full Numpy compound dtype for each table row in the latter case.

- There was an issue where new tables created defaulted the values in all
  string columns to '0.0'.  Now string columns are filled with empty strings
  by default--this seems a less surprising default, but it may cause
  differences with tables created with older versions of PyFITS.

- Improved round-tripping and preservation of manually assigned column
  attributes (``TNULLn``, ``TSCALn``, etc.) in table HDU headers.
  (astropy/astropy#996)


Bug Fixes
^^^^^^^^^

- Binary tables containing compressed images may, optionally, contain other
  columns unrelated to the tile compression convention. Although this is an
  uncommon use case, it is permitted by the standard. (#159)

- Reworked some of the file I/O routines to allow simpler, more consistent
  mapping between OS-level file modes ('rb', 'wb', 'ab', etc.) and the more
  "PyFITS-specific" modes used by PyFITS like "readonly" and "update".
  That is, if reading a FITS file from an open file object, it doesn't matter
  as much what "mode" it was opened in so long as it has the right
  capabilities (read/write/etc.)  Also works around bugs in the Python io
  module in 2.6+ with regard to file modes. (spacetelescope/PyFITS#33)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (astropy/astropy#968)


3.1.3 (2013-11-26)
------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (spacetelescope/PyFITS#11)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (spacetelescope/PyFITS#28)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general.

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.0.12 (2013-11-26)
-------------------

- Disallowed assigning NaN and Inf floating point values as header values,
  since the FITS standard does not define a way to represent them in. Because
  this is undefined, the previous behavior did not make sense and produced
  invalid FITS files. (Backported from 3.1.3)

- Added a workaround for a bug in 64-bit OSX that could cause truncation when
  writing files greater than 2^32 bytes in size. (Backported from 3.1.3)

- Fixed a long-standing issue where writing binary tables did not correctly
  write the TFORMn keywords for variable-length array columns (they ommitted
  the max array length parameter of the format).  This was thought fixed in
  v3.1.2, but it was only fixed there for compressed image HDUs and not for
  binary tables in general. (Backported from 3.1.3)

- Fixed an obscure issue that can occur on systems that don't have flush to
  memory-mapped files implemented (namely GNU Hurd). (Backported from 3.2)


3.1.2 (2013-04-22)
------------------

- When an error occurs opening a file in fitsdiff the exception message will
  now at least mention which file had the error. (#168)

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images
  did not correctly write the TFORMn keywords for variable-length array
  columns (they ommitted the max array length parameter of the format). (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. (#201)

- Added use of the console_scripts entry point to install the fitsdiff and
  fitscheck scripts, which if nothing else provides better Windows support.
  The generated scripts now override the ones explicitly defined in the
  scripts/ directory (which were just trivial stubs to begin with). (#202)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. (#218)

- Fixed inconsistent behavior in creating CONTINUE cards from byte strings
  versus unicode strings in Python 2--CONTINUE cards can now be created
  properly from unicode strings (so long as they are convertable to ASCII).
  (spacetelescope/PyFITS#1)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. (spacetelescope/PyFITS#3)

- Fixed a bug in parsing HIERARCH keywords that do not have a space after
  the first equals sign (before the value). (spacetelescope/PyFITS#5)

- Prevented extra leading whitespace on HIERARCH keywords from being treated
  as part of the keyword. (spacetelescope/PyFITS#6)

- Fixed a bug where HIERARCH keywords containing lower-case letters was
  mistakenly marked as invalid during header validation.
  (spacetelescope/PyFITS#7)

- Fixed an issue that was ancillary to (spacetelescope/PyFITS#7) where the
  ``Header.index()`` method did not work correctly with HIERARCH keywords
  containing lower-case letters.


3.0.11 (2013-04-17)
-------------------

- Fixed support for opening gzipped FITS files by filename in a writeable mode
  (PyFITS has supported writing to gzip files for some time now, but only
  enabled it when GzipFile objects were passed to ``pyfits.open()`` due to
  some legacy code preventing full gzip support. Backported from 3.1.2. (#195)

- Added a more helpful error message in the case of malformatted FITS files
  that contain non-float NULL values in an ASCII table but are missing the
  required TNULLn keywords in the header. Backported from 3.1.2. (#197)

- Fixed an (apparently long-standing) issue where writing compressed images did
  not correctly write the TFORMn keywords for variable-length array columns
  (they ommitted the max array length parameter of the format). Backported from
  3.1.2. (#199)

- Slightly refactored how tables containing variable-length array columns are
  handled to add two improvements: Fixes an issue where accessing the data
  after a call to the `pyfits.getdata` convenience function caused an
  exception, and allows the VLA data to be read from an existing mmap of the
  FITS file. Backported from 3.1.2. (#200)

- Fixed a bug that could occur when opening a table containing
  multi-dimensional columns (i.e. via the TDIMn keyword) and then writing it
  out to a new file. Backported from 3.1.2. (#201)

- Fixed a bug on Python 3 where attempting to open a non-existent file on
  Python 3 caused a seemingly unrelated traceback. Backported from 3.1.2.
  (#203)

- Fixed a bug in fitsdiff that reported two header keywords containing NaN
  as value as different. Backported from 3.1.2. (#204)

- Fixed an issue in the tests that caused some tests to fail if pyfits is
  installed with read-only permissions. Backported from 3.1.2. (#208)

- Fixed a bug where instantiating a ``BinTableHDU`` from a numpy array
  containing boolean fields converted all the values to ``False``. Backported
  from 3.1.2. (#215)

- Fixed an issue where passing an array of integers into the constructor of
  ``Column()`` when the column type is floats of the same byte width caused the
  column array to become garbled. Backported from 3.1.2. (#218)

- Fixed a couple cases where creating a new table using TDIMn in some of the
  columns could caused a crash. Backported from 3.1.2.
  (spacetelescope/PyFITS#3)


3.1.1 (2013-01-02)
------------------

This is a bug fix release for the 3.1.x series.

Bug Fixes
^^^^^^^^^

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verboten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will automatically use compatible tile sizes even if they're not
  explicitly specified. (#171)

- Added support for the optional ``endcard`` parameter in the
  ``Header.fromtextfile()`` and ``Header.totextfile()`` methods.  Although
  ``endcard=False`` was a reasonable default assumption, there are still text
  dumps of FITS headers that include the END card, so this should have been
  more flexible. (#176)

- Fixed a crash when running fitsdiff on two empty (that is, zero row) tables.
  (#178)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. (#180)

- Fixed a crash when generating diff reports from diffs using the
  ``ignore_comments`` options. (#181)

- Fixed some bugs with WCS Paper IV record-valued keyword cards:

  - Cards that looked kind of like RVKCs but were not intended to be were
    over-permissively treated as such--commentary keywords like COMMENT and
    HISTORY were particularly affected. (#183)

  - Looking up a card in a header by its standard FITS keyword only should
    always return the raw value of that card.  That way cards containing
    values that happen to valid RVKCs but were not intended to be will still
    be treated like normal cards. (#184)

  - Looking up a RVKC in a header with only part of the field-specifier (for
    example "DP1.AXIS" instead of "DP1.AXIS.1") was implicitly treated as a
    wildcard lookup. (#184)

- Fixed a crash when diffing two FITS files where at least one contains a
  compressed image HDU which was not recognized as an image instead of a
  table. (#187)

- Fixed bugs in the backwards compatibility layer for the ``CardList.index``
  and ``CardList.count`` methods. (#190)

- Improved ``__repr__`` and text file representation of cards with long values
  that are split into CONTINUE cards. (#193)

- Fixed a crash when trying to assign a long (> 72 character) value to blank
  ('') keywords. This also changed how blank keywords are represented--there
  are still exactly 8 spaces before any commentary content can begin; this
  *may* affect the exact display of header cards that assumed there could be
  fewer spaces in a blank keyword card before the content begins. However, the
  current approach is more in line with the requirements of the FITS standard.
  (#194)


3.0.10 (2013-01-02)
-------------------

- Improved handling of scaled images and pseudo-unsigned integer images in
  compressed image HDUs.  They now work more transparently like normal image
  HDUs with support for the ``do_not_scale_image_data`` and ``uint`` options,
  as well as ``scale_back`` and ``save_backup``.  The ``.scale()`` method
  works better too.  Backported from 3.1.1. (#88)

- Permits non-string values for the EXTNAME keyword when reading in a file,
  rather than throwing an exception due to the malformatting.  Added
  verification for the format of the EXTNAME keyword when writing.  Backported
  from 3.1.1. (#96)

- Added support for EXTNAME and EXTVER in PRIMARY HDUs.  That is, if EXTNAME
  is specified in the header, it will also be reflected in the ``.name``
  attribute and in ``pyfits.info()``.  These keywords used to be verbotten in
  PRIMARY HDUs, but the latest version of the FITS standard allows them.
  Backported from 3.1.1. (#151)

- HCOMPRESS can again be used to compress data cubes (and higher-dimensional
  arrays) so long as the tile size is effectively 2-dimensional. In fact,
  PyFITS will not automatically use compatible tile sizes even if they're not
  explicitly specified.  Backported from 3.1.1. (#171)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  Backported from 3.1.0. (#174)

- Fixed an issue where opening files containing random groups HDUs in update
  mode could cause an unnecessary rewrite of the file even if none of the
  data is modified.  Backported from 3.1.1. (#179)

- Fixed a bug that could caused a deadlock in the filesystem on OSX if PyFITS
  is used with Numpy 1.7 in some cases. Backported from 3.1.1. (#180)


3.1 (2012-08-08)
----------------

Highlights
^^^^^^^^^^

- The ``Header`` object has been significantly reworked, and ``CardList``
  objects are now deprecated (their functionality folded into the ``Header``
  class).  See API Changes below for more details.

- Memory maps are now used by default to access HDU data.  See API Changes
  below for more details.

- Now includes a new version of the ``fitsdiff`` program for comparing two
  FITS files, and a new FITS comparison API used by ``fitsdiff``.  See New
  Features below.

API Changes
^^^^^^^^^^^

- The ``Header`` class has been rewritten, and the ``CardList`` class is
  deprecated.  Most of the basic details of working with FITS headers are
  unchanged, and will not be noticed by most users.  But there are differences
  in some areas that will be of interest to advanced users, and to application
  developers.  For full details of the changes, see the "Header Interface
  Transition Guide" section in the PyFITS documentation.  See ticket #64 on
  the PyFITS Trac for futher details and background. Some highlights are
  listed below:

  * The Header class now fully implements the Python dict interface, and can
    be used interchangably with a dict, where the keys are header keywords.

  * New keywords can be added to the header using normal keyword assignment
    (previously it was necessary to use ``Header.update`` to add new
    keywords).  For example::

        >>> header['NAXIS'] = 2

    will update the existing 'FOO' keyword if it already exists, or add a new
    one if it doesn't exist, just like a dict.

  * It is possible to assign both a value and a comment at the same time using
    a tuple::

        >>> header['NAXIS'] = (2, 'Number of axes')

  * To add/update a new card and ensure it's added in a specific location, use
    ``Header.set()``::

        >>> header.set('NAXIS', 2, 'Number of axes', after='BITPIX')

    This works the same as the old ``Header.update()``.  ``Header.update()``
    still works in the old way too, but is deprecated.

  * Although ``Card`` objects still exist, it generally is not necessary to
    work with them directly.  ``Header.ascardlist()``/``Header.ascard`` are
    deprecated and should not be used.  To directly access the ``Card``
    objects in a header, use ``Header.cards``.

  * To access card comments, it is still possible to either go through the
    card itself, or through ``Header.comments``.  For example::

       >>> header.cards['NAXIS'].comment
       Number of axes
       >>> header.comments['NAXIS']
       Number of axes

  * ``Card`` objects can now be used interchangeably with
    ``(keyword, value, comment)`` 3-tuples.  They still have ``.value`` and
    ``.comment`` attributes as well.  The ``.key`` attribute has been renamed
    to ``.keyword`` for consistency, though ``.key`` is still supported (but
    deprecated).

- Memory mapping is now used by default to access HDU data.  That is,
  ``pyfits.open()`` uses ``memmap=True`` as the default.  This provides better
  performance in the majority of use cases--there are only some I/O intensive
  applications where it might not be desirable.  Enabling mmap by default also
  enabled finding and fixing a large number of bugs in PyFITS' handling of
  memory-mapped data (most of these bug fixes were backported to PyFITS
  3.0.5). (#85)

  * A new ``pyfits.USE_MEMMAP`` global variable was added.  Set
    ``pyfits.USE_MEMMAP = False`` to change the default memmap setting for
    opening files.  This is especially useful for controlling the behavior in
    applications where pyfits is deeply embedded.

  * Likewise, a new ``PYFITS_USE_MEMMAP`` environment variable is supported.
    Set ``PYFITS_USE_MEMMAP = 0`` in your environment to change the default
    behavior.

- The ``size()`` method on HDU objects is now a ``.size`` property--this
  returns the size in bytes of the data portion of the HDU, and in most cases
  is equivalent to ``hdu.data.nbytes`` (#83)

- ``BinTableHDU.tdump`` and ``BinTableHDU.tcreate`` are deprecated--use
  ``BinTableHDU.dump`` and ``BinTableHDU.load`` instead.  The new methods
  output the table data in a slightly different format from previous versions,
  which places quotes around each value.  This format is compatible with data
  dumps from previous versions of PyFITS, but not vice-versa due to a parsing
  bug in older versions.

- Likewise the ``pyfits.tdump`` and ``pyfits.tcreate`` convenience function
  versions of these methods have been renamed ``pyfits.tabledump`` and
  ``pyfits.tableload``.  The old deprecated, but currently retained for
  backwards compatibility. (r1125)

- A new global variable ``pyfits.EXTENSION_NAME_CASE_SENSITIVE`` was added.
  This serves as a replacement for ``pyfits.setExtensionNameCaseSensitive``
  which is not deprecated and may be removed in a future version.  To enable
  case-sensitivity of extension names (i.e. treat 'sci' as distict from 'SCI')
  set ``pyfits.EXTENSION_NAME_CASE_SENSITIVE = True``.  The default is
  ``False``. (r1139)

- A new global configuration variable ``pyfits.STRIP_HEADER_WHITESPACE`` was
  added.  By default, if a string value in a header contains trailing
  whitespace, that whitespace is automatically removed when the value is read.
  Now if you set ``pyfits.STRIP_HEADER_WHITESPACE = False`` all whitespace is
  preserved. (#146)

- The old ``classExtensions`` extension mechanism (which was deprecated in
  PyFITS 3.0) is removed outright.  To our knowledge it was no longer used
  anywhere. (r1309)

- Warning messages from PyFITS issued through the Python warnings API are now
  output to stderr instead of stdout, as is the default.  PyFITS no longer
  modifies the default behavior of the warnings module with respect to which
  stream it outputs to. (r1319)

- The ``checksum`` argument to ``pyfits.open()`` now accepts a value of
  'remove', which causes any existing CHECKSUM/DATASUM keywords to be ignored,
  and removed when the file is saved.

New Features
^^^^^^^^^^^^

- Added support for the proposed "FITS" extension HDU type.  See
  http://listmgr.cv.nrao.edu/pipermail/fitsbits/2002-April/001094.html.  FITS
  HDUs contain an entire FITS file embedded in their data section.  `FitsHDU`
  objects work like other HDU types in PyFITS.  Their ``.data`` attribute
  returns the raw data array.  However, they have a special ``.hdulist``
  attribute which processes the data as a FITS file and returns it as an
  in-memory HDUList object.  FitsHDU objects also support a
  ``FitsHDU.fromhdulist()`` classmethod which returns a new `FitsHDU` object
  that embeds the supplied HDUList. (#80)

- Added a new ``.is_image`` attribute on HDU objects, which is True if the HDU
  data is an 'image' as opposed to a table or something else.  Here the
  meaning of 'image' is fairly loose, and mostly just means a Primary or Image
  extension HDU, or possibly a compressed image HDU (#71)

- Added an ``HDUList.fromstring`` classmethod which can parse a FITS file
  already in memory and instantiate and ``HDUList`` object from it.  This
  could be useful for integrating PyFITS with other libraries that work on
  FITS file, such as CFITSIO.  It may also be useful in streaming
  applications.  The name is a slight misnomer, in that it actually accepts
  any Python object that implements the buffer interface, which includes
  ``bytes``, ``bytearray``, ``memoryview``, ``numpy.ndarray``, etc. (#90)

- Added a new ``pyfits.diff`` module which contains facilities for comparing
  FITS files.  One can use the ``pyfits.diff.FITSDiff`` class to compare two
  FITS files in their entirety.  There is also a ``pyfits.diff.HeaderDiff``
  class for just comparing two FITS headers, and other similar interfaces.
  See the PyFITS Documentation for more details on this interface.  The
  ``pyfits.diff`` module powers the new ``fitsdiff`` program installed with
  PyFITS.  After installing PyFITS, run ``fitsdiff --help`` for usage details.

- ``pyfits.open()`` now accepts a ``scale_back`` argument.  If set to
  ``True``, this automatically scales the data using the original BZERO and
  BSCALE parameters the file had when it was first opened, if any, as well as
  the original BITPIX.  For example, if the original BITPIX were 16, this
  would be equivalent to calling ``hdu.scale('int16', 'old')`` just before
  calling ``flush()`` or ``close()`` on the file.  This option applies to all
  HDUs in the file. (#120)

- ``pyfits.open()`` now accepts a ``save_backup`` argument.  If set to
  ``True``, this automatically saves a backup of the original file before
  flushing any changes to it (this of course only applies to update and append
  mode).  This may be especially useful when working with scaled image data.
  (#121)

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Warnings from PyFITS are not output to stderr by default, instead of stdout
  as it has been for some time.  This is contrary to most users' expectations
  and makes it more difficult for them to separate output from PyFITS from the
  desired output for their scripts. (r1319)

Bug Fixes
^^^^^^^^^

- Fixed ``pyfits.tcreate()`` (now ``pyfits.tableload()``) to be more robust
  when encountering blank lines in a column definition file (#14)

- Fixed a fairly rare crash that could occur in the handling of CONTINUE cards
  when using Numpy 1.4 or lower (though 1.4 is the oldest version supported by
  PyFITS). (r1330)

- Fixed ``_BaseHDU.fromstring`` to actually correctly instantiate an HDU
  object from a string/buffer containing the header and data of that HDU.
  This allowed for the implementation of ``HDUList.fromstring`` described
  above. (#90)

- Fixed a rare corner case where, in some use cases, (mildly, recoverably)
  malformatted float values in headers were not properly returned as floats.
  (#137)

- Fixed a corollary to the previous bug where float values with a leading zero
  before the decimal point had the leading zero unnecessarily removed when
  saving changes to the file (eg. "0.001" would be written back as ".001" even
  if no changes were otherwise made to the file). (#137)

- When opening a file containing CHECKSUM and/or DATASUM keywords in update
  mode, the CHECKSUM/DATASUM are updated and preserved even if the file was
  opened with checksum=False.  This change in behavior prevents checksums from
  being unintentionally removed. (#148)

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug when writing out files containing zero-width table columns,
  where the TFIELDS keyword would be updated incorrectly, leaving the table
  largely unreadable.  This fix will be backported to the 3.0.x series in
  version 3.0.10.  (#174)


3.0.9 (2012-08-06)
------------------

This is a bug fix release for the 3.0.x series.

Bug Fixes
^^^^^^^^^

- Fixed ``Header.values()``/``Header.itervalues()`` and ``Header.items()``/
  ``Header.iteritems()`` to correctly return the different values for
  duplicate keywords (particularly commentary keywords like HISTORY and
  COMMENT).  This makes the old Header implementation slightly more compatible
  with the new implementation in PyFITS 3.1. (#127)

  .. note::
      This fix did not change the existing behavior from earlier PyFITS
      versions where ``Header.keys()`` returns all keywords in the header with
      duplicates removed.  PyFITS 3.1 changes that behavior, so that
      ``Header.keys()`` includes duplicates.

- Fixed a bug where ``ImageHDU.scale(option='old')`` wasn't working at all--it
  was not restoring the image to its original BSCALE and BZERO values. (#162)

- Fixed a bug where opening a file containing compressed image HDUs in
  'update' mode and then immediately closing it without making any changes
  caused the file to be rewritten unncessarily. (#167)

- Fixed two memory leaks that could occur when writing compressed image data,
  or in some cases when opening files containing compressed image HDUs in
  'update' mode. (#168)


3.0.8 (2012-06-04)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Prior to this release, image data sections did not work with scaled
  data--that is, images with non-trivial BSCALE and/or BZERO values.
  Previously, in order to read such images in sections, it was necessary to
  manually apply the BSCALE+BZERO to each section.  It's worth noting that
  sections *did* support pseudo-unsigned ints (flakily).  This change just
  extends that support for general BSCALE+BZERO values.

Bug Fixes
^^^^^^^^^

- Fixed a bug that prevented updates to values in boolean table columns from
  being saved.  This turned out to be a symptom of a deeper problem that could
  prevent other table updates from being saved as well. (#139)

- Fixed a corner case in which a keyword comment ending with the string "END"
  could, in some circumstances, cause headers (and the rest of the file after
  that point) to be misread. (#142)

- Fixed support for scaled image data and psuedo-unsigned ints in image data
  sections (``hdu.section``).  Previously this was not supported at all.  At
  some point support was supposedly added, but it was buggy and incomplete.
  Now the feature seems to work much better. (#143)

- Fixed the documentation to point out that image data sections *do* support
  non-contiguous slices (and have for a long time).  The documentation was
  never updated to reflect this, and misinformed users that only contiguous
  slices were supported, leading to some confusion. (#144)

- Fixed a bug where creating an ``HDUList`` object containing multiple PRIMARY
  HDUs caused an infinite recursion when validating the object prior to
  writing to a file. (#145)

- Fixed a rare but serious case where saving an update to a file that
  previously had a CHECKSUM and/or DATASUM keyword, but removed the checksum
  in saving, could cause the file to be slightly corrupted and unreadable.
  (#147)

- Fixed problems with reading "non-standard" FITS files with primary headers
  containing SIMPLE = F.  PyFITS has never made many guarantees as to how such
  files are handled.  But it should at least be possible to read their
  headers, and the data if possible.  Saving changes to such a file should not
  try to prepend an unwanted valid PRIMARY HDU. (#157)

- Fixed a bug where opening an image with ``disable_image_compression = True``
  caused compression to be disabled for all subsequent ``pyfits.open()`` calls.
  (r1651)


3.0.7 (2012-04-10)
------------------

Changes in Behavior
^^^^^^^^^^^^^^^^^^^

- Slices of GroupData objects now return new GroupData objects instead of
  extended multi-row _Group objects. This is analogous to how PyFITS 3.0 fixed
  FITS_rec slicing, and should have been fixed for GroupData at the same time.
  The old behavior caused bugs where functions internal to Numpy expected that
  slicing an ndarray would return a new ndarray.  As this is a rare usecase
  with a rare feature most users are unlikely to be affected by this change.

- The previously internal _Group object for representing individual group
  records in a GroupData object are renamed Group and are now a public
  interface.  However, there's almost no good reason to create Group objects
  directly, so it shouldn't be considered a "new feature".

- An annoyance from PyFITS 3.0.6 was fixed, where the value of the EXTEND
  keyword was always being set to F if there are not actually any extension
  HDUs.  It was unnecessary to modify this value.

Bug Fixes
^^^^^^^^^

- Fixed GroupData objects to return new GroupData objects when sliced instead
  of _Group record objects.  See "Changes in behavior" above for more details.

- Fixed slicing of Group objects--previously it was not possible to slice
  slice them at all.

- Made it possible to assign `np.bool_` objects as header values. (#123)

- Fixed overly strict handling of the EXTEND keyword; see "Changes in
  behavior" above. (#124)

- Fixed many cases where an HDU's header would be marked as "modified" by
  PyFITS and rewritten, even when no changes to the header are necessary.
  (#125)

- Fixed a bug where the values of the PTYPEn keywords in a random groups HDU
  were forced to be all lower-case when saving the file. (#130)

- Removed an unnecessary inline import in `ExtensionHDU.__setattr__` that was
  causing some slowdown when opening files containing a large number of
  extensions, plus a few other small (but not insignficant) performance
  improvements thanks to Julian Taylor. (#133)

- Fixed a regression where header blocks containing invalid end-of-header
  padding (i.e. null bytes instead of spaces) couldn't be parsed by PyFITS.
  Such headers can be parsed again, but a warning is raised, as such headers
  are not valid FITS. (#136)

- Fixed a memory leak where table data in random groups HDUs weren't being
  garbage collected. (#138)


3.0.6 (2012-02-29)
------------------

Highlights
^^^^^^^^^^

The main reason for this release is to fix an issue that was introduced in
PyFITS 3.0.5 where merely opening a file containing scaled data (that is, with
non-trivial BSCALE and BZERO keywords) in 'update' mode would cause the data
to be automatically rescaled--possibly converting the data from ints to
floats--as soon as the file is closed, even if the application did not touch
the data.  Now PyFITS will only rescale the data in an extension when the data
is actually accessed by the application.  So opening a file in 'update' mode
in order to modify the header or append new extensions will not cause any
change to the data in existing extensions.

This release also fixes a few Windows-specific bugs found through more
extensive Windows testing, and other miscellaneous bugs.

Bug Fixes
^^^^^^^^^

- More accurate error messages when opening files containing invalid header
  cards. (#109)

- Fixed a possible reference cycle/memory leak that was caught through more
  extensive testing on Windows. (#112)

- Fixed 'ostream' mode to open the underlying file in 'wb' mode instead of 'w'
  mode. (#112)

- Fixed a Windows-only issue where trying to save updates to a resized FITS
  file could result in a crash due to there being open mmaps on that file.
  (#112)

- Fixed a crash when trying to create a FITS table (i.e. with new_table())
  from a Numpy array containing bool fields. (#113)

- Fixed a bug where manually initializing an ``HDUList`` with a list of of
  HDUs wouldn't set the correct EXTEND keyword value on the primary HDU.
  (#114)

- Fixed a crash that could occur when trying to deepcopy a Header in Python <
  2.7. (#115)

- Fixed an issue where merely opening a scaled image in 'update' mode would
  cause the data to be converted to floats when the file is closed. (#119)


3.0.5 (2012-01-30)
------------------

- Fixed a crash that could occur when accessing image sections of files
  opened with memmap=True. (r1211)

- Fixed the inconsistency in the behavior of files opened in 'readonly' mode
  when memmap=True vs. when memmap=False.  In the latter case, although
  changes to array data were not saved to disk, it was possible to update the
  array data in memory.  On the other hand with memmap=True, 'readonly' mode
  prevented even in-memory modification to the data.  This is what
  'copyonwrite' mode was for, but difference in behavior was confusing.  Now
  'readonly' is equivalent to 'copyonwrite' when using memmap.  If the old
  behavior of denying changes to the array data is necessary, a new
  'denywrite' mode may be used, though it is only applicable to files opened
  with memmap. (r1275)

- Fixed an issue where files opened with memmap=True would return image data
  as a raw numpy.memmap object, which can cause some unexpected
  behaviors--instead memmap object is viewed as a numpy.ndarray. (r1285)

- Fixed an issue in Python 3 where a workaround for a bug in Numpy on Python 3
  interacted badly with some other software, namely to vo.table package (and
  possibly others). (r1320, r1337, and #110)

- Fixed buggy behavior in the handling of SIGINTs (i.e. Ctrl-C keyboard
  interrupts) while flushing changes to a FITS file.  PyFITS already prevented
  SIGINTs from causing an incomplete flush, but did not clean up the signal
  handlers properly afterwards, or reraise the keyboard interrupt once the
  flush was complete. (r1321)

- Fixed a crash that could occur in Python 3 when opening files with checksum
  checking enabled. (r1336)

- Fixed a small bug that could cause a crash in the `StreamingHDU` interface
  when using Numpy below version 1.5.

- Fixed a crash that could occur when creating a new `CompImageHDU` from an
  array of big-endian data. (#104)

- Fixed a crash when opening a file with extra zero padding at the end.
  Though FITS files should not have such padding, it's not explictly forbidden
  by the format either, and PyFITS shouldn't stumble over it. (#106)

- Fixed a major slowdown in opening tables containing large columns of string
  values.  (#111)


3.0.4 (2011-11-22)
------------------

- Fixed a crash when writing HCOMPRESS compressed images that could happen on
  Python 2.5 and 2.6. (r1217)

- Fixed a crash when slicing an table in a file opened in 'readonly' mode with
  memmap=True. (r1230)

- Writing changes to a file or writing to a new file verifies the output in
  'fix' mode by default instead of 'exception'--that is, PyFITS will
  automatically fix common FITS format errors rather than raising an
  exception. (r1243)

- Fixed a bug where convenience functions such as getval() and getheader()
  crashed when specifying just 'PRIMARY' as the extension to use (r1263).

- Fixed a bug that prevented passing keyword arguments (beyond the standard
  data and header arguments) as positional arguments to the constructors of
  extension HDU classes.

- Fixed some tests that were failing on Windows--in this case the tests
  themselves failed to close some temp files and Windows refused to delete them
  while there were still open handles on them. (r1295)

- Fixed an issue with floating point formatting in header values on Python 2.5
  for Windows (and possibly other platforms).  The exponent was zero-padded to
  3 digits; although the FITS standard makes no specification on this, the
  formatting is now normalized to always pad the exponent to two digits.
  (r1295)

- Fixed a bug where long commentary cards (such as HISTORY and COMMENT) were
  broken into multiple CONTINUE cards.  However, commentary cards are not
  expected to be found in CONTINUE cards.  Instead these long cards are broken
  into multiple commentary cards. (#97)

- GZIP/ZIP-compressed FITS files can be detected and opened regardless of
  their filename extension. (#99)

- Fixed a serious bug where opening scaled images in 'update' mode and then
  closing the file without touching the data would cause the file to be
  corrupted. (#101)


3.0.3 (2011-10-05)
------------------

- Fixed several small bugs involving corner cases in record-valued keyword
  cards (#70)

- In some cases HDU creation failed if the first keyword value in the header
  was not a string value (#89)

- Fixed a crash when trying to compute the HDU checksum when the data array
  contains an odd number of bytes (#91)

- Disabled an unnecessary warning that was displayed on opening compressed
  HDUs with disable_image_compression = True (#92)

- Fixed a typo in code for handling HCOMPRESS compressed images.


3.0.2 (2011-09-23)
------------------

- The ``BinTableHDU.tcreate`` method and by extension the ``pyfits.tcreate``
  function don't get tripped up by blank lines anymore (#14)

- The presence, value, and position of the EXTEND keyword in Primary HDUs is
  verified when reading/writing a FITS file (#32)

- Improved documentation (in warning messages as well as in the handbook) that
  PyFITS uses zero-based indexing (as one would expect for C/Python code, but
  contrary to the PyFITS standard which was written with FORTRAN in mind)
  (#68)

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69) [Note: This and the bug above it
  were originally reported as being fixed in version 3.0.1, but the fix was
  never included in the release.]

- Improved file handling, particularly in Python 3 which had a few small file
  I/O-related bugs (#76)

- Fixed a bug where updating a FITS file would sometimes cause it to lose its
  original file permissions (#79)

- Fixed the handling of TDIMn keywords; 3.0 added support for them, but got
  the axis order backards (they were treated as though they were row-major)
  (#82)

- Fixed a crash when a FITS file containing scaled data is opened and
  immediately written to a new file without explicitly viewing the data first
  (#84)

- Fixed a bug where creating a table with columns named either 'names' or
  'formats' resulted in an infinite recursion (#86)


3.0.1 (2011-09-12)
------------------

- Fixed a bug where updating a header card comment could cause the value to be
  lost if it had not already been read from the card image string.

- Changed ``_TableBaseHDU.data`` so that if the data contain an empty table a
  ``FITS_rec`` object with zero rows is returned rather than ``None``.

- The ``.key`` attribute of ``RecordValuedKeywordCards`` now returns the full
  keyword+field-specifier value, instead of just the plain keyword (#46)

- Fixed a related bug where changes made directly to Card object in a header
  (i.e. assigning directly to card.value or card.comment) would not propagate
  when flushing changes to the file (#69)

- Fixed a bug where writing a table with zero rows could fail in some cases
  (#72)

- Miscellanous small bug fixes that were causing some tests to fail,
  particularly on Python 3 (#74, #75)

- Fixed a bug where creating a table column from an array in non-native byte
  order would not preserve the byte order, thus interpreting the column array
  using the wrong byte order (#77)


3.0.0 (2011-08-23)
--------------------

- Contains major changes, bumping the version to 3.0

- Large amounts of refactoring and reorganization of the code; tried to
  preserve public API backwards-compatibility with older versions (private API
  has many changes and is not guaranteed to be backwards-compatible).  There
  are a few small public API changes to be aware of:

  * The pyfits.rec module has been removed completely.  If your version of
    numpy does not have the numpy.core.records module it is too old to be used
    with PyFITS.

  * The ``Header.ascardlist()`` method is deprecated--use the ``.ascard``
    attribute instead.

  * ``Card`` instances have a new ``.cardimage`` attribute that should be used
    rather than ``.ascardimage()``, which may become deprecated.

  * The ``Card.fromstring()`` method is now a classmethod.  It returns a new
    ``Card`` instance rather than modifying an existing instance.

  * The ``req_cards()`` method on HDU instances has changed:  The ``pos``
    argument is not longer a string.  It is either an integer value (meaning
    the card's position must match that value) or it can be a function that
    takes the card's position as it's argument, and returns True if the
    position is valid.  Likewise, the ``test`` argument no longer takes a
    string, but instead a function that validates the card's value and returns
    True or False.

  * The ``get_coldefs()`` method of table HDUs is deprecated.  Use the
    ``.columns`` attribute instead.

  * The ``ColDefs.data`` attribute is deprecated--use ``ColDefs.columns``
    instead (though in general you shouldn't mess with it directly--it might
    become internal at some point).

  * ``FITS_record`` objects take ``start`` and ``end`` as arguments instead of
    ``startColumn`` and ``endColumn`` (these are rarely created manually, so
    it's unlikely that this change will affect anyone).

  * ``BinTableHDU.tcreate()`` is now a classmethod, and returns a new
    ``BinTableHDU`` instance.

  * Use ``ExtensionHDU`` and ``NonstandardExtHDU`` for making new extension HDU
    classes.  They are now public interfaces, wheres previously they were
    private and prefixed with underscores.

  * Possibly others--please report if you find any changes that cause
    difficulties.

- Calls to deprecated functions will display a Deprecation warning.  However,
  in Python 2.7 and up Deprecation warnings are ignored by default, so run
  Python with the `-Wd` option to see if you're using any deprecated
  functions.  If we get close to actually removing any functions, we might
  make the Deprecation warnings display by default.

- Added basic Python 3 support

- Added support for multi-dimensional columns in tables as specified by the
  TDIMn keywords (#47)

- Fixed a major memory leak that occurred when creating new tables with the
  ``new_table()`` function (#49)
  be padded with zero-bytes) vs ASCII tables (where strings are padded with
  spaces) (#15)

- Fixed a bug in which the case of Random Access Group parameters names was not
  preserved when writing (#41)

- Added support for binary table fields with zero width (#42)

- Added support for wider integer types in ASCII tables; although this is non-
  standard, some GEIS images require it (#45)

- Fixed a bug that caused the index_of() method of HDULists to crash when the
  HDUList object is created from scratch (#48)

- Fixed the behavior of string padding in binary tables (where strings should
  be padded with nulls instead of spaces)

- Fixed a rare issue that caused excessive memory usage when computing
  checksums using a non-standard block size (see r818)

- Add support for forced uint data in image sections (#53)

- Fixed an issue where variable-length array columns were not extended when
  creating a new table with more rows than the original (#54)

- Fixed tuple and list-based indexing of FITS_rec objects (#55)

- Fixed an issue where BZERO and BSCALE keywords were appended to headers in
  the wrong location (#56)

- ``FITS_record`` objects (table rows) have full slicing support, including
  stepping, etc. (#59)

- Fixed a bug where updating multiple files simultaneously (such as when
  running parallel processes) could lead to a race condition with mktemp()
  (#61)

- Fixed a bug where compressed image headers were not in the order expected by
  the funpack utility (#62)
jperkin pushed a commit that referenced this issue Mar 14, 2014
Changes since 4.0:
- Dropped support for Python below 2.5 and PostgreSQL below 8.3.
- Added support for Python up to 2.7 and PostgreSQL up to 9.2.
- Particularly, support PQescapeLiteral() and PQescapeIdentifier().
- The query method of the classic API now supports positional parameters.
  This an effective way to pass arbitrary or unknown data without worrying
  about SQL injection or syntax errors (contribution by Patrick TJ McPhee).
- The classic API now supports a method namedresult() in addition to
  getresult() and dictresult(), which returns the rows of the result
  as named tuples if these are supported (Python 2.6 or higher).
- The classic API has got the new methods begin(), commit(), rollback(),
  savepoint() and release() for handling transactions.
- Both classic and DBAPI 2 connections can now be used as context
  managers for encapsulating transactions.
- The execute() and executemany() methods now return the cursor object,
  so you can now write statements like "for row in cursor.execute(...)"
  (as suggested by Adam Frederick).
- Binary objects are now automatically escaped and unescaped.
- Bug in money quoting fixed.  Amounts of $0.00 handled correctly.
- Proper handling of date and time objects as input.
- Proper handling of floats with 'nan' or 'inf' values as input.
- Fixed the set_decimal() function.
- All DatabaseError instances now have a sqlstate attribute.
- The getnotify() method can now also return payload strings (#15).
- Better support for notice processing with the new methods
  set_notice_receiver() and get_notice_receiver()
  (as suggested by Michael Filonenko, see #12 and #37).
- Open transactions are rolled back when pgdb connections are closed
  (as suggested by Peter Harris, see #46).
- Connections and cursors can now be used with the "with" statement
  (as suggested by Peter Harris, see #46).
- New method use_regtypes() that can be called to let getattnames()
  return regular type names instead of the simplified classic types (#44).
jperkin pushed a commit that referenced this issue Mar 14, 2014
## 2.3.9: 2013-04-21

This is a msgmerge updated release.

### Improvements

  * [tools] Used the more modern word "cannot" instead of "can
    not". [GitHub #15] [Patch by Benjamin Kerensa]
  * Cleared license descriptions. [Suggested by Jérémy Bobbio]

### Fixes

  * Avoided including native extentions in this gem for Windows users.

### Thanks

  * Benjamin Kerensa
  * Jérémy Bobbio

## 2.3.8: 2013-04-05

This is a msgmerge improved release.

### Improvements

  * Added licence information to the gemspec.
    [GitHub #13] [Patch by jordimassaguerpla]
  * Supported Ruby 2.0.0.
    [GitHub #14] [Reported by mtasaka]

### Fixes

  * [rxgettext] Fixed a bug that the comment for the previous message
    also exists in the current message.
    [Debian #684184] [Reported by Francesco Poli] [Patch by Jérémy Bobbio]

### Thanks

  * jordimassaguerpla
  * mtasaka
  * Francesco Poli
  * Jérémy Bobbio
jperkin pushed a commit that referenced this issue Mar 14, 2014
Upstream changes:
2.19      2013-05-13 10:02:15 Australia/Melbourne

        * BUGFIX: Loading a file that does not change packages while
          autodie in effect no longer causes weird behaviour when
          slurpy built-ins (like open() and unlink()) are called. GH #22
          Thanks to Niels Thykier.

        * TEST: Tests for leak guard failures for slurpy core functions.

2.18      2013-05-12 18:12:14 Australia/Melbourne

        * TEST: More testing in scope_leak.t.

        * TEST: More testing around packages in truncate.t.

        * SPEED / INTERNAL: Significant improvements in load time,
          especially when autodie is used across multiple files,
          by caching reuseable subroutines and reducing calls to eval "".
          Huge thanks to Niels Thykier, who is a hero of the
          free people, and completely and utterly awesome.
          (RT #46984)

        * DOCUMENTATION: Spelling and correction fixes,
          courtesy David Steinbrunner.

        * DEVEL: Faster and more robust testing with travis-ci.

        * DEVEL: Some simple benchmarks bundled in the benchmarks/ directory.

2.17      2013-04-29 01:03:50 Australia/Melbourne

        * DOCS: Spelling fixes thanks to dsteinbrunner! (RT #84897)

        * DOCS: Fixed github links to point to 'pjf' rather than
          'pfenwick' (GH #18, thanks to Lx!)

        * INTERNAL: Silence warnings about experimental smart-match on
          5.17.11+ (via Brian Fraser and p5p)

        * TEST / BUILD: Generate .travis.yml files for CI testing via
          dzil.

2.16      2013-02-23 01:49:16 Australia/Melbourne

        * BUGFIX: Fix breakages under 5.8.x related to the new
          autodie::skip feature.

        * BUILD / BUGFIX: Remove dependency on parent.pm.

2.15      2013-02-22 23:55:22 Australia/Melbourne

        * BUILD / BUGFIX: Correct meta-info that wanted at least Perl
          v5.8.40, rather than v5.8.4.  Giant thanks to Paul Howarth
          for spotting this!

2.14      2013-02-22 15:43:33 Australia/Melbourne

        * FEATURE: Classes which claim they ->DOES('autodie::skip') are now
          skipped when generating exceptions.  This is mainly of use to
          utility classes. See `perldoc autodie::skip` for more details.
          (GH Issue #15)

        * FEATURE / BUGFIX / INCOMPAT: 'chmod' is now in the ':filesys'
          category (was in ':file').

        * BUGFIX: Added support for 'chown' and 'utime', that was
          previously overlooked. Mad props to RsrchBoy for spotting this.
          These are all in the ':filesys' category.
          (GH Pull #13)

        * BUGFIX: Added support for 'kill'. This is part of the
          ':ipc' category.

        * BUGFIX: Fixed bug whereby chmod, chown, kill, unlink and
          utime would not throw an exception when they didn't
          change all their files or signal all their processes.

        * TEST: truncate.t is now skipped on systems that don't have a
          working File::Temp.

        * TEST: open.t has a few more tests for exotic modes.

        * TEST: chown() tests are skipped on Win32, as chown on Windows
          is a no-op. (Thanks to Mithaldu for spotting this!)

        * TEST: Author tests now look for the AUTHOR_TESTING env
          variable (for dzil compliance).

        * TEST: Better testing for chown, chmod, and unlink.

        * TEST: Better testing for utime.

        * TEST: kwalitee.t is now only run when $ENV{RELEASE_TESTING} is set.

        * BUGFIX: Removed executable bits from some bundled text files.

        * BUILD: We now use dzil to manage autodie.

        * BUILD: Only Perl 5.8.4 and above is supported by autodie.
          Please upgrade your Perl distro if you're using 5.8.3 or
          below.

2.13  Thu Nov  8 14:22:03 EST 2012
        * TEST: Deterministic tests in hints_pod_examples.t .
          (RT #80412, thanks to demerphq)

        * INTERNAL: subroutine installs are now done in a
          deterministic order. (RT #80414, thanks to demerphq)
jperkin pushed a commit that referenced this issue Jun 2, 2014
Upstream changes:
-----------------------------------------
version 1.22 at 2014-04-23 21:15:10 +0000
-----------------------------------------

  Change: 7c1a27bdbab0089738942aaae5cf0a741bc5b377
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2014-04-23 22:15:10 +0000

    Look for gpatch if patch is not found

-----------------------------------------
version 1.20 at 2014-03-21 14:16:30 +0000
-----------------------------------------

  Change: 664f16a3e9c1b27b711dbd424a209d985b7801e4
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2014-03-21 14:16:30 +0000

    Update included hints files

-----------------------------------------
version 1.18 at 2014-02-20 20:02:45 +0000
-----------------------------------------

  Change: 659a308a8a5c6b0f87b9c16875ce71fca8e04c9e
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2014-02-20 20:02:45 +0000

    Update included hints to v5.19.9 level

-----------------------------------------
version 1.16 at 2014-01-17 10:59:57 +0000
-----------------------------------------

  Change: 8a3d35406361540497404dd1a3825394fd47f8d7
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2014-01-17 10:59:57 +0000

    Release engineering for 1.16

  Change: 7e4ab3377588f8f63de4ddc19d1f4cbf966a896c
  Author: Chris Williams <[email protected]>
  Date : 2014-01-16 16:55:37 +0000

    Merge pull request #16 from haarg/extra-phony

    add extra phony targets to help case insensitive file systems

  Change: c1be34c45a96334f90eb97020deb278e25de12cd
  Author: Chris Williams <[email protected]>
  Date : 2014-01-16 16:54:50 +0000

    Merge pull request #15 from haarg/db-configure

    Configure should check same Berkeley DB header DB_File uses

  Change: fd70e1b3b18dd093a25442c0c6fb473d1b06fee6
  Author: Graham Knop <[email protected]>
  Date : 2014-01-16 19:34:54 +0000

    add extra phony targets to help case insensitive file systems

  Change: da7a9f9303fd2fc4a8668660893b0dc0c2229751
  Author: Graham Knop <[email protected]>
  Date : 2014-01-14 11:54:06 +0000

    Configure should check same Berkeley DB header DB_File uses

-----------------------------------------
version 1.14 at 2013-10-20 15:38:09 +0000
-----------------------------------------

  Change: 0b1f81c0ce692a37bc8552cd278e90c0d0a3122c
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-10-20 16:38:09 +0000

    RT#89635 Configure on 5.6 uses sort +N, which isn't supported by
    modern sort(1)

    The two instances of 'sort -n +1' in Configure on perl 5.6 need to be
    replaced with the portable equivalent used since perl 5.7.3:

    ($sort -n -k 2 2>/dev/null || $sort -n +1)

    This works on both old and new sorts.

  Change: 9989391d5011cb1d518db37a32e9b8eeefafcc9a
  Author: Chris Williams <[email protected]>
  Date : 2013-09-25 12:19:09 +0000

    Merge pull request #14 from haarg/gconvert-5.6

    better gconvert detection

  Change: 0003e6aeaf8c055074b75ceea5accb22025ce776
  Author: Graham Knop <[email protected]>
  Date : 2013-09-25 10:30:53 +0000

    better gconvert detection

-----------------------------------------
version 1.12 at 2013-09-15 20:31:14 +0000
-----------------------------------------

  Change: 96317bf956f3b5ff36a30c41e293ff134101c6dc
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-09-15 21:31:14 +0000

    Add GNU/Hurd hints file

-----------------------------------------
version 1.10 at 2013-08-22 23:10:22 +0000
-----------------------------------------

  Change: 28b9d595ae1f44274a07bb8e845ac7173632b28d
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-23 00:10:22 +0000

    Only try to change perms if the hints file already exists

-----------------------------------------
version 1.08 at 2013-08-22 22:56:58 +0000
-----------------------------------------

  Change: fc01a16685418d3d2d20621c717836b1172982d3
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-22 23:56:58 +0000

    Support Bitrig all the way back to at least v5.8.9

-----------------------------------------
version 1.06 at 2013-08-22 21:03:11 +0000
-----------------------------------------

  Change: 045c78ad316cddf498ed22c05ce80430d2f51835
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-22 22:03:11 +0000

    Fix issues with Bitrig patch and version normalisation

-----------------------------------------
version 1.04 at 2013-08-22 20:48:36 +0000
-----------------------------------------

  Change: e53776114d6df0e124f1a60b8c313caa29a37166
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-22 21:48:36 +0000

    Remove Test::Compile from dzil configuration

-----------------------------------------
version 1.02 at 2013-08-22 20:12:47 +0000
-----------------------------------------

  Change: cdd0d8342146cdcb03638aadb3ccb67cb96f70e1
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-22 21:12:47 +0000

    Handle version number comparisons in a saner manner

  Change: 0120ad2d8b6ec5091ed47771c656e812ff991f37
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-08-22 19:38:13 +0000

    Added support for Bitrig

-----------------------------------------
version 1.00 at 2013-07-25 10:37:01 +0000
-----------------------------------------

  Change: 97f7d7261e9156edba84a2e45b5d0b7d9dd9aec8
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-07-25 11:37:01 +0000

    Set PATCH_GET env var to 0 to stop patch doing VCS madness

-----------------------------------------
version 0.98 at 2013-07-25 08:53:30 +0000
-----------------------------------------

  Change: 5e3d365324bb2ffa0ff756cb021fc98c2de87e57
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-07-25 09:53:30 +0000

    Bump to version 0.98

  Change: 0b699704fd0bfe61274270253a758e15157a0e4b
  Author: Chris 'BinGOs' Williams <[email protected]>
  Date : 2013-07-25 09:51:26 +0000

    Fix issues with patching Configure under Solaris

    gugod/App-perlbrew#355
jperkin pushed a commit that referenced this issue Jun 2, 2014
Changes:
2014-05-03  David Schweikert  <[email protected]>
  * Version 3.10
  * Fix confusing error message with -g and IPv6 addresses (#58, reported by
  * Axel Beckert)
  * Allow option '-f' also for non-root (since setuid privileges are
  * dropped)
  * Do not retry twice DNS lookup on DNS lookup problem
  * Remove support for NIS groups
  * Better document -B backoff-factor and when it can be used (#33, Oleksiy
  * Zagorskyi)
  * More tests added

2014-03-08  David Schweikert  <[email protected]>
  * Version 3.9
  * Fix random output on socket error (reported by Aleksandrs Saveljevs,
  * #56)
  * Support ppc64le architecture by including alpha libtool version
    (reported by Amit Kumar Gupta and Aravinda B Thunug)
  * Fix compilation problem on FreeBSD (#57)
  * Initial test suite and continous intergration (with travis-ci.org /
  * coveralls.io)
  * Don't output usage information on error

2013-11-08  David Schweikert  <[email protected]>
  * Version 3.8
  * Fix segmentation fault introduced in version 3.7 with loop mode
  * (reported
    by Vlad Glagolev, #55)

2013-11-04  David Schweikert  <[email protected]>
  * Version 3.7
  * Allow running as non-root on Mac OS X by using non-privileged ICMP (#7)
  * Remove unnecessary IPv6 socket options
  * Fix again compatibility issue with FreeBSD (Shawn Chu)
  * Fix fping hanging forever on permanent sendto failure (Shawn Chu)
  * Fix duplicate echo reply packets causing early stop in count mode
    (reported by Ramon Schwammberger, #53)

2013-10-10  David Schweikert  <[email protected]>
  * Version 3.6
  * Fix loop issue after 65536 pings (reported by Peter Folk and GBert, #12)
  * Minimum ping data size is now 0
  * Removed setsockopt IPV6_CHECKSUM, which shouldn't be set and breaks
    compiling on Solaris (reported by Juergen Arndt)
  * Fix wrong min RTT value with -Q option (reported by Alexander Ivanov,
  * #51)

2013-05-22  David Schweikert  <[email protected]>
  * Version 3.5
  * Fix sprint_tm buffer size crash (reported by Japheth Cleaver)
  * Addded -D flag to print timestamps (Toke Høiland-Jørgensen)
  * Fix fping6 build on OS X 10.8 (unknown contributor)
  * Fix compatibility issue with FreeBSD (Alexandre Raynaud, Jason Harris,
  * #39)
  * Fping.spec: fix setuid permissions and provides fping6 (Marcus Vinicius
  * Ferreira)
  * Re-create configure script with autoconf 2.69 for aarch64 support (Chuck
  * Anderson, #45)

2012-09-04  David Schweikert  <[email protected]>
  * Version 3.4
  * Revert "Output statistics to stdout instead of stderr", because it
  * breaks
    tools assuming the output goes to stderr

2012-08-19  David Schweikert  <[email protected]>
  * Version 3.3
  * Do not output icmp errors with -q (#1)
  * Add --enable-ipv4 and --enable-ipv6 options to configure (Niclas
  * Zeising)
  * Fix removing of unreachable hosts when doing loop (Thomas Liske, #13
  * #23)
  * Fix -A for fping6 (reported by Matt LaPlante, #14)
  * Fix "options inet6" breaking IPv4 name resolution (reported by Matt
  * LaPlante, #17)
  * Output statistics to stdout instead of stderr (suggested by Simon
  * Leinen, #9)
  * Set default data size to 56 bytes on all architectures (#18)
  * Added contrib/fping.spec (Stephen Schaefer, #24)
  * Convert man-page source to POD for easier maintenance
  * Fix error message on DNS error for IPv6 hosts (#27)
  * Fix -n flag in fping6 (#28)
  * Man-page fix: TOS option typo (Thomas Liske, #23)
  * Man-page fix: inconsistency in regards to numeric arguments (Robert
  * Henney)
  * Man-page fix: better description of option -q (#15)

2012-05-29  David Schweikert  <[email protected]>
  * Version 3.2
  * Improve documentation for -g option (G.W. Haywood)
  * Performance optimization for big select timeouts (#10, Andrey
  * Bondarenko)
  * Fix restart of select call after interrupt signal (#8, Boian Bonev)
  * Fix infinite loop caused by linked list corruption (#11, Boian Bonev)

2012-04-26  David Schweikert  <[email protected]>
  * Version 3.1
  * -g option (generate): exclude network and broadcast address for cidr
    ranges (idea by Eric Brander)
  * do not explicitely check if running as root, to make it possible to
    install fping with linux capabilities instead of making it setuid
    (setcap cap_net_raw+ep fping)
  * ANSI C (C89) compiler now a requirement
  * Portability fixes
  * Reorganized source directory
  * Bugfix: fix timeout issue on Solaris (Sandor Geller)
  * Man-page fixes (Axel Beckert)
  * Added -H option to specify number of hops (Paul Duda)
  * Output usage information to stdout when called with -h (Paul Duda)

2011-12-28  David Schweikert  <[email protected]>
  * Version 3.0
  * rewritten main loop for improved performance
  * -T parameter (select timeout) now obsolete
  * Maintenance taken over from unresponsive previous maintainer
    (anybody please step up, if you disagree)
  * New homepage: www.fping.org

2009-12-21  Tobi Oetiker  <[email protected]>
  * Version v2.4b2-to3-ipv6
  * added -On option to set the TOS octet
  * Removed unused variables from code
  * updated to current autoconf standards
  * Merged Debian changes (see below)

----------------------------------------------------------------------

fping (2.4b2-to-ipv6-16.1) unstable; urgency=low

  * NMU during Moenchengladbach BSP
  * Fixes FTBFS on kfreebsd (Closes: #555398)
  * Fixes typo "Paramter" in binary

 -- Axel Beckert <[email protected]>  Sat, 23 Jan 2010 16:22:02 +0100

fping (2.4b2-to-ipv6-16) unstable; urgency=low

  * Fix the following bugs
    - Network byte order sensitivity was missing completely.
      Added hopefully all missing calls.
    - The sequence numbering scheme used led to packet drops.
      Changed it to a more senseful numbering scheme.
    - Some minor C programming mistakes ('=' instead of '==').
    Patch by Stephan Fuhrmann; closes: #502569
  * Add support for command line select timeout setting
    Patch by Marton Balint; closes: #502575
  * Remove symlinks in /usr/sbin; closes: #377732
  * Standards-Version is 3.8.0

 -- Anibal Monsalve Salazar <[email protected]>  Sat, 18 Oct 2008 12:04:52
 -- +1100

fping (2.4b2-to-ipv6-15) unstable; urgency=low

  * Added interface binding (-I) for fping
    Patch by Peter Naulls <[email protected]>
    Closes: #439014
  * Fixed a couple of typos in fping.8. Closes: #423180
  * Added homepage control header
  * Bumped Standards-Version to 3.7.3
  * Fixed the following lintian issue:
    - debian-rules-sets-DH_COMPAT

 -- Anibal Monsalve Salazar <[email protected]>  Mon, 03 Mar 2008 17:46:17
 -- +1100

fping (2.4b2-to-ipv6-13) unstable; urgency=low

  * Fixed stdout flush problem, closes: #340146.
    Patch by Bart Martens <[email protected]>.

 -- Anibal Monsalve Salazar <[email protected]>  Fri, 30 Dec 2005 08:30:09
 -- +1100

fping (2.4b2-to-ipv6-12) unstable; urgency=low

  * Fixed "problem with option -r (retry limit)", closes: #318402.
    Patch by Qingning Huo <[email protected]>.

 -- Anibal Monsalve Salazar <[email protected]>  Sat, 08 Oct 2005 21:26:35
 -- +1000

fping (2.4b2-to-ipv6-11) unstable; urgency=low

  * Fixed "would be useful to specify 'source address' like ping for multi
    homed machines", closes: #198486.
    Patch by Marc Haber <[email protected]>.

 -- Anibal Monsalve Salazar <[email protected]>  Thu, 02 Jun 2005 08:14:54
 -- +1000

fping (2.4b2-to-ipv6-10) unstable; urgency=low

  * Fixed "unnecessary delay with the -c option after the last packet"
    (Closes: #293856). Patch by Niko Tyni <[email protected]>

 -- Anibal Monsalve Salazar <[email protected]>  Sun, 06 Feb 2005 23:25:57
 -- +1100

fping (2.4b2-to-ipv6-9) unstable; urgency=low

  * Fixed "fping6 always does reverse lookup" (Closes: #273647).
    Patch by Jeroen Massar and forwarded by Bernhard Schmidt
<[email protected]>

 -- Anibal Monsalve Salazar <[email protected]>  Mon, 10 Jan 2005
 -- 00:01:32 +1100

fping (2.4b2-to-ipv6-7) unstable; urgency=low

  * Build fping in build/ipv[46] instead of build and build-ipv6.
  * Made DNS errors non-fatal for IPv6 (closes: #198056).

 -- Herbert Xu <[email protected]>  Fri, 20 Jun 2003 21:36:30 +1000

fping (2.4b2-to-ipv6-6) unstable; urgency=low

  * Do not use incorrect linux.h file (closes: #85468).

 -- Herbert Xu <[email protected]>  Sat, 17 May 2003 14:13:11 +1000

fping (2.4b2-to-ipv6-5) unstable; urgency=low

  * Fixed yet another divide by zero bug (closes: #148445).

 -- Herbert Xu <[email protected]>  Tue,  4 Jun 2002 12:18:03 +1000

fping (2.4b2-to-ipv6-4) unstable; urgency=low

  * Made fping6 setuid (closes: #136386).
  * Moved fping back into bin.
  * Partially applied IPv6 patch to fix IPv6 checksums (closes: #136479).

 -- Herbert Xu <[email protected]>  Sun,  7 Apr 2002 20:36:56 +1000

fping (2.4b2-to-ipv6-3) unstable; urgency=low

  * Added compatibility symlink for fping (closes: #135203).

 -- Herbert Xu <[email protected]>  Sat, 23 Feb 2002 08:34:11 +1100

fping (2.4b2-to-ipv6-2) unstable; urgency=low

  * Fixed another divide by zero error (closes: #132370).

 -- Herbert Xu <[email protected]>  Thu,  7 Feb 2002 20:10:48 +1100

fping (2.4b2-to-ipv6-1) unstable; urgency=low

  * New upstream release.
  * Install fping into sbin as done by upstream.
jperkin pushed a commit that referenced this issue Dec 1, 2014
The update request to 1.0.18 from doc/TODO ([but actually obsolete,
switch to libusb]) has been done.

(upstream)
  Update 1.0.11 to 1.0.18
For detailed information about the changes below, please see the git log or
visit: http://log.libusbx.org

2014-01-25: v1.0.18 *FINAL RELEASE*
* Last release of libusbx, as the project is merging back again with libusb.
  As a result, continuation of the project will now occur from the following:
  o Main site:          http://libusb.info
  o Git repository:     https://github.com/libusb/libusb
  o SF repository:      https://sourceforge.net/projects/libusb/
  o Mailing list:       [email protected] (registration req.)
* Fix multiple memory leaks
* Fix a crash when HID transfers return no data on Windows
* Ensure all pending events are consumed
* Improve Android and ucLinux support
* Multiple Windows improvements (error logging, VS2013, VIA xHCI support)
* Multiple OS X improvements (broken compilation, SIGFPE, 64bit support)

2013-09-06: v1.0.17
* Hotplug callbacks now always get passed a libusb_context, even if it is
  the default context. Previously NULL would be passed for the default context,
  but since the first context created is the default context, and most apps
  use only 1 context, this meant that apps explicitly creating a context would
  still get passed NULL
* Android: Add .mk files to build with the Android NDK
* Darwin: Add Xcode project
* Darwin: Fix crash on unplug (#121)
* Linux: Fix hang (deadlock) on libusb_exit
* Linux: Fix libusbx build failure with --disable-udev (#124)
* Linux: Fix libusb_get_device_list() hang with --disable-udev (#130)
* OpenBSD: Update OpenBSD backend with support for control transfers to
  non-ugen(4) devices and make get_configuration() no longer generate I/O.
  Note that using this libusbx version on OpenBSD requires using
  OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised
  to stay with the libusb shipped with OpenBSD (mpi)
* Windows: fix libusb_dll_2010.vcxproj link errors (#129)
* Various other bug fixes and improvements
The (#xx) numbers are libusbx issue numbers, see ie:
https://github.com/libusbx/libusbx/issues/121

2013-07-11: v1.0.16
* Add hotplug support for Darwin and Linux (#9)
* Add superspeed endpoint companion descriptor support (#15)
* Add BOS descriptor support (#15)
* Make descriptor parsing code more robust
* New libusb_get_port_numbers API, this is libusb_get_port_path without
  the unnecessary context parameter, libusb_get_port_path is now deprecated
* New libusb_strerror API (#14)
* New libusb_set_auto_detach_kernel_driver API (#17)
* Improve topology API docs (#95)
* Logging now use a single write call per log-message, avoiding log-message
  "interlacing" when using multiple threads.
* Android: use Android logging when building on Android (#101)
* Darwin: make libusb_reset reenumerate device on descriptors change (#89)
* Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91)
* Darwin: add a device cache (#112, #114)
* Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109)
* Many other bug fixes and improvements
The (#xx) numbers are libusbx issue numbers, see ie:
https://github.com/libusbx/libusbx/issues/9

2013-04-15: v1.0.15
* Improve transfer cancellation and avoid short read failures on broken descriptors
* Filter out 8-bit characters in libusb_get_string_descriptor_ascii()
* Add WinCE support
* Add library stress tests
* Add Cypress FX3 firmware upload support for fxload sample
* Add HID and kernel driver detach support capabilities detection
* Add SuperSpeed detection on OS X
* Fix bInterval value interpretation on OS X
* Fix issues with autoclaim, composite HID devices, interface autoclaim and
  early abort in libusb_close() on Windows. Also add VS2012 solution files.
* Improve fd event handling on Linux
* Other bug fixes and improvements

2012-09-26: v1.0.14
* Reverts the previous API change with regards to bMaxPower.
  If this doesn't matter to you, you are encouraged to keep using v1.0.13,
  as it will use the same attribute as v2.0, to be released soon.
* Note that LIBUSBX_API_VERSION is *decreased* to 0x010000FF and the previous
  guidelines with regards to concurrent use of MaxPower/bMaxPower still apply.

2012-09-20: v1.0.13
* [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where
  MaxPower was used instead of bMaxPower, as defined in the specs. If your
  application was accessing the MaxPower attribute, and you need to maintain
  compatibility with libusb or older versions, see APPENDIX A below.
* Fix broken support for the 0.1 -> 1.0 libusb-compat layer
* Fix unwanted cancellation of pending timeouts as well as major timeout related bugs
* Fix handling of HID and composite devices on Windows
* Introduce LIBUSBX_API_VERSION macro
* Add Cypress FX/FX2 firmware upload sample, based on fxload from
  http://linux-hotplug.sourceforge.net
* Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while
  the drivers allow it, isochronous transfers are not supported yet in libusbx. Also
  not supported yet is the use of libusb-win32 filter drivers on composite interfaces
* Add support for the new get_capabilities ioctl on Linux and avoid unnecessary
  splitting of bulk transfers
* Improve support for newer Intel and Renesas USB 3.0 controllers on Windows
* Harmonize the device number for root hubs across platforms
* Other bug fixes and improvements

2012-06-15: v1.0.12
* Fix a potential major regression with pthread on Linux
* Fix missing thread ID from debug log output on cygwin
* Fix possible crash when using longjmp and MinGW's gcc 4.6
* Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path()
* Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable
* Define log levels in libusb.h and set timestamp origin to first libusb_init() call
* All logging is now sent to to stderr (info was sent to stdout previously)
* Update log messages severity and avoid polluting log output on OS-X
* Add HID driver support on Windows
* Enable interchangeability of MSVC and MinGW DLLs
* Additional bug fixes and improvements
jperkin pushed a commit that referenced this issue Mar 5, 2015
Add missing DEPENDS

Upstream changes:
1.16      2015-02-24
	- podspell script: set output encoding from locale CTYPE (DOLMEN)

1.15      2014-02-28
	- Convert to strict mode of File::ShareDir::ProjectDistDir (KENTNL)
	- change to use Path::Tiny->lines_utf8

1.14      2014-02-12
	- Discontinue use of File::Slurp, use Path::Tiny->lines instead
	  GH #15 ( Ether )

1.13      2013-11-02
	- fix encoding issues issues in pod for perldoc

1.12      2013-10-17
	- improve documentation

1.11      2013-10-17
	- fix shebang to /usr/bin/perl for EUMM replacment GH #13 (dolmen)

1.10      2013-09-27
	[FEATURES]
	- added 'no_wide_chars' option to strip words with such characters
	  from the output.  This may help spellcheckers that can't cope
	  with UTF-8
	[CHANGED]
	- improved punctuation stripping algorithm for better word
	  isolation (example C<< "hello". >> now is found as "hello")
	- strips all word that do not have at least one \w character
	  as a spellchecker isn't likely to do anything useful with them
	[DOCUMENTED]
	- added recommendations for dealing with character encoding

1.09      2013-09-25
	[FIXED]
	- stopwords with 's are learned without 's to match how they are
	  checked
	[CHANGED]
	- leading and trailing punctuation is entirely stripped since the
	  spellchecker won't care anyway.  Trailing periods are *not*
	  stripped as they might be abbreviations ("Ph.D."), but such words
	  are checked against the stoplist both with and without
	  trailing periods to account for abbreviations and words at the
	  end of a sentence.

1.08      2013-09-24
	[FIXED]
	- hyphenated word parts are also checked against the stoplist
	  and stripped (dagolden) GH #9
	[DOCUMENTED]
	- noted that stopwords must be added before words appear in Pod

1.07      2013-09-14
	- add many words
	[FEATURES]
	- Pod::Wordlist is an Object ( dagolden )
	- Lingua::EN::Inflect is used to reduce requiring plurals in the list
	  ( dagolden )
	- the wordlist is now a sharedir file
	[DEPRECATED]
	- accessing %Pod::Wordlist::Wordlist directly

1.06      2013-09-08
	- import stopwords from Pod::Wordlist::hanekomu except names

1.05      2013-07-07
	- add stopwords
jperkin pushed a commit that referenced this issue Apr 16, 2015
2.8.2 (2015-01-02)

    Fix amount cell painting which didn’t work properly. [Windows] (#407)
    Fix import window’s checkbox cell which would sometimes wrongly go in edit mode. [Linux, Windows] (#406)
    Fix chart visibility glitch in account view. [Mac] (#357)
    Add a --no-ext build option. (#408)

2.8.1 (2014-12-14)

    Fix amount deletion bug on drag & drop transaction re-ordering. [Linux, Windows] (#402)
    Fix bug where clicking account-jumping arrows would lead to the wrong place. [Linux, Windows] (#404)

2.8.0 (2014-11-09)

    Make amount fields prettier. Thanks Nelson Brown! [Windows, Linux] (#14 #15)
    In sheets, make totals’ currency explicit when in multi-currency context. (#392)
    Add “Assign imbalance” button to the Transaction panel. (#398)
    Fix glitch in sheets expanded nodes restoration. [Mac] (#388)
    Fix a QIF transaction matching bug.
    Fix account selection glitch causing the account to lose focus. [Windows, Linux]
    Fix IndexError on file switching. [Windows, Linux] (#393)
    Remove Cashculator integration. It was broken anyway. [Mac]
    Greatly improve developer documentation.
    Minimum OS X version is now Lion (10.7).
    Minimum Windows version is now Windows 7. 64-bit required.
    Minimum Ubuntu version is now 14.04.
jperkin pushed a commit that referenced this issue Apr 24, 2015
------------------
Release history for File-ShareDir-ProjectDistDir

1.000005 2015-04-14T12:54:44Z 6999a7d
 [Dependencies]
 - Minimums dropped.

 [Dependencies::Stats]
 - Dependencies changed since 1.000004, see misc/*.deps* for details
 - configure: +1 (recommends: up 1)
 - develop: +8 up 3 -2 (recommends: +1, suggests: up 2)
 - runtime: down 1 -1 (recommends: +1)
 - test: +1 (recommends: up 1 down 1)

 [Documentation]
 - Erroneous synopsis fixed, thanks to Michael Jemmeson/MJEMMESON (GH #15)
jperkin pushed a commit that referenced this issue Jun 17, 2015
CHANGES:
0.10.13
    #24, support Ratio in some places
    ndmitchell/cmdargs#24
0.10.12
    GHC 7.2 compatibility
0.10.11
    #15, never put [brackets] around optional args in Explicit
    ndmitchell/cmdargs#15
jperkin pushed a commit that referenced this issue Aug 17, 2015
Upstream changes:
CHANGES IN R 3.2.2:

  SIGNIFICANT USER-VISIBLE CHANGES:

    * It is now easier to use secure downloads from https:// URLs on
      builds which support them: no longer do non-default options need
      to be selected to do so.  In particular, packages can be
      installed from repositories which offer https:// URLs, and those
      listed by setRepositories() now do so (for some of their
      mirrors).

      Support for https:// URLs is available on Windows, and on other
      platforms if support for libcurl was compiled in and if that
      supports the https protocol (system installations can be expected
      to do).  So https:// support can be expected except on rather old
      OSes (an example being OS X 'Snow Leopard', where a non-system
      version of libcurl can be used).

      (Windows only) The default method for accessing URLs _via_
      download.file() and url() has been changed to be "wininet" using
      Windows API calls.  This changes the way proxies need to be set
      and security settings made: there have been some reports of sites
      being inaccessible under the new default method (but the previous
      methods remain available).

  NEW FEATURES:

    * cmdscale() gets new option list. for increased flexibility when a
      list should be returned.

    * configure now supports texinfo version 6.0, which (unlike the
      change from 4.x to 5.0) is a minor update.  (Wish of PR#16456.)

    * (Non-Windows only) download.file() with default method = "auto"
      now chooses "libcurl" if that is available and a https:// or
      ftps:// URL is used.

    * (Windows only) setInternet2(TRUE) is now the default.  The
      command-line option --internet2 and environment variable
      R_WIN_INTERNET2 are now ignored.

      Thus by default the "internal" method for download.file() and
      url() uses the "wininet" method: to revert to the previous
      default use setInternet2(FALSE).

      This means that https:// can be read by default by
      download.file() (they have been readable by file() and url()
      since R 3.2.0).

      There are implications for how proxies need to be set (see
      ?download.file): also, cacheOK = FALSE is not supported.

    * chooseCRANmirror() and chooseBioCmirror() now offer HTTPS mirrors
      in preference to HTTP mirrors.  This changes the interpretation
      of their ind arguments: see their help pages.

    * capture.output() gets optional arguments type and split to pass
      to sink(), and hence can be used to capture messages.

  C-LEVEL FACILITIES:

    * Header Rconfig.h now defines HAVE_ALLOCA_H if the platform has
      the alloca.h header (it is needed to define alloca on Solaris and
      AIX, at least: see 'Writing R Extensions' for how to use it).

  INSTALLATION and INCLUDED SOFTWARE:

    * The libtool script generated by configure has been modified to
      support FreeBSD >= 10 (PR#16410).

  BUG FIXES:

    * The HTML help page links to demo code failed due to a change in R
      3.2.0.  (PR#16432)

    * If the na.action argument was used in model.frame(), the original
      data could be modified. (PR#16436)

    * getGraphicsEvent() could cause a crash if a graphics window was
      closed while it was in use. (PR#16438)

    * matrix(x, nr, nc, byrow = TRUE) failed if x was an object of type
      "expression".

    * strptime() could overflow the allocated storage on the C stack
      when the timezone had a non-standard format much longer than the
      standard formats. (Part of PR#16328.)

    * options(OutDec = s) now signals a warning (which will become an
      error in the future) when s is not a string with exactly one
      character, as that has been a documented requirement.

    * prettyNum() gains a new option input.d.mark which together with
      other changes, e.g., the default for decimal.mark, fixes some
      format()ting variants with non-default getOption("OutDec") such
      as in PR#16411.

    * download.packages() failed for type equal to either "both" or
      "binary".  (Reported by Dan Tenenbaum.)

    * The dendrogram method of labels() is much more efficient for
      large dendrograms, now using rapply().  (Comment #15 of PR#15215)

    * The "port" algorithm of nls() could give spurious errors.
      (Reported by Radford Neal.)

    * Reference classes that inherited from reference classes in
      another package could invalidate methods of the inherited class.
      Fixing this requires adding the ability for methods to be
      "external", with the object supplied explicitly as the first
      argument, named .self. See "Inter-Package Superclasses" in the
      documentation.

    * readBin() could fail on the SPARC architecture due to alignment
      issues.  (Reported by Radford Neal.)

    * qt(*, df=Inf, ncp=.) now uses the natural qnorm() limit instead
      of returning NaN. (PR#16475)

    * Auto-printing of S3 and S4 values now searches for print() in the
      base namespace and show() in the methods namespace instead of
      searching the global environment.

    * polym() gains a coefs = NULL argument and returns class "poly"
      just like poly() which gets a new simple=FALSE option.  They now
      lead to correct predict()ions, e.g., on subsets of the original
      data.

    * rhyper(nn, <large>) now works correctly. (PR#16489)

    * ttkimage() did not (and could not) work so was removed. Ditto for
      tkimage.cget() and tkimage.configure(). Added two Ttk widgets and
      missing subcommands for Tk's image command: ttkscale(),
      ttkspinbox(), tkimage.delete(), tkimage.height(),
      tkimage.inuse(), tkimage.type(), tkimage.types(),
      tkimage.width(). (PR#15372, PR#16450)

    * getClass("foo") now also returns a class definition when it is
      found in the cache more than once.
jperkin pushed a commit that referenced this issue Aug 24, 2015
ok wiz@.

pkgsrc changes:
* Delete a patch that is now imported upstream
* Add test target support

Changes:
2014-05-30: v1.0.19
* Add support for USB bulk streams on Linux and Mac OS X (#11)
* Windows: Add AMD and Intel USB-3.0 root hub support
* Windows: Fix USB 3.0 speed detection on Windows 8 or later (#10)
* Added Russian translation for libusb_strerror strings
* All: Various small fixes and cleanups
The (#xx) numbers are libusb issue numbers, see ie:
libusb/libusb#11

2014-01-25: v1.0.18
* Fix multiple memory leaks
* Fix a crash when HID transfers return no data on Windows
* Ensure all pending events are consumed
* Improve Android and ucLinux support
* Multiple Windows improvements (error logging, VS2013, VIA xHCI support)
* Multiple OS X improvements (broken compilation, SIGFPE, 64bit support)

2013-09-06: v1.0.17
* Hotplug callbacks now always get passed a libusb_context, even if it is
  the default context. Previously NULL would be passed for the default context,
  but since the first context created is the default context, and most apps
  use only 1 context, this meant that apps explicitly creating a context would
  still get passed NULL
* Android: Add .mk files to build with the Android NDK
* Darwin: Add Xcode project
* Darwin: Fix crash on unplug (#121)
* Linux: Fix hang (deadlock) on libusb_exit
* Linux: Fix libusb build failure with --disable-udev (#124)
* Linux: Fix libusb_get_device_list() hang with --disable-udev (#130)
* OpenBSD: Update OpenBSD backend with support for control transfers to
  non-ugen(4) devices and make get_configuration() no longer generate I/O.
  Note that using this libusb version on OpenBSD requires using
  OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised
  to stay with the libusb shipped with OpenBSD (mpi)
* Windows: fix libusb_dll_2010.vcxproj link errors (#129)
* Various other bug fixes and improvements

2013-07-11: v1.0.16
* Add hotplug support for Darwin and Linux (#9)
* Add superspeed endpoint companion descriptor support (#15)
* Add BOS descriptor support (#15)
* Make descriptor parsing code more robust
* New libusb_get_port_numbers API, this is libusb_get_port_path without
  the unnecessary context parameter, libusb_get_port_path is now deprecated
* New libusb_strerror API (#14)
* New libusb_set_auto_detach_kernel_driver API (#17)
* Improve topology API docs (#95)
* Logging now use a single write call per log-message, avoiding log-message
  "interlacing" when using multiple threads.
* Android: use Android logging when building on Android (#101)
* Darwin: make libusb_reset reenumerate device on descriptors change (#89)
* Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91)
* Darwin: add a device cache (#112, #114)
* Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109)
* Many other bug fixes and improvements
The (#xx) numbers are libusbx issue numbers, see ie:
https://github.com/libusbx/libusbx/issues/9

2013-04-15: v1.0.15
* Improve transfer cancellation and avoid short read failures on broken descriptors
* Filter out 8-bit characters in libusb_get_string_descriptor_ascii()
* Add WinCE support
* Add library stress tests
* Add Cypress FX3 firmware upload support for fxload sample
* Add HID and kernel driver detach support capabilities detection
* Add SuperSpeed detection on OS X
* Fix bInterval value interpretation on OS X
* Fix issues with autoclaim, composite HID devices, interface autoclaim and
  early abort in libusb_close() on Windows. Also add VS2012 solution files.
* Improve fd event handling on Linux
* Other bug fixes and improvements

2012-09-26: v1.0.14
* Reverts the previous API change with regards to bMaxPower.
  If this doesn't matter to you, you are encouraged to keep using v1.0.13,
  as it will use the same attribute as v2.0, to be released soon.
* Note that LIBUSB_API_VERSION is *decreased* to 0x010000FF and the previous
  guidelines with regards to concurrent use of MaxPower/bMaxPower still apply.

2012-09-20: v1.0.13
* [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where
  MaxPower was used instead of bMaxPower, as defined in the specs. If your
  application was accessing the MaxPower attribute, and you need to maintain
  compatibility with libusb or older versions, see APPENDIX A below.
* Fix broken support for the 0.1 -> 1.0 libusb-compat layer
* Fix unwanted cancellation of pending timeouts as well as major timeout related bugs
* Fix handling of HID and composite devices on Windows
* Introduce LIBUSB_API_VERSION macro
* Add Cypress FX/FX2 firmware upload sample, based on fxload from
  http://linux-hotplug.sourceforge.net
* Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while
  the drivers allow it, isochronous transfers are not supported yet in libusb. Also
  not supported yet is the use of libusb-win32 filter drivers on composite interfaces
* Add support for the new get_capabilities ioctl on Linux and avoid unnecessary
  splitting of bulk transfers
* Improve support for newer Intel and Renesas USB 3.0 controllers on Windows
* Harmonize the device number for root hubs across platforms
* Other bug fixes and improvements

2012-06-15: v1.0.12
* Fix a potential major regression with pthread on Linux
* Fix missing thread ID from debug log output on cygwin
* Fix possible crash when using longjmp and MinGW's gcc 4.6
* Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path()
* Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable
* Define log levels in libusb.h and set timestamp origin to first libusb_init() call
* All logging is now sent to to stderr (info was sent to stdout previously)
* Update log messages severity and avoid polluting log output on OS-X
* Add HID driver support on Windows
* Enable interchangeability of MSVC and MinGW DLLs
* Additional bug fixes and improvements

2012-05-08: v1.0.11
* Revert removal of critical Windows event handling that was introduced in 1.0.10
* Fix a possible deadlock in Windows when submitting transfers
* Add timestamped logging
* Add NetBSD support (experimental) and BSD libusb_get_device_speed() data
* Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure)
* Search for device nodes in /dev for Android support
* Other bug fixes

2012-04-17: v1.0.10
* Public release
* Add libusb_get_version
* Add Visual Studio 2010 project files
* Some Windows code cleanup
* Fix xusb sample warnings

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
APPENDIX A - How to maintain code compatibility with versions of libusb and
libusb that use MaxPower:

If you must to maintain compatibility with versions of the library that aren't
using the bMaxPower attribute in struct libusb_config_descriptor, the
recommended way is to use the new LIBUSB_API_VERSION macro with an #ifdef.
For instance, if your code was written as follows:

  if (dev->config[0].MaxPower < 250)

Then you should modify it to have:

#if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01000100)
  if (dev->config[0].bMaxPower < 250)
#else
  if (dev->config[0].MaxPower < 250)
#endif
jperkin pushed a commit that referenced this issue Oct 19, 2015
Upstream changes:
3.003     2015-09-28T00:29:45Z

  - Bump Pod::Simple prereq to fix bugs that were causing test failures.
  - Use Pod::Simple's nbsp_for_S(1) by default instead of handling S<> sequences internally.
    This means the feature can now also be disabled if desired.
  - Portability improvements for non-ascii platforms.

3.002     2015-08-21T03:24:24Z

  - Add attribution to changelog.

3.001     2015-08-21T03:17:57Z

  - Increase Pod::Simple requirement to 3.26 for detected_encoding().
    Thanks to Lee J for reporting! (gh-15).

3.000     2015-08-16T21:55:14Z

  [Bug Fixes]
  - Literal ampersands and left angle brackets are encoded as html entities
    when necessary to avoid interpretation as html.
    http://stackoverflow.com/questions/28496298/escape-angle-brackets-using-podmarkdown

  [API Changes]
  - Make accessors read/write (instead of read-only)
    for consistency with Pod::Simple classes.
  - Passing unknown arguments to the constructor now produces a warning
    and in the future may throw an error.
  - For consistency with the other html-entity changes, NBSP characters (U+00A0)
    are now used literally for S<> sequences.
    This also fixes a bug with code spans nested inside of S<> sequences.

  [New Attributes]
  - Add `html_encode_chars` attribute to allow customizing what characters
    should be html entity encoded.
  - Add `match_encoding` attribute to use the same encoding as the input pod
    when writing to the output handle.
  - Add `output_encoding` attribute to specify the desired encoding
    to apply to the output handle.

  [pod2markdown script]
  - Add command line options corresponding to new module attributes.
  - The script now defaults to UTF-8 encoding if no encoding options are specified.
    Previous versions did not produce consistent output and would sometimes emit warnings.
    Closes gh-14 and rt-101536.

  [Documentation]
  - Remove documentation for deprecated API
    (parse_from_file(), parse_from_filehandle(), and as_markdown())
    to further discourage use.

  [New Packages]
  - Added Pod::Perldoc::ToMarkdown to enable `perldoc -o Markdown ...`
    Pod::Markdown maintains a backward compatible interface that is incompatible
    with perldoc's `-o` so this module has been added to enable the functionality.
    Thanks to Alberto Sim繭es for investigating (gh-12) and providing some code to fix it (gh-13).
jperkin pushed a commit that referenced this issue Dec 4, 2015
== 1.8 / 2015-10-26

* 1 minor enhancement:

  * Add an optional +alpha+ parameter to all #css_rgba calls. Thanks to Luke
    Bennellick (@Bennell) and Alexander Popov (@AlexWayfer) for independently
    implemented submissions. Merged from #15.

* 2 minor bug fixes:

  * Improve constant detection to prevent incorrectly identified name
    collisions with various other libraries such as Azure deployment tools.
    Based on work by Matthew Draper (@matthewd) in #24.

  * Prevent Color.equivalent? comparisons from using non-Color types for
    comparison. Fix provided by Benjamin Guest (@bguest) in #18.

* 1 governance change

  * This project now has a {Code of Conduct}[Code-of-Conduct_rdoc.html]
jperkin pushed a commit that referenced this issue Jan 9, 2016
Version 1.2.2 - 8-Aug-2014
--------------------------

* Fix an error with duplicates being returned by Timezone#all_country_zones
  and Timezone#all_country_zone_identifiers when used with tzinfo-data
  v1.2014.6 or later.
* Use the zone1970.tab file for country timezone data if it is found in the
  zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added
  in tzdata 2014f. zone.tab is now deprecated.


Version 1.2.1 - 1-Jun-2014
--------------------------

* Support zoneinfo files generated with zic version 2014c and later.
* On platforms that only support positive 32-bit timestamps, ensure that
  conversions are accurate from the epoch instead of just from the first
  transition after the epoch.
* Minor documentation improvements.


Version 1.2.0 - 26-May-2014
---------------------------

* Raise the minimum supported Ruby version to 1.8.7.
* Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
  Resolves #15.
* Add canonical_identifier and canonical_zone methods to Timezone. Resolves #16.
* Add a link to a DataSourceNotFound help page in the TZInfo::DataSourceNotFound
  exception message.
* Load iso3166.tab and zone.tab files as UTF-8.
* Fix Timezone#local_to_utc returning local Time instances on systems using UTC
  as the local time zone. Resolves #13.
* Fix == methods raising an exception when passed an instance of a different
  class by making <=> return nil if passed a non-comparable argument.
* Eliminate "require 'rational'" warnings. Resolves #10.
* Eliminate "assigned but unused variable - info" warnings. Resolves #11.
* Switch to minitest v5 for unit tests. Resolves #18.


Version 1.1.0 - 25-Sep-2013
---------------------------

* TZInfo is now thread safe. ThreadSafe::Cache is now used instead of Hash
  to cache Timezone and Country instances returned by Timezone.get and
  Country.get. The tzinfo gem now depends on thread_safe ~> 0.1.
* Added a transitions_up_to method to Timezone that returns a list of the times
  where the UTC offset of the timezone changes.
* Added an offsets_up_to method to Timezone that returns the set of offsets
  that have been observed in a defined timezone.
* Fixed a "can't modify frozen String" error when loading a Timezone from a
  zoneinfo file using an identifier String that is both tainted and frozen.
  Resolves #3.
* Support TZif3 format zoneinfo files (now produced by zic from tzcode version
  2013e onwards).
* Support using YARD to generate documentation (added a .yardopts file).
* Ignore the +VERSION file included in the zoneinfo directory on Mac OS X.
* Added a note to the documentation concerning 32-bit zoneinfo files (as
  included with Mac OS X).


Version 1.0.1 - 22-Jun-2013
---------------------------

* Fix a test case failure when tests are run from a directory that contains a
  dot in the path (issue #29751).


Version 1.0.0 - 2-Jun-2013
--------------------------

* Allow TZInfo to be used with different data sources instead of just the
  built-in Ruby module data files.
* Include a data source that allows TZInfo to load data from the binary
  zoneinfo files produced by zic and included with many Linux and Unix-like
  distributions.
* Remove the definition and index Ruby modules from TZInfo and move them into
  a separate TZInfo::Data library (available as the tzinfo-data gem).
* Default to using the TZInfo::Data library as the data source if it is
  installed, otherwise use zoneinfo files instead.
* Preserve the nanoseconds of local timezone Time objects when performing
  conversions (issue #29705).
* Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'.
  The tzinfo lib directory must now be in the search path before 'tzinfo' is
  required.
* Add utc_start_time, utc_end_time, local_start_time and local_end_time instance
  methods to TimezonePeriod. These return an identical value as the existing
  utc_start, utc_end, local_start and local_end methods, but return Time
  instances instead of DateTime.
* Make the start_transition, end_transition and offset properties of
  TimezonePeriod protected. To access properties of the period, callers should
  use other TimezonePeriod instance methods instead (issue #7655).
jperkin pushed a commit that referenced this issue Jan 17, 2016
Upstream changes:
0.24
	- lazy loading of Carp (by Kirill Babikhin) #15
jperkin pushed a commit that referenced this issue Feb 2, 2016
--------------------
0.32 2015-08-25T02:09:18Z
	- fix compatibility issue on Solaris (thanks to Syohei YOSHIDA) #40

0.31 2015-07-20T02:38:57Z
	- do not remove the socket file when becoming a daemon (thanks to
          andyjones) #34 #36
	- emit name of the directory to which it failed to chdir(2) (thanks
          to tokuhirom) #33

0.30 2015-06-05T05:28:43Z
	- unlink the status file only when created by itself (thanks to
          tokuhirom) #32
	- redo #26 (thanks to tokuhirom) #31

0.29 2015-06-04T06:45:26Z
	- build should fail on Windows (thanks to chorny) #26
	- add `--stop` option (thanks to tokuhirom) #28
	- do not close STDIN in case the listening port is mapped to fd
          zero (thanks to tokuhirom) #29 #24
	- reopen STDIN to suppress unnecessary warnings (thanks to
          touhirom) #30

0.28 2015-05-28T22:08:37Z
	- add `--port=[host:]port=fd` option for specifying the file
          descriptor number (thanks to tokuhirom) #24

0.27 2015-04-28T01:02:28Z
	- revert 0.26 so that the install script can update the
	- shebang (thanks to miyagawa) #22 modernize the build tool
	- (thanks to miyagawa) #23
0.26
	- `start_server` command uses perl found in $PATH instead of
          /usr/bin/perl #21
0.25
	- fix `already in use` error if the program is restarted
          (regression in 0.21) #18
	- tests now pass on environments wo. IPv6 support #19
0.24
	- introduce --daemonize option (#18 #6)
	- fix bug that causes a infinite loop in shutdown (amends #14)
0.23
	- set IPV6_V6ONLY for socket bound to an IPv6 address (#16)
0.22
	- support for IPv6 (#16)
	- include repository URL in META.yml (#15; thanks to ether)
0.21
	- remove dependency against non-standard modules (#14)
0.19
	- reimplement changes in 0.15, 0.16 for stability (#13)
	- update inc/Module/Install
jperkin pushed a commit that referenced this issue Feb 4, 2016
0.5.2 (2015-11-23)
=====
* Add OPENSSL_NO_SSL3 preprocessor flag to disable SSLv3 (thanks Jérémie
  Courrèges-Anglas).

0.5.1 (2015-05-27)
=====

* Fix META file for versions of OCaml older than 4.02.0 (thanks Anil
  Madhavapeddy, closes #20).

0.5.0 (2015-05-18)
=====
* Allow to honor server cipher preferences (thanks mfp, closes #18).
* Add functions for reading into/writing from bigarrays, avoiding copy (thanks
  mfp, closes #15).
* Support disabling SSL protocol versions (thanks Edwin Török, closes #13).
* Use Bytes instead of String for read and write, changes the ABI thus the
  version bump (thanks Vincent Bernardoff, closes #16, and mfp, closes #19).
* Make verbosity of client_verify_callback configurable (thanks Nicolas Trangez,
  closes #12).
* Fix build with old versions of SSL (thanks Edwin Török, closes #10).
jperkin pushed a commit that referenced this issue Feb 7, 2016
----------------
Version 0.9.10 Changes by contributors on GitHub - azawawi, joenio

6fab323 Modernize hashbang #! to be more perlbrew friendly
58c36df Add relative link to Changes file
efaf173 Simple installation/development commmands
cfbcf48 More README.md simplification
a7889bc Fix README.md
43c2182 Fix warning: Useless use of greediness modifier '?' in regex
db4bc44 Fix #17, page parameter should be optional
f93ed16 "utf8" pragma solves issue with characters rendered wrong
e69524e fix script that test issue #15
5d5628f avoid warnind about use of greediness modifier
jperkin pushed a commit that referenced this issue Feb 11, 2016
--------------------
0.32 2015-08-25T02:09:18Z
	- fix compatibility issue on Solaris (thanks to Syohei YOSHIDA) #40

0.31 2015-07-20T02:38:57Z
	- do not remove the socket file when becoming a daemon (thanks to
          andyjones) #34 #36
	- emit name of the directory to which it failed to chdir(2) (thanks
          to tokuhirom) #33

0.30 2015-06-05T05:28:43Z
	- unlink the status file only when created by itself (thanks to
          tokuhirom) #32
	- redo #26 (thanks to tokuhirom) #31

0.29 2015-06-04T06:45:26Z
	- build should fail on Windows (thanks to chorny) #26
	- add `--stop` option (thanks to tokuhirom) #28
	- do not close STDIN in case the listening port is mapped to fd
          zero (thanks to tokuhirom) #29 #24
	- reopen STDIN to suppress unnecessary warnings (thanks to
          touhirom) #30

0.28 2015-05-28T22:08:37Z
	- add `--port=[host:]port=fd` option for specifying the file
          descriptor number (thanks to tokuhirom) #24

0.27 2015-04-28T01:02:28Z
	- revert 0.26 so that the install script can update the
	- shebang (thanks to miyagawa) #22 modernize the build tool
	- (thanks to miyagawa) #23
0.26
	- `start_server` command uses perl found in $PATH instead of
          /usr/bin/perl #21
0.25
	- fix `already in use` error if the program is restarted
          (regression in 0.21) #18
	- tests now pass on environments wo. IPv6 support #19
0.24
	- introduce --daemonize option (#18 #6)
	- fix bug that causes a infinite loop in shutdown (amends #14)
0.23
	- set IPV6_V6ONLY for socket bound to an IPv6 address (#16)
0.22
	- support for IPv6 (#16)
	- include repository URL in META.yml (#15; thanks to ether)
0.21
	- remove dependency against non-standard modules (#14)
0.19
	- reimplement changes in 0.15, 0.16 for stability (#13)
	- update inc/Module/Install
jperkin pushed a commit that referenced this issue Feb 11, 2016
0.5.2 (2015-11-23)
=====
* Add OPENSSL_NO_SSL3 preprocessor flag to disable SSLv3 (thanks Jérémie
  Courrèges-Anglas).

0.5.1 (2015-05-27)
=====

* Fix META file for versions of OCaml older than 4.02.0 (thanks Anil
  Madhavapeddy, closes #20).

0.5.0 (2015-05-18)
=====
* Allow to honor server cipher preferences (thanks mfp, closes #18).
* Add functions for reading into/writing from bigarrays, avoiding copy (thanks
  mfp, closes #15).
* Support disabling SSL protocol versions (thanks Edwin Török, closes #13).
* Use Bytes instead of String for read and write, changes the ABI thus the
  version bump (thanks Vincent Bernardoff, closes #16, and mfp, closes #19).
* Make verbosity of client_verify_callback configurable (thanks Nicolas Trangez,
  closes #12).
* Fix build with old versions of SSL (thanks Edwin Török, closes #10).
jperkin pushed a commit that referenced this issue Feb 11, 2016
----------------
Version 0.9.10 Changes by contributors on GitHub - azawawi, joenio

6fab323 Modernize hashbang #! to be more perlbrew friendly
58c36df Add relative link to Changes file
efaf173 Simple installation/development commmands
cfbcf48 More README.md simplification
a7889bc Fix README.md
43c2182 Fix warning: Useless use of greediness modifier '?' in regex
db4bc44 Fix #17, page parameter should be optional
f93ed16 "utf8" pragma solves issue with characters rendered wrong
e69524e fix script that test issue #15
5d5628f avoid warnind about use of greediness modifier
jperkin pushed a commit that referenced this issue Apr 15, 2016
2.54     2016-01-18

- Fixed File::Locked even more. While some deadlocks were eliminated, there
  was still an issue when a Log::Dispatch object was created in a parent
  process and then recreated in the children. If the close_after_write
  parameter was false, then there would be a deadlock.

- Made Syslog work on a threaded Perl when the threads module was not
  explicitly loaded. Fixed by Konrad Bucheli. GitHub #13.

- The log() method now accepts a level parameter as an integer. Fixed by Steve
  Bertrand. GitHub #15.


2.53     2016-01-14

- Actually fix File::Locked, this time with some actual tests.


2.52     2016-01-13

- Make File::Locked output do an explicit unlock if the close_after_write
  option is not set. Without this it would open the file once in each process,
  attempting to get a lock at open time, pretty much guaranteeing a deadlock
  in a multiprocess environment. Now it should work sanely whether
  close_after_write is true or not.


2.51     2015-09-19

- Fixed t/08-screen.t on Windows platforms.
jperkin pushed a commit that referenced this issue May 23, 2016
1.28   2016-05-21

- Fixed handling of some floating point epochs. Because DateTime treated the
  epoch like a string instead of a number, certain epochs with a non-integer
  value ended up treated like integers (Perl is weird). Patch by Christian
  Hansen. GitHub #15. This also addresses the problem that GitHub #6 brought
  up.
jperkin pushed a commit that referenced this issue Jul 17, 2016
Changelog:
0.9.6b:
Merge pull request #15 from pandax381/master

0.9.6a:
Merge pull request #12 from pandax381/release-0.9.6a
jperkin pushed a commit that referenced this issue Aug 4, 2016
Upstream changes:
CHANGES IN R 3.3.1:

  BUG FIXES:

    * R CMD INSTALL and hence install.packages() gave an internal error
      installing a package called description from a tarball on a
      case-insensitive file system.

    * match(x, t) (and hence x %in% t) failed when x was of length one,
      and either character and x and t only differed in their Encoding
      or when x and t where complex with NAs or NaNs.  (PR#16885.)

    * unloadNamespace(ns) also works again when ns is a 'namespace', as
      from getNamespace().

    * rgamma(1,Inf) or rgamma(1, 0,0) no longer give NaN but the
      correct limit.

    * length(baseenv()) is correct now.

    * pretty(d, ..) for date-time d rarely failed when "halfmonth" time
      steps were tried (PR#16923) and on 'inaccurate' platforms such as
      32-bit windows or a configuration with --disable-long-double; see
      comment #15 of PR#16761.

    * In text.default(x, y, labels), the rarely(?) used default for
      labels is now correct also for the case of a 2-column matrix x
      and missing y.

    * as.factor(c(a = 1L)) preserves names() again as in R < 3.1.0.

    * strtrim(""[0], 0[0]) now works.

    * Use of Ctrl-C to terminate a reverse incremental search started
      by Ctrl-R in the readline-based Unix terminal interface is now
      supported for readline >= 6.3 (Ctrl-G always worked).  (PR#16603)

    * diff(<difftime>) now keeps the "units" attribute, as subtraction
      already did, PR#16940.

CHANGES IN R 3.3.0:

  SIGNIFICANT USER-VISIBLE CHANGES:

    * nchar(x, *)'s argument keepNA governing how the result for NAs in
      x is determined, gets a new default keepNA = NA which returns NA
      where x is NA, except for type = "width" which still returns 2,
      the formatting / printing width of NA.

    * All builds have support for https: URLs in the default methods
      for download.file(), url() and code making use of them.

      Unfortunately that cannot guarantee that any particular https:
      URL can be accessed.  For example, server and client have to
      successfully negotiate a cryptographic protocol (TLS/SSL, ...)
      and the server's identity has to be verifiable _via_ the
      available certificates.  Different access methods may allow
      different protocols or use private certificate bundles: we
      encountered a https: CRAN mirror which could be accessed by one
      browser but not by another nor by download.file() on the same
      Linux machine.

  NEW FEATURES:

    * The print method for methods() gains a byclass argument.

    * New functions validEnc() and validUTF8() to give access to the
      validity checks for inputs used by grep() and friends.

    * Experimental new functionality for S3 method checking, notably
      isS3method().

      Also, the names of the R 'language elements' are exported as
      character vector tools::langElts.

    * str(x) now displays "Time-Series" also for matrix (multivariate)
      time-series, i.e. when is.ts(x) is true.

    * (Windows only) The GUI menu item to install local packages now
      accepts *.tar.gz files as well as *.zip files (but defaults to
      the latter).

    * New programmeR's utility function chkDots().

    * D() now signals an error when given invalid input, rather than
      silently returning NA.  (Request of John Nash.)

    * formula objects are slightly more "first class": e.g., formula()
      or new("formula", y ~ x) are now valid.  Similarly, for "table",
      "ordered" and "summary.table".  Packages defining S4 classes with
      the above S3/S4 classes as slots should be reinstalled.

    * New function strrep() for repeating the elements of a character
      vector.

    * rapply() preserves attributes on the list when how = "replace".

    * New S3 generic function sigma() with methods for extracting the
      estimated standard deviation aka "residual standard deviation"
      from a fitted model.

    * news() now displays R and package news files within the HTML help
      system if it is available.  If no news file is found, a visible
      NULL is returned to the console.

    * as.raster(x) now also accepts raw arrays x assuming values in
      0:255.

    * Subscripting of matrix/array objects of type "expression" is now
      supported.

    * type.convert("i") now returns a factor instead of a complex value
      with zero real part and missing imaginary part.

    * Graphics devices cairo_pdf() and cairo_ps() now allow non-default
      values of the cairographics 'fallback resolution' to be set.

      This now defaults to 300 on all platforms: that is the default
      documented by cairographics, but apparently was not used by all
      system installations.

    * file() gains an explicit method argument rather than implicitly
      using getOption("url.method", "default").

    * Thanks to a patch from Tomas Kalibera, x[x != 0] is now typically
      faster than x[which(x != 0)] (in the case where x has no NAs, the
      two are equivalent).

    * read.table() now always uses the names for a named colClasses
      argument (previously names were only used when colClasses was too
      short). (In part, wish of PR#16478.)

    * (Windows only) download.file() with default method = "auto" and a
      ftps:// URL chooses "libcurl" if that is available.

    * The out-of-the box Bioconductor mirror has been changed to one
      using https://: use chooseBioCmirror() to choose a http:// mirror
      if required.

    * The data frame and formula methods for aggregate() gain a drop
      argument.

    * available.packages() gains a repos argument.

    * The undocumented switching of methods for url() on https: and
      ftps: URLs is confined to method = "default" (and documented).

    * smoothScatter() gains a ret.selection argument.

    * qr() no longer has a ... argument to pass additional arguments to
      methods.

    * [ has a method for class "table".

    * It is now possible (again) to replayPlot() a display list
      snapshot that was created by recordPlot() in a different R
      session.

      It is still not a good idea to use snapshots as a persistent
      storage format for R plots, but it is now not completely silly to
      use a snapshot as a format for transferring an R plot between two
      R sessions.

      The underlying changes mean that packages providing graphics
      devices (e.g., Cairo, RSvgDevice, cairoDevice, tikzDevice) will
      need to be reinstalled.

      Code for restoring snapshots was contributed by Jeroen Ooms and
      JJ Allaire.

      Some testing code is available at <URL:
      https://github.com/pmur002/R-display-list>.

    * tools::undoc(dir = D) and codoc(dir = D) now also work when D is
      a directory whose normalizePath()ed version does not end in the
      package name, e.g. from a symlink.

    * abbreviate() has more support for multi-byte character sets - it
      no longer removes bytes within characters and knows about Latin
      vowels with accents.  It is still only really suitable for (most)
      European languages, and still warns on non-ASCII input.

      abbreviate(use.classes = FALSE) is now implemented, and that is
      more suitable for non-European languages.

    * match(x, table) is faster (sometimes by an order of magnitude)
      when x is of length one and incomparables is unchanged, thanks to
      Peter Haverty (PR#16491).

    * More consistent, partly not back-compatible behavior of NA and
      NaN coercion to complex numbers, operations less often resulting
      in complex NA (NA_complex_).

    * lengths() considers methods for length and [[ on x, so it should
      work automatically on any objects for which appropriate methods
      on those generics are defined.

    * The logic for selecting the default screen device on OS X has
      been simplified: it is now quartz() if that is available even if
      environment variable DISPLAY has been set by the user.

      The choice can easily be overridden _via_ environment variable
      R_INTERACTIVE_DEVICE.

    * On Unix-like platforms which support the getline C library
      function, system(*,intern = TRUE) no longer truncates (output)
      lines longer than 8192 characters, thanks to Karl Millar.
      (PR#16544)

    * rank() gains a ties.method = "last" option, for convenience (and
      symmetry).

    * regmatches(invert = NA) can now be used to extract both
      non-matched and matched substrings.

    * data.frame() gains argument fix.empty.names; as.data.frame.list()
      gets new cut.names, col.names and fix.empty.names.

    * plot(x ~ x, *) now warns that it is the same as plot(x ~ 1, *).

    * recordPlot() has new arguments load and attach to allow package
      names to be stored as part of a recorded plot.  replayPlot() has
      new argument reloadPkgs to load/attach any package names that
      were stored as part of a recorded plot.

    * S4 dispatch works within calls to .Internal(). This means
      explicit S4 generics are no longer needed for unlist() and
      as.vector().

    * Only font family names starting with "Hershey" (and not "Her" as
      before) are given special treatment by the graphics engine.

    * S4 values are automatically coerced to vector (via as.vector)
      when subassigned into atomic vectors.

    * findInterval() gets a left.open option.

    * The version of LAPACK included in the sources has been updated to
      3.6.0, including those 'deprecated' routines which were
      previously included.  _Ca_ 40 double-complex routines have been
      added at the request of a package maintainer.

      As before, the details of what is included are in
      src/modules/lapack/README and this now gives information on
      earlier additions.

    * tapply() has been made considerably more efficient without
      changing functionality, thanks to proposals from Peter Haverty
      and Suharto Anggono.  (PR#16640)

    * match.arg(arg) (the one-argument case) is faster; so is
      sort.int().  (PR#16640)

    * The format method for object_size objects now also accepts
      "binary" units such as "KiB" and e.g., "Tb".  (Partly from
      PR#16649.)

    * Profiling now records calls of the form foo::bar and some similar
      cases directly rather than as calls to <Anonymous>.  Contributed
      by Winston Chang.

    * New string utilities startsWith(x, prefix) and endsWith(x,
      suffix).  Also provide speedups for some grepl("^...",*) uses
      (related to proposals in PR#16490).

    * Reference class finalizers run at exit, as well as on garbage
      collection.

    * Avoid parallel dependency on stats for port choice and random
      number seeds.  (PR#16668)

    * The radix sort algorithm and implementation from data.table
      (forder) replaces the previous radix (counting) sort and adds a
      new method for order().  Contributed by Matt Dowle and Arun
      Srinivasan, the new algorithm supports logical, integer (even
      with large values), real, and character vectors.  It outperforms
      all other methods, but there are some caveats (see ?sort).

    * The order() function gains a method argument for choosing between
      "shell" and "radix".

    * New function grouping() returns a permutation that stably
      rearranges data so that identical values are adjacent.  The
      return value includes extra partitioning information on the
      groups.  The implementation came included with the new radix
      sort.

    * rhyper(nn, m, n, k) no longer returns NA when one of the three
      parameters exceeds the maximal integer.

    * switch() now warns when no alternatives are provided.

    * parallel::detectCores() now has default logical = TRUE on all
      platforms - as this was the default on Windows, this change only
      affects Sparc Solaris.

      Option logical = FALSE is now supported on Linux and recent
      versions of OS X (for the latter, thanks to a suggestion of Kyaw
      Sint).

    * hist() for "Date" or "POSIXt" objects would sometimes give
      misleading labels on the breaks, as they were set to the day
      before the start of the period being displayed.  The display
      format has been changed, and the shift of the start day has been
      made conditional on right = TRUE (the default).  (PR#16679)

    * R now uses a new version of the logo (donated to the R Foundation
      by RStudio).  It is defined in .svg format, so will resize
      without unnecessary degradation when displayed on HTML
      pages-there is also a vector PDF version.  Thanks to Dirk
      Eddelbuettel for producing the corresponding X11 icon.

    * New function .traceback() returns the stack trace which
      traceback() prints.

    * lengths() dispatches internally.

    * dotchart() gains a pt.cex argument to control the size of points
      separately from the size of plot labels.  Thanks to Michael
      Friendly and Milan Bouchet-Valat for ideas and patches.

    * as.roman(ch) now correctly deals with more diverse character
      vectors ch; also arithmetic with the resulting roman numbers
      works in more cases.  (PR#16779)

    * prcomp() gains a new option rank. allowing to directly aim for
      less than min(n,p) PC's.  The summary() and its print() method
      have been amended, notably for this case.

    * gzcon() gains a new option text, which marks the connection as
      text-oriented (so e.g. pushBack() works).  It is still always
      opened in binary mode.

    * The import() namespace directive now accepts an argument except
      which names symbols to exclude from the imports. The except
      expression should evaluate to a character vector (after
      substituting symbols for strings). See Writing R Extensions.

    * New convenience function Rcmd() in package tools for invoking R
      CMD tools from within R.

    * New functions makevars_user() and makevars_site() in package
      tools to determine the location of the user and site specific
      Makevars files for customizing package compilation.

  UTILITIES:

    * R CMD check has a new option --ignore-vignettes for use with
      non-Sweave vignettes whose VignetteBuilder package is not
      available.

    * R CMD check now by default checks code usage (_via_ codetools)
      with only the base package attached.  Functions from default
      packages other than base which are used in the package code but
      not imported are reported as undefined globals, with a suggested
      addition to the NAMESPACE file.

    * R CMD check --as-cran now also checks DOIs in package CITATION
      and Rd files.

    * R CMD Rdconv and R CMD Rd2pdf each have a new option
      --RdMacros=pkglist which allows Rd macros to be specified before
      processing.

  DEPRECATED AND DEFUNCT:

    * The previously included versions of zlib, bzip2, xz and PCRE have
      been removed, so suitable external (usually system) versions are
      required (see the 'R Installation and Administration' manual).

    * The unexported and undocumented Windows-only devices cairo_bmp(),
      cairo_png() and cairo_tiff() have been removed.  (These devices
      should be used as e.g. bmp(type = "cairo").)

    * (Windows only) Function setInternet2() has no effect and will be
      removed in due course.  The choice between methods "internal" and
      "wininet" is now made by the method arguments of url() and
      download.file() and their defaults can be set _via_ options.  The
      out-of-the-box default remains "wininet" (as it has been since R
      3.2.2).

    * [<- with an S4 value into a list currently embeds the S4 object
      into its own list such that the end result is roughly equivalent
      to using [[<-.  That behavior is deprecated.  In the future, the
      S4 value will be coerced to a list with as.list().

    * Package tools' functions package.dependencies(), pkgDepends(),
      etc are deprecated now, mostly in favor of package_dependencies()
      which is both more flexible and efficient.

  INSTALLATION and INCLUDED SOFTWARE:

    * Support for very old versions of valgrind (e.g., 3.3.0) has been
      removed.

    * The included libtool script (generated by configure) has been
      updated to version 2.4.6 (from 2.2.6a).

    * libcurl version 7.28.0 or later with support for the https
      protocol is required for installation (except on Windows).

    * BSD networking is now required (except on Windows) and so
      capabilities("http/ftp") is always true.

    * configure uses pkg-config for PNG, TIFF and JPEG where this is
      available.  This should work better with multiple installs and
      with those using static libraries.

    * The minimum supported version of OS X is 10.6 ('Snow Leopard'):
      even that has been unsupported by Apple since 2012.

    * The configure default on OS X is --disable-R-framework: enable
      this if you intend to install under /Library/Frameworks and use
      with R.app.

    * The minimum preferred version of PCRE has since R 3.0.0 been 8.32
      (released in Nov 2012).  Versions 8.10 to 8.31 are now deprecated
      (with warnings from configure), but will still be accepted until
      R 3.4.0.

    * configure looks for C functions __cospi, __sinpi and __tanpi and
      uses these if cospi _etc_ are not found.  (OS X is the main
      instance.)

    * (Windows) R is now built using gcc 4.9.3.  This build will
      require recompilation of at least those packages that include C++
      code, and possibly others.  A build of R-devel using the older
      toolchain will be temporarily available for comparison purposes.

      During the transition, the environment variable R_COMPILED_BY has
      been defined to indicate which toolchain was used to compile R
      (and hence, which should be used to compile code in packages).
      The COMPILED_BY variable described below will be a permanent
      replacement for this.

    * (Windows) A make and R CMD config variable named COMPILED_BY has
      been added.  This indicates which toolchain was used to compile R
      (and hence, which should be used to compile code in packages).

  PACKAGE INSTALLATION:

    * The make macro AWK which used to be made available to files such
      as src/Makefile is no longer set.

  C-LEVEL FACILITIES:

    * The API call logspace_sum introduced in R 3.2.0 is now remapped
      as an entry point to Rf_logspace_sum, and its first argument has
      gained a const qualifier.  (PR#16470)

      Code using it will need to be reinstalled.

      Similarly, entry point log1pexp also defined in Rmath.h is
      remapped there to Rf_log1pexp

    * R_GE_version has been increased to 11.

    * New API call R_orderVector1, a faster one-argument version of
      R_orderVector.

    * When R headers such as R.h and Rmath.h are called from C++ code
      in packages they include the C++ versions of system headers such
      as <cmath> rather than the legacy headers such as <math.h>.
      (Headers Rinternals.h and Rinterface.h already did, and inclusion
      of system headers can still be circumvented by defining
      NO_C_HEADERS, including as from this version for those two
      headers.)

      The manual has long said that R headers should *not* be included
      within an extern "C" block, and almost all the packages affected
      by this change were doing so.

    * Including header S.h from C++ code would fail on some platforms,
      and so gives a compilation error on all.

    * The deprecated header Rdefines.h is now compatible with defining
      R_NO_REMAP.

    * The connections API now includes a function R_GetConnection()
      which allows packages implementing connections to convert R
      connection objects to Rconnection handles used in the API. Code
      which previously used the low-level R-internal getConnection()
      entry point should switch to the official API.

  BUG FIXES:

    * C-level asChar(x) is fixed for when x is not a vector, and it
      returns "TRUE"/"FALSE" instead of "T"/"F" for logical vectors.

    * The first arguments of .colSums() etc (with an initial dot) are
      now named x rather than X (matching colSums()): thus error
      messages are corrected.

    * A coef() method for class "maov" has been added to allow vcov()
      to work with multivariate results. (PR#16380)

    * method = "libcurl" connections signal errors rather than
      retrieving HTTP error pages (where the ISP reports the error).

    * xpdrows.data.frame() was not checking for unique row names; in
      particular, this affected assignment to non-existing rows via
      numerical indexing. (PR#16570)

    * tail.matrix() did not work for zero rows matrices, and could
      produce row "labels" such as "[1e+05,]".

    * Data frames with a column named "stringsAsFactors" now format and
      print correctly.  (PR#16580)

    * cor() is now guaranteed to return a value with absolute value
      less than or equal to 1. (PR#16638)

    * Array subsetting now keeps names(dim(.)).

    * Blocking socket connection selection recovers more gracefully on
      signal interrupts.

    * The data.frame method of rbind() construction row.names works
      better in borderline integer cases, but may change the names
      assigned.  (PR#16666)

    * (X11 only) getGraphicsEvent() miscoded buttons and missed mouse
      motion events.  (PR#16700)

    * methods(round) now also lists round.POSIXt.

    * tar() now works with the default files = NULL.  (PR#16716)

    * Jumps to outer contexts, for example in error recovery, now make
      intermediate jumps to contexts where on.exit() actions are
      established instead of trying to run all on.exit() actions before
      jumping to the final target. This unwinds the stack gradually,
      releases resources held on the stack, and significantly reduces
      the chance of a segfault when running out of C stack space. Error
      handlers established using withCallingHandlers() and
      options("error") specifications are ignored when handling a C
      stack overflow error as attempting one of these would trigger a
      cascade of C stack overflow errors.  (These changes resolve
      PR#16753.)

    * The spacing could be wrong when printing a complex array.
      (Report and patch by Lukas Stadler.)

    * pretty(d, n, min.n, *) for date-time objects d works again in
      border cases with large min.n, returns a labels attribute also
      for small-range dates and in such cases its returned length is
      closer to the desired n.  (PR#16761) Additionally, it finally
      does cover the range of d, as it always claimed.

    * tsp(x) <- NULL did not handle correctly objects inheriting from
      both "ts" and "mts".  (PR#16769)

    * install.packages() could give false errors when
      options("pkgType") was "binary".  (Reported by Jose Claudio
      Faria.)

    * A bug fix in R 3.0.2 fixed problems with locator() in X11, but
      introduced problems in Windows.  Now both should be fixed.
      (PR#15700)

    * download.file() with method = "wininet" incorrectly warned of
      download file length difference when reported length was unknown.
      (PR#16805)

    * diag(NULL, 1) crashed because of missed type checking.
      (PR#16853)
jperkin pushed a commit that referenced this issue Sep 14, 2016
XXX add logic to mk/compiler/gcc.mk

Changes from GCC5 series:

Caveats

    The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.

    Support for a number of older systems and recently unmaintained or untested target ports of GCC has been declared obsolete in GCC 6. Unless there is activity to revive them, the next release of GCC will have their sources permanently removed.

    The following ports for individual systems on particular architectures have been obsoleted:
        SH5 / SH64 (sh64-*-*) as announced here.
    The AVR port requires binutils version 2.26.1 or later for the fix for PR71151 to work.

General Optimizer Improvements

    UndefinedBehaviorSanitizer gained a new sanitization option, -fsanitize=bounds-strict, which enables strict checking of array bounds. In particular, it enables -fsanitize=bounds as well as instrumentation of flexible array member-like arrays.
    Type-based alias analysis now disambiguates accesses to different pointers. This improves precision of the alias oracle by about 20-30% on higher-level C++ programs. Programs doing invalid type punning of pointer types may now need -fno-strict-aliasing to work correctly.
    Alias analysis now correctly supports weakref and alias attributes. This makes it possible to access both a variable and its alias in one translation unit which is common with link-time optimization.
    Value range propagation now assumes that the this pointer of C++ member functions is non-null. This eliminates common null pointer checks but also breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop). As a temporary work-around -fno-delete-null-pointer-checks can be used. Wrong code can be identified by using -fsanitize=undefined.
    Link-time optimization improvements:
        warning and error attributes are now correctly preserved by declaration linking and thus -D_FORTIFY_SOURCE=2 is now supported with -flto.

        Type merging was fixed to handle C and Fortran interoperability rules as defined by the Fortran 2008 language standard.

        As an exception, CHARACTER(KIND=C_CHAR) is not inter-operable with char in all cases because it is an array while char is scalar. INTEGER(KIND=C_SIGNED_CHAR) should be used instead. In general, this inter-operability cannot be implemented, for example, on targets where function passing conventions of arrays differs from scalars.
        More type information is now preserved at link time reducing the loss of accuracy of the type based alias analysis compared to builds without link-time optimization.
        Invalid type punning on global variables and declarations is now reported with -Wodr-type-mismatch.
        The size of LTO object files was reduced by about 11% (measured by compiling Firefox 46.0).
        Link-time parallelization (enabled using -flto=n) was significantly improved by decreasing the size of streamed data when partitioning programs. The size of streamed IL while compiling Firefox 46.0 was reduced by 66%.

        The linker plugin was extended to pass information about type of binary produced to GCC back end (that can be also manually controlled by -flinker-output). This makes it possible to properly configure the code generator and support incremental linking. Incremental linking of LTO objects by gcc -r is now supported on plugin-enabled setups.

        There are two ways to perform incremental linking:
            Linking by ld -r will result in an object file with all sections from individual object files mechanically merged. This delays the actual link time optimization to final linking step and thus permits whole program optimization. Linking final binary with such object files is however slower.
            Linking by gcc -r will lead to link time optimization and produce final binary into the object file. Linking such object file is fast but avoids any benefits from whole program optimization.
        GCC 7 will support incremental link-time optimization with gcc -r.
    Inter-procedural optimization improvements:
        Basic jump threading is now performed before profile construction and inline analysis, resulting in more realistic size and time estimates that drive the heuristics of the of inliner and function cloning passes.
        Function cloning now more aggressively eliminates unused function parameters.

New Languages and Language specific improvements
Compared to GCC 5, the GCC 6 release series includes a much improved implementation of the OpenACC 2.0a specification. Highlights are:

    In addition to single-threaded host-fallback execution, offloading is supported for nvptx (Nvidia GPUs) on x86_64 and PowerPC 64-bit little-endian GNU/Linux host systems. For nvptx offloading, with the OpenACC parallel construct, the execution model allows for an arbitrary number of gangs, up to 32 workers, and 32 vectors.
    Initial support for parallelized execution of OpenACC kernels constructs:
        Parallelization of a kernels region is switched on by -fopenacc combined with -O2 or higher.
        Code is offloaded onto multiple gangs, but executes with just one worker, and a vector length of 1.
        Directives inside a kernels region are not supported.
        Loops with reductions can be parallelized.
        Only kernels regions with one loop nest are parallelized.
        Only the outer-most loop of a loop nest can be parallelized.
        Loop nests containing sibling loops are not parallelized.
    Typically, using the OpenACC parallel construct gives much better performance, compared to the initial support of the OpenACC kernels construct.
    The device_type clause is not supported. The bind and nohost clauses are not supported. The host_data directive is not supported in Fortran.
    Nested parallelism (cf. CUDA dynamic parallelism) is not supported.
    Usage of OpenACC constructs inside multithreaded contexts (such as created by OpenMP, or pthread programming) is not supported.
    If a call to the acc_on_device function has a compile-time constant argument, the function call evaluates to a compile-time constant value only for C and C++ but not for Fortran.

See the OpenACC and Offloading wiki pages for further information.
C family

    Version 4.5 of the OpenMP specification is now supported in the C and C++ compilers.
    The C and C++ compilers now support attributes on enumerators. For instance, it is now possible to mark enumerators as deprecated:

        enum {
          newval,
          oldval __attribute__ ((deprecated ("too old")))
        };

    Source locations for the C and C++ compilers are now tracked as ranges, rather than just points, making it easier to identify the subexpression of interest within a complicated expression. For example:

        test.cc: In function 'int test(int, int, foo, int, int)':
        test.cc:5:16: error: no match for 'operator*' (operand types are 'int' and 'foo')
           return p + q * r * s + t;
                      ~~^~~

    In addition, there is now initial support for precise diagnostic locations within strings:

        format-strings.c:3:14: warning: field width specifier '*' expects a matching 'int' argument [-Wformat=]
           printf("%*d");
                    ^

    Diagnostics can now contain "fix-it hints", which are displayed in context underneath the relevant source code. For example:

        fixits.c: In function 'bad_deref':
        fixits.c:11:13: error: 'ptr' is a pointer; did you mean to use '->'?
           return ptr.x;
                     ^
                     ->

    The C and C++ compilers now offer suggestions for misspelled field names:

        spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
           return ptr->colour;
                       ^~~~~~

    New command-line options have been added for the C and C++ compilers:
        -Wshift-negative-value warns about left shifting a negative value.
        -Wshift-overflow warns about left shift overflows. This warning is enabled by default. -Wshift-overflow=2 also warns about left-shifting 1 into the sign bit.
        -Wtautological-compare warns if a self-comparison always evaluates to true or false. This warning is enabled by -Wall.
        -Wnull-dereference warns if the compiler detects paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. This option is only active when -fdelete-null-pointer-checks is active, which is enabled by optimizations in most targets. The precision of the warnings depends on the optimization options used.
        -Wduplicated-cond warns about duplicated conditions in an if-else-if chain.
        -Wmisleading-indentation warns about places where the indentation of the code gives a misleading idea of the block structure of the code to a human reader. For example, given CVE-2014-1266:

            sslKeyExchange.c: In function 'SSLVerifySignedServerKeyExchange':
            sslKeyExchange.c:629:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
                if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
                ^~
            sslKeyExchange.c:631:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
                    goto fail;
                    ^~~~

        This warning is enabled by -Wall.
    The C and C++ compilers now emit saner error messages if merge-conflict markers are present in a source file.

        test.c:3:1: error: version control conflict marker in file
         <<<<<<< HEAD
         ^~~~~~~

C

    It is possible to disable warnings when an initialized field of a structure or a union with side effects is being overridden when using designated initializers via a new warning option -Woverride-init-side-effects.
    A new type attribute scalar_storage_order applying to structures and unions has been introduced. It specifies the storage order (aka endianness) in memory of scalar fields in structures or unions.

C++

    The default mode has been changed to -std=gnu++14.
    C++ Concepts are now supported when compiling with -fconcepts.
    -flifetime-dse is more aggressive in dead-store elimination in situations where a memory store to a location precedes a constructor to that memory location.
    G++ now supports C++17 fold expressions, u8 character literals, extended static_assert, and nested namespace definitions.
    G++ now allows constant evaluation for all non-type template arguments.
    G++ now supports C++ Transactional Memory when compiling with -fgnu-tm.

Runtime Library (libstdc++)

    Extensions to the C++ Library to support mathematical special functions (ISO/IEC 29124:2010), thanks to Edward Smith-Rowland.
    Experimental support for C++17, including the following new features:
        std::uncaught_exceptions function (this is also available for -std=gnu++NN modes);
        new member functions try_emplace and insert_or_assign for unique_key maps;
        non-member functions std::size, std::empty, and std::data for accessing containers and arrays;
        std::invoke;
        std::shared_mutex;
        std::void_t and std::bool_constant metaprogramming utilities.
    Thanks to Ville Voutilainen for contributing many of the C++17 features.
    An experimental implementation of the File System TS.
    Experimental support for most features of the second version of the Library Fundamentals TS. This includes polymorphic memory resources and array support in shared_ptr, thanks to Fan You.
    Some assertions checked by Debug Mode can now also be enabled by _GLIBCXX_ASSERTIONS. The subset of checks enabled by the new macro have less run-time overhead than the full _GLIBCXX_DEBUG checks and don't affect the library ABI, so can be enabled per-translation unit.
    Timed mutex types are supported on more targets, including Darwin.
    Improved std::locale support for DragonFly and FreeBSD, thanks to John Marino and Andreas Tobler.

Fortran

    Fortran 2008 SUBMODULE support.
    Fortran 2015 EVENT_TYPE, EVENT_POST, EVENT_WAIT, and EVENT_QUERY support.
    Improved support for Fortran 2003 deferred-length character variables.
    Improved support for OpenMP and OpenACC.
    The MATMUL intrinsic is now inlined for straightforward cases if front-end optimization is active. The maximum size for inlining can be set to n with the -finline-matmul-limit=n option and turned off with -finline-matmul-limit=0.
    The -Wconversion-extra option will warn about REAL constants which have excess precision for their kind.
    The -Winteger-division option has been added, which warns about divisions of integer constants which are truncated. This option is included in -Wall by default.

libgccjit

    The driver code is now run in-process within libgccjit, providing a small speed-up of the compilation process.
    The API has gained entrypoints for
        timing how long was spent in different parts of code,
        creating switch statements,
        allowing unreachable basic blocks in a function, and
        adding arbitrary command-line options to a compilation.

New Targets and Target Specific Improvements
AArch64

    A number of AArch64-specific options have been added. The most important ones are summarised in this section but for usage instructions please refer to the documentation.
    The new command-line options -march=native, -mcpu=native and -mtune=native are now available on native AArch64 GNU/Linux systems. Specifying these options causes GCC to auto-detect the host CPU and choose the optimal setting for that system.
    -fpic is now supported when generating code for the small code model (-mcmodel=small). The size of the global offset table (GOT) is limited to 28KiB under the LP64 SysV ABI, and 15KiB under the ILP32 SysV ABI.
    The AArch64 port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    Link-time optimization across translation units with different target-specific options is now supported.
    The option -mtls-size= is now supported. It can be used to specify the bit size of TLS offsets, allowing GCC to generate better TLS instruction sequences.
    The option -fno-plt is now fully functional.
    The ARMv8.1-A architecture and the Large System Extensions are now supported. They can be used by specifying the -march=armv8.1-a option. Additionally, the +lse option extension can be used in a similar fashion to other option extensions. The Large System Extensions introduce new instructions that are used in the implementation of atomic operations.
    The ACLE half-precision floating-point type __fp16 is now supported in the C and C++ languages.
    The ARM Cortex-A35 processor is now supported via the -mcpu=cortex-a35 and -mtune=cortex-a35 options as well as the equivalent target attributes and pragmas.
    The Qualcomm QDF24xx processor is now supported via the -mcpu=qdf24xx and -mtune=qdf24xx options as well as the equivalent target attributes and pragmas.
    Code generation for the ARM Cortex-A57 processor is improved. Among general code generation improvements, a better algorithm is added for allocating registers to floating-point multiply-accumulate instructions offering increased performance when compiling with -mcpu=cortex-a57 or -mtune=cortex-a57.
    Code generation for the ARM Cortex-A53 processor is improved. A more accurate instruction scheduling model for the processor is now used, and a number of compiler tuning parameters have been set to offer increased performance when compiling with -mcpu=cortex-a53 or -mtune=cortex-a53.
    Code generation for the Samsung Exynos M1 processor is improved. A more accurate instruction scheduling model for the processor is now used, and a number of compiler tuning parameters have been set to offer increased performance when compiling with -mcpu=exynos-m1 or -mtune=exynos-m1.
    Improvements in the generation of conditional branches and literal pools were made to allow the compiler to compile functions of a large size. Constant pools are now placed into separate rodata sections. The new option -mpc-relative-literal-loads is introduced to generate per-function literal pools, limiting the maximum size of functions to 1MiB.
    Several correctness issues with generation of Advanced SIMD instructions for big-endian targets have been fixed resulting in improved code generation for ACLE intrinsics with -mbig-endian.

ARM

    Support for revisions of the ARM architecture prior to ARMv4t has been deprecated and will be removed in a future GCC release. The -mcpu and -mtune values that are deprecated are: arm2, arm250, arm3, arm6, arm60, arm600, arm610, arm620, arm7, arm7d, arm7di, arm70, arm700, arm700i, arm710, arm720, arm710c, arm7100, arm7500, arm7500fe, arm7m, arm7dm, arm7dmi, arm8, arm810, strongarm, strongarm110, strongarm1100, strongarm1110, fa526, fa626. The value arm7tdmi is still supported. The values of -march that are deprecated are: armv2,armv2a,armv3,armv3m,armv4.
    The ARM port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    Support has been added for the following processors (GCC identifiers in parentheses): ARM Cortex-A32 (cortex-a32), ARM Cortex-A35 (cortex-a35). The GCC identifiers can be used as arguments to the -mcpu or -mtune options, for example: -mcpu=cortex-a32 or -mtune=cortex-a35.

Heterogeneous Systems Architecture

    GCC can now generate HSAIL (Heterogeneous System Architecture Intermediate Language) for simple OpenMP device constructs if configured with --enable-offload-targets=hsa. A new libgomp plugin then runs the HSA GPU kernels implementing these constructs on HSA capable GPUs via a standard HSA run time.

    If the HSA compilation back end determines it cannot output HSAIL for a particular input, it gives a warning by default. These warnings can be suppressed with -Wno-hsa. To give a few examples, the HSA back end does not implement compilation of code using function pointers, automatic allocation of variable sized arrays, functions with variadic arguments as well as a number of other less common programming constructs.

    When compilation for HSA is enabled, the compiler attempts to compile composite OpenMP constructs

        #pragma omp target teams distribute parallel for

    into parallel HSA GPU kernels.

IA-32/x86-64

    GCC now supports the Intel CPU named Skylake with AVX-512 extensions through -march=skylake-avx512. The switch enables the following ISA extensions: AVX-512F, AVX512VL, AVX-512CD, AVX-512BW, AVX-512DQ.
    Support for new AMD instructions monitorx and mwaitx has been added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and mwait instructions. In addition mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx.
    x86-64 targets now allow stack realignment from a word-aligned stack pointer using the command-line option -mstackrealign or __attribute__ ((force_align_arg_pointer)). This allows functions compiled with a vector-aligned stack to be invoked from objects that keep only word-alignment.
    Support for address spaces __seg_fs, __seg_gs, and __seg_tls. These can be used to access data via the %fs and %gs segments without having to resort to inline assembly. Please refer to the documentation for usage instructions.
    Support for AMD Zen (family 17h) processors is now available through the -march=znver1 and -mtune=znver1 options.

MeP

    Support for the MeP (mep-elf) architecture has been deprecated and will be removed in a future GCC release.

MSP430

    The MSP430 compiler now has the ability to automatically distribute code and data between low memory (addresses below 64K) and high memory. This only applies to parts that actually have both memory regions and only if the linker script for the part has been specifically set up to support this feature.

    A new attribute of either can be applied to both functions and data, and this tells the compiler to place the object into low memory if there is room and into high memory otherwise. Two other new attributes - lower and upper - can be used to explicitly state that an object should be placed in the specified memory region. If there is not enough left in that region the compilation will fail.

    Two new command-line options - -mcode-region=[lower|upper|either] and -mdata-region=[lower|upper|either] - can be used to tell the compiler what to do with objects that do not have one of these new attributes.

PowerPC / PowerPC64 / RS6000

    PowerPC64 now supports IEEE 128-bit floating-point using the __float128 data type. In GCC 6, this is not enabled by default, but you can enable it with -mfloat128. The IEEE 128-bit floating-point support requires the use of the VSX instruction set. IEEE 128-bit floating-point values are passed and returned as a single vector value. The software emulator for IEEE 128-bit floating-point support is only built on PowerPC GNU/Linux systems where the default CPU is at least power7. On future ISA 3.0 systems (POWER 9 and later), you will be able to use the -mfloat128-hardware option to use the ISA 3.0 instructions that support IEEE 128-bit floating-point. An additional type (__ibm128) has been added to refer to the IBM extended double type that normally implements long double. This will allow for a future transition to implementing long double with IEEE 128-bit floating-point.
    Basic support has been added for POWER9 hardware that will use the recently published OpenPOWER ISA 3.0 instructions. The following new switches are available:
        -mcpu=power9: Implement all of the ISA 3.0 instructions supported by the compiler.
        -mtune=power9: In the future, apply tuning for POWER9 systems. Currently, POWER8 tunings are used.
        -mmodulo: Generate code using the ISA 3.0 integer instructions (modulus, count trailing zeros, array index support, integer multiply/add).
        -mpower9-fusion: Generate code to suitably fuse instruction sequences for a POWER9 system.
        -mpower9-dform: Generate code to use the new D-form (register+offset) memory instructions for the vector registers.
        -mpower9-vector: Generate code using the new ISA 3.0 vector (VSX or Altivec) instructions.
        -mpower9-minmax: Reserved for future development.
        -mtoc-fusion: Keep TOC entries together to provide more fusion opportunities.

    New constraints have been added to support IEEE 128-bit floating-point and ISA 3.0 instructions:

        wb: Altivec register if -mpower9-dform is enabled.

        we: VSX register if -mpower9-vector is enabled for 64-bit code generation.

        wo: VSX register if -mpower9-vector is enabled.

        wp: Reserved for future use if long double is implemented with IEEE 128-bit floating-point instead of IBM extended double.

        wq: VSX register if -mfloat128 is enabled.

        wF: Memory operand suitable for POWER9 fusion load/store.

        wG: Memory operand suitable for TOC fusion memory references.

        wL: Integer constant identifying the element number mfvsrld accesses within a vector.
    Support has been added for __builtin_cpu_is() and __builtin_cpu_supports(), allowing for very fast access to AT_PLATFORM, AT_HWCAP, and AT_HWCAP2 values. This requires use of glibc 2.23 or later.
    All hardware transactional memory builtins now correctly behave as memory barriers. Programmers can use #ifdef __TM_FENCE__ to determine whether their "old" compiler treats the builtins as barriers.
    Split-stack support has been added for gccgo on PowerPC64 for both big- and little-endian (but not for 32-bit). The gold linker from at least binutils 2.25.1 must be available in the PATH when configuring and building gccgo to enable split stack. (The requirement for binutils 2.25.1 applies to PowerPC64 only.) The split-stack feature allows a small initial stack size to be allocated for each goroutine, which increases as needed.
    GCC on PowerPC now supports the standard lround function.
    A new configuration option ---with-advance-toolchain=at was added for PowerPC 64-bit GNU/Linux systems to use the header files, library files, and the dynamic linker from a specific Advance Toolchain release instead of the default versions that are provided by the GNU/Linux distribution. In general, this option is intended for the developers of GCC, and it is not intended for general use.

    The "q", "S", "T", and "t" asm-constraints have been removed.

    The "b", "B", "m", "M", and "W" format modifiers have been removed.

S/390, System z, IBM z Systems

    Support for the IBM z13 processor has been added. When using the -march=z13 option, the compiler will generate code making use of the new instructions and registers introduced with the vector extension facility. The -mtune=z13 option enables z13 specific instruction scheduling without making use of new instructions.
    Compiling code with -march=z13 reduces the default alignment of vector types bigger than 8 bytes to 8. This is an ABI change and care must be taken when linking modules compiled with different arch levels which interchange variables containing vector type values. For newly compiled code the GNU linker will emit a warning.
    The -mzvector option enables a C/C++ language extension. This extension provides a new keyword vector which can be used to define vector type variables. (Note: This is not available when enforcing strict standard compliance e.g. with -std=c99. Either enable GNU extensions with e.g. -std=gnu99 or use __vector instead of vector.)
    Additionally a set of overloaded builtins is provided which is partially compatible to the PowerPC Altivec builtins. In order to make use of these builtins the vecintrin.h header file needs to be included.
    The new command line options -march=native, and -mtune=native are now available on native IBM z Systems. Specifying these options will cause GCC to auto-detect the host CPU and rewrite these options to the optimal setting for that system. If GCC is unable to detect the host CPU these options have no effect.
    The IBM z Systems port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    -fsplit-stack is now supported as part of the IBM z Systems port. This feature requires a recent gold linker to be used.
    Support for the g5 and g6 -march=/-mtune= CPU level switches has been deprecated and will be removed in a future GCC release. -m31 from now on defaults to -march=z900 if not specified otherwise. -march=native on a g5/g6 machine will default to -march=z900.

SH

    Support for SH5 / SH64 has been declared obsolete and will be removed in future releases.
    Support for the FDPIC ABI has been added. It can be enabled using the new -mfdpic target option and --enable-fdpic configure option.

SPARC

    An ABI bug has been fixed in 64-bit mode. Unfortunately, this change will break binary compatibility with earlier releases for code it affects, but this should be pretty rare in practice. The conditions are: a 16-byte structure containing a double or a 8-byte vector in the second half is passed to a subprogram in slot #15, for example as 16th parameter if the first 15 ones have at most 8 bytes. The double or vector was wrongly passed in floating-point register %d32 in lieu of on the stack as per the SPARC calling conventions.

Operating Systems
AIX

    DWARF debugging support for AIX 7.1 has been enabled as an optional debugging format. A more recent Technology Level (TL) and GCC built with that level are required for full exploitation of DWARF debugging capabilities.

Linux

    Support for the musl C library was added for the AArch64, ARM, MicroBlaze, MIPS, MIPS64, PowerPC, PowerPC64, SH, i386, x32 and x86_64 targets. It can be selected using the new -mmusl option in case musl is not the default libc. GCC defaults to musl libc if it is built with a target triplet matching the *-linux-musl* pattern.

RTEMS

    The RTEMS thread model implementation changed. Mutexes now use self-contained objects defined in Newlib <sys/lock.h> instead of Classic API semaphores. The keys for thread specific data and the once function are directly defined via <pthread.h>. Self-contained condition variables are provided via Newlib <sys/lock.h>. The RTEMS thread model also supports C++11 threads.
    OpenMP support now uses self-contained objects provided by Newlib <sys/lock.h> and offers a significantly better performance compared to the POSIX configuration of libgomp. It is possible to configure thread pools for each scheduler instance via the environment variable GOMP_RTEMS_THREAD_POOLS.

Solaris

    Solaris 12 is now fully supported. Minimal support had already been present in GCC 5.3.
    Solaris 12 provides a full set of startup files (crt1.o, crti.o, crtn.o), which GCC now prefers over its own ones.
    Position independent executables (PIE) are now supported on Solaris 12.
    Constructor priority is now supported on Solaris 12 with the system linker.
    libvtv has been ported to Solaris 11 and up.

Windows

    The option -mstackrealign is now automatically activated in 32-bit mode whenever the use of SSE instructions is requested.

Other significant improvements

    The gcc and g++ driver programs will now provide suggestions for misspelled command line options.

        $ gcc -static-libfortran test.f95
        gcc: error: unrecognized command line option '-static-libfortran'; did you mean '-static-libgfortran'?

    The --enable-default-pie configure option enables generation of PIE by default.

Non exhaustive list of bug fixes in GCC 6.2.0 release:

77463 internal compiler error: in output_move_qimode
71092 [6/7 Regression] ICE: in cxx_eval_call_expression
77034 [6.2RC regression] g++.dg/init/elide5.C fails on powerpc64-unknown-linux-gnu with -m32
70597 [6/7 Regression] cmd/go: deduplicate gccgo afiles by package path
71936 [6/7 Regression] ICE in wide_int_to_tree
77279 build error in isl/ctx.h
67419 gfortran.dg/large_real_kind_2.F90 FAILs
73434 [6/7 Regression] Wrong code with casting
71972 [6 Regression] ICE with ""-std=c++14"" on x86_64-linux-gnu (internal compiler error: Segmentation fault
72819 [AArch64] ABI error: HFA structs of __fp16 incorrectly passed to functions
73456 [6/7 regression][concepts] ICE in non_atomic_constraint_p
72853 gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
71981 [6/7 Regression] ICE at -O2 and -O3 on x86_64-linux-gnu (internal compiler error: in get_dynamic_type
71881 [6 Regression] ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form
72802 powerpc64le: -mcpu=power9 emits lxssp instruction with offset that isn't a multiple of 4
72800 [5/6 Regression] ICE on invalid C++14 code with initialized lambda capture: tree check: expected class ‘type’
70040 [5 Regression] ICE in gimplify.c with deferred-length strings
72699 [6/7 Regression] ICE in gfc_check_dependency
70677 Suboptimal cond on AVR: unneeded stack frame
71853 [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings
72457 [6/7 Regression] ICE: Segmentation fault
71738 [4.9/5/6/7 Regression] ICE on valid C++ code: tree check: expected record_type or union_type or qual_union_type
71350 [4.9/5/6/7 regression] ICE on trailing return type declaration with initializer list
70847 [6/7 Regression] exponential time in cp_fold for chained virtual function calls
71756 [5/6/7 Regression] internal compiler error: in ~saved_token_sentinel
71147 [6 Regression] Flexible array member wrongly rejected in template
67579 [concepts] Memoization for constraint expressions
67565 [concepts] Very slow compile time and high memory usage with complex concept definitions
71941 [6/7 Regression] ICE with OpenMP tasks and queue
71495 [6/7 Regression] Spurious ""note: initializing argument ... of ..."" without any warning/error
70822 [6 Regression] bogus ""error: lvalue required as unary ‘&’ operand"" with C++14 parenthesized SCOPE_REF
71718 [6/7 Regression] ICE on erroneous recursive template error printing
70824 [6/7 Regression] cc1plus consumes all available memory on specific template code
70781 [6/7 Regression] ICE on invalid C++ code with lambda expressions on x86_64-linux-gnu in finish_expr_stmt
71896 [6/7 Regression] Constexpr function with pointer to member parameter doesn't return constexpr value
71117 [6/7 Regression] Overeager application of conversion to function pointer during overload resolution of call to function object
71511 [6/7 Regression] ICE on valid C++11 code (with decltype) on x86_64-linux-gnu: in cxx_incomplete_type_diagnostic
71513 [6/7 Regression] ICE on valid C++11 code (with alignas specifier) on x86_64-linux-gnu: Segmentation fault
71604 [6/7 Regression] ICE on valid C++11 code with range-based for loop: in pop_binding
71711 [6/7 Regression] ICE on valid C++1z code with fold expression: tree check: expected tree_vec
71814 [6/7 Regression] ICE on valid C++11 code: in write_type
70972 [6 Regression] Inheriting constructors taking parameters by value should move them
71856 [6/7 Regression] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
71916 [6/7 Regression] ICE at -O3 on valid code on x86_64-linux-gnu in ""maybe_record_trace_start
71835 [6/7 Regression] ICE on invalid C++ code with ambiguous overloaded operators: tree check: expected tree that contains ‘decl minimal’ structure
71828 [6/7 regression] ICE on valid C++11 code with constexpr __Complex int variable declaration: in operand_equal_p
71822 [6/7 Regression] ICE: in gimplify_expr
70869 [6 Regression] internal compiler error: Segmentation fault on array of pointer to function members
71493 [6/7 regression] accidental ABI change for structure return on PowerPC
69515 partial specialization of variable templates is broken
70584 constexpr variables cannot be used as intrinsic arguments where an immediate is expected
71164 [6/7 Regression] tree check fail at cp/pt.c:12961
71733 ICE in vmx test cases with -mcpu=power9
71624 [6 regression][CHKP] internal compiler error: in duplicate_thunk_for_node
71823 [6/7 Regression] g++ segfaults with -mfma and -ftree-slp-vectorize
71173 [6/7 regression] Qualified name lookup
70685 [6/7 Regression] ICE: Segmentation fault
70222 Test miscompiled with -O1
71100 [6/7 regression] Internal compiler error while calling a pointer to member function that throws
71739 [6/7 Regression] ICE on valid C++11 code: tree check: expected identifier_node
70916 [6 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in ""tree_operand_check
71521 [6 Regression] Regression in GCC-7.0.0's optimizer
30417 Section .data cannot be moved with -mmcu=atmega88
71057 [6 Regression] ICE in schedule_generic_params_dies_gen
71056 [6 Regression] __builtin
70540 [4.9/5 Regression] ICE on invalid code in cxx_incomple
jperkin pushed a commit that referenced this issue Feb 28, 2017
Add test target.

Changes in version 0.21
***********************

Released on October 23rd, 2014.

* Restored the atf(7) manual page to serve as a reference to all the other
  manual pages shipped by ATF.

* Added the -s flag to atf-sh to support specifying the shell interpreter
  to be used.

* Removed ATF_WORKDIR.  The only remaining consumers have been converted to
  use the standard TMPDIR environment variable.  As a benefit, and because
  Kyua forces the TMPDIR to live within the test case's work directory,
  any stale files left behind by ATF will be automatically cleaned up.

* Documented the environment variables recognized by each component in the
  relevant manual pages.  This information was lost with the atf-config(1)
  removal.

* Added a new "require.diskspace" metadata property to test cases so that
  they can specify the minimum amount of disk space required for the test
  to run.

* Renamed the atf-{c,c++,sh}-api(3) manual pages to atf-{c,c++,sh}(3) for
  discoverability purposes.  Symbolic links are provided for the time
  being to still make the old names visible.

* Issue #5: Recommend the (expected, actual) idiom for calls to the test
  macros in the manual pages.

* Issue #7: Stopped catching unhandled exceptions in atf-c++ tests.  This
  propagates the crash to the caller, which in turn allows it to obtain
  proper debugging information.  In particular, Kyua should now be able to
  extract a stacktrace pinpointing the problem.

* Issue #8: Fixed atf-c/macros_test:use test failures spotted by the clang
  that ships with FreeBSD 11.0-CURRENT.

* Issue #12: Improved documentation of atf-sh(3) and atf-check(1) by better
  explaining how they relate to each other.

* Issue #14: Stopped setting 'set -e' in atf-sh.  This setting was
  initially added as a way to enable a "strict" mode in the library and to
  make test cases fail fast when they run unprotected commands.  However,
  doing so in the library is surprising as the responsibility of enabling
  'set -e' should be on the user's code.  Also, 'set -e' introduces
  inconsistent behavior on subshells and users do not expect that.

* Issue #15: Fixed atf_utils_{fork,wait} to support nested calls.

* Issue #16: Fixed test failures (by removing a long-standing hack) on
  systems that lack \e support in printf(1).

* Issue #19: Removed stale references to atf-config and atf-run.
jperkin pushed a commit that referenced this issue Mar 20, 2017
1.2.0 / 2017-02-19

New features:

* Add Curses.assume_default_colors.

Bug fixes:

* Curses.unget_char should use String#ord even if unget_wch() is not available.
* The default value of keyboard_encoding should be ASCII-8BIT if get_wch() is
  not available.
* NUM2ULONG() should be used in Window#bkgd etc.

1.1.3 / 2017-02-08

Bug fixes:

* Update PDCurses to handle extended keys.

1.1.2 / 2017-02-06

Bug fixes:

* Use the left-alt-fix branch of https://github.com/shugo/PDCurses.git to get
  ALT + < etc.

1.1.1 / 2017-01-25

Bug fixes:

* Add -DPDC_WIDE to CPPFLAGS when compiling with PDCurses.

1.1.0 / 2017-01-24

New features:

* Use bundler instead of hoe. Pull request #18 by hsbt.
* Enable appveyor. Pull request #19 by hsbt.
* Add badges for build status to README.md. Pull request #20 by hsbt.
* Add Curses.erase and Curses::Window.erase.
* Add Curses::Window.redraw.
* Add Curses.unget_char, Curses.get_char, and Curses::Window.get_char for
  multibyte characters.
* Add Curses.keyboard_encoding and Curses.terminal_encoding.
* Support cross compilation for mingw32.

Bug fixes:

* Fix error in attron/attroff documentation. Pull request #14 by stomar.
* Improve code samples. Pull request #15 by stomar.
jperkin pushed a commit that referenced this issue Apr 10, 2017
Update DEPENDS

Upstream changes:
1.73     2017-01-31

- The format_datetime now checks that the object it is given isa DateTime
  object. Implemented by Mohammad S Anwar. GitHub #17.


1.72     2017-01-24

- Require DateTime::Locale 1.05. This fixes some test failures seen on CPAN
  Testers. Also require DateTime::TimeZone 2.09 because you should really
  update this on a regular basis.

- Require Specio 0.33 to fix other test failures seen on CPAN (I hope).


1.71     2017-01-24

- By default, the word boundary checks added in 1.69 are now off. You can
  enable them by passing "strict => 1" to the constructor. This was reported
  as an issue by Toby Corkindale as GitHub #15.

- Switched from Params::Validate to Params::ValidationCompiler.
jperkin pushed a commit that referenced this issue Jun 13, 2017
1.7.1 (2016-08-12)

* Allow applications to query if they've got loggers #18 (thommay)


1.7.0 (2016-08-04)

* test with updated ruby versions and run cucumber #16 (thommay)
* Add dev dependency on chefstyle #15 (tas50)
* Misc cleanup + add Travis #14 (tas50)
* File log devices opened by mixlib-log should be closed. #13 (mhorbul)
* Include the license type in the .gemspec #9 (benders)
* MIXLIB-10: don't be so pessimistic about development libraries #8 (jkeiser)

Fixed bugs:

* Ensure that arguments to Mixlib::Log#add are passed as is to all loggers #7
  (ketan)
* Fixing RDoc formatting of README.rdoc. #4 (ampledata)
jperkin pushed a commit that referenced this issue Jun 21, 2017
1.29    2017-06-11

- Fixes for MSVC compilation. Patch by Andy Grundman. PR #15.
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants