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

Updated erlang to 17.1 #217

Closed

Conversation

Licenser
Copy link

This PR updates the Erlang runtime, docs and manpages for 16.3 to 17.1.

jperkin pushed a commit that referenced this pull request Aug 22, 2014
Last pkgsrc was version from 2002.

Changes in 2.04:

    Add new programming language ObjectiveâC.
    Add new bracket style option "style=google" (-A14).
    Add new option "indent-preproc-cond" (xw) to indent preprocessor
    conditional statements (#118).
    Add new bracket modify options "attach-namespaces", "attach-classes",
    "attach-inlines", and "attach-extern-c".
    Add new option "indent-modifiers" (-xG) to indent class access
    modifiers one-half indent (#130).
    Add new option "remove-brackets" (-xj) to remove brackets from
    single line conditional statements.
    Add new option "remove-comment-prefix" (-xp) to remove the
    leading '*' from multi-line comments.
    Add new option "align-method-colon" (-xM) to align ObjectiveâC
    method colons.
    Add new option "pad-method-colon=#" (-xP#) to space pad
    ObjectiveâC method colons.
    Add new options "pad-method-prefix" (-xQ), and "unpad-method-prefix"
    (-xR) to pad the ObjectiveâC "-" and "+" method prefix.
    Add new dll entry point AStyleMainUtf16 for processing C# UTF-16
    strings.
    Add formatting of C++11 raw string literals (#222).
    Add "style=knf" as an alternative to "style=linux".
    Remove depreciated "bracket=" options.
    Improve recognition and formatting of pointers and references
    (#174 and other changes).
    Improve the recognition of block-opening brackets.
    Improve code using a static code analyzer (#195).
    Change "max-code-length" to include ObjectiveâC methods.
    Change "indent-elseifs" and "break-blocks" to look ahead only
    if in command-type brackets (speed improvement).
    Fix linux bracket styles to break the opening bracket in inline
    function definitions (#185).
    Fix indentation of switch block comments (#164).
    Fix enums to indent with tabs when requested (#92, #121).
    Fix formatting of rvalue reference without a name in a declaration
    (#219).
    Fix "pad-first-paren-out" to not pad if the following parens
    are empty (#232).
    Fix end-of-statement reset when comments follow closing bracket.
    Fix the ASBeautifier active and waiting stacks to delete the
    ASBeautifier objects before deleting the pointers.
    Fix ASBeautifier "init" to delete the tempStack vectors before
    deleting the tempStack.
    Fix Linux piping problem by changing "cin" input to build a
    stringstream before formatting.
    Fix to identify the correct bracket type when 'extern "C"' is
    part of the enum definition.
    Fix to clear 'extern "C"' variables when the block is closed.
    Fix unindented 'extern "C"' to not indent when in a #else
    preprocessor directive.
    Fix not always correctly formatting linux type brackets for
    enum blocks.
    Fix align-pointer in a range-based for statement (#217).
    Fix pointer-reference argument alignment to correctly position
    a following comment (#235).
    Fix to not attach a bracket to a line ending in a backslash
    '\' (#186, #214, #220).
    Fix to recognize templates using multiple lines (#85, #87,
    #136).
    Fix formatting of template continuation lines (#85, #87, #136).
    Fix to allow '^' as an array operator (#233).
    Fix an "enum" argument being mistaken for an enumeration (#211).
    Fix to recognize a non-instatement array after a "},{" sequence.
    Fix "pad-oper" to not pad before a following comma.
    Fix recognition of an operator when the calculation contains
    a bitwise "not" '~' (#166).
    Fix to allow a preprocessor statement within a preprocessor
    define (#238).
    Fix preprocessor comparison to check for whole words (#246).
    Fix "add-brackets" when a line contains more than one paren
    pairs (#181).
    Fix to allow Mac old CR line endings in the options file (#129).
    Refactor to aid debugging and improve design and decomposition:
	Move ALL preliminary indentation calculations to
	computePreliminaryIndentation() in ASBeautifier.
	Move calculation of 'force tab' indents to preLineWS() in
	ASBeautifier.
	Combine methods init() and init(ASSourceIterator*) in
	ASBeautifier.
	Extract method adjustParsedLineIndentation() in ASBeautifier.
	Extract method parseCurrentLine() in ASEnhancer.
	Remove astyle_main.cpp unused functions getFilesUnchanged,
	getOptionsFileRequired, and setOptionsFileRequired.

Older changes included in distfile, or available on
http://astyle.sourceforge.net/notes.html
jperkin pushed a commit that referenced this pull request Oct 6, 2014
* Release 0.7.0 (23-Sep-2014)

** Security Fixes

The "flappserver" feature was found to have a vulnerability in the
service-lookup code which, when combined with an attacker who has the ability
to write files to a location where the flappserver process could read them,
would allow that attacker to obtain control of the flappserver process.

Users who run flappservers should upgrade to 0.7.0, where this was fixed as
part of #226.

Each flappserver runs from a "base directory", and uses multiple files within
the basedir to track the services that have been configured. The format of
these files has changed. The flappserver tool in 0.7.0 remains capable of
reading the old format (safely), but will upgrade the basedir to the new
format when you use "flappserver add" to add a new service. Brand new
servers, created with "flappserver create", will use the new format.

The flappserver tool in 0.6.5 (or earlier) cannot handle this new format, and
will believe that no services have been configured. Therefore downgrading to
an older version of Foolscap will require manual reconstruction of the
configured services.

** Major Changes

UnauthenticatedTub has been deprecated, and will be removed in the next
release (0.8.0). This seldom-used feature provides Foolscap's RPC semantics
without any of the security, and was included to enable the use of Foolscap
without depending upon the (challenging-to-install) PyOpenSSL library.
However, in practice, the lack of a solid dependency on PyOpenSSL has made
installation more difficult for applications that *do* want the security, and
UnauthenticatedTub is a footgun waiting to go off. Foolscap's code and
packaging will be simpler without it. (#67)

** Minor Changes

The "git-foolscap" tools, which make it possible to publish and clone Git
repositories over a Foolscap (flappserver) connection, have been moved from
their hiding place in doc/examples/ into their own project, hosted at
https://github.com/warner/git-foolscap . They will also be published on PyPI,
to enable "pip install git-foolscap".

The documentation was converted from Lore to ReStructuredText (.rst). Thanks
to Koblaid for the patient work. (#148)

The connection-hint parser in 0.7.0 has been changed to handle all TCP forms
of Twisted's "Client Endpoint Descriptor" syntax, including the short
"tcp:127.0.0.1:9999" variant. A future version should handle arbitrary
endpoint descriptors (including Tor and i2p, see #203), but this small step
should improve forward compatibility. (#216, #217)
@Licenser
Copy link
Author

I am closing this in favor for #247

@Licenser Licenser closed this Mar 12, 2015
jperkin pushed a commit that referenced this pull request Apr 16, 2015
Release 2.5.6
=============

Bugs fixed
----------

- Detection of the R version during setup on Win8 (issues #255 and #258)

- Segmentation fault when converting :mod:`pandas` :class:`Series` with
  elements of type object (issue #264)

- The default converter from Python (non-rpy2) objects to rinterface-level
  objects was producing robjects-level objects whenever the input was of
  type :class:`list` (discovered while fixing issue #264)

- Implemented suggested fix for issue with unlinking files on Windows
  (issue #191)

- Testing rpy2 in the absence of ipython no longer stops with an error
  (issue #266)


Release 2.5.5
=============

Bugs fixed
----------

- Crash (segfault) when querying an R object in an R environment triggers an
  error (symbol exists, but associated values resolves to an error - issue #251)

- Change in the signature of `rcall` was not updated in the documentation
  (issue #259)

- Minor update to the documentation (issue #257)


Release 2.5.4
=============

Bugs fixed
----------

- Filter PNG files on size, preventing empty files causing trouble to be
  ipython notebook rendering of graphics later on (slight modification of
  the pull request #39)

- Fix installation left unresolved with rpy2-2.5.3 (issue #248)

- Possible segfault with Python 3.4 (issue #249)


Release 2.5.3
=============

Changes
-------

- `setup.py` has `install_requires` in addition to `requires` in the hope to
   fix the missing dependency with Python 2 (:mod:`singledispatch` is required
   but not installed).

Bugs fixed
----------

- Extracting configuration information from should now work when R is emitting a warning (issue #247)

- On OS X the library discovery step can yield nothing (see issue #246). A tentative fix is to issue
  a warning and keep moving.


Release 2.5.2
=============

Bugs fixed
----------

- String representation of :class:`robjects.R` (issue #238)

- Check during `build_ext` if unsupported version of R (pull request #32)

- HTMl display of columns of factors in a DataFrame (issue #236)

- HTML display of factors (issue #242)


Release 2.5.1
=============

Bugs fixed
----------

- Require singledispatch if Python 3.3 (issue #232)

- Fixed bug when R spits out a warning when asked configuration information (issue #233)

- Restored printing of compilation information when running `setup.py`

- Fixed installation issue on some systems (issue #234)

- Workaround obscure failure message from unittest if Python < 3.4 and
  :mod:`singledispatch` cannot be imported (issue #235)


Release 2.5.0
=============

New features
------------

- Experimental alternative way to preserve R objects from garbage collection.
  This can be activated with `rinterface.initr(r_preservehash=True)` (default
  is `False`.

- :class:`GGPlot` object getting a method :meth:`save`
  mirroring R's `ggplot2::ggsave()`.

- The conversion system is now using generics/single dispatch.

- New module :mod:`rpy2.ipython.html` with HTML display for rpy2 objects

- [Experimental] New function :func:`robjects.methods.rs4instance_factory`
  to type RS4 objects with more specificity.

Changes
-------

- The script `setup.py` was rewritten for clarity and ease of maintenance.
  Now it only uses `setuptools`.


Release 2.4.4
=============

Bugs fixed
----------

- Use `input` rather than `raw_input` in the default console callback
  with Python 3 (fixes issue #222)

- Issues with conversions, pandas, and rmagic (fixes issue #218 and more)


Release 2.4.3
=============

Bugs fixed
----------

- `geom_raster` was missing from `rpy2.robjects.lib.ggplot2` (pull request #30)

- Fixed issue with SVG rendering in ipython notebook (issue #217)

- Regression with `rx2()` introduced with new conversion (issue #219)

- Fixed documentation (missing `import`) (issue #213)


Release 2.4.2
=============

Bugs fixed
----------

- Assigning an R `DataFrame` into an environment was failing if
  the conversion for Pandas was activated. (Issue #207)


Release 2.4.1
=============

Bugs fixed
----------

- :meth:`rpy2.ipython` fixed spurious output to notebook cells.



Release 2.4.0
=============

Changes
-------

- Conversion system slightly changed, with the optional
  conversions for :mod:`numpy` and :mod:`pandas` modified
  accordingly. The changes should only matter if using
  third-party conversion functions.

- The Python 3 version is now a first class citizen. `2to3`
  is no longer used, and the code base is made directly
  compatible with Python. This lowers significantly the
  installation time with Python 3
  (which matters when developping rpy2).

- The default options to initialize R (`rpy2.rinterface.initoptions') are no longer
  `('rpy2', '--quiet', '--vanilla', '--no-save')` but now
  `('rpy2', '--quiet', '--no-save')`.

- :class:`robjects.vectors.ListVector` can be instanciated from
  any objects with a method `items()` with the expectation that the method
  returns an iterable of (name, value) tuples, or even be an iterable
  of (name, value) tuples.

New features
------------

- For instances of :class:`rpy2.robjects.Function`,
  the `__doc__` is now a property fetching information
  about the parameters in the R signature.

- Convenience function :func:`rpy2.robjects.packages.data`
  to extract the datasets in an R pacakges

- :mod:`ipython`'s `rmagic` is now part of :mod:`rpy`. To use, `%load_ext
  rpy2.ipython` from within IPython.

- new method :meth:`rpy2.rinterface.SexpEnvironment.keys`, returnings
  the names in the environment as a tuple of Python strings.

- convenience class :class:`robjects.packages.InstalledPackages`, with a companion function
  :func:`robjects.packages.isinstalled`.

- new class :class:`rinterface.SexpSymbol` to represent R symbols

Bugs fixed
----------

- :meth:`rpy2.rinterface.Sexp.do_slot` was crashing when
  the parameter was an empty string (PR #155)



Release 2.3.10
==============

Bugs fixed
----------

- `setup.py build` was broken when new R compiled with OpenMP (Issue #183)

Release 2.3.9
=============

- Changes in pandas 0.13.0 broke the rpy2 conversion layer (Issue #173)


Release 2.3.8
=============

Bugs fixed
----------

- Crash with R-3.0.2. Changes in R-3.0.2's C API coupled to a strange behaviour
  with R promises caused the problem. (PR #150)


Release 2.3.7
=============

Bugs fixed
----------

- ggplot2's "guides" were missing

- ggplot2's "theme_classic" was missing (PR #143)

- ggplot2's "element_rect" was missing (PR #144)

- :func:`rpy2.interactive.packages` was broken (PR #142)


Release 2.3.6
=============

Bugs fixed
----------

- Several reports of segfault on OS X (since rpy2-2.3.1 - PR #109)

- More fixes in converting `DataFrames` with dates from `pandas`


Relase 2.3.5
============

Bugs fixed
----------

- Missing mapping to ggplot2's `scale_shape_discrete` function

- Better handling of dates in Pandas

- Constructor for POSIXct improved (and fixed)

Changes
-------

- The attribute :attr:`rclass` is no longer read-only and can be set
  (since R allows it)

- Importing the module :mod:`rpy2.interactive` no longer activates
  event processing by default (triggering concurrency errors
  when used with ipython).

New features
------------

- New module :mod:`rpy2.interactive.ipython` (so far plotting
  automatically a ggplot2 figure in the iPython's console)

- It is now possible to set the :attr:`rclass`.


Relase 2.3.4
============

Bugs fixed
----------

- Spurious error when running unit tests with Python 3 and numpy
  installed

- Missing mapping to ggplot2's `geom_dotplot` function

- Warnings are not longer printed (see Changes below)

Changes
-------

- Bumped target version of ggplot2 to 0.9.3.1

- Warnings are not longer printed. The C-level function in R became
  hidden in R-3.0, and the cost of an R-level check/print is relatively
  high if the R code called is very short. This might evolve into
  printing warnings only if interactive mode in Python (if this can
  be checked reliably).


Release 2.3.3
=============

Bugs fixed
----------

- Some of the data.frames converted from :mod:`pandas` were triggering
  a :class:`TypeError` when calling :func:`repr`

- In :mod:`rpy2.robjects.lib.ggplot2`, a mapping to `coord_fixed` was
  missing (PR #120)

- Using the parameter `lib_loc` in a call to
  :func:`rpy2.robjects.packages.importr` was resulting in an error (PR #119)

- Creating a `layer` through the `rpy2.robjects.lib.ggplot2` interface did
  not accept parameters (PR #122)

- Testing the Python version was crashing of a number of unsupported Python
  versions (<= 2.6) (PR #117)

New features
------------

- New module pandas2ri to convert from mod:`pandas` `DataFrame` objects

- New classes :class:`rpy2.robjects.lib.grid.Unit` and
  :class:`rpy2.robjects.lib.grid.Gpar` to model their counterparts in
  R's `grid` package as they were previously missing from rpy2.


Release 2.3.2
=============

Bug fixed
---------

- Building on Win64 (pull request #6)

- Fetching data from an R package through `importr` was masking
  any R object called `data` in that package. The data are now
  under the attribute name `__rdata__`. This is not completely
  safe either, although much less likely, a warning will
  be issued if still masking anything.


Changes
-------

- More informative error message when failing to build because `R CMD config`
  does not return what is expected

Release 2.3.1
=============

Bugs fixed
----------

- default console print callback with Python (issue #112 linked to it)

- deprecation warnings with ggplot2 (issue #111 and contributed patch)
jperkin pushed a commit that referenced this pull request May 22, 2015
Upstream changes:
1.2.0 2015-04-14 07:13:00+0000
	- [core] bundle libyaml #248 (Kazuho Oku)
	- [core] implement master-worker process mode and daemon mode (bundles Server::Starter) #258 #270 (Kazuho Oku)
	- [file] more mime-types by default #250 #254 #280 (Tatsuhiko Kubo, George Liu, Kazuho Oku)
	- [file][http1] fix connection being closed if the length of content is zero #276 (Kazuho Oku)
	- [headers] fix heap overrun during configuration #251 (Kazuho Oku)
	- [http2] do not delay sending PUSH_PROMISE #221 (Kazuho Oku)
	- [http2] reduce memory footprint under high load #271 (Kazuho Oku)
	- [http2] fix incorrect error sent when number of streams exceed the limit #268 (Kazuho Oku)
	- [proxy] fix heap overrun when building request sent to upstream #266 #269 (Moto Ishizawa, Kazuho Oku)
	- [proxy] fix laggy response in case the length of content is zero #274 #276 (Kazuho Oku)
	- [SSL] fix potential stall while reading data from client #268 (Kazuho Oku)
	- [SSL] bundle LibreSSL #236 #272 (Kazuho Oku)
	- [SSL] obtain source-level compatibility with BoringSSL #228 (Kazuho Oku)
	- [SSL] add directive `listen.ssl.cipher-preference` for controlling the selection logic of cipher-suites #233 (Kazuho Oku)
	- [SSL] disable TLS compression #252 (bisho)
	- [libh2o] fix C++ compatibility (do not use empty struct) #225 (Kazuho Oku)
	- [libh2o] search external dependencies using pkg-config #227 (Kazuho Oku)
	- [misc] fix GCC version detection bug used for controlling compiler warnings #224 (Kazuho Oku)
	- [misc] check merory allocation failures in socket pool #265 (Tatsuhiko Kubo)

1.1.1 2015-03-09 06:12:00+0000
	- [proxy] fix crash on NetBSD when upstream connection is persistent #217 (Kazuho Oku)
	- [misc] fix compile error on FreeBSD #211 #212 (Syohei Yoshida)

1.1.0 2015-03-06 06:41:00+0000
	- [core][file] send redirects appending '/' as abs-path redirects #209 (Kazuho Oku)
	- [headers] add directives for manipulating response headers #204 (Kazuho Oku)
	- [http2] do not send a corrupt response if header value is longer than 126 bytes #193 (Kazuho Oku)
	- [http2] fix interoperability issue with nghttp2 0.7.5 and above 5c42eb1 (Kazuho Oku)
	- [proxy] send `via` header to upstream #191 (Kazuho Oku)
	- [proxy] resolve hostname asynchronously #207 (Kazuho Oku)
	- [proxy] distribute load between upstream servers (using `rand()`) #208 (Kazuho Oku)
	- [proxy] fix a bug that may cause a corrupt `location` header being forwarded #190 (Kazuho Oku)
	- [reproxy] add support for `x-reproxy-url` header #187 #197 (Daisuke Maki, Kazuho Oku)

1.0.1 2015-02-23 05:50:00+0000
	- [core] change backlog size from 65,536 to 65,535 #183 (Tatsuhiko Kubo)
	- [http2] fix assertion failure in HPACK encoder #186 (Kazuho Oku)
	- [http2] add `extern` to some global variables that were not marked as such #178 (Kazuho Oku)
	- [proxy] close persistent upstream connection if client abruptly closes the stream #188 (Kazuho Oku)
	- [proxy] fix internal state corruption in case upstream sends response headers divided into multpile packets #189 (Kazuho Oku)
	- [SSL] add host header to OCSP request #176 (Masaaki Hirose)
	- [libh2o] do not require header files under `deps/` when using libh2o #173 (Kazuho Oku)
	- [libh2o] fix compile error in examples when compiled with `H2O_USE_LIBUV=0` #177 (Kazuho Oku)
	- [libh2o] in example, add missing / after the reference path #180 (Matthieu Garrigues)
	- [misc] fix invalid HTML in sample page #175 (Deepak Prakash)

1.0.0 2015-02-18 20:01:00+0000
	- [core] add redirect handler #150 (Kazuho Oku)
	- [core] add `pid-file` directive for specifying the pid file #164 (Kazuho Oku)
	- [core] connections accepted by host-specific listeners should not be handled by handlers of other hosts #163 (Kazuho Oku)
	- [core] (FreeBSD) fix a bug that prevented the standalone server from booting when run as root #160 (Kazuho Oku)
	- [core] switch to pipe-based interthread messaging #154 (Kazuho Oku)
	- [core] use kqueue on all BSDs #156 (Kazuho Oku)
	- [access-log] more logging directives: %H, %m, %q, %U, %V, %v #158 (Kazuho Oku)
	- [access-log] bugfix: header values were not logged when specified using uppercase letters #157 (Kazuho Oku)
	- [file] add application/json to defalt MIME-types #159 (Tatsuhiko Kubo)
	- [http2] add support for the finalized version of HTTP/2 #166 (Kazuho Oku)
	- [http2] fix issues reported by h2spec v0.0.6 #165 (Kazuho Oku)
	- [proxy] merge the cookie headers before sending to upstream #161 (Kazuho Oku)
	- [proxy] simplify the configuration directives (and make persistent upstream connections as default) #162 (Kazuho Oku)
	- [SSL] add configuration directive to preload DH params #148 (Jeff Marrison)
	- [libh2o] separate versioning scheme using H2O_LIBRARY_VERSION_* #167 (Kazuho Oku)

0.9.2 2015-02-10 04:17:00+0000
	- [core] graceful shutdown on SIGTERM #119 (Kazuho Oku)
	- [core] less TCP errors under high load #81 (Kazuho Oku)
	- [file] add support for HEAD requests #110 (Mark Hoersken)
	- [http1] MSIE workaround (send `Cache-Control: private` in place of Vary) #114 (Kazuho Oku)
	- [http2] support server-push #133 (Kazuho Oku)
	- [http2] fix spurious RST_STREAMS being sent #132 (Kazuho Oku)
	- [http2] weight-based distribution of bandwidth #135 (Kazuho Oku)
	- [proxy] added configuration directive `proxy.preserve-host` #112 (Masahiro Nagano)
	- [proxy] sends X-Forwarded-For and X-Forwarded-Proto headers #112 (Masahiro Nagano)
	- [proxy] stability improvements #61 (Kazuho Oku)
	- [misc] adjustments to make the source code more analyzer-friendly #113,#117 (Nick Desaulniers, Maks Naumov)

0.9.1 2015-01-19 21:13:00+0000
	- added configuration directives: ssl/cipher-suite, ssl/ocsp-update-interval, ssl/ocsp-max-failures, expires, file.send-gzip
	- [http2] added support for draft-16 (draft-14 is also supported)
	- [http2] dependency-based prioritization
	- [http2] improved conformance to the specification
	- [SSL] OCSP stapling (automatically enabled by default)
	- [SSL] fix compile error with OpenSSL below version 1.0.1
	- [file] content negotiation (serving .gz files)
	- [expires] added support for Cache-Control: max-age
	- [libh2o] libh2o and the header files installed by `make install`
	- [libh2o] fix compile error when used from C++
	- automatically setuids to nobody when run as root and if `user` directive is not set
	- automatically raises RLIMIT_NOFILE
	- uses all CPU cores by default
	- now compiles on NetBSD and other BSD-based systems
jperkin pushed a commit that referenced this pull request Jun 17, 2015
pkgsrc change: allow build on Ruby 2.2.

## 0.8.12 (2015-05-26)

* Fix `HTTP.timeout` API (was loosing previously defined options). (@ixti)


## 0.8.11 (2015-05-22)

* SNI support for HTTPS connections. See #229. (@tarcieri)
* Use "http.rb" in the User-Agent string. See #227. (@tarcieri)


## 0.8.10 (2015-05-14)

* Fix cookie headers generation. (@ixti)


## 0.8.9 (2015-05-11)

* Add cookies support. (@ixti)
* Enforce stringified body encoding. See #219. (@Connorhd)


## 0.8.8 (2015-05-09)

* Fix CONNECT header for proxies. See #217. (@Connorhd)


## 0.8.7 (2015-05-08)

* Fix `HTTP.timeout` API with options only given. (@ixti)


## 0.8.6 (2015-05-08)

* Reset global timeouts after the request finishes. See #215. (@zanker)


## 0.8.5 (2015-05-06)

* Add simple timeouts configuration API. See #205. (@ixti)
* Deprecate `Request#request_header`. Use `Request#headline` instead. (@ixti)


## 0.8.4 (2015-04-23)

* Deprecate `#default_headers` and `#default_headers=`. (@ixti)
* Deprecate chainable methods with `with_` prefix. See #207. (@ixti)
* Add support of HTTPS connections through proxy. See #186. (@Connorhd)


## 0.8.3 (2015-04-07)

* Fix request headline. See #206. (@ixti)
* Remove deprecated `Request#__method__`. (@ixti)


## 0.8.2 (2015-04-06)

* Fix Celluloid::IO compatibility. See #203. (@ixti)
* Cleanup obsolete code. (@zanker)


## 0.8.1 (2015-04-02)

* Add missing `require "resolv"`. See #202. (@ixti)
* Add block-form `#persistent` calls. See #200, #201. (@ixti)


## 0.8.0 (2015-04-01)

* Properly handle WaitWritable for SSL. See #199. (@zanker)
* Add support for non-ASCII URis. See #197. (@ixti)
* Add configurable connection timeouts. See #187, #194, #195. (@zanker)
* Refactor requests redirect following logic. See #179. (@ixti)
* Support for persistent HTTP connections (@zanker)
* Add caching support. See #77 and #177. (@Asmod4n, @pezra)
* Improve servers used in specs boot up. Issue was initially raised up
  by @olegkovalenko. See #176. (@ixti)
* Reflect FormData rename changes (FormData -> HTTP::FormData). (@ixti)
* `HTTP::Headers` now raises `HTTP::InvalidHeaderNameError` in case of
  (surprise) invalid HTTP header field name (e.g.`"Foo:Bar"`). See #173.
  (@ixti)
jperkin pushed a commit that referenced this pull request Aug 9, 2015
(libreoffice still builds.)

02/08/2015 - GLM 0.9.7.0 released

    Features:
    Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions
    Added 'fmod' overload to GTX_common with tests #308
    Added left handed perspective and lookAt functions #314
    Added functions eulerAngleXYZ and extractEulerAngleXYZ #311
    Added GTX_hash to perform std::hash on GLM types #320 #367
    Added GTX_wrap for texcoord wrapping
    Added static components and precision members to all vector and quat types #350
    Added .gitignore #349
    Added support of defaulted functions to GLM types, to use them in unions #366

    Improvements:
    Changed usage of __has_include to support Intel compiler #307
    Specialized integer implementation of YCoCg-R #310
    Don't show status message in 'FindGLM' if 'QUIET' option is set. #317
    Added master branch continuous integration service on Linux 64 #332
    Clarified manual regarding angle unit in GLM, added FAQ 11 #326
    Updated list of compiler versions

    Fixes:
    Fixed default precision for quat and dual_quat type #312
    Fixed (u)int64 MSB/LSB handling on BE archs #306
    Fixed multi-line comment warning in g++ #315
    Fixed specifier removal by 'std::make_pair' #333
    Fixed perspective fovy argument documentation #327
    Removed -m64 causing build issues on Linux 32 #331
    Fixed isfinite with C++98 compilers #343
    Fixed Intel compiler build error on Linux #354
    Fixed use of libstdc++ with Clang #351
    Fixed quaternion pow #346
    Fixed decompose warnings #373
    Fixed matrix conversions #371

    Deprecation:
    Removed integer specification for 'mod' in GTC_integer #308
    Removed GTX_multiple, replaced by GTC_round

Download: GLM 0.9.7.0 (ZIP, 4.2 MB) (7Z, 2.8 MB)

15/02/2015 - GLM 0.9.6.3 released

    Fixes:
    Fixed Android doesn't have C++ 11 STL #284

Download: GLM 0.9.6.3 (ZIP, 4.1 MB) (7Z, 2.7 MB)

15/02/2015 - GLM 0.9.6.2 released

    Features:
    Added display of GLM version with other GLM_MESSAGES
    Added ARM instruction set detection

    Improvements:
    Removed assert for perspective with zFar < zNear #298
    Added Visual Studio natvis support for vec1, quat and dualqual types
    Cleaned up C++11 feature detections
    Clarify GLM licensing

    Fixes:
    Fixed faceforward build #289
    Fixed conflict with Xlib #define True 1 #293
    Fixed decompose function VS2010 templating issues #294
    Fixed mat4x3 = mat2x3 * mat4x2 operator #297
    Fixed warnings in F2x11_1x10 packing function in GTC_packing #295
    Fixed Visual Studio natvis support for vec4 #288
    Fixed GTC_packing *pack*norm*x* build and added tests #292
    Disabled GTX_scalar_multiplication for GCC, failing to build tests #242
    Fixed Visual C++ 2015 constexpr errors: Disabled only partial support
    Fixed functions not inlined with Clang #302
    Fixed memory corruption (undefined behaviour) #303

Download: GLM 0.9.6.2 (ZIP, 4.1 MB) (7Z, 2.7 MB)

10/12/2014 - GLM 0.9.6.1 released

GLM 0.9.6.0 came with its set of major glitches: C++98 only mode, 32 bit build, Cuda and Android support should all be fixed in GLM 0.9.6.1 release.

    Features:
    Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags
    Added C++14 detection

    Improvements:
    Clean up GLM_MESSAGES compilation log to report only detected capabilities

    Fixes:
    Fixed scalar uaddCarry build error with Cuda #276
    Fixed C++11 explicit conversion operators detection #282
    Fixed missing explicit convertion when using integer log2 with *vec1 types
    Fixed 64 bits integer GTX_string_cast to_string on VC 32 bit compiler
    Fixed Android build issue, STL C++11 is not supported by the NDK #284
    Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10
    Fixed Visual C++ 32 bit build #283
    Fixed GLM_FORCE_SIZE_FUNC pragma message
    Fixed C++98 only build
    Fixed conflict between GTX_compatibility and GTC_quaternion #286
    Fixed C++ language restriction using GLM_FORCE_CXX**

Download: GLM 0.9.6.1 (ZIP, 4.1 MB) (7Z, 2.7 MB)

30/11/2014 - GLM 0.9.6.0 released

GLM 0.9.6.0 is available with many changes.
Transition from degrees to radians compatibility break and GLM 0.9.5.4 help

One of the long term issue with GLM is that some functions were using radians, functions from GLSL and others were using degrees, functions from GLU or legacy OpenGL.

In GLM 0.9.5, we can use GLM_FORCE_RADIANS to force all GLM functions to adopt radians.
In GLM 0.9.5 in degrees:

    #include <glm/mat4.hpp>
    #include <glm/gtc/matrix_tansform.hpp>
    glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
    {
    return glm::rotate(m, glm::degrees(angleInRadians), glm::vec3(0.0, 0.0, 1.0));
    }

In GLM 0.9.5 in radians:

    #define GLM_FORCE_RADIANS
    #include <glm/mat4.hpp>
    #include <glm/gtc/matrix_tansform.hpp>
    glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
    {
    return glm::rotate(m, angleInRadians, glm::vec3(0.0, 0.0, 1.0));
    }

In GLM 0.9.6 in radians only:

    #include <glm/mat4.hpp>
    #include <glm/gtc/matrix_tansform.hpp>
    glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
    {
    return glm::rotate(m, angleInRadians, glm::vec3(0.0, 0.0, 1.0));
    }

In GLM 0.9.6 if you what to use degrees anyway:

    #include <glm/mat4.hpp>
    #include <glm/gtc/matrix_tansform.hpp>
    glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInDegrees)
    {
    return glm::rotate(m, glm::radians(angleInDegrees), glm::vec3(0.0, 0.0, 1.0));
    }

GLM 0.9.5 will show warning messages at compilation each time a function taking degrees is used.
GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.

If you are using a version of GLM older than GLM 0.9.5.1, update to GLM 0.9.5.4 before transitioning to GLM 0.9.6 to get this help in that process.
Make sure to build and run successfully your application with GLM 0.9.5 with GLM_FORCE_RADIANS, before transistioning to GLM 0.9.6

Finally, here is a list of all the functions that could use degrees in GLM 0.9.5.4 that requires radians in GLM 0.9.6: rotate (matrices and quaternions), perspective, perspectiveFov, infinitePerspective, tweakedInfinitePerspective, roll, pitch, yaw, angle, angleAxis, polar, euclidean, rotateNormalizedAxis, rotateX, rotateY, rotateZ and orientedAngle.
Using GLM template types

There are a lot of reasons for using template types: Writing new template classes and functions or defining new types. Unfortunately, until GLM 0.9.5, GLM template types were defined into the detail namespace indicating there are implementation details that may changed.

With GLM 0.9.6, template types are accessible from the GLM namespace and guarantee to be stable onward.
Example of template functions, GLM 0.9.5 and 0.9.6 style:

    #include <glm/geometry.hpp>
    #include <glm/exponential.hpp>
    template <typename vecType>
    typename vecType::value_type normalizeDot(vecType const & a, vecType const & b)
    {
    return glm::dot(a, b) * glm::inversesqrt(glm::dot(a, a) * glm::dot(b, b));
    }
    #include <glm/vec4.hpp>
    int main()
    {
    return normalizeDot(glm::vec4(2.0), glm::vec4(2.0)) > 0.0f ? 0 : 1
    }

Example of template functions, alternative GLM 0.9.6 style:

    #include <glm/geometry.hpp>
    #include <glm/exponential.hpp>
    template <typename T, template <typename, glm::precision> class vecType>
    T normalizeDot(vecType<T, P> const & a, vecType<T, P> const & b)
    {
    return glm::dot(a, b) * glm::inversesqrt(glm::dot(a, a) * glm::dot(b, b));
    }
    #include <glm/vec4.hpp>
    int main()
    {
    return normalizeDot(glm::vec4(2.0), glm::vec4(2.0)) > 0.0f ? 0 : 1
    }

Example of typedefs with GLM 0.9.6:

    #include <cstddef>
    #include <glm/vec4.hpp>
    #include <glm/mat4.hpp>
    typedef glm::tvec4<std::size_t> size4;
    typedef glm::tvec4<long double, glm::highp> ldvec4;
    typedef glm::tmat4x4<long double, glm::highp> ldmat4x4;

Optimizations

With GLM 0.9.5, the library started to tackle the issue of compilation time by introducing forward declarations through <glm/fwd.hpp> but also by providing an alternative to the monolithic <glm/glm.hpp> headers with <glm/vec2.hpp>, <glm/mat3x2.hpp> and <glm/common.hpp>, etc.

With GLM 0.9.6, the library took advantage of dropping old compilers to replace preprocessor instantiation of the code by template instantiation. The issue of preprocessor instantiation (among them!) is that all the code is generated even if it is never used resulting in building and compiling much bigger header files.

Furthermore, a lot of code optimizations have been done to provide better performance at run time by leveraging integer bitfield tricks and compiler intrinsics. The test framework has been extended to include performance tests. The total code size of the tests is now 50% of the library code which is still not enough but pretty solid.
Compilers support

GLM 0.9.6 removed support for a lot of old compiler versions. If you are really insisting in using an older compiler, you are welcome to keep using GLM 0.9.5.

    Supported compilers by GLM 0.9.6:
    Apple Clang 4.0 and higher
    CUDA 4.0 and higher
    GCC 4.4 and higher
    LLVM 3.0 and higher
    Intel C++ Composer XE 2013 and higher
    Visual Studio 2010 and higher
    Any conform C++98 compiler

Lisence

Finally, GLM is changing Lisence to adopt the Happy Bunny Lisence.
Release note

    Features:
    Exposed template vector and matrix types in 'glm' namespace #239, #244
    Added GTX_scalar_multiplication for C++ 11 compiler only #242
    Added GTX_range for C++ 11 compiler only #240
    Added closestPointOnLine function for tvec2 to GTX_closest_point #238
    Added GTC_vec1 extension, *vec1 support to *vec* types
    Updated GTX_associated_min_max with vec1 support
    Added support of precision and integers to linearRand #230
    Added Integer types support to GTX_string_cast #249
    Added vec3 slerp #237
    Added GTX_common with isdenomal #223
    Added GLM_FORCE_SIZE_FUNC to replace .length() by .size() #245
    Added GLM_FORCE_NO_CTOR_INIT
    Added 'uninitialize' to explicitly not initialize a GLM type
    Added GTC_bitfield extension, promoted GTX_bit
    Added GTC_integer extension, promoted GTX_bit and GTX_integer
    Added GTC_round extension, promoted GTX_bit
    Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269
    Added GTX_type_aligned for aligned vector, matrix and quaternion types

    Improvements:
    Rely on C++11 to implement isinf and isnan
    Removed GLM_FORCE_CUDA, Cuda is implicitly detected
    Separated Apple Clang and LLVM compiler detection
    Used pragma once
    Undetected C++ compiler automatically compile with GLM_FORCE_CXX98 and GLM_FORCE_PURE
    Added not function (from GLSL specification) on VC12
    Optimized bitfieldReverse and bitCount functions
    Optimized findLSB and findMSB functions
    Optimized matrix-vector multiple performance with Cuda #257, #258
    Reduced integer type redifinitions #233
    Rewrited of GTX_fast_trigonometry #264 #265
    Made types trivially copyable #263
    Removed iostream in GLM tests
    Used std features within GLM without redeclaring
    Optimized cot function #272
    Optimized sign function #272
    Added explicit cast from quat to mat3 and mat4 #275

    Fixes:
    Fixed std::nextafter not supported with C++11 on Android #217
    Fixed missing value_type for dual quaternion
    Fixed return type of dual quaternion length
    Fixed infinite loop in isfinite function with GCC #221
    Fixed Visual Studio 14 compiler warnings
    Fixed implicit conversion from another tvec2 type to another tvec2 #241
    Fixed lack of consistency of quat and dualquat constructors
    Fixed uaddCarray #253
    Fixed float comparison warnings #270

    Deprecation:
    Removed degrees for function parameters
    Removed GLM_FORCE_RADIANS, active by default
    Removed VC 2005 / 8 and 2008 / 9 support
    Removed GCC 3.4 to 4.5 support
    Removed LLVM GCC support
    Removed LLVM 2.6 to 2.9 support
    Removed CUDA 3.0 to 4.0 support
jperkin pushed a commit that referenced this pull request Oct 29, 2015
v1.3.0
======

* Added `ffi.memmove()`_.

* Pull request #64: out-of-line API mode: we can now declare
  floating-point types with ``typedef float... foo_t;``.  This only
  works if ``foo_t`` is a float or a double, not ``long double``.

* Issue #217: fix possible unaligned pointer manipulation, which crashes
  on some architectures (64-bit, non-x86).

* Issues #64 and #126: when using ``set_source()`` or ``verify()``,
  the ``const`` and ``restrict`` keywords are copied from the cdef
  to the generated C code; this fixes warnings by the C compiler.
  It also fixes corner cases like ``typedef const int T; T a;``
  which would previously not consider ``a`` as a constant.  (The
  cdata objects themselves are never ``const``.)

* Win32: support for ``__stdcall``.  For callbacks and function
  pointers; regular C functions still don't need to have their `calling
  convention`_ declared.

* Windows: CPython 2.7 distutils doesn't work with Microsoft's official
  Visual Studio for Python, and I'm told this is `not a bug`__.  For
  ffi.compile(), we `removed a workaround`__ that was inside cffi but
  which had unwanted side-effects.  Try saying ``import setuptools``
  first, which patches distutils...

.. _`ffi.memmove()`: using.html#memmove
.. __: https://bugs.python.org/issue23246
.. __: https://bitbucket.org/cffi/cffi/pull-requests/65/remove-_hack_at_distutils-which-imports/diff
.. _`calling convention`: using.html#windows-calling-conventions
jperkin pushed a commit that referenced this pull request Nov 20, 2015
CHANGELOG:
1.16.0.1 --> 1.17.0
===================

AST changes:

* Replaced VarA with AppA in Asst (#168).
* Promoted list/tuple members changed from Promoted to Type (#162).
* Update PatBind, Match, and Alt from containing Binds to Maybe Binds to
  distinguish between empty where clauses and where clauses with no
  binds (#244).
* Add RoleAnnotDecl and Role to support Role annotations (#215).
* Move NameSpace field from EVar/IVar to EAbs/IAbs.

Other changes:

* Add standalone parsers for ImportDecl.
* Fix pretty-printer bugs for HaRP (#160).
* Insert parentheses when pretty-printing non-atomic bang types (#169).
* Un-reverse confusion of left and right arrow (#175).
* Prettyprint option pragmas like 1.15 (#172).
* Conditionally insert lines when pretty-printing declarations (#171).
* Distinguish deriving (Show) from deriving Show (#189).
* Allow parsing of unicode subscript and superscript functions (#173).
* Pretty print unboxed tuples with spaces (#193).
* Improve performance when parsing long extension lists (#200).
* Properly pretty print constructor and class operators (#204).
* Read Haskell source files as UTF-8 (#223).
* Fix ExplicitNamespaces parsing (#216).
* PolyKinds implies KindSignatures (#220).
* Preserve location information for infix binds (#205).
* Preserve positional information in checkPattern (#231).
* Maintain correct line numbers when parsing multiline GHC_OPTIONS (#218).
* Correctly parse "*" with TypeOperators (#81).
* Export the "pretty" method (#222).
* Add javascript calling convention for foreign imports (#236).
* Add non-greedy parsers for module heads (#191).
* Add a flag to disable arity checking when parsing (#260).
* Parse "-" in type signatures (#206).
* Add support for type wildcards and expression holes (#252).
* Add support for Pattern Synonyms (#197).
* Bump the happy lower bound (#250).
* Make test suite pass on GHC 7.12 (#224).
* Support linking Haddock comments to AST nodes (#213).
* Parse multiline LANGUAGE pragmas (#217).
* Parse trailing where (#25).
* Parse modules starting with pragmas and indented
  "module" keyword (#122).
* Use pretty-show to get human readable test outputs.
* Respect fixity declarations inside where/let/class in
  `applyFixities` (#212).
* Correctly parse the combination of view patterns and bang patterns. (#276)
jperkin pushed a commit that referenced this pull request Dec 14, 2015
=== Net::LDAP 0.12.1

* Whitespace formatting cleanup
  {#236}[ruby-ldap/ruby-net-ldap#236]
* Set operation result if LDAP server is not accessible
  {#232}[ruby-ldap/ruby-net-ldap#232]

=== Net::LDAP 0.12.0

* DRY up connection handling logic
  {#224}[ruby-ldap/ruby-net-ldap#224]
* Define auth adapters
  {#226}[ruby-ldap/ruby-net-ldap#226]
* add slash to attribute value filter
  {#225}[ruby-ldap/ruby-net-ldap#225]
* Add the ability to provide a list of hosts for a connection
  {#223}[ruby-ldap/ruby-net-ldap#223]
* Specify the port of LDAP server by giving INTEGRATION_PORT
  {#221}[ruby-ldap/ruby-net-ldap#221]
* Correctly set BerIdentifiedString values to UTF-8
  {#212}[ruby-ldap/ruby-net-ldap#212]
* Raise Net::LDAP::ConnectionRefusedError when new connection is
  refused. {#213}[ruby-ldap/ruby-net-ldap#213]
* obscure auth password upon #inspect, added test, closes #216
  {#217}[ruby-ldap/ruby-net-ldap#217]
* Fixing incorrect error class name
  {#207}[ruby-ldap/ruby-net-ldap#207]
* Travis update {#205}[ruby-ldap/ruby-net-ldap#205]
* Remove obsolete rbx-19mode from Travis
  {#204}[ruby-ldap/ruby-net-ldap#204]
* mv "sudo" from script/install-openldap to .travis.yml
  {#199}[ruby-ldap/ruby-net-ldap#199]
* Remove meaningless shebang
  {#200}[ruby-ldap/ruby-net-ldap#200]
* Fix Travis CI build
  {#202}[ruby-ldap/ruby-net-ldap#202]
* README.rdoc: fix travis link
  {#195}[ruby-ldap/ruby-net-ldap#195]
jperkin pushed a commit that referenced this pull request Jan 17, 2016
* Disable debug library

Changelog:
Release 1.6.1 (2015-08-03)
==========================

- added project and solution files for Visual Studio 2015
- upgraded bundled SQLite to 3.8.11.1
- fixed GH #782: Poco::JSON::PrintHandler not working for nested arrays
- fixed GH #819: JSON Stringifier fails with preserve insert order
- fixed GH #878: UUID tryParse
- fixed GH #869: FIFOBuffer::read(T*, std::size_t) documentation inaccurate
- fixed GH #861: Var BadCastException
- fixed GH #779: BUG in 1.6.0 Zip code
- fixed GH #769: Poco::Var operator== throws exception
- fixed GH #766: Poco::JSON::PrintHandler not working for objects in array
- fixed GH #763: Unable to build static with NetSSL_OpenSSL for OS X
- fixed GH #750: BsonWriter::write<Binary::Ptr> missing size ?
- fixed GH #741: Timestamp anomaly in Poco::Logger on WindowsCE
- fixed GH #735: WEC2013 build fails due to missing Poco::Path methods.
- fixed GH #722: poco-1.6.0: Unicode Converter Test confuses string and char types
- fixed GH #719: StreamSocket::receiveBytes and FIFOBuffer issue in 1.6
- fixed GH #706: POCO1.6 Sample EchoServer BUG
- fixed GH #646: Prevent possible data race in access to Timer::_periodicInerval
- DeflatingStream: do not flush underlying stream on sync() as these can cause
  corrupted files in Zip archives


Release 1.6.0 (2014-12-22)
==========================

- fixed GH #625: MongoDB ensureIndex double insert?
- fixed GH #622: Crypto: RSATest::testSign() should verify with public key only
- fixed GH #620: Data documentation sample code outdated
- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
- fixed GH #616: Visual Studio warning C4244
- fixed GH #612: OpenSSLInitializer calls OPENSSL_config but not CONF_modules_free
- fixed GH #608: (Parallel)SocketAcceptor ctor/dtor call virtual functions
- fixed GH #607: Idle Reactor high CPU usage
- fixed GH #606: HTMLForm constructor read application/x-www-form-urlencoded UTF-8 request
  body first parameter with BOM in name
- fixed GH #596: For OpenSSL 1.0.1, include openssl/crypto.h not openssl/fips.h
- fixed GH #592: Incorrect format string in Poco::Dynamic::Struct
- fixed GH #590: Poco::Data::SQlite doesn't support URI filenames
- fixed GH #564: URI::encode
- fixed GH #560: DateTime class calculates a wrong day
- fixed GH #549: Memory allocation is not safe between fork() and execve()
- fixed GH #500: SSLManager causes a crash
- fixed GH #490: 2 byte frame with payload length of 0 throws "Incomplete Frame Received" exception
- fixed GH #483: multiple cases for sqlite_busy
- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
- fixed GH #478: HTTPCredentials not according to HTTP spec
- fixed GH #471: vs2010 release builds have optimization disabled ?
- fixed GH #468: HTTPClientSession/HTTPResponse not forwarding exceptions
- fixed GH #438: Poco::File::setLastModified() doesn't work
- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
  not thread safe
- fixed GH #345: Linker warning LNK4221 in Foundation for SignalHandler.obj, String.obj
  and ByteOrder.obj
- fixed GH #331: Poco::Zip does not support files with ".." in the name.
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #294: Poco::Net::TCPServerParams::setMaxThreads(int count) will not accept count == 0.
- fixed GH #215: develop WinCE build broken
- fixed GH #63: Net::NameValueCollection::size() returns int
- Poco::Logger: formatting methods now support up to 10 arguments.
- added Poco::Timestamp::raw()
- Poco::DeflatingOutputStream and Poco::InflatingOutputStreams also flush underlying stream
  on flush()/sync().
- Poco::Util::Timer: prevent re-schedule of cancelled TimerTask
- enabled WinRegistryKey and WinRegistryConfiguration for WinCE
- Poco::BasicEvent improvements and preparations for future support of lambdas/std::function
- upgraded bundled sqlite to 3.8.7.2
- Poco::Thread: added support for starting functors/lambdas
- Poco::Net::HTTPClientSession: added support for global proxy configuration
- added support for OAuth 1.0/2.0 via Poco::Net::OAuth10Credentials and
  Poco::Net::OAuth20Credentials classes.
- Poco::Net::IPAddress: fixed IPv6 prefix handling issue on Windows
- added Poco::Timestamp::TIMEVAL_MIN and Poco::Timestamp::TIMEVAL_MAX
- added Poco::Clock::CLOCKVAL_MIN and Poco::Clock::CLOCKVAL_MAX
- added poco_assert_msg() and poco_assert_msg_dbg() macros
- Poco::Net::Context: fixed a memory leak if the CA file was not found while creating the
  Context object (the underlying OpenSSL context would leak)
- Poco::URI: added new constructor to create URI from Path
- Various documentation and style fixes
- Removed support (project/solution files) for Visual Studio.NET 2003 and Visual Studio 2005.
- Improved CMake support


Release 1.5.4 (2014-10-14)
==========================

- fixed GH #326: compile Net lib 1.5.2 without UTF8 support enabled
- fixed GH #518: NetworkInterface.cpp compile error w/ POCO_NO_WSTRING (1.5.3)
- Fixed MSVC 2010 warnings on large alignment
- make HTTPAuthenticationParams::parse() add value on end of string
- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
- fixed GH #508: Can't compile for arm64 architecture
- fixed GH #510: Incorrect RSAKey construction from istream
- fix SharedMemory for WinCE/WEC2013
- Add NIOS2 double conversion detection, fixes compile errors
- added VS2013 project/solution files for Windows Embedded Compact 2013
- added Process::isRunning()
- NetSSL: Fix typo in documentation
- NetSSL_OpenSSL: support for TLS 1.1 and 1.2
- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based
  on file extension. Used to avoid double-compression of already compressed file
  formats such as images.
- added %L modifier to PatternFormatter to switch to local time
- removed unnecessary explicit in some multi-arg constructors
- Allow SecureStreamSocket::attach() to be used in server connections
- added Var::isBoolean() and fixed JSON stringifier
- added poco_unexpected() macro invoking Bugcheck::unexpected() to deal
  with unexpected exceptions in destructors
- fixed GH #538 prevent destructors from throwing exceptions
- improved HTTP server handling of errors while reading header
- fixed GH #545: use short for sign
- upgraded SQLite to 3.8.6
- fixed GH #550 WebSocket fragmented message problem
- improved HTTPClientSession handling of network errors while sending the request
- updated bundled PCRE to 8.35.0
- fixed GH #552: FIFOBuffer drain() problem
- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
  not thread safe
- HTTPCookie: fix documentation for max age
- added Timestamp::raw() and Clock::raw()
- Poco::Buffer properly handles zero-sized buffers
- GH #512: Poco:Data:ODBC:Binder.h causes a crash
- Added Crypto_Win and NetSSL_Win libraries which are re-implementations of existing
  Crypto and NetSSL_OpenSSL libraries based on WinCrypt/Schannel. The new libraries
  can be used as an almost drop-in replacement for the OpenSSL based libraries on
  Windows and Windows Embedded Compact platforms. Only available from GitHub for now.


Release 1.5.3 (2014-06-30)
==========================

- fixed GH# 316: Poco::DateTimeFormatter::append() gives wrong result for
  Poco::LocalDateTime
- Poco::Data::MySQL: added SQLite thread cleanup handler
- Poco::Net::X509Certificate: improved and fixed domain name verification for
  wildcard domains
- added Poco::Clock class, which uses a system-provided monotonic clock
  (if available) and is thus not affected by system realtime clock changes.
  Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
  supporting clock_gettime() and CLOCK_MONOTONIC.
- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
  have been changed to use Poco::Clock instead of Poco::Timestamp and are now
  unaffected by system realtime clock changes.
- fixed GH# 350: Memory leak in Data/ODBC with BLOB
- Correctly set MySQL time_type for Poco::Data::Date.
- fixed GH #352: Removed redundant #includes and fixed spelling mistakes.
- fixed setting of MYSQL_BIND is_unsigned value.
- fixed GH #360: CMakeLists foundation: add Clock.cpp in the list of source files
- Add extern "C" around <net/if.h> on HPUX platform.
- added runtests.sh
- fixed CPPUNIT_IGNORE parsing
- fixed Glob from start path, for platforms not alowing transverse from root (Android)
- added NTPClient (Rangel Reale)
- added PowerShell build script
- added SmartOS build support
- fix warnings in headers
- XMLWriter: removed unnecessary apostrophe escaping (&apos)
- MongoDB: use Int32 for messageLength
- fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
- Improve RSADigestEngine, using Poco::Crypto::DigestEngine to calculate hash before signing
- added Poco::PBKDF2Engine
- Fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
- added support for a 'Priority' attribute on cookies.
- GH #386: fixed bug in MailMessage without content-transfer-encoding header
- GH #384: ew hash algorithms support for RSADigestEngine
- fixed Clock overflow bug on Windows
- Poco::ByteOrder now uses intrinsics, if available
- CMake: added /bigobj option for msvc
- Fix typo to restore Net/TestSuite_x64_vs120 build
- correct path for CONFIGURE_FILE in CMakeLists.txt
- Building Poco 1.5.2 for Synology RS812+ (Intel Atom) (honor POCO_NO_INOTIFY)
- added WEC2013 support to buildwin.cmd and buildwin.ps1
- HTMLForm: in URL encoding, percent-encode more characters
- Fixed #include <linux/if.h> conflict with other libraries
- Poco::Net::X509Certificate::verify() no longer uses DNS reverse lookups to validate host names
- cert hostname validation is case insensitive and stricter for wildcard certificates
- TCPServer: do not reduce the capacity of the default ThreadPool
- added POCO_LOG_DEBUG flag
- Zip: fixed a crash caused by an I/O error
- added runtest script for windows
- added SQlite Full Text Search support
- added Thread::trySleep() and Thread::wakeUp()
- fixed GH #410: Bug in JSON::Object.stringify() in 1.5.2
- fixed GH #362: Defect in Var::parseString when there is no space between value and newline
- fixed GH #314: JSON parsing bug
- added GH #313: MetaColumn additions for Data::ODBC and Data::SQLite
- fixed GH #346: Make Poco::Data::Date and Poco::Data::Time compare functions const.
- fixed GH #341: Compiling poco-1.5.2 for Cygwin
- fixed GH #305: There are bugs in Buffer.h
- fixed GH #321: trivial build fixes (BB QNX build)
- fixed GH #440: MongoDB ObjectId string formatting
- added SevenZip library (Guenter Obiltschnig)
- fixed GH #442: Use correct prefix length field of Windows IP_ADAPTER_PREFIX structure
- improved GH #328: NetworkInterface on Windows XP
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
- fixed GH #290: Unicode support
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #363: DateTimeParser tryParse/parse
- added HTMLForm Content-Length calculation (Rangel Reale)
- Make TemporaryFile append a slash to tempDir
- fixed GH #319 android build with cmake
- added hasDelegates() method to AbstractEvent
- fixed GH #230: Poco::Timer problem
- fixed GH #317: Poco::Zip does not support newer Zip file versions.
- fixed GH #176: Poco::JSON::Stringifier UTF encoding
- fixed GH #458: Broadcast address and subnet mask for IEEE802.11 network interface
- fixed GH #456: poco: library install dirs per RUNTIME/LIBRARY/ARCHIVE


Release 1.5.2 (2013-09-16)
==========================

- added MongoDB library
- fixed GH #57: poco-1.5.1: Doesn't compile for Android
- added VoidEvent (Arturo Castro)
- fixed GH #80: NumberFormatter::append broken
- fixed GH #93: ParallelSocketAcceptor virtual functions
- optional small object optimization for IPAddress, SocketAddress, Any and Dynamic::Var
- SQLite events (insert, update, delete, commit, rollback) handlers
- merged GH #91: Improve SQLite multi-threaded use (Rangel Reale)
- merged GH #86: Invalid pointers to vector internals (Adrian Imboden)
- automatic library initialization macros
- fixed GH #110: WebSocket accept() fails when Connection header contains multiple tokens
- fixed GH #71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
- fixed GH #109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain
- added clang libc++ build configurations for Darwin and iPhone (Andrea Bigagli)
- fixed GH #116: Wrong timezone parsing in DateTimeParse (Matej Knopp)
- fixed GH #118: JSON::Object::stringify endless loop
- added Recursive and SortedDirectoryIterator (Marian Krivos)
- added ListMap (map-like container with preserving insertion order)
- MailMessage: attachments saving support and consistent read/write
- fixed GH #124: Possible buffer overrun in Foundation/EventLogChannel
- fixed GH #119: JSON::Object holds values in ordered map
- added JSON::PrintHandler
- renamed JSON::DefaultHandler to ParseHandler (breaking change!)
- fixed GH #127: Eliminate -Wshadow warnings
- fixed GH #79: Poco::Thread leak on Linux
- fixed GH #61: static_md build configs for Crypto and NetSSL
- fixed GH #130: prefer sysconf over sysctlbyname
- fixed GH #131: no timezone global var on OpenBSD
- fixed GH #102: Some subprojects don't have x64 solutions for VS 2010
- added GH #75: Poco::Uri addQueryParameter method
- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
- fixed GH #140: Poco::Runnable threading cleanup issue
- simplified default TCP/HTTPServer construction
- fixed GH #141: Application::run() documentation/implementation discrepancy
- changed RowFormatter to SharedPtr<RowFormatter> in Data::RecordSet interface (breaking change!)
- fixed GH #144: Poco::Dynamic emits invalid JSON
- removed naked pointers from Data interfaces
- fixed GH #82: name conflict in Data::Keywords::bind
- fixed GH #157: MySQL: cannot bind to 'long' data type on Windows/Visual C++
- fixed GH #158: MySQL: MYSQL_BIND 'is_unsigned' member is not set
- fixed GH #160: MultipartReader ignores first part, if preamble is missing
- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
- XML: fixed an issue with parsing a memory buffer > 2 GB
- upgraded to expat 2.1.0
- Data/ODBC: added support for setting query timeout (via setProperty
  of "queryTimeout"). Timeout is int, given in seconds.
- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
  and also removed unnecessary code.
- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
  has been unloaded.
- fixed GH #155: MailOutputStream mangles consecutive newline sequences
- fixed GH #139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
- fixed GH #173: HTTPClientSession::proxyConnect forces DNS lookup of host names
- fixed GH #194: MessageNotification constructor is inefficient.
- fixed GH #189: Poco::NumberParser::tryParse() documentation bug
- fixed GH #172: IPv6 Host field is stripped of Brackets in HTTPClientSession
- fixed GH #188: Net: SocketAddress operator < unusable for std::map key
- fixed GH #128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
  already specified
- fixed GH #65: Poco::format() misorders sign and padding specifiers
- upgraded bundled SQLite to 3.7.17
- replaced JSON parser with Poco::Web::JSON parser (from sandbox)
- added JSON conversion to Dynamic Struct and Array
- added VarIterator
- modified behavior of empty Var (empty == empty)
- added Alignment.h header for C++03 alignment needs
- added Data/WebNotifier (DB, WebSocket) example
- fixed GH #209: Poco::NumberFormatter double length
- fixed GH #204: Upgrade zlib to 1.2.8
- fixed GH #198: The "application.configDir" property is not always created.
- fixed GH #185: Poco::NumberFormatter::format(double value, int precision)
  ignore precision == 0
- fixed GH #138: FreeBSD JSON tests fail
- fixed GH #99: JSON::Query an JSON::Object
- limited allowed types for JSON::Query to Object, Array, Object::Ptr,
  Array::Ptr and empty
- fixed GH #175: HTMLForm does not read URL parameters on POST or PUT
- added GH #187: MySQL: allow access to the underlying connection handle
- added GH #186: MySQL: support for MYSQL_SECURE_AUTH
- fixed GH #174: MySQL: 4GB allocated when reading any largetext or largeblob field
- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
  (e.g., sendRequest() is sent two times in a row without an intermediate call to
  receiveResponse(), or by calling receiveResponse() two times in a row without
  an intermediate call to sendRequest()) - GH #217
- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
  that would provide inappropriate access to internal state
- merged GH #210: Don't call CloseHandle() twice on Windows; Ability to select the
  threadpool that will be used to start an Activity(Patrice Tarabbia)
- fixed GH #212: JSONConfiguration was missing from the vs90 project(Patrice Tarabbia)
- fixed GH #220: add qualifiers for FPEnvironment in C99 (Lucas Clemente)
- fixed GH #222: HTTPCookie doesn't support expiry times in the past (Karl Reid)
- fixed GH #224: building 1.5.1 on Windows for x64
- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only) does not work
- fixed GH# 231: Compatibility issue with Poco::Net::NetworkInterface
- fixed GH# 236: Bug in RecursiveDirectoryIterator
- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
  colorizing log messages
- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
- fixed GH# 254: UTF8::icompare unexpected behavior
- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
  (links to specifications).
- added GH# 268: Method to get JSON object value using Poco::Nullable
- fixed GH# 267: JSON 'find' not returning empty result if object is expected but another value is found
- Added support for ARM64 architecture and iPhone 5s 64-bit builds
  (POCO_TARGET_OSARCH=arm64).


Release 1.5.1 (2013-01-11)
==========================

- using double-conversion library for floating-point numeric/string conversions
- added Poco::istring (case-insensitive string) and Poco::isubstr
- added SQLite sys.dual (in-memory system table)
- applied SF Patch #120: The ExpireLRUCache does not compile with a tuple as key on Visual Studio 2010
- fixed SF Bug #599: JSON::Array and JSON::Object size() member can implicitly lose precision
- fixed SF Bug #602: iterating database table rows not correct if no data in table
- fixed SF Bug #603: count() is missing in HashMap
- fixed GH #23: JSON::Object::stringify throw BadCastException
- fixed GH #16: NetworkInterface::firstAddress() should not throw on unconfigured interfaces
- Android compile/build support (by Rangel Reale)
- TypeHandler::prepare() now takes const-reference
- fixed GH #27: Poco::URI::decode() doesn't properly handle '+'
- fixed GH #31: JSON implementation bug
- fixed SF #597: Configure script ignores cflags
- fixed SF #593: Poco 1.5.0 on FreeBSD: cannot find -ldl
- added SF #542: SocketAddress() needs port-only constructor
- fixed SF #215: Wrong return type in SocketConnector.h
- applied SF Patch #97: fix c++0x / clang++ bugs
- fixed GH32/SF596: Poco::JSON: Parsing long integer (int64) value fails.
- added Net ifconfig sample (contributed by Philip Prindeville)
- merged GH #34: add algorithm header (Roger Meier/Philip Prindeville)
- fixed GH #26: Cannot compile on gcc
- merged SF #111: FTP Client logging (Marian Krivos)
- fixed GH #30: Poco::Path::home() throws when called from Windows Service
- fixed GH #22: MySQL connection string lowercased
- added MySQL support for Date/Time
- upgraded SQLite to version 3.7.15.1 (2012-12-19)
- improved SQLite execute() return (affected rows) value and added tests
- added SQLite::Utility::isThreadSafe() function
- added SQLite::Utility::setThreadMode(int mode) function
- fixed GH #36: 'distclean' requires 3 traversals of project tree
- fixed GH #41: Buffer::resize crash
- fixed GH #42: Linux unbundled builds don't link
- fixed GH #44: Problems with win x64 build
- fixed GH #46: 1.5.1 build fails on OS X when using libc++
- fixed GH #48: Need getArgs() accessor to Util::Application to retrieve start-up arguments
- fixed GH #49: NetworkInterface::list doesn't return MAC addresses
- fixed GH #51: Android should use isfinite, isinf, isnan and signbit from the std namespace
- fixed GH #53: JSON unicode fixes and running tests on invalid unicode JSON
- added ParallelAcceptor and ParallelReactor classes
- added EOF and error to FIFOBuffer


Release 1.5.0 (2012-10-14)
==========================

- added JSON library
- added Util::JSONConfiguration
- added FIFOBuffer and FIFOBufferStream
- fixed SF# 3522906: Unregistering handlers from SocketReactor
- fixed SF# 3522084: AbstractConfiguration does not support 64-bit integers
- HTTPServer::stopAll(): close the socket instead of just shutting it down, as the latter won't wake up a select() on Windows
- added SMTPLogger
- added cmake support
- fixed SF#3538778: NetworkInterface enumeration uses deprecated API
- fixed SF#3538779: IPAddress lacks useful constructors: from prefix mask, native SOCKADDR
- fixed SF#3538780: SocketAddress needs operator < function
- fixed SF#3538775: Issues building on Fedora/Centos, etc. for AMD64
- fixed SF#3538786: Use size_t for describing data-blocks in DigestEngine
- added IPAddress bitwise operators (&,|,^,~)
- added IPAddress BinaryReader/Writer << and >> operators
- modified IPAddress to force IPv6 to lowercase (RFC 5952)
- fixed SF#3538785: SMTPClientSession::sendMessage() should take recipient list
- added IPAddress::prefixLength()
- UTF portability improvements
- fixed SF#3556186: Linux shouldn't use <net/if.h> in Net/SocketDefs.h
- added IPAddress RFC 4291 compatible site-local prefix support
- fixed SF#3012166: IPv6 patch
- added SF#3558085: Add formatter to MACAddress object
- fixed SF#3552774: Don't hide default target in subordinate makefile
- fixed SF#3534307: Building IPv6 for Linux by default
- fixed SF#3516844: poco missing symbols with external >=lipcre-8.13
- added SF#3544720: AbstractConfigurator to support 64bit values
- fixed SF#3522081: WinRegistryConfiguration unable to read REG_QWORD values
- fixed SF#3563626: For Win32 set Up/Running flags on NetworkInterface
- fixed SF#3560807: Deprecate setPeerAddress() as this is now done in getifaddrs
- fixed SF#3560776: Fix byte-ordering issues with INADDR_* literals
- fixed SF#3563627: Set IP address on multicast socket from socket family
- fixed SF#3563999: Size BinaryWriter based on buffer's capacity(), not size()
- fixed SF#102 Fix building Poco on Debian GNU/kFreeBSD
- fixed SF#321 Binding DatTime or Timestamp
- fixed SF#307 Detect the SQL driver type at run time
- added VS 2012 Projects/Solutions
- enhanced and accelerated numeric parsing for integers and floats
- fixed SF#590 Segfault on FreeBSD when stack size not rounded
- added warn function and warnmsg macro in CppUnit
- fixed SF# 3558012 Compilation fails when building with -ansi or -std=c++0x
- fixed SF# 3563517 Get rid of loss-of-precision warnings on x64 MacOS
- fixed SF#3562244: Portability fix for AF_LINK
- fixed SF #3562400: DatagramSocketImpl comment is incorrect


Release 1.4.7p1 (2014-11-25)
============================

- Fixed Visual C++ 2010-2013 project files. Release builds now have optimization enabled.
- Poco::URI: added constructor to create URI from Path.
- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
- Poco::Net::HTTPClientSession: added support for global proxy configuration
- fixed GH #331: Poco::Zip does not support files with .. in the name.
- fixed a memory leak in Poco::Net::Context constructor when it fails to load the certificate
  or private key files.
- upgraded bundled SQLite to 3.8.7.2
- fixed GH #229: added missing value() function
- fixed GH #69: MySQL empty text/blob


Release 1.4.7 (2014-10-06)
==========================

- fixed GH #398: PropertyFileConfiguration: input != output
- fixed GH #368: Build failure of Poco 1.4.6p2 on FreeBSD 9.2
- fixed GH #318: Logger local time doesn't automatically account for DST
- fixed GH #317: Poco::Zip does not support newer Zip file versions.
- fixed GH #454: Fix: handle unhandled exceptions
- fixed GH #463: XML does not compile with XML_UNICODE_WCHAR_T
- fixed GH #282: Using Thread in a global can cause crash on Windows
- fixed GH #424: Poco::Timer deadlock
- fixed GH #465: Fix result enum type XML_Error -> XML_Status
- fixed GH #510: Incorrect RSAKey construction from istream
- fixed GH #332: POCO::ConsoleChannnel::initColors() assigns no color to
  PRIO_TRACE and wrong color to PRIO_FATAL
- fixed GH #550: WebSocket fragmented message problem
- Poco::Data::MySQL: added SQLite thread cleanup handler
- Poco::Net::X509Certificate: improved and fixed domain name verification for
  wildcard domains
- fixed a crash in Foundation testsuite with Visual C++ 2012
- improved and fixed domain name verification for wildcard domains in
  Poco::Net::X509Certificate
- updated TwitterClient sample to use new 1.1 API and OAuth
- added Poco::Clock class, which uses a system-provided monotonic clock
  (if available) and is thus not affected by system realtime clock changes.
  Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
  supporting clock_gettime() and CLOCK_MONOTONIC.
- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
  have been changed to use Poco::Clock instead of Poco::Timestamp and are now
  unaffected by system realtime clock changes.
- added Poco::PBKDF2Engine class template
- Poco::Net::HTTPCookie: added support for Priority attribute (backport from develop)
- fixed makedepend.* scripts to work in paths containing '.o*'
  (contributed by Per-Erik Bjorkstad, Hakan Bengtsen)
- Upgraded bundled SQLite to 3.8.6
- Support for Windows Embedded Compact 2013 (Visual Studio 2012)
- Project and solution files for Visual Studio 2013
- Changes for C++11 compatibility.
- fixed an issue with receiving empty web socket frames (such as ping)
- improved error handling in secure socket classes
- Poco::ByteOrder now uses intrinsics if available
- added new text encoding classes: Latin2Encoding, Windows1250Encoding, Windows1251Encoding
- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based on file extension.
  Used to avoid double-compression of already compressed file formats such as images.


Release 1.4.6p4 (2014-04-18)
============================

- no longer use reverse DNS lookups for cert hostname validation
- cert hostname validation is case insensitive and more strict
- HTMLForm: in URL encoding, percent-encode more special characters
- fixed thread priority issues on POSIX platforms with non-standard scheduling policy
- XMLWriter no longer escapes apostrophe character
- fixed GH #316: Poco::DateTimeFormatter::append() gives wrong result for Poco::LocalDateTime
- fixed GH #305 (memcpy in Poco::Buffer uses wrong size if type != char)
- Zip: fixed a crash caused by an I/O error (e.g., full disk) while creating a Zip archive


Release 1.4.6p3 (2014-04-02)
============================

- Fixed a potential security vulnerability in client-side X509
  certificate verification.


Release 1.4.6p2 (2013-09-16)
============================

- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
- XML: fixed an issue with parsing a memory buffer > 2 GB
- upgraded to expat 2.1.0
- Data/ODBC: added support for setting query timeout (via setProperty
  of "queryTimeout"). Timeout is int, given in seconds.
- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
  and also removed unnecessary code.
- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
  has been unloaded.
- fixed GH #155: MailOutputStream mangles consecutive newline sequences
- fixed GH# 139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
- fixed GH# 173: HTTPClientSession::proxyConnect forces DNS lookup of host names
- fixed GH# 194: MessageNotification constructor is inefficient.
- fixed GH# 189: Poco::NumberParser::tryParse() documentation bug
- fixed GH# 172: IPv6 Host field is stripped of Brackets in HTTPClientSession
- fixed GH# 188: Net: SocketAddress operator < unusable for std::map key
- fixed GH# 128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
  already specified
- fixed GH# 65: Poco::format() misorders sign and padding specifiers
- upgraded bundled SQLite to 3.7.17
- upgraded bundled zlib to 1.2.8
- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
  (e.g., sendRequest() is sent two times in a row without an intermediate call to
  receiveResponse(), or by calling receiveResponse() two times in a row without
  an intermediate call to sendRequest()) - GH #217
- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
  that would provide inappropriate access to internal state
- fixed GH# 223 (Poco::Net::HTTPCookie does not support expiry times in the past)
- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only)
  does not work
- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
  colorizing log messages
- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
- fixed GH# 254: UTF8::icompare unexpected behavior
- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
  (links to specifications).
- Added support for ARM64 architecture and iPhone 5s 64-bit builds
  (POCO_TARGET_OSARCH=arm64).


Release 1.4.6p1 (2013-03-06)
============================

- fixed GH# 71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
- fixed an ambiguity error with VC++ 2010 in Data/MySQL testsuite
- Poco::Net::NetworkInterface now provides the interface index even for IPv4
- added DNS::reload() as a wrapper for res_init().
- On Linux, Poco::Environment::nodeId() first always tries to obtain the
  MAC address of eth0, before looking for other interfaces.
- Poco::Net::HTTPSession now always resets the buffer in connect() to clear
  any leftover data from a (failed) previous session
- fixed copysign namespace issue in FPEnvironment_DUMMY.h
- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
- added a build configuration for BeagleBoard/Angstrom
- fixed GH# 109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain)
- fixed compile errors with clang -std=c++11
- fixed GH# 116: Wrong timezone parsing in DateTimeParse (fix by Matej Knopp)
- updated bundled SQLite to 3.7.15.2


Release 1.4.6 (2013-01-10)
==========================

- changed FPEnvironment_DUMMY.h to include <cmath> instead of <math.h>
- updated bundled SQLite to 3.7.15.1
- fixed GH# 30: Poco::Path::home() throws
- fixed SF Patch# 120 The ExpireLRUCache does not compile with a tuple as key on VS2010
- fixed SF# 603 count() is missing in HashMap
- Crypto and NetSSL_OpenSSL project files now use OpenSSL *MD.lib library files for
  static_md builds. Previously, the DLL import libs were used.
- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012


Release 1.4.5 (2012-11-19)
==========================

- added Visual Studio 2012 project files
- buildwin.cmd now support building with msbuild for VS2010 and 2012.
- added Poco::Optional class
- fixed SF# 3558012 Compilation fails when building with -ansi or -std=c++0x
- fixed SF# 3563517 Get rid of loss-of-precision warnings on x64 MacOS
- fixed SF# 3562244: Portability fix for AF_LINK
- fixed SF# 3562400: DatagramSocketImpl comment
- fixed SF# 594: Websocket fails with small masked payloads
- fixed SF# 588: Missing POCO_ARCH and POCO_ARCH_LITTLE_ENDIAN define for WinCE on SH4
- fixed SF# 581: Out-of-bound array access in Unicode::properties() function.
- fixed SF# 590: Segfault on FreeBSD when stack size not rounded
- fixed SF# 586: Poco::DateTimeParser and ISO8601 issues when seconds fraction has more than 6 digits
- Poco::Net::HTTPSSessionInstantiator::registerInstantiator() now optionally accepts a
  Poco::Net::Context object.
- added Poco::XML::XMLWriter::depth() member function.
- added Poco::XML::XMLWriter::uniquePrefix() and Poco::XML::XMLWriter::isNamespaceMapped().
- Poco::FileChannel now supports a new rotateOnOpen property (true/false) which can be used
  to force rotation of the log file when it's opened.
- fixed a bug in Poco::XML::XMLWriter::emptyElement(): need to pop namespace context
- OS X builds now use Clang as default compiler
- Updated SQLite to 3.7.14.1
- POCO_SERVER_MAIN macro now has a try ... catch block for Poco::Exception and writes
  the displayText to stderr.
- Poco/Platform.h now defines POCO_LOCAL_STATIC_INIT_IS_THREADSAFE macro if the compiler
  generates thread-safe static local initialization code.


Release 1.4.4 (2012-09-03)
==========================

- ZipStream now builds correctly in unbundled build.
- added proxy digest authentication support to Net library
- integrated MySQL BLOB fixes from Franky Braem.
- use standard OpenSSL import libraries (libeay32.lib, ssleay32.lib) for Crypto and
  NetSSL_OpenSSL Visual Studio project files.
- fixed a potential buffer corruption issue in Poco::Net::SecureStreamSocket if lazy
  handshake is enabled and the first attempt to complete the handshake fails
- Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601
  date/times with fractional seconds.
- Poco::Process::launch() now has additional overloads allowing to specify an initial
  directory and/or environment.
- Poco::Net::FTPClientSession: timeout was not applied to data connection, only to
  control connection.
- Fixed potential IPv6 issue with socket constructors if IPv6 SocketAddress is given
  (contributed by ??????? ????????? <milovidov@yandex-team.ru>).
- Added an additional (optional) parameter to Poco::Thread::setOSPriority() allowing to
  specify a scheduling policy. Currently this is only used on POSIX platforms and allows
  specifying SCHED_OTHER (default), SCHED_FIFO or SCHED_RR, as well as other
  platform-specific policy values.
- Added Poco::Crypto::DigestEngine class providing a Poco::DigestEngine interface to
  the digest algorithms provided by OpenSSL.
- Fixed some potential compiler warnings in Crypto library
- In some cases, when an SSL exception was unexpectedly closed, a generic Poco::IOException
  was thrown. This was fixed to throw a SSLConnectionUnexpectedlyClosedException instead.
- Added Poco::ObjectPool class template.
- Poco::Net::HTTPServer has a new stopAll() method allowing stopping/aborting of all
  currently active client connections.
- The HTTP server framework now actively prevents sending a message body in the
  response to a HEAD request, or in case of a 204 No Content or 304 Not Modified
  response status.
- fixed a DOM parser performance bug (patch by Peter Klotz)
- fixed SF# 3559325: Util Windows broken in non-Unicode
- updated iOS build configuration to use xcode-select for finding toolchain
- Poco::Net::SecureSocketImpl::shutdown() now also shuts down the underlying socket.
- fixed SF# 3552597: Crypto  des-ecb error
- fixed SF# 3550553: SecureSocketImpl::connect hangs
- fixed SF# 3543047: Poco::Timer bug for long startInterval/periodic interval
- fixed SF# 3539695: Thread attributes should be destroyed using the pthread_attr_destroy()
- fixed SF# 3532311: Not able to set socket option on ServerSocket before bind
  Added Poco::Net::Socket::init(int af) which can be used to explicitely
  initialize the underlying socket before calling bind(), connect(), etc.
- fixed SF# 3521347: Typo in UnWindows.h undef
- fixed SF# 3519474: WinRegistryConfiguration bug
  Also added tests and fixed another potential issue with an empty root path passed to the constructor.
- fixed SF# 3516827: wrong return value of WinRegistryKey::exists()
- fixed SF# 3515284: RSA publickey format(X.509 SubjectPublicKeyInfo)
- fixed SF# 3503267: VxWorks OS prio is not set in standard constructor
- fixed SF# 3500438: HTTPResponse failure when reason is empty
- fixed SF# 3495656: numberformater, numberparser error in mingw
- fixed SF# 3496493: Reference counting broken in TaskManager postNotification
- fixed SF# 3483174: LogFile flushing behavior on Windows
  Flushing is now configurable for FileChannel and SimpleFileChannel
  using the "flush" property (true or false).
- fixed SF# 3479561: Subsequent IPs on a NIC is not enumerated
- fixed SF# 3478665: Permission checks in Poco::File not correct for root
- fixed SF# 3475050: Threading bug in initializeNetwork() on Windows
- fixed SF# 3552680: websocket small frames bug and proposed fix
- fixed a WebSocket interop issue with Firefox
- added Poco::Net::MessageHeader::hasToken()
- Poco::AtomicCounter now uses GCC 4.3 builtin atomics on more platforms
- fixed SF# 3555938: NetSSL: socket closed twice
- socket exceptions now include OS error code
- fixed SF# 3556975: Need to fix Shared Memory for memory map
- Poco::Net::SecureSocketImpl::close() now catches exceptions thrown by its call to shutdown().
- fixed SF# 3535990: POCO_HAVE_IPv6 without POCO_WIN32_UTF8 conflict
- fixed SF# 3559665: Poco::InflatingInputStream may not always inflate completely
- added Poco::DirectoryWatcher class
- fixed SF# 3561464: Poco::File::isDevice() can throw due to sharing violation
- Poco::Zip::Compress::addRecursive() has a second variant that allows to specify the compression method.
- Upgraded internal SQLite to 3.7.14


Release 1.4.3p1 (2012-01-23)
============================

- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit


Release 1.4.3 (2012-01-16)
==========================

- fixed a compilation error with Data/MySQL on QNX.
- fixed Util project files for WinCE (removed sources not compileable on CE)
- removed MD2 license text from Ackowledgements document
- fixed iPhone build config for Xcode 4.2 (compiler name changed to llvm-g++)
- Poco::Util::XMLConfiguration: delimiter char (default '.') is now configurable.
  This allows for working with XML documents having element names with '.' in them.
- Poco::Util::OptionProcessor: Required option arguments can now be specified as
  separate command line arguments, as in "--option value" in addition to the
  "--option=value" format.
- Poco::Util::HelpFormatter: improved option help formatting if  indentation has
  been set explicitely.
- added Mail sample to NetSSL_OpenSSL, showing use of Poco::Net::SecureSMTPClientSession.
- added additional read() overloads to Poco::Net::HTMLForm.
- fixed SF# 3440769: Poco::Net::HTTPResponse doesn't like Amazon EC2 cookies.
- added support for requiring TLSv1 to Poco::Net::Context.
- added an additional constructor to Poco::Net::HTTPBasicCredentials, allowing
  the object to be created from a string containing a base64-encoded, colon-separated
  username and password.
- Poco::Zip::ZipStreamBuf: fixed a crash if CM_STORE was used.
- Added setContentLength64() and getContentLength64() to Poco::Net::HTTPMessage.
- added Poco::Environment::osDisplayName().
- fixed SF# 3463096: WinService leaves dangling handles (open() now does not reopen the
  service handle if it's already open)
- fixed SF# 3426537: WinRegistryConfiguration can't read virtualized keys
- added Poco::Buffer::resize()
- fixed SF# 3441822: thread safety issue in HTTPClientSession:
  always use getaddrinfo() instead of gethostbyname() on all platforms supporting it
- added version resource to POCO DLLs
- fixed SF# 3440599: Dir Path in Quotes in PATH cause PathTest::testFind to fail.
- fixed SF# 3406030: Glob::collect problem
- added Poco::Util::AbstractConfiguration::enableEvents()
- Poco::AtomicCounter now uses GCC builtins with GCC 4.1 or newer
  (contributed by Alexey Milovidov)
- made Poco::Logger::formatDump() public as it may be useful for others as well
  (SF# 3453446)
- Poco::Net::DialogSocket now has a proper copy constructor (SF# 3414602)
- Poco::Net::MessageHeader and Poco::Net::HTMLForm now limit the maximum number of
  fields parsed from a message to prevent certain kinds of denial-of-service
  attacks. The field limit can be changed with the new method setFieldLimit().
  The default limit is 100.
- Poco::NumberFormatter, Poco::NumberParser and Poco::format() now always use the
  classic ("C") locale to format and parse floating-point numbers.
- added Poco::StreamCopier::copyStream64(), Poco::StreamCopier::copyStreamUnbuffered64()
  and Poco::StreamCopier::copyToString64(). These functions use a 64-bit integer
  to count the number of bytes copied.
- upgraded internal zlib to 1.2.5
- upgraded internal sqlite to 3.7.9
- XML: integrated bugfix for Expat bug# 2958794 (memory leak in poolGrow)
- Added support for HTTP Digest authentication (based on a contribution by
  Anton V. Yabchinskiy (arn at bestmx dot ru)). For information on how
  to use this, see the Poco::Net::HTTPCredentials, Poco::Net::HTTPDigestCredentials
  and Poco::Net::HTTPAuthenticationParams classes.
- Poco::Net::HTTPStreamFactory and Poco::Net::HTTPSStreamFactory now support Basic
  and Digest authentication. Username and password must be provided in the URI.
- added Poco::Net::WebSocket, supporting the WebSocket protocol as described in RFC 6455
- NetSSL_OpenSSL: added client-side support for Server Name Indication.
  Poco::Net::SecureSocketImpl::connectSSL() now calls SSL_set_tlsext_host_name()
  if its available (OpenSSL 9.8.6f and later).
- added Poco::Net::HTTPClientSession::proxyConnect() (factored out from
  Poco::Net::HTTPSClientSession::connect())
- added Poco::Process::kill(const Poco::ProcessHandle&) which is preferable to
  kill(pid) on Windows, as process IDs on Windows may be reused.
- fixed SF# 3471463: Compiler warnings with -Wformat
- Poco::Util::Application::run() now catches and logs exceptions thrown in initialize()
- Fixed a WinCE-specific bug in Poco::Util::ServerApplication where uninitialize() would
  be called twice.
- fixed SF# 3471957: WinRegistryKey::deleteKey() unable to delete alt views
- Added additional constructor to Poco::ScopedLock and Poco::ScopedLockWithUnlock
  accepting a timeout as second argument.
- Added Poco::Logger::parseLevel()
- Poco::format(): an argument that does not match the format
  specifier no longer results in a BadCastException. The string [ERRFMT] is
  written to the result string instead.
- PageCompiler: added createSession page attribute.
jperkin pushed a commit that referenced this pull request Feb 15, 2016
Needed by py-google-api-python-client-1.4.2.

## v1.5.2

* Add access token refresh error class that includes HTTP status (#310)
* Python3 compatibility fixes for Django (#316, #318)
* Fix incremental auth in flask_util (#322)
* Fall back to credential refresh on EDEADLK in multistore_file (#336)

## v1.5.1

* Fix bad indent in `tools.run_flow()` (#301, bug was
  introduced when switching from 2 space indents to 4)

## v1.5.0

* Fix (more like clarify) `bytes` / `str` handling in crypto
  methods. (#203, #250, #272)
* Replacing `webapp` with `webapp2` in `oauth2client.appengine` (#217)
* Added optional `state` parameter to
  `step1_get_authorize_url`. (#219 and #222)
* Added `flask_util` module that provides a Flask extension to aid
  with using OAuth2 web server flow. This provides the same functionality
  as the `appengine.webapp2` OAuth2Decorator, but will work with any Flask
  application regardless of hosting environment. (#226, #273)
* Track scopes used on credentials objects (#230)
* Moving docs to [readthedocs.org][1] (#237, #238, #244)
* Removing `old_run` module. Was deprecated July 2, 2013. (#285)
* Avoid proxies when querying for GCE metadata (to check if
  running on GCE) (#114, #293)

[1]: https://readthedocs.org/

## v1.4.12

* Fix OS X flaky test failure (#189).
* Fix broken OpenSSL import (#191).
* Remove `@util.positional` from wrapped request in `Credentials.authorize()`
  (#196, #197).
* Changing pinned dependencies to `>=` (#200, #204).
* Support client authentication using `Authorization` header (#206).
* Clarify environment check in case where GAE imports succeed but GAE services
  aren't available (#208).

## v1.4.11

* Better environment detection with Managed VMs.
* Better OpenSSL detection in exotic environments.

## v1.4.10

* Update the `OpenSSL` check to be less strict about finding `crypto.py` in
  the `OpenSSL` directory.
* `tox` updates for new environment handling in `tox`.

## v1.4.9

* Ensure that the ADC fails if we try to *write* the well-known file to a
  directory that doesn't exist, but not if we try to *read* from one.

## v1.4.8

* Better handling of `body` during token refresh when `body` is a stream.
* Better handling of expired tokens in storage.
* Cleanup around `openSSL` import.
* Allow custom directory for the `well_known_file`.
* Integration tests for python2 and python3. (!!!)
* Stricter file permissions when saving the `well_known_file`.
* Test cleanup around config file locations.

## v1.4.7

* Add support for Google Developer Shell credentials.
* Better handling of filesystem errors in credential refresh.
* python3 fixes
* Add `NO_GCE_CHECK` for skipping GCE detection.
* Better error messages on `InvalidClientSecretsError`.
* Comment cleanup on `run_flow`.

## v1.4.6

* Add utility function to convert PKCS12 key to PEM. (#115)
* Change GCE detection logic. (#93)
* Add a tox env for doc generation.

## v1.4.5

* Set a shorter timeout for an Application Default Credentials issue on some
  networks. (#93, #101)
* Test cleanup, switch from mox to mock. (#103)
* Switch docs to sphinx from epydoc.

## v1.4.4

* Fix a bug in bytes/string encoding of headers.

## v1.4.3

* Big thanks to @dhermes for spotting and fixing a mess in our test setup.

* Fix a serious issue with tests not being run. (#86, #87, #89)
* Start credentials cleanup for single 2LO/3LO call. (#83, #84)
* Clean up stack traces when re-raising in some places. (#79)
* Clean up doc building. (#81, #82)
* Fixed minimum version for `six` dependency. (#75)
jperkin pushed a commit that referenced this pull request Aug 24, 2016
NEWS:
Version 2.5.3
-------------
- Updated zoneinfo to 2016d
- Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is
  set to true. (gh issue #233, pr #234)
- Bug in zoneinfo file on platforms such as Google App Engine which do not
  do not allow importing of subprocess.check_call was reported and fixed by
  @savraj (gh issue #239, gh pr #240)
- Fixed incorrect version in documentation (gh issue #235, pr #243)

Version 2.5.2
-------------
- Updated zoneinfo to 2016c
- Fixed parser bug where yearfirst and dayfirst parameters were not being
  respected when no separator was present. (gh issue #81 and #217, pr #229)

Version 2.5.1
-------------
- Updated zoneinfo to 2016b
- Changed MANIFEST.in to explicitly include test suite in source distributions,
  with help from @koobs (gh issue #193, pr #194, #201, #221)
- Explicitly set all line-endings to LF, except for the NEWS file, on a
  per-repository basis (gh pr #218)
- Fixed an issue with improper caching behavior in rruleset objects (gh issue
  #104, pr #207)
- Changed to an explicit error when rrulestr strings contain a missing BYDAY
  (gh issue #162, pr #211)
- tzfile now correctly handles files containing leapcnt (although the leapcnt
  information is not actually used). Contributed by @hjoukl (gh issue #146, pr
  #147)
- Fixed recursive import issue with tz module (gh pr #204)
- Added compatibility between tzwin objects and datetime.time objects (gh issue
  #216, gh pr #219)
- Refactored monolithic test suite by module (gh issue #61, pr #200 and #206)
- Improved test coverage in the relativedelta module (gh pr #215)
- Adjusted documentation to reflect possibly counter-intuitive properties of
  RFC-5545-compliant rrules, and other documentation improvements in the rrule
  module (gh issue #105, gh issue #149 - pointer to the solution by @phep,
  pr #213).


Version 2.5.0
-------------
- Updated zoneinfo to 2016a
- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
  script will work with older zoneinfo_metadata.json files, but new metadata
  files will not work with older updatezinfo.py versions. Additionally, we have
  started hosting our own mirror of the Olson databases on a github pages
  site (https://dateutil.github.io/tzdata/) (gh pr #183)
- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
  to generate them. (gh issue #27, gh pr #85)
- relativedelta can now be safely subclassed without derived objects reverting
  to base relativedelta objects as a result of arithmetic operations.
  (lp:1010199, gh issue #44, pr #49)
- relativedelta 'weeks' parameter can now be set and retrieved as a property of
  relativedelta instances. (lp: 727525, gh issue #45, pr #49)
- relativedelta now explicitly supports fractional relative weeks, days, hours,
  minutes and seconds. Fractional values in absolute parameters (year, day, etc)
  are now deprecated. (gh issue #40, pr #190)
- relativedelta objects previously did not use microseconds to determine of two
  relativedelta objects were equal. This oversight has been corrected.
  Contributed by @elprans (gh pr #113)
- rrule now has an xafter() method for retrieving multiple recurrences after a
  specified date. (gh pr #38)
- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
  @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160)
- rrule performance under certain conditions has been significantly improved
  thanks to a patch contributed by @dekoza, based on an article by Brian Beck
  (@exogen) (gh pr #136)
- The use of both the 'until' and 'count' parameters is now deprecated as
  inconsistent with RFC2445 (gh pr #62, #185)
- Parsing an empty string will now raise a ValueError, rather than returning the
  datetime passed to the 'default' parameter. (gh issue #78, pr #187)
- tzwinlocal objects now have a meaningful repr() and str() implementation
  (gh issue #148, prs #184 and #186)
- Added equality logic for tzwin and tzwinlocal objects. (gh issue #151,
  pr #180, #184)
- Added some flexibility in subclassing timelex, and switched the default
  behavior over to using string methods rather than comparing against a fixed
  list. (gh pr #122, #139)
- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
  gh issue #51, pr #55)
- An issue with string encoding causing exceptions under certain circumstances
  when tzname() is called was fixed. (gh issue #60, #74, pr #75)
- Parser issue where calling parse() on dates with no day specified when the
  day of the month in the default datetime (which is "today" if unspecified) is
  greater than the number of days in the parsed month was fixed (this issue
  tended to crop up between the 29th and 31st of the month, for obvious reasons)
  (canonical gh issue #25, pr #30, #191)
- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
  in certain circumstances. Contributed by @MichaelAquilina (gh pr #91)
- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
  by @Bachmann1234 (gh pr #130)
- Fixed parser issue where commas were not a valid separator between seconds
  and microseconds, preventing parsing of ISO 8601 dates. Contributed by
  @ryanss (gh issue #28, pr #106)
- Fixed issue with tzwin encoding in locales with non-Latin alphabets
  (gh issue #92, pr #98)
- Fixed an issue where tzwin was not being properly imported on Windows.
  Contributed by @labrys. (gh pr #134)
- Fixed a problem causing issues importing zoneinfo in certain circumstances.
  Issue and solution contributed by @alexxv (gh issue #97, pr #99)
- Fixed an issue where dateutil timezones were not compatible with basic time
  objects. One of many, many timezone related issues contributed and tested by
  @labrys. (gh issue #132, pr #181)
- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135,
  pr #141, #142)
- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
  parsed from the registry. (gh issue #143, pr #178)
- updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv
  (gh pr #164)
- An issue that arose when timezone locale changes during runtime has been
  fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109)
- Python 3.5 was added to the supported platforms in the metadata (@tacaswell
  gh pr #159) and the test suites (@moreati gh pr #117).
- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
  by @moreati (gh pr #115)
- Several deprecated functions were replaced in the tests by @moreati
  (gh pr #116)
- Improved the logic in Travis and Appveyor to alleviate issues where builds
  were failing due to connection issues when downloading the IANA timezone
  files. In addition to adding our own mirror for the files (gh pr #183), the
  download is now retried a number of times (with a delay) (gh pr #177)
- Many failing doctests were fixed by @moreati. (gh pr #120)
- Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere,
  gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits)
- Added a code coverage tool to the CI to help improve the library. (gh pr #182)
- We now have a mailing list - dateutil@python.org, graciously hosted by
  Python.org.


Version 2.4.2
-------------
- Updated zoneinfo to 2015b.
- Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded
  if not a unicode type. gh #51 (lp:1331576), gh pr #55.
- Fix a parser issue where AM and PM tokens were showing up in fuzzy date
  stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63.
- Missing function "setcachesize" removed from zoneinfo __all__ list by @ryanss,
  fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66).
- (PyPi only) Fix an issue with source distributions not including the test
  suite.


Version 2.4.1
-------------

- Added explicit check for valid hours if AM/PM is specified in parser.
  (gh pr #22, issue #21)
- Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not
  handled properly. (gh pr #35, issue #34)
- Fix error where parser allowed some invalid dates, overwriting existing hours
  with the last 2-digit number in the string. (gh pr #32, issue #31)
- Fix and add test for Python 2.x compatibility with boolean checking of
  relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier
  (lp: 1035038)
- Replaced parse() calls with explicit datetime objects in unit tests unrelated
  to parser. (gh pr #36)
- Changed private _byxxx from sets to sorted tuples and fixed one currently
  unreachable bug in _construct_byset. (gh pr #54)
- Additional documentation for parser (gh pr #29, #33, #41) and rrule.
- Formatting fixes to documentation of rrule and README.rst.
- Updated zoneinfo to 2015a.
jperkin pushed a commit that referenced this pull request Oct 2, 2016
FreeGLUT 3.0.0 is finally available for download.

I'd like to thank everyone who contributed to FreeGLUT and made yet
another release possible.


FreeGLUT 3.0.0 RC3 is available on sourceforge.

Hopefully this will be the last release candidate. Please give it a spin,
and let us know if there are any release-critical bugs with this one.

Here's the list of changes since RC2:
------------------------------------------------------------------------
r1742 | jtsiomb | 2015-01-03 13:55:09 +0200 (Sat, 03 Jan 2015) | 2 lines

pkgconfig files should go to $(PREFIX)/lib, not $(PREFIX)/share. Closing bug #216

------------------------------------------------------------------------
r1743 | jtsiomb | 2015-02-18 02:37:05 +0200 (Wed, 18 Feb 2015) | 5 lines

Applied Daniel Macks' patch to use ${CMAKE_INSTALL_LIBDIR} instead of
hardcoding lib for the installation directory of libraries, with the
additional modification of installing the pkg-config files there too.
closing bug #217

------------------------------------------------------------------------
r1744 | jtsiomb | 2015-02-18 05:59:21 +0200 (Wed, 18 Feb 2015) | 3 lines

added INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR}) to make sure X11 header
files are correctly located, on systems where they are in weird places.
This closes bug: #218

------------------------------------------------------------------------
r1745 | jtsiomb | 2015-02-18 06:59:57 +0200 (Wed, 18 Feb 2015) | 7 lines

- changed the main INCLUDE_DIRECTORIES definition to place the main header
  locations first in the list instead of appending them. This gives priority to
  our freeglut*.h files instead of the old system-wide installed ones.
- removed the Xxf86vm hack from CMakeLists.txt: it seems like it's not needed
  any more in new versions of cmake, and it fails to link on MacOSX.

------------------------------------------------------------------------
r1746 | jtsiomb | 2015-02-18 07:03:16 +0200 (Wed, 18 Feb 2015) | 6 lines

MacOSX doesn't define HOST_NAME_MAX in unistd.h, which made freeglut fail to
build. Now, if the definition is missing, we'll just define it arbitrarilly as
255, which should be a safe value. This is just needed for an obscure X11 WM
protocol.

------------------------------------------------------------------------
r1747 | jtsiomb | 2015-02-18 07:20:50 +0200 (Wed, 18 Feb 2015) | 2 lines

removed the completely outdated FrequentlyAskedQuestions file


Apologies for the long delay between RC1 and RC2. If there are no
critical bugs with this one, we'll be able to release 3.0.0 shortly.

Here's the complete list of changes between RC1 and RC2:
------------------------------------------------------------------------
r1727 | dcnieho | 2014-11-03 06:18:51 +0200 (Mon, 03 Nov 2014) | 1 line

Added missing glutStrokeWidthf and glutStrokeLengthf for mobile support.
------------------------------------------------------------------------
r1728 | dcnieho | 2014-11-03 06:19:10 +0200 (Mon, 03 Nov 2014) | 3 lines

Added support for minimizing window.
Fixed issue where reshape callback would be called multiple times due to
conflicting window size messages on keyboard closure.
Fixed issue where changing orientation with the keyboard open would
cause multiple reshape events.
------------------------------------------------------------------------
r1729 | jtsiomb | 2014-11-04 13:47:27 +0200 (Tue, 04 Nov 2014) | 3 lines

- changed the minor so version for the new release to 3.10.0 (fg2.8.1
  was 3.9.0)
- made the so version numbers more prominent in the cmake file to make
  sure they're not forgotten in future releases

------------------------------------------------------------------------
r1730 | jtsiomb | 2014-12-02 07:22:12 +0200 (Tue, 02 Dec 2014) | 2 lines

include standard UNIX header fcntl.h in fg_joystick_x11.c, since fcntl()
is called conditionally in there (bug #192).

------------------------------------------------------------------------
r1731 | dcnieho | 2014-12-22 18:27:02 +0200 (Mon, 22 Dec 2014) | 3 lines

typofixes - https://github.com/vlajos/misspell_fixer

(cherry picked from commit c85ed83b848379d49d0869b84ab15851e2df8784)
------------------------------------------------------------------------
r1732 | jtsiomb | 2014-12-24 23:23:29 +0200 (Wed, 24 Dec 2014) | 2 lines

brought back the option to build either as "glut" or "freeglut":
FREEGLUT_REPLACE_GLUT

------------------------------------------------------------------------
r1733 | dcnieho | 2014-12-25 16:35:09 +0200 (Thu, 25 Dec 2014) | 1 line

CMake: FREEGLUT_REPLACE_GLUT option should not be visible on windows
------------------------------------------------------------------------
r1734 | dcnieho | 2014-12-25 16:35:17 +0200 (Thu, 25 Dec 2014) | 1 line

updated list of cmake switches in README.cmake



RC1 of the 3.0.0 release has been posted on the sourceforge website,
get it here:

Please do test and let us know of any issues you find.

There have been hundreds of commits over the last year or so, but here
are some important changes since 2.8.1:
- internal cleanup and reorganization, making it easier to add new
platforms while avoiding ifdef hell
- moved to CMake for buildsystem
- added martin newell's teacup and teaspoon to complement the teapot
- shapes now use vertex buffers internally for faster drawing
- shapes can now be drawn in forward compatible contexts, see new
functions glutSetVertexAttribCoord3, glutSetVertexAttribNormal, and
glutSetVertexAttribTexCoord2.
- new GLUT_GEOMETRY_VISUALIZE_NORMALS option to visualize the normals
of the shapes (these are frequently used for educational demos after
all)
- experimental support for Android and BlackBerry 10/BlackBerry
PlayBook mobile platforms, note that so far only a subset of FreeGLUT
is implemented
- can now set font of menu
- menu behavior corrected, multiple bugs fixed
- X11 fullscreen code updated, correctness improved
- time internally now 64 bit, so timers and such wont wrap for humanly
possible timeframes
mamash pushed a commit that referenced this pull request Oct 10, 2016
v1.3.0
======

* Added `ffi.memmove()`_.

* Pull request #64: out-of-line API mode: we can now declare
  floating-point types with ``typedef float... foo_t;``.  This only
  works if ``foo_t`` is a float or a double, not ``long double``.

* Issue #217: fix possible unaligned pointer manipulation, which crashes
  on some architectures (64-bit, non-x86).

* Issues #64 and #126: when using ``set_source()`` or ``verify()``,
  the ``const`` and ``restrict`` keywords are copied from the cdef
  to the generated C code; this fixes warnings by the C compiler.
  It also fixes corner cases like ``typedef const int T; T a;``
  which would previously not consider ``a`` as a constant.  (The
  cdata objects themselves are never ``const``.)

* Win32: support for ``__stdcall``.  For callbacks and function
  pointers; regular C functions still don't need to have their `calling
  convention`_ declared.

* Windows: CPython 2.7 distutils doesn't work with Microsoft's official
  Visual Studio for Python, and I'm told this is `not a bug`__.  For
  ffi.compile(), we `removed a workaround`__ that was inside cffi but
  which had unwanted side-effects.  Try saying ``import setuptools``
  first, which patches distutils...

.. _`ffi.memmove()`: using.html#memmove
.. __: https://bugs.python.org/issue23246
.. __: https://bitbucket.org/cffi/cffi/pull-requests/65/remove-_hack_at_distutils-which-imports/diff
.. _`calling convention`: using.html#windows-calling-conventions
jperkin pushed a commit that referenced this pull request Oct 22, 2016
## 1.2.1

* Fixed #272. Workaround Ruby bug 12832 which caused interpreter to hang. See https://bugs.ruby-lang.org/issues/12832. Thanks to @chrisroos & @petems (6f1c8b9b, #273).

## 1.2.0

* Always use prepended module to stub class & instance methods for Ruby v2+ - thanks to @grosser & @chrisroos (43d56671, #244)
* Always use prepended module to stub AnyInstance methods in Ruby v2+ - thanks to @chrisroos (#262)
* Always set visibility of stub method to match stubbed method on included module - thanks to @grosser & @chrisroos (e87c03b0, #248)
* Always set visibility to stub method to match stubbed method on superclass - thanks to @chrisroos (38d902ad)
* Allow stubbing of method to which any instance responds (#200)
* Allow `includes` matcher to take matcher arguments - thanks to @lazyatom (#217)
* Avoid exception in older version of Rubygems - thanks to @chrisroos (78d930a7)
* Add licenses to gemspec as requested by @coreyhaines (#201)
* Fix typo in README - thanks to @jaredbeck (6119460d)
* Added section about using Mocha with RSpec & Rails to README (#221)
* Fix documentation for Mocha::API#stub method - thanks to @raeno (599b1dcd)
* Added backers and sponsors from OpenCollective - thanks to @piamancini (#253)
* Fix typo in docs for equals - thanks to @alexcoco (#254)
* Add known issue for Ruby v1.8 to README - thanks to @chrisroos (2c642096)
jperkin pushed a commit that referenced this pull request Feb 28, 2017
Version 0.14.2
--------------

Released 2017-01-10

- Fix bug where ``FlaskForm`` assumed ``meta`` argument was not ``None`` if it
  was passed. (`#278`_)

.. _#278: wtforms/flask-wtf#278

Version 0.14.1
--------------

Released 2017-01-10

- Fix bug where the file validators would incorrectly identify an empty file as
  valid data. (`#276`_, `#277`_)

    - ``FileField`` is no longer deprecated. The data is checked during
      processing and only set if it's a valid file.
    - ``has_file`` *is* deprecated; it's now equivalent to ``bool(field.data)``.
    - ``FileRequired`` and ``FileAllowed`` work with both the Flask-WTF and
      WTForms ``FileField`` classes.
    - The ``Optional`` validator now works with ``FileField``.

.. _#276: wtforms/flask-wtf#276
.. _#277: wtforms/flask-wtf#277

Version 0.14
------------

Released 2017-01-06

- Use itsdangerous to sign CSRF tokens and check expiration instead of doing it
  ourselves. (`#264`_)

    - All tokens are URL safe, removing the ``url_safe`` parameter from
      ``generate_csrf``. (`#206`_)
    - All tokens store a timestamp, which is checked in ``validate_csrf``. The
      ``time_limit`` parameter of ``generate_csrf`` is removed.

- Remove the ``app`` attribute from ``CsrfProtect``, use ``current_app``.
  (`#264`_)
- ``CsrfProtect`` protects the ``DELETE`` method by default. (`#264`_)
- The same CSRF token is generated for the lifetime of a request. It is exposed
  as ``g.csrf_token`` for use during testing. (`#227`_, `#264`_)
- ``CsrfProtect.error_handler`` is deprecated. (`#264`_)

    - Handlers that return a response work in addition to those that raise an
      error. The behavior was not clear in previous docs.
    - (`#200`_, `#209`_, `#243`_, `#252`_)

- Use ``Form.Meta`` instead of deprecated ``SecureForm`` for CSRF (and
  everything else). (`#216`_, `#271`_)

    - ``csrf_enabled`` parameter is still recognized but deprecated. All other
      attributes and methods from ``SecureForm`` are removed. (`#271`_)

- Provide ``WTF_CSRF_FIELD_NAME`` to configure the name of the CSRF token.
  (`#271`_)
- ``validate_csrf`` raises ``wtforms.ValidationError`` with specific messages
  instead of returning ``True`` or ``False``. This breaks anything that was
  calling the method directly. (`#239`_, `#271`_)

    - CSRF errors are logged as well as raised. (`#239`_)

- ``CsrfProtect`` is renamed to ``CSRFProtect``. A deprecation warning is issued
  when using the old name. ``CsrfError`` is renamed to ``CSRFError`` without
  deprecation. (`#271`_)
- ``FileField`` is deprecated because it no longer provides functionality over
  the provided validators. Use ``wtforms.FileField`` directly. (`#272`_)

.. _`#200`: wtforms/flask-wtf#200
.. _`#209`: wtforms/flask-wtf#209
.. _`#216`: wtforms/flask-wtf#216
.. _`#227`: wtforms/flask-wtf#227
.. _`#239`: wtforms/flask-wtf#239
.. _`#243`: wtforms/flask-wtf#243
.. _`#252`: wtforms/flask-wtf#252
.. _`#264`: wtforms/flask-wtf#264
.. _`#271`: wtforms/flask-wtf#271
.. _`#272`: wtforms/flask-wtf#272

Version 0.13.1
--------------

Released 2016/10/6

- Deprecation warning for ``Form`` is shown during ``__init__`` instead of immediately when subclassing. (`#262`_)
- Don't use ``pkg_resources`` to get version, for compatibility with GAE. (`#261`_)

.. _`#261`: wtforms/flask-wtf#261
.. _`#262`: wtforms/flask-wtf#262

Version 0.13
------------

Released 2016/09/29

- ``Form`` is renamed to ``FlaskForm`` in order to avoid name collision with WTForms's base class.  Using ``Form`` will show a deprecation warning. (`#250`_)
- ``hidden_tag`` no longer wraps the hidden inputs in a hidden div.  This is valid HTML5 and any modern HTML parser will behave correctly. (`#217`_, `#193`_)
- ``flask_wtf.html5`` is deprecated.  Import directly from ``wtforms.fields.html5``. (`#251`_)
- ``is_submitted`` is true for ``PATCH`` and ``DELETE`` in addition to ``POST`` and ``PUT``. (`#187`_)
- ``generate_csrf`` takes a ``token_key`` parameter to specify the key stored in the session. (`#206`_)
- ``generate_csrf`` takes a ``url_safe`` parameter to allow the token to be used in URLs. (`#206`_)
- ``form.data`` can be accessed multiple times without raising an exception. (`#248`_)
- File extension with multiple parts (``.tar.gz``) can be used in the ``FileAllowed`` validator. (`#201`_)

.. _`#187`: wtforms/flask-wtf#187
.. _`#193`: wtforms/flask-wtf#193
.. _`#201`: wtforms/flask-wtf#201
.. _`#206`: wtforms/flask-wtf#206
.. _`#217`: wtforms/flask-wtf#217
.. _`#248`: wtforms/flask-wtf#248
.. _`#250`: wtforms/flask-wtf#250
.. _`#251`: wtforms/flask-wtf#251
jperkin pushed a commit that referenced this pull request May 13, 2017
Reviewed by:	joerg@

Upstream changes:
Release Notes for fish 2.5.0 (released February 3, 2017)

    The Home, End, Insert, Delete, Page Up and Page Down keys work in Vi-style key bindings (#3731).

Platform Changes
Starting with version 2.5, fish requires a more up-to-date version of C++, specifically C++11 (from 2011). This affects some older platforms:
Linux
For users building from source, GCC's g++ 4.8 or later, or LLVM's clang 3.3 or later, are known to work. Older platforms may require a newer compiler installed. Unfortunately, because of the complexity of the toolchain, binary packages are no longer published by the fish-shell developers for the following platforms:

    Red Hat Enterprise Linux and CentOS 5 & 6 for 64-bit builds
    Ubuntu 12.04 (EoLTS April 2017)
    Debian 7 (EoLTS May 2018)

Installing newer version of fish on these systems will require building from source.
OS X SnowLeopard
Starting with version 2.5, fish requires a C++11 standard library on OS X 10.6 ("SnowLeopard"). If this library is not installed, you will see this error: dyld: Library not loaded: /usr/lib/libc++.1.dylib MacPorts is the easiest way to obtain this library. After installing the SnowLeopard MacPorts release from the install page, run: sudo port -v install libcxx Now fish should launch successfully. (Please open an issue if it does not.) This is only necessary on 10.6. OS X 10.7 and later include the required library by default.
Other significant changes

    Attempting to exit with running processes in the background produces a warning, then signals them to terminate if a second attempt to exit is made. This brings the behaviour for running background processes into line with stopped processes. (#3497)
    random can now have start, stop and step values specified, or the new choice subcommand can be used to pick an argument from a list (#3619).
    A new key bindings preset, fish_hybrid_key_bindings, including all the Emacs-style and Vi-style bindings, which behaves like fish_vi_key_bindings in fish 2.3.0 (#3556).
    function now returns an error when called with invalid options, rather than defining the function anyway (#3574). This was a regression present in fish 2.3 and 2.4.0.
    fish no longer prints a warning when it identifies a running instance of an old version (2.1.0 and earlier). Changes to universal variables may not propagate between these old versions and 2.5b1.
    Improved compatiblity with Android (#3585), MSYS/mingw (#2360), Solaris (#3456, #3340)
    Like other shells, the test builting now returns an error for numeric operations on invalid integers (#3346, #3581).
    complete no longer recognises --authoritative and --unauthoritative options, and they are marked as obsolete.
    status accepts subcommands, and should be used like status is-interactive. The old options continue to be supported for the foreseeable future (#3526), although only one subcommand or option can be specified at a time.
    Selection mode (used with "begin-selection") no longer selects a character the cursor does not move over (#3684).
    List indexes are handled better, and a bit more liberally in some cases (echo $PATH[1 .. 3] is now valid) (#3579).
    The fish_mode_prompt function is now simply a stub around fish_default_mode_prompt, which allows the mode prompt to be included more easily in customised prompt functions (#3641).

Notable fixes and improvements

    alias, run without options or arguments, lists all defined aliases, and aliases now include a description in the function signature that identifies them.
    complete accepts empty strings as descriptions (#3557).
    command accepts -q/--quiet in combination with --search (#3591), providing a simple way of checking whether a command exists in scripts.
    Abbreviations can now be renamed with abbr --rename OLD_KEY NEW_KEY (#3610).
    The command synopses printed by --help options work better with copying and pasting (#2673).
    help launches the browser specified by the $fish_help_browser variable if it is set (#3131).
    History merging could lose items under certain circumstances and is now fixed (#3496).
    The $status variable is now set to 123 when a syntactically invalid command is entered (#3616).
    Exiting fish now signals all background processes to terminate, not just stopped jobs (#3497).
    A new prompt_hostname function which prints a hostname suitable for use in prompts (#3482).
    The __fish_man_page function (bound to Alt-h by default) now tries to recognize subcommands (e.g. git add will now open the "git-add" man page) (#3678).
    A new function edit_command_buffer (bound to Alt-e & Alt-v by default) to edit the command buffer in an external editor (#1215, #3627).
    set_color now supports italics (--italics), dim (--dim) and reverse (--reverse) modes (#3650).
    Filesystems with very slow locking (eg incorrectly-configured NFS) will no longer slow fish down (#685).
    Improved completions for apt (#3695), fusermount (#3642), make (#3628), netctl-auto (#3378), nmcli (#3648), pygmentize (#3378), and tar (#3719).
    Added completions for:
    VBoxHeadless (#3378)
    VBoxSDL (#3378)
    base64 (#3378)
    caffeinate (#3524)
    dconf (#3638)
    dig (#3495)
    dpkg-reconfigure (#3521 & #3522)
    feh (#3378)
    launchctl (#3682)
    lxc (#3554 & #3564),
    mddiagnose (#3524)
    mdfind (#3524)
    mdimport (#3524)
    mdls (#3524)
    mdutil (#3524)
    mkvextract (#3492)
    nvram (#3524)
    objdump (#3378)
    sysbench (#3491)
    tmutil (#3524)

Release Notes for fish 2.4.0 (released November 8, 2016)
Significant changes

    The clipboard integration has been revamped with explicit bindings. The killring commands no longer copy from, or paste to, the X11 clipboard - use the new copy (C-x) and paste (C-v) bindings instead. The clipboard is now available on OS X as well as systems using X11 (e.g. Linux). (#3061)
    history uses subcommands (history delete) rather than options (history --delete) for its actions (#3367). You can no longer specify multiple actions via flags (e.g., history --delete --save something).
    New history options have been added, including --max=n to limit the number of history entries, --show-time option to show timestamps (#3175, #3244), and --null to null terminate history entries in the search output.
    history search is now case-insensitive by default (which also affects history delete) (#3236).
    history delete now correctly handles multiline commands (#31).
    Vi-style bindings no longer include all of the default emacs-style bindings; instead, they share some definitions (#3068).
    If there is no locale set in the environment, various known system configuration files will be checked for a default. If no locale can be found, en_US-UTF.8 will be used (#277).
    A number followed by a caret (e.g. 5^) is no longer treated as a redirection (#1873).
    The $version special variable can be overwritten, so that it can be used for other purposes if required.

Notable fixes and improvements

    The fish_realpath builtin has been renamed to realpath and made compatible with GNU realpath when run without arguments (#3400). It is used only for systems without a realpath or grealpath utility (#3374).
    Improved color handling on terminals/consoles with 8-16 colors, particularly the use of bright named color (#3176, #3260).
    fish_indent can now read from files given as arguments, rather than just standard input (#3037).
    Fuzzy tab completions behave in a less surprising manner (#3090, #3211).
    jobs should only print its header line once (#3127).
    Wildcards in redirections are highlighted appropriately (#2789).
    Suggestions will be offered more often, like after removing characters (#3069).
    history --merge now correctly interleaves items in chronological order (#2312).
    Options for fish_indent have been aligned with the other binaries - in particular, -d now means --debug. The --dump option has been renamed to --dump-parse-tree (#3191).
    The display of bindings in the Web-based configuration has been greatly improved (#3325), as has the rendering of prompts (#2924).
    fish should no longer hang using 100% CPU in the C locale (#3214).
    A bug in FreeBSD 11 & 12, Dragonfly BSD & illumos prevented fish from working correctly on these platforms under UTF-8 locales; fish now avoids the buggy behaviour (#3050).
    Prompts which show git repository information (via __fish_git_prompt) are faster in large repositories (#3294) and slow filesystems (#3083).
    fish 2.3.0 reintroduced a problem where the greeting was printed even when using read; this has been corrected again (#3261).
    Vi mode changes the cursor depending on the current mode (#3215).
    Command lines with escaped space characters at the end tab-complete correctly (#2447).
    Added completions for:
        arcanist (#3256)
        connmanctl (#3419)
        figlet (#3378)
        mdbook (#3378)
        ninja (#3415)
        p4, the Perforce client (#3314)
        pygmentize (#3378)
        ranger (#3378)
    Improved completions for aura (#3297), abbr (#3267), brew (#3309), chown (#3380, #3383),cygport (#3392), git (#3274, #3226, #3225, #3094, #3087, #3035, #3021, #2982, #3230), kill & pkill (#3200), screen (#3271), wget (#3470), and xz (#3378).
    Distributors, packagers and developers will notice that the build process produces more succinct output by default; use make V=1 to get verbose output (#3248).
    Improved compatibility with minor platforms including musl (#2988), Cygwin (#2993), Android (#3441, #3442), Haiku (#3322) and Solaris.
    Automatic cursor changes are now only enabled on the subset of XTerm versions known to support them, resolving a problem where older versions printed garbage to the terminal before and after every prompt (#3499).
    Improved the title set in Apple Terminal.app.
    Added completions for defaults and improved completions for diskutil (#3478).

Release Notes for fish 2.3.1 (released July 3, 2016)
This is a functionality and bugfix release. This release does not contain all the changes to fish since the last release, but fixes a number of issues directly affecting users at present and includes a small number of new features.
Significant changes

    A new fish_key_reader binary for decoding interactive keypresses (#2991).
    fish_mode_prompt has been updated to reflect the changes in the way the Vi input mode is set up (#3067), making this more reliable.
    fish_config can now properly be launched from the OS X app bundle (#3140).

Notable fixes and improvements

    Extra lines were sometimes inserted into the output under Windows (Cygwin and Microsoft Windows Subsystem for Linux) due to TTY timestamps not being updated (#2859).
    The string builtin's match mode now handles the combination of -rnv (match, invert and count) correctly (#3098).
    Improvements to TTY special character handling (#3064), locale handling (#3124) and terminal environment variable handling (#3060).
    Work towards handling the terminal modes for external commands launched from initialisation files (#2980).
    Ease the upgrade path from fish 2.2.0 and before by warning users to restart fish if the string builtin is not available (#3057).
    type -a now syntax-colorizes function source output.
    Added completions for alsamixer, godoc, gofmt, goimports, gorename, lscpu, mkdir, modinfo, netctl-auto, poweroff, termite, udisksctl and xz (#3123).
    Improved completions for apt (#3097), aura (#3102),git (#3114), npm (#3158), string and suspend (#3154).

Release Notes for fish 2.3.0 (released May 20, 2016)
Significant Changes

    A new string builtin to handle… strings! This builtin will measure, split, search and replace text strings, including using regular expressions. It can also be used to turn lists into plain strings using join. string can be used in place of sed, grep, tr, cut, and awk in many situations. (#2296)
    After seeing an escape character wait up to 300ms for an additional character. This is consistent with readline (e.g. bash) and can be configured via the fish_escape_delay_ms variable. This allows using escape as the Meta modifier. (#1356)
    Add new directories for vendor functions and configuration snippets (#2498)
    A new fish_realpath builtin and associated function to allow the use of realpath even on those platforms that don't ship an appropriate command. (#2932)
    Alt-# toggles the current command line between commented and uncommented states, making it easy to save a command in history without executing it.
    The fish_vi_mode function is now deprecated in favour of fish_vi_key_bindings

Backward-incompatible changes

    Unmatched globs will now cause an error, except when used with for, set or count (#2719, #2394)
    and and or will now bind to the closest if or while, allowing compound conditions without begin and end (#1428)
    set -ql now searches up to function scope for variables (#2502)
    status -f will now behave the same when run as the main script or using source (#2643)
    source no longer puts the file name in $argv if no arguments are given (#139)

Other Notable Fixes and Improvements

    Fish no longer silences errors in config.fish (#2702)
    Move the history file to $XDG_DATA_HOME/fish (or ~/.local/share if it has not been set)
    Directory autosuggestions will now descend as far as possible if there is only one child directory (#2531)
    Add support for bright colors (#1464)
    Allow Ctrl-J (\cj) to be bound separately from Ctrl-M (\cm) (#217)
    psub now has a "-s"/"-suffix" option to name the temporary file with that suffix
    Enable 24-bit colors on select terminals (#2495)
    Support for SVN status in the prompt (#2582)
    Mercurial and SVN support have been added to the Classic + Git (now Classic + VCS) prompt (via the new __fish_vcs_prompt function) (#2592)
    export now handles variables with a "=" in the value (#2403)
    Avoid confusing the terminal line driver with non-printing characters in fish_title(#2453)
    New completions for:
        alsactl
        Archlinux’s asp, makepkg
        Atom’s apm (#2390)
        entr - the "Event Notify Test Runner" (#2265)
        Fedora’s dnf (#2638)
        OSX diskutil (#2738)
        pkgng (#2395)
        pulseaudio’s pacmd and pactl
        rmmod (#3007)
        rust’s rustc and cargo (#2409)
        sysctl (#2214)
        systemd’s machinectl (#2158), busctl (#2144), systemd-nspawn, systemd-analyze, localectl, timedatectl
        and more
    Fish no longer has a function called sgrep, freeing it for user customization (#2245)
    A rewrite of the completions for cd, fixing a few bugs (#2299, #2300, #562)
    Linux VTs now run in a simplified mode to avoid issues (#2311)
    The vi-bindings now inherit from the emacs bindings
    Fish will also execute fish_user_key_bindings when in vi-mode
    funced will now also check $VISUAL (#2268)
    A new suspend function (#2269)
    Subcommand completion now works better with split /usr (#2141)
    The command-not-found-handler can now be overridden by defining a function called __fish_command_not_found_handler in config.fish (#2331)
    A few fixes to the Sorin theme
    PWD shortening in the prompt can now be configured via the fish_prompt_pwd_dir_length variable, set to the length per path component (#2473)
    fish now ships a skeleton file for /etc/fish/config.fish that only contains some documentation, the included code has been moved to the corresponding file in /usr (#2799)

Release Notes for fish 2.2.0 (released July 12, 2015)
Significant Changes

    Abbreviations: the new `abbr` command allows for interactively-expanded abbreviations, allowing quick access to frequently-used commands (#731).
    Vi mode: run `fish_vi_mode` to switch fish into the key bindings and prompt familiar to users of the Vi editor (#65).
    New inline and interactive pager, which will be familiar to users of zsh (#291).
    Underlying architectural changes: the `fishd` universal variable server has been removed as it was a source of many bugs and security problems. Notably, old fish sessions will not be able to communicate universal variable changes with new fish sessions. For best results, restart all running instances of `fish`.
    The web-based configuration tool has been redesigned, featuring a prompt theme chooser and other improvements.
    New German, Brazilian Portuguese, and Chinese translations.

Backward-incompatible changes
These are kept to a minimum, but either change undocumented features or are too hard to use in their existing forms. These changes may break existing scripts.

    `commandline` no longer interprets functions "in reverse", instead behaving as expected (#1567).
    The previously-undocumented `CMD_DURATION` variable is now set for all commands and contains the execution time of the last command in milliseconds (#1585). It is no longer exported to other commands (#1896).
    `if` / `else` conditional statements now return values consistent with the Single Unix Specification, like other shells (#1443).
    A new "top-level" local scope has been added, allowing local variables declared on the commandline to be visible to subsequent commands. (#206)

Other notable fixes and improvements

    New documentation design (#1662), which requires a Doxygen version 1.8.7 or newer to build.
    Fish now defines a default directory for other packages to provide completions. By default this is `/usr/share/fish/vendor-completions.d`; on systems with `pkgconfig` installed this path is discoverable with `pkg-config --variable completionsdir fish`.
    A new parser removes many bugs; all existing syntax should keep working.
    New `fish_preexec` and `fish_postexec` events are fired before and after job execution respectively (#1549).
    Unmatched wildcards no longer prevent a job from running. Wildcards used interactively will still print an error, but the job will proceed and the wildcard will expand to zero arguments (#1482).
    The `.` command is deprecated and the `source` command is preferred (#310).
    `bind` supports "bind modes", which allows bindings to be set for a particular named mode, to support the implementation of Vi mode.
    A new `export` alias, which behaves like other shells (#1833).
    `command` has a new `--search` option to print the name of the disk file that would be executed, like other shells' `command -v` (#1540).
    `commandline` has a new `--paging-mode` option to support the new pager.
    `complete` has a new `--wraps` option, which allows a command to (recursively) inherit the completions of a wrapped command (#393), and `complete -e` now correctly erases completions (#380).
    Completions are now generated from manual pages by default on the first run of fish (#997).
    `fish_indent` can now produce colorized (`--ansi`) and HTML (`--html`) output (#1827).
    `functions --erase` now prevents autoloaded functions from being reloaded in the current session.
    `history` has a new `--merge` option, to incorporate history from other sessions into the current session (#825).
    `jobs` returns 1 if there are no active jobs (#1484).
    `read` has several new options:
        `--array` to break input into an array (#1540)
        `--null` to break lines on NUL characters rather than newlines (#1694)
        `--nchars` to read a specific number of characters (#1616)
        `--right-prompt` to display a right-hand-side prompt during interactive read (#1698).
    `type` has a new `-q` option to suppress output (#1540 and, like other shells, `type -a` now prints all matches for a command (#261).
    Pressing F1 now shows the manual page for the current command (#1063).
    `fish_title` functions have access to the arguments of the currently running argument as `$argv[1]` (#1542).
    The OS command-not-found handler is used on Arch Linux (#1925), nixOS (#1852), openSUSE and Fedora (#1280).
    `Alt`+`.` searches backwards in the token history, mapping to the same behavior as inserting the last argument of the previous command, like other shells (#89).
    The `SHLVL` environment variable is incremented correctly (#1634 & #1693).
    Added completions for `adb` (#1165 & #1211), `apt` (#2018), `aura` (#1292), `composer` (#1607), `cygport` (#1841), `dropbox` (#1533), `elixir` (#1167), `fossil`, `heroku` (#1790), `iex` (#1167), `kitchen` (#2000), `nix` (#1167), `node`/`npm` (#1566), `opam` (#1615), `setfacl` (#1752), `tmuxinator` (#1863), and `yast2` (#1739).
    Improved completions for `brew` (#1090 & #1810), `bundler` (#1779), `cd` (#1135), `emerge` (#1840),`git` (#1680, #1834 & #1951), `man` (#960), `modprobe` (#1124), `pacman` (#1292), `rpm` (#1236), `rsync` (#1872), `scp` (#1145), `ssh` (#1234), `sshfs` (#1268), `systemctl` (#1462, #1950 & #1972), `tmux` (#1853), `vagrant` (#1748), `yum` (#1269), and `zypper` (#1787).
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

Successfully merging this pull request may close these issues.

None yet

2 participants