Added unittests for regression bug 4312 (caused by bug 4333). This regression bug is just workarounded, not fixed, so I don't mark it as fixed. The bug 4312 will be closed when compiler bug 4217 or 4333 is fixed (these are blockers against this regression 4312).
Made some templates to print error message on failure, rather than just failing instantiation.
The bug is not completely fixed. toDelegate() still does not work well with @safe function pointers... because toDelegate() is unsafe. And variadic arguments are ignored.
std.algorithm: defined move with one argument; levenshtein distance generalized to with all forward ranges; take now has swapped arguments
std.array: empty for arrays is now a @property; front and back for a string and wstring automatically decodes the first/last character; popFront, popBack for string and wstring obey the UTF stride
std.conv: changed the default array formatting from "[a, b, c]" to "a b c"
std.range: swapped order of arguments in take
std.stdio: added readln template
std.variant: now works with statically-sized arrays and const data
std.traits: added isNarrowString
std.contracts: added functions pointsTo()
std.numeric: minor unittest fixes.
std.bitmanip: fixed code bloat issue, reintroduced FloatRep and DoubleRep.
std.conv: minor simplification of implementation.
std.regexp: added reference to ECMA standard in the documentation.
std.getopt: changed return type from bool to void, error is signaled by use of exceptions.
std.functional: added unaryFun, binaryFun, adjoin.
std.string: updated documentation, changed code to compile with warnings enabled.
std.traits: changed FieldTypeTuple; added RepresentationTypeTuple, hasAliasing; fixed bug 1826; added call to flush() from within write; fixed unlisted bug in lines().
std.algorithm: added map, reduce, filter, inPlace, move, swap, overwriteAdjacent, find, findRange, findBoyerMoore, findAdjacent, findAmong, findAmongSorted, canFind, canFindAmong, canFindAmongSorted, count, equal, overlap, min, max, mismatch, EditOp, none, substitute, insert, remove, levenshteinDistance, levenshteinDistanceAndPath, copy, copyIf, iterSwap, swapRanges, reverse, rotate, SwapStrategy, Unstable, Semistable, Stable, eliminate, partition, nthElement, sort, schwartzSort, partialSort, isSorted, makeIndex, schwartzMakeIndex, lowerBound, upperBound, equalRange, canFindSorted.
std.thread: fixed so it compiles with warnings enabled.
std.file: made getSize() faster under Linux.
std.random: fixed so it compiles with warnings enabled; improved function uniform so it deduces type generated from its arguments.
std.format: added fixes to make formatting work with const data.
std.path: minor documentation changes.
-- add std.getopt
-- add std.variant
-- switch strings over to be invariant rather than const
-- hopefully the last big linux makefile overhaul
-- fix for bug 1579: write[ln] fails for obj.toString()
-- fix negative precision handling in std.format
-- add some file and directory iterator helpers
-- among other little changes here and there...