Note: we expect the next release (1.0) to have zero breaking changes; they're all being executing now instead
Breaking Changes for 0.99.9
tango.io
- FilePath.opAssign() support was removed, as it inhibited the ability to set a FilePath reference to null. This will affect only those who use fp = "c:/wumpus" instead of fp.set("c:/wumpus")
- io.encode and io.digest have moved to a permanent home within tango.util
tango.io.device
- all devices now detach themselves when garbage-collected. This was changed to correctly support scope variables, and should be invisible to nearly everyone
- device.Array does not have a default ctor anymore. You must provide at least one argument, which helps eliminate some usage confusion
tango.io.protocol
- this rarely-used package has been moved to the Mango project instead
tango.util
- PathUtil functionality has been merged into tango.io.Path
- ArgParser has been deprecated in favour of tango.text.Arguments
tango.util.log
- AppendFiles increased the fileset limit to 1000 (from 10), requiring a minor change to the fileset naming convention. Given that file naming is different, new log files will be generated upon using this release and prior/existing files will be ignored
- Trace.formatln() is now merely an alias for Log.formatln(), so it's better to import tango.util.log.Config and use Log("hello {}", "world") directly
tango.net
- relocated Conduit derivatives into net.device, and renamed in preparation for v1.0 release. Easy fix is to delete "Conduit" from the class-names via a search and replace. Related imports should be changed from tango.net to tango.net.device
- all devices now detach themselves when garbage-collected. This was changed to correctly support scope variables, and should be invisible to nearly everyone
- raw (berkeley) socket support has been renamed Berkeley, has moved to net.device, and is now a struct instead of a class. This will affect those who used the raw socket API instead of the prior SocketConduit
- added timeout support to Socket.write (already there for Socket.read)
- the infinite timeout value is now -1 rather than 0, and configured as such for all devices by default
- the PKI and OpenSSL modules have relocated to net.utils
- names in the Uri class have been revised (more D, less Java), but aliases are in place. Should not affect anyone
- rarely-used tango.net.cluster has been moved to the Mango project, along with tango.net.SocketListener