$(VERSION 055, ddd mm, 2011, =================================================, $(WHATSNEW $(LI std.algorithm.copy now specializes on arrays for 10-80x improved performance.) $(LI std.path has been rewritten from scratch and has a completely new API.) $(LI std.utf.toUTFz allows you to get a zero-terminated string of any character type and of any type of mutability.) $(LI Added symlink and readLink to std.file for Posix systems.) $(LI Values for GDC and LDC were added to std.compiler.Vendor.) $(LI Added functions to std.bitswap for generically handling swapping endianness.) $(LI Added std.parallelism.TaskPool.workerIndex.) $(LI Added buffer recycling overload of std.parallelism.asyncBuf) $(LI std.math.tgamma, lgamma, erf, and erfc are now deprecated. The equivalent functions in std.mathspecial should be used instead.) $(LI The names of the values of std.mmfile.Mode, std.system.Endian, std.traits.FunctionAttributes, std.traits.ParameterStorageClass, and std.traits.Variadic were changed to match Phobos' naming conventions.) $(LI std.range: Added indexed and chunks) $(LI std.string.translate has been updated to work with unicode. As a result, its signature has been changed. The old version and std.string.maketrans have been scheduled for deprecation.) $(LI std.string.tr has been updated so that it works with any string type.) $(LI std.conv.parse works for associative array and static array) $(LI std.format: Improvement of formatValue and unformatValue. They now works for associative array, consider element escaping, and treat range format spec more properly.) ) $(LIBBUGSFIXED $(LI Unlisted bug: std.range.transversal should have length) $(LI $(BUGZILLA 3890): Bad writeln of a nested struct) $(LI $(BUGZILLA 4977): cannot use nothrow or pure with Rebindable) $(LI $(BUGZILLA 5237): writefln doesn't respect Complex.toString) $(LI $(BUGZILLA 5645): std.range.drop()) $(LI $(BUGZILLA 5825): write is calling a deprecated function) $(LI $(BUGZILLA 6064): std.array.join is unnecssarily slow for strings) $(LI $(BUGZILLA 6194): [GSoC] Destructor gets called on object before it is copied when calling writeln()) $(LI $(BUGZILLA 6261): [2.054 beta regression] Regex cannot take a char[]) $(LI $(BUGZILLA 6377): std.conv.to should check range when changing signedness) $(LI $(BUGZILLA 6587): std.parallelism's Task cannot handle immutable values) $(LI $(BUGZILLA 6606): RefCounted doesn't work with unions due to use of format) $(LI $(BUGZILLA 6608): Tuple field is not escaped) ) ) $(VERSION 054, ddd mm, 2011, =================================================, $(WHATSNEW $(LI std.array.insertInPlace supports inserting of multiple ranges/elements in one go) $(LI Added std.array.uninitializedArray and std.array.minimallyInitializedArray) $(LI Various functions in std.string were renamed to match Phobos' naming conventions and be properly camelcased. The old names are still there but have been scheduled for deprecation.) $(LI The deprecated std.string.toString and std.string.atoi functions were removed. If you were still using them for any reason, replace them with calls to std.conv.to.) $(LI Various functions in std.uni were renamed so that they don't have "Uni" in their name, since it was decided that it was not desirable to repeat a module's name in its functions' names. The old names are still there but have been scheduled for deprecation.) $(LI std.ctype has been scheduled for deprecation. std.ascii has been added to replace it.) $(LI Major performance improvements for std.algorithm.sort) ) $(LIBBUGSFIXED $(LI $(BUGZILLA 876): std.intrinsic.bswap overloads) $(LI $(BUGZILLA 2108): regexp.d: The greedy dotstar isn't so greedy) $(LI $(BUGZILLA 2117): Please add more byteswapping support) $(LI $(BUGZILLA 3136): Incorrect and strange behavior of std.regexp.RegExp if using a pattern with optional prefix and suffix longer than 1 char) $(LI $(BUGZILLA 3457): rdmd fails silently in a particular setup where the compiler is not the expected) $(LI $(BUGZILLA 3479): writef/writefln: positional precision not working) $(LI $(BUGZILLA 3564): Rdmd failing to link external C libraries) $(LI $(BUGZILLA 3752): File.byLine fetches lines in a confusing manner) $(LI $(BUGZILLA 4367): std.regex: Captures is not a random access range) $(LI $(BUGZILLA 4574): std.regex: breaks with empy string regex) $(LI $(BUGZILLA 4608): std.string.chomp documentation mismatch implementation) $(LI $(BUGZILLA 5019): In std.regex, empty capture at end of string causes error) $(LI $(BUGZILLA 5511): std.regex optional capture with no-match cause error) $(LI $(BUGZILLA 5673): Add lookahead and forgetful matching support std.regex) $(LI $(BUGZILLA 5857): std.regex (...){n,m} is bogus when (...) contains repetitions) $(LI $(BUGZILLA 6076): regression, std.regex: "c.*|d" matches "mm") $(LI $(BUGZILLA 6113): singletons in std.datetime are not created early enough) $(LI $(BUGZILLA 5705): Swapping identical struct with hasElaborateAssign causes "overlapping array copy" exception) $(LI $(BUGZILLA 6193): Appender.clear() functionality or documentation) ) )