Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Breaking Changes for 0.99.7

0.99.7 cleans up a lot of code, resulting in breaking changes.

tango.util.log

A lot of clean up in this package as we head toward a 1.0 release. The functionality is the same as before, but with less imports and some renaming to better suit the D language. Most typical usage requires an import of tango.util.log.Log only which, considered in isolation, has no notable change. Import tango.util.log.Config as a quick way to configure logger output to the console.

One real distinction is that log output now accepts the standard Stdout/Layout formatting, directly, without an interim buffer. This was adopted in the name of simplicity, while the prior lazy evaluation remains within method append().

tango.io

  • FileRoots deprecated in favor of FileSystem
  • GrowBuffer merged into Buffer module
  • FileConst deprecated in favor of model.IFile
  • FileScan deprecated in favor of tango.io.vfs.FileFolder
  • The use of FilePath and PathView in FileConduit is deprecated in favour of char[] paths
  • The use of FilePath and PathView in tango.io.compress.Zip was deprecated in favour of char[] paths.

tango.io.FilePath / Path

Backslashes ( \ ) are no longer accepted as in FilePath and PathParser - use Path.standard before passing paths to them. Note that FilePath will be reverted to do this by itself starting next release.

tango.math.Math

math.Math.feq is now deprecated.

tango.math.Random

Added a Kiss module in tango.math.random, based on struct instead and adding support for floating-point random numbers. Tango.math.Random is now deprecated, awaiting a version with richer functionality. Random.next and Random.shared.next are now

import tango.math.random.Kiss;
Kiss.toInt();
Kiss.shared.toInt();

tango.text.xml.XmlPrinter

Deprecated in favor of DocPrinter

tango.util.container

New set of containers, to address concerns over prior collection package. Older package will be deprecated and removed before the 1.0 release

tango.group

Deprecation period expired, so will be removed.

tango.text.convert.Integer

Integer.Style and Integer.Flags have been removed from the API, and replaced with a more flexible formatting scheme to address various tickets. Would have been deprecated, except that D doesn't permit overloaded template names.

In general changing to the new style involves the following sort of transformations:

Old paramter(s) New parameter
Integer.Style.Decimal "d"
Integer.Style.Hex "x"
Integer.Style.Octal "o"
Integer.Style.Binary "b"
Integer.Style.Decimal, Integer.Flags.Prefix "d#"
Integer.Style.Hex, Integer.Flags.Prefix "x#"

However, the new scheme can support more formatting styles than the previous scheme. For more details about the new format strings see the API docs here.

tango.text.Text

Same change as Integer (above).

tango.text.Properties

Deprecated in favor of tango.io.stream.MapStream

tango.io.archive.Zip

This should have been in tango.io.compress, along with the other zip features, instead of being all alone in a discrete folder. Import tango.io.compress.Zip instead of tango.io.archive.Zip