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