2.0.5

Bugfixes

    fixed support for repeated headers in lua plugin
    fixed support for embedding config in OpenBSD and NetBSD
    various fixes in the curl-based plugins
    fixed milliseconds-based waits
    fixed sharedarea poller
    fixed stats server json escaper
    fixed fastcgi parser and implemented eof management
    improved fast on-demand mode
    exclude avg_rt computation for static files
    fixed variables support in uwsgi internal router
    fixed websockets + keepalive ordering
    disable SIGPIPE management in corutines-based loop-engines
    fixed 64bit sharedarea management in 32bit systems
    honour chmod/chown-socket in fd0 mode
    hack for avoiding Safari iOS to make mess with keepalive
    fixed log setup when both --logto and --log2
    fixed mule_get_msg EAGAIN
    signal_pidfile returns the right error code
    fixed asyncio on OSX

New features
graceful reload of mule processes

SIGHUP is now sent to mules instead of directly killing them. You are free to trap/catch the signal in the code. If a mule does not die in the allowed "mercy time" (--mule-reload-mercy, default 60 seconds), SIGKILL will be sent.
return routing action

The new action will allow users to write simplified "break" clause.

For example, "return:403" is equivalent to "break:403 Forbidden", with response body "Forbidden".

The response body is quite useful for telling end users what goes wrong.
--emperor-no-blacklist

this new option, completely disables the blacklisting Emperor subsystem
Icecast2 protocol helpers

One of the upcoming unbit.com projects is a uWSGI based audio/video streaming server.

The plugin (should be released during europython 2014) already supports the Icecast2 protocol.

A bunch of patches have been added to the http router to support the icecast2 protocol.

For example the --http-manage-source option allows the HTTP router to honour SOURCE method requests, automatically placing them in raw mode.
--metrics-no-cores, --stats-no-cores, --stats-no-metrics

When you have hundreds (or thousands) of async cores, exposing metrics of them could be really slow.

Three new options have been added allowing you to disable the generation of core-related metrics and (eventually) their usage in the stats server.
sharedarea improvements

The sharedarea api continues to improve. Latest patches include support for mmapping device directly from the command line.

A funny way for testing it, is mapping the raspberrypi BCM2835 memory, the following example allows you to read the rpi system timer

uwsgi --sharedarea file=/dev/mem,offset=0x20003000,size=4096 ...

now you can read the 64bit value from the first (zero-based) sharedarea:

# read 64bit from 0x20003004
timer = uwsgi.sharedarea_read64(0, 0x04)

obviously, pay attention when accessing rpi memory, an error could crash the whole system !!!
UWSGI_GO_CHEAP_CODE

This exit code (15) can be raised by a worker to tell the master to not respawn it
PROXY1 support for the http router

The option --http-enable-proxy-protocol allows the HTTP router to understand PROXY1 protocol requests (like the ones made by haproxy or amazon elb)
reset_after_push for metrics

This metric attribute ensure that the matric value is reset to 0 (or its hardcoded initial_value) evry time the metric is pushed to some external system (like carbon, or statsd)
setremoteaddr

This routing action allows you to completely override the REMOTE_ADDR detected by protocol handlers:

[uwsgi]
; treat all requests as local
route-run = setremoteaddr:127.0.0.1

the resolve option

There are uWSGI options (or plugins) that do not automatically resolves dns name to ip addresses. This option allows you to map a placeholder to the dns resolution of a string:

[uwsgi]
; place the dns resolution of 'example.com' in the 'myserver' placeholder
resolve = myserver=example.com
subscribe2 = server=%(myserver),key=foobar
Updated www/py-uwsgi to 2.0.5.1
Update p5-Device-XBee-API to version 0.7.

Changes since version 0.4:

0.7, 20130330 - jeagle

Add ability to allow users to specify their own frame allocation routines.

Update API mode 2 with latest version from jdodgen

0.6, 20120624 - jeagle

Update documentation.

Add support for API mode 2 escapes. Needs testing.

Add constant for the "BD" baud rate table.

0.5, 20120401 - jeagle

Add support for Win32::SerialPort to enable Windows support. (Thanks Jerry)

Fix issue with tx() in async mode. (Thanks Vicente)

Add support for "explicit rx indicator" packets. (Thanks Vicente)
Updated comms/p5-Device-XBee-API to 0.7
Update xerces-j to 1.4.4.
PR pkg/15108 by Daniel Hagerty.

* ------------------------------------------------------------- *
* *November 15, 2001 (version 1.4.4)                            *
* ------------------------------------------------------------- *
    * JAXP fixes. [Edwin Goie]
    * Parser now resolves the locations of schemas referenced by
      other schemas relative to the schema doing the referencing
      rather than to the instance document. [Gopal Sharma/Neil
      Graham]
    * Changed HTML serializer so that, at user option, attributes
      with no value may be represented as attr="" instead of
      simply as attr. The default behaviour has not changed.
      [Sandor Szago (sszago@saba.com)/Neil Graham]
    * Fixed parser behavior: by default Xerces now exposes
      element and attribute values as defined by the Infoset.
      [Tamura Kent, Elena Litani]
    * By default bind "xml" prefix to "http://www.w3.org/XML/1998
      /namespace" per Namespace Constraint: Prefix Declared
      (Namespaces in XML REC) [Elena Litani]
    * Fixed date/time datatype bugs. [Henry Zongaro]
    * Fixed several DOM Level 2 conformance bugs. [Elena Litani]
    * General bug fixes [Elena Litani, Pavani Mukthipudi, Sandy
      Gao]


* ------------------------------------------------------------- *
* *August 20, 2001 (version 1.4.3)                              *
* ------------------------------------------------------------- *
    * Reorganization of the DOM implementation to separate the
      Core functionality (new classes: CoreDOMImplementationImpl,
      CoreDocumentImpl), from the complete DOM
      (DOMImplementationImpl, DocumentImpl) [Arnaud Le Hors]
    * Fix to Base64 and HexBinary datatype validators so they
      work properly on OS/390 [Steve Dulin/Neil Graham]
    * General bug fixes [Lisa Martin, Sandy Gao, Elena Litani,
      Neil Graham]


* ------------------------------------------------------------- *
* *July 23, 2001 (version 1.4.2)                                *
* ------------------------------------------------------------- *
    * Performance fixes [Henry Zongaro/Lisa Martin]
    * Patches for improving serializer extensibility [Gunnlaugur
      Thor Briem/Elena Litani]
    * Bug fixes (schema implementation, build, etc.) [Sandy Gao,
      Neil Graham, Elena Litani, Lisa Martin]


* ------------------------------------------------------------- *
* *June 22, 2001 (version 1.4.1)                                *
* ------------------------------------------------------------- *
    * Added support for all IANA encoding aliases which have a
      clear mapping to encodings recognized by Java [Neil Graham]
    * Addressed degradations in DTD validation performance caused
      by the schema implementation [Sandy Gao, Neil Graham]
    * Bug fixes [Sandy Gao, Neil Graham, Elena Litani, Lisa
      Martin, Henry Zongaro, Edwin Goei]
    * Added support for setAttribute/getAttribute in JAXP [Edwin
      Goei]
    * Added two new parser properties related to XML Schema
      [Elena Litani]


* ------------------------------------------------------------- *
* *May 22, 2001 (version 1.4.0)                                 *
* ------------------------------------------------------------- *
    * Completed implementation of schema Identity Constraints
      [Neil Graham]
    * Update XPath support to bring it into compliance with
      Schema PR [Achille Fokoue Nkoutche/Neil Graham]
    * Implemented Schema PR changes to the syntax of <attribute>
      declarations [Ted Han (than@ghx.com)/Neil Graham]
    * Added French resource bundle for regex package [Jean-Claude
      Dufourd, Laurent Foret/Neil Graham]
    * Added support for Schema "final" attribute [Neil Graham]
    * Added support for nillable and removed limitation for
      xsi:schemaLocation usage [Elena Litani]
    * PR changes for Datatypes (including implementation of date/
      time) [Sandy Gao, Elena Litani]
    * Added support for fixed attribute on datatype facets [Elena
      Litani]
    * Constraint checking [Lisa Martin, Neil Graham, Sandy Gao,
      Elena Litani]
    * Re-implemented "all" group support for performance reasons
      [Henry Zongaro]
    * Re-implemented "mixed" content model groups for Schema
      [Lisa Martin]
    * Miscellaneous bug fixes [Arnaud Le Hors, Jeffrey Rodrigues,
      Elena Litani]


* ------------------------------------------------------------- *
* *March 16, 2001 (version 1.3.1)                               *
* ------------------------------------------------------------- *
    * Added support for schema <redefine> element [Neil Graham]
    * Added support for schema notations [Elena Litani]
    * Implemented validation constraints for the "abstract"
      attribute on elements [Lisa Martin]
    * Simple value normalization and whitespace facet support
      [Elena Litani]
    * Fixed validation constraints surrounding the schema
      <annotation> element info item [Neil Graham]
    * Implemented support for JAXP 1.1 [Edwin Goei]
    * Added experimental DOM Level 3 features for handling XML
      header [Elena Litani]
    * Miscellaneous bugfixes [Arnaud Le Hors, Neil Graham, Elena
      Litani, Andy Clark, Lynn Monson, Sandy Gao, Brad O'Hearne]
    * Partially fixed inability to make (or build) Xerces under
      Unix [Neil Graham]
    * Removed final from XMLSerializer per request [Andy Clark]
    * Fixed identity constraint bugs (support still limited)
      [Andy Clark]
    * Changed parse method to close streams opened by parser even
      in event of error [Andy Clark]


* ------------------------------------------------------------- *
* *January 31, 2001 (version 1.3.0)                             *
* ------------------------------------------------------------- *
    * Upgraded schema support to the schema CR drafts at a
      similar level to that which had existed for the WD schema
      specifications. [Elena Litani, Lisa Martin, Neil Graham]
    * Implemented schema union simple type definition. [Elena
      Litani]
    * Implemented many attribute and element declaration
      schema-validation constraints, as well as use=prohibited.
      [Neil Graham]
    * Implemented basic support for XML Schema identity
      constraints [Andy Clark]
    * Fixed bug in Deferred DOM with multiple IDs on same element
      [Andy Clark]
    * Updates to improve DFA build-time performance. [Tozawa
      Akihiko]
    * Optimization of memory used by attribute nodes in the DOM.
      [Arnaud Le Hors]
    * Fixed conflict between HTML DOM and Core DOM. [Mark
      Diekhans]
    * Optimized DOM normalize operation. [Jay Cain + Arnaud Le
      Hors]


* ------------------------------------------------------------- *
* *December 06, 2000 (version 1.2.3)                            *
* ------------------------------------------------------------- *
    * Fixed Memory leak bug was reported by Tosiki IGA where
      parser runs out of memory [Eric Ye]
    * Rampant object creation even when not validating fix patch
      send by Elena Litani[Elena Litani]
    * ListDatatypeValidator enumeration bug fix by Elena Litani
      Litani[Elena Litani]
    * Optimization in validator to only instantiate objects
      needed in the case of DTD vs. Schemas[Jeffrey Rodriguez]
    * Fixed misc. Schema Structures miscelaneous bugs since last
      release [Eric Ye]
    * improved implementation of <all> schema construct to handle
      8 elements instead of 6; also increased validation speed
      [Neil Graham, Eric Ye]
    * Fixed DOM misc. bugs and other patches since last release
      [Arnaud Le Hors]
    * Miscelaneous DOM patches by Lynn Monson [Lynn Monson]
    * Added new 'load-external-dtd' feature, so that when non
      validating, applications can ask the parser not to load the
      external subset at all [Arnaud Le Hors]


* ------------------------------------------------------------- *
* *November 22, 2000 (version 1.2.2)                            *
* ------------------------------------------------------------- *
    * DOM 2 Recommendation release support update [Arnaud Le
      Hors]
    * Fixed FAQ section submitted by Tony Montgomery Smith
      [Jeffrey Rodriguez,Tony Montgomery]
    * Added normalization patch by Ken Tamura [Jeffrey Rodriguez,
      Ken Tamura]
    * Fixed hang in UTF8Reader when we find a multb. UTF8 char.
      outside [#x10000-#x10FFFF] range [Jeffrey Rodriguez]
    * Fixed problem in Server env. with Singleton implemtation of
      validators [Eric Ye, Jeffrey Rodriguez]
    * Fixed patch submitted by Elena Litani Kitani and others
      with RangeImpl [Eric Ye, Elena Litani, Lynn Monson]
    * Fixed misc. Schema Structures miscelaneous bugs since last
      release [Eric Ye]
    * Miscelaneous bug fixes and patches submitted by Lisa Martin
      [Lisa Martin]
    * Fixed DOM misc. bugs and other patches since last release
      [Arnaud Le Hors]


* ------------------------------------------------------------- *
* *October 19, 2000 (version 1.2.1)                             *
* ------------------------------------------------------------- *
    * This is a bug fix release
    * Added Mark Swinkels datatype list refactoring [Mark
      Swinkels, Jeffrey Rodriguez]
    * Added RangeImpl patch submitted by Lynn Monson [Lynn
      monson, Arnaud Le Hors]
    * Fixed datatype registry not being initialized in
      XMLValidator bug [Jeffrey Rodriguez]
    * Fixed misc. Schema Structures bugs since last release [Eric
      Ye]
    * Fixed misc. Datatypes bugs since last release [Jeffrey
      Rodriguez]
Updated textproc/xerces-j to 1.4.4.
Update mikutter to 3.0.1.

* Fixes account authentication related issues.
* Change match empty extract condition to match all tweets.
Updated net/mikutter to 3.0.1
Update to Racket 6.0.1


Changes in version 6.0.1

* A new `racket/undefined` library exports `undefined` as the
  value currently produced by

    (letrec ([x x]) x)

  This library anticipates a future where that expression will
  raise an exception. The `racket/undefined` library will continue
  to offer the `undefined` value as a bridge between versions and
  as a last resort.

* The drawing and GUI libraries provide improved support for
  high-resolution bitmaps and their use on Retina displays. For
  example, `read-bitmap` includes a `#:try-@2x?` option to trigger
  substitutions through the usual "@2x" naming convention.

* Check Syntax cooperates with Typed Racket to show arrows and other
  Check Syntax highlighting even when there is a type error.

* Functions provided via contract-out that have first-order
  contracts perform better.

* The contract boundary between typed/untyped modules is much less
  expensive. Typed Racket now avoids generating contracts for
  places where contracts failures cannot happen.

* Occurrence typing now works better with when/unless. Example:

    (let ((x (read)))
      (unless (number? x) (error 'bad-input))
      (add1 x))

* Types in Typed Racket are now pretty-printed.

* Function types can now be written in prefix style, which is now
  preferred and is used for printing. Infix function types are still
  accepted for backwards compatibility.

* A new `->*' type constructor is used for writing types for
  functions with optional and keyword arguments. The notation is
  similar to the matching contract combinator.

* Typed Racket forms do not have a `:' suffix by default now. For
  example, the `struct' form replaces `struct:'. The suffixed
  versions are all provided for backwards compatibility.

* Typed Racket now has preliminary support for classes and
  objects. However, it is still experimental and the APIs are
  subject to change.

* Type aliases in Typed Racket now support recursion and mutual
  recursion. For example, `(define-type (MyList X) (U Null (Pair X
  (MyList X))))' is now a valid type alias.

* Plot correctly renders intersecting 3D graphs and
  non-grid-aligned 3D rectangles.

* Elements in plots output in PDF/PS format have the same relative
  scale as in other formats. In particular, it is not necessary to
  adjust `plot-font-size` to make PDF plots look the same as PNG.


Changes in version 6.0

Racket 6.0 has a new package system, including a catalog of
hundreds of already-available packages. Please visit

   http://pkgs.racket-lang.org/

for an overview of the packages.

Racket versions 5.3.4 through 5.3.6 included "beta" versions of the
package system. Racket version 6.0 incorporates many improvements
suggested by preliminary experiences in those versions:

  * A package is treated as a single collection by default, so it is
    even easier to use a GitHub repository as a package. Get started
    quickly:
      http://docs.racket-lang.org/pkg/getting-started.html

  * DrRacket includes a new package manager GUI, available via the
    File|Package Manager ... menu item. The GUI is also available
    as a stand-alone program via the "gui-pkg-manager" package.

  * The main Racket distribution has been separated into about 200
    packages. The Racket installer combines the core system with
    bundled versions of these packages.

    Alternatively, you may now install a Minimal Racket distribution
    --- which is about 1/10 the size of the main distribution --- and
    add only those packages that you need.

  * Package installation supports pre-built packages that include
    compiled byte code and rendered documentation, meaning packages can
    be installed quickly when built versions are available. All
    packages in the main distribution are available in pre-built form.

The recent 5.92 and 5.93 releases served as release candidates for 6.0,
and 6.0 includes a few additional repairs related to the package
system.

Further improvements to the package system are in the works, notably
including package documentation on the package-catalog web site.

COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will
remain in place for the foreseeable future, but we expect all package
work to shift to the new system.

Beyond the package system, this release brings a number of other
changes:

  * Racket's HTML documentation has a new and improved look, thanks to
    Matthew Butterick.

  * The documentation includes a style guide, "How to Program Racket"
    http://docs.racket-lang.org/style/

  * Racket's JIT compiler supports the ARM architecture.

  * Racket supports the Mac's Retina display mode.

  * The performance of the Typed Racket compiler improved by 50% on
    some typed programs.

  * The profiler provides a new mode that uses the errortrace library
    to produce fine-grained profiles.

  * A new contract profiler reports how much time programs spend
    checking contracts, and which contracts are most expensive.

  * The math/flonum library exports fast 105-bit precision operations.

  * Check Syntax handles generated identifiers, especially those
    introduced by struct (e.g. field selectors) and Redex (e.g., e_1,
    e_2)

  * 2htdp/batch-io includes functions for dealing with html/xml in
    files and web sites as X-expressions plus conveniences for
    web-based graph traversals.

  * The `gen:set' generic interface extends set operations to work on
    user-defined types that implement set methods, as well as on other
    set-like built-in types, such as lists.

  * Picts support conversion to SVG format.

  * Under unix, Racket provides desktop entries (.desktop files) for
    its graphical executables.
Updated lang/racket to 5.3.6nb4
Correct version in previous record: 6.0.1.
Fix download and make DISTNAME nicer while I'm here.