Rust project changelog for 2016-04-15


#1

Today I’m trying a new experiment - reporting all the official releases in the last week.

If you are a maintainer of an offical project you can do three things to help make this easier:

  • Tag your releases in git, “x.y.z”
  • Merge all changes via GitHub PR. Even small changes by the primary maintainer should go through a PR,
    even if they are simply immediately merged by the author. This makes it easier to scan the logs for
    notable changes by only reading the merges. Even better if @bors makes all merges.
  • Ideally, write a changelog, like this one.

Here are the releases from The Rust Project for the week spanning 2016-04-08 to 2016-04-15.
This report covers projects in the rust-lang, rust-lang-nursery and rust-lang-deprecated GitHub organizations.

lazy_static 0.2.0 (released 2016-04-13)

lazy_static 0.1.16 (released 2016-04-11)

  • Made the macro rely less on a prelude being aviable by using an
    absolute path for Box.

libc 0.2.10 (released 2016-04-12)

regex 0.1.66 (released 2016-04-14)

  • Speculative support for Unicode word boundaries was added to the DFA. This
    should remove the last common case that disqualified use of the DFA.
  • An optimization that scanned for suffix literals and then matched the regular
    expression in reverse was removed because it had worst case quadratic time
    complexity. It was replaced with a more limited optimization where, given any
    regex of the form re$, it will be matched in reverse from the end of the
    haystack.
  • PR #202:
    The inner loop of the DFA was heavily optimized to improve cache locality
    and reduce the overall number of instructions run on each iteration. This
    represents the first use of unsafe in regex (to elide bounds checks).
  • PR #200:
    Use of the mempool crate (which used thread local storage) was replaced
    with a faster version of a similar API in @Amanieu’s thread_local crate.
    It should reduce contention when using a regex from multiple threads
    simultaneously.
  • PCRE2 JIT benchmarks were added. A benchmark comparison can be found
    here.
    (Includes a comparison with PCRE1’s JIT and Oniguruma.)
  • A bug where word boundaries weren’t being matched correctly in the DFA was
    fixed. This only affected use of bytes::Regex.
  • #160:
    Captures now has a Debug impl.

rustfmt 0.4.1 (released 2016-04-13)

rust-mode (released continuously)

rustup 0.1.6 (released 2016-04-14)

rustup 0.1.5 (released 2016-04-13)