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)
-
Refactored macro to change nightly-cfg behavior
pre-expansion. -
Allow the macro to coexist with
deny(unsafe_code)
. -
On nightly, use
allow_internal_unstable
so dependents don't have
to declarefeature(const_fn)
.
lazy_static 0.1.16 (released 2016-04-11)
- Made the macro rely less on a prelude being aviable by using an
absolute path forBox
.
libc 0.2.10 (released 2016-04-12)
-
Fix
CPU_SET
,CPU_ISSET
. -
On Android the
signal
function links to the newer Csignal
function, instead of the obsoletebsd_signal
. - Add locale support.
- Add more locale support.
-
RTL_DEFAULT
is definied for Android andBSD. -
Link to libraries when disabling
use_std
. -
On GNU Linux,
strerror_r
links to__xpg_strerror_r
. - Add several pthread functions to Dragonfly and FreeBSD.
-
Add
clock_getres
. -
Add
openpty
andforkpty
for non-Apple platforms.
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 formre$
, 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 ofunsafe
inregex
(to elide bounds checks). -
PR #200:
Use of themempool
crate (which used thread local storage) was replaced
with a faster version of a similar API in @Amanieu'sthread_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 ofbytes::Regex
. -
#160:
Captures
now has aDebug
impl.
rustfmt 0.4.1 (released 2016-04-13)
- Return non-zero exit code if there are errors.
- Be careful about where we change braces in closures.
- Handle variadic function types.
-
Change the logic around breaking multiple patterns in match
arms. -
Add
fn_arg_one_line
option. -
Fix incorrect indent with
fn_args_layout: Block
. - Format closed ranges.
- Properly format macros with an extra ident.
rust-mode (released continuously)
rustup 0.1.6 (released 2016-04-14)
-
rustup picks the correct host architecture on armv7-unknown-linux,
x86_64-unknown-freebsd, and other tier-2/3 platforms. - rustup-setup.sh detects aarch64.