forked from dlang/phobos
-
Notifications
You must be signed in to change notification settings - Fork 2
/
changelog.dd
196 lines (182 loc) · 11.9 KB
/
changelog.dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
$(VERSION 058, ddd mm, 2012, =================================================,
$(WHATSNEW
$(LI Added std.csv for reading CSV files.)
$(LI The overload of std.concurrency.receiveTimeout which takes a long has
been deprecated. Please use the overload which takes a core.time.Duration.)
$(LI The overload of std.conv.to which used a member function named to on the
type being converted has been deprecated. Please define opCast on the type
instead, and std.conv.to will use that.)
$(LI std.datetime's endOfMonthDay functions have been deprecated. Please use
daysInMonth instead.)
$(LI std.ctype has been deprecated. Please use std.ascii instead.)
$(LI std.string's hexdigits, digits, octdigits, lowercase, letters, uppercase,
whitespace, and newline have been deprecated. Please use the
corresponding symbols in std.ascii instead.)
$(LI std.string's LS and PS have been deprecated. Please use the corresponding
symbols in std.uni instead.)
$(LI std.string's iswhite has been deprecated. Please use either
std.ascii.isWhite or std.uni.isWhite instead.)
$(LI std.string's tolower, tolowerInPlace, toupper, toupperInPlace, splitlines,
stripl, stripr, ljustify, rjustify, and expandtabs have been deprecated.
Please use the new versions of these functions with properly camelcased names.)
$(LI std.string's zfill has been deprecated. Please use rightJustify instead.)
$(LI std.string's capwords has been deprecated.)
$(LI The overloads of std.string's isNumeric which takes anything and
which takes a va_list have been deprecated. The other overloads remain.)
$(LI std.uni's isUniLower, isUniUpper, toUniLower, toUniUpper, and isUniAlpha
have been deprecated. Please use the versions of these functions which do
not have Uni in their name.)
)
$(LIBBUGSFIXED
$(LI $(BUGZILLA 5614): version(Win32) vs version(Windows) in Phobos)
$(LI $(BUGZILLA 6255): Add support for different base conversions in std.conv)
)
)
$(VERSION 057, ddd mm, 2011, =================================================,
$(WHATSNEW
$(LI Major overhaul of std.regex module's implementation.
$(RED Breaking change) in std.regex.replace with delegate,
use Captures!string instead of RegexMatch!string as delegate parameter.)
$(LI As typedef has been deprecated, overloads of std.conv.to which use
typedef have now been deprecated.)
$(LI std.array.insert has been deprecated. Please use std.array.insertInPlace instead.)
$(LI The overload of std.array.replace which replaces in place has been deprecated.
Please use std.array.replaceInPlace instead.)
$(LI The toISOExtendedString and fromISOExtendedString functions on SysTime, Date,
TimeOfDay, and DateTime in std.datetime have been deprecated. Please use
toISOExtString and fromISOExtString instead.)
$(LI std.file.getTimesPosix has been deprecated. Please use std.file.getTimes instead.)
$(LI The overloads for isDir, isFile, and isSymlink in std.file which take a uint
have been deprecated. Please use attrIsDir, attrIsFile, and attrIsSymlink instead.)
)
$(LIBBUGSFIXED
$(LI Unlisted bug: std.conv: Fix to!float("-0"))
$(LI Unlisted bug: std.file broken on OS X x86_64 due to wrong stat64 declaration.)
$(LI $(BUGZILLA 2936): std.regex.match() short string optimization)
$(LI $(BUGZILLA 4765): std.math.modf always returns 0)
$(LI $(BUGZILLA 5193): SList cannot have struct elements that have immutable members.)
$(LI $(BUGZILLA 5620): Implicit conversion of RegexMatch to bool.)
$(LI $(BUGZILLA 5712): [patch] std.regex.replace disallows w/dstring)
$(LI $(BUGZILLA 6204): emplace() for classes accepts larger chunk but fails in array assignment)
$(LI $(BUGZILLA 6887): Regression of getopt)
$(LI $(BUGZILLA 6888): std.getopt.getopt: one-letter hash option causes range violation)
$(LI $(BUGZILLA 6935): struct with @disable this cannot make range)
$(LI $(BUGZILLA 6973): static assert(isOutputRange!(OutputRange!int, int)) is false)
$(LI $(BUGZILLA 6976): GetLastError called as property)
$(LI $(BUGZILLA 6977): getErrno called as property in std.stdio)
$(LI $(BUGZILLA 6979): hasUnsharedAliasing cannot accept plural parameters)
$(LI $(BUGZILLA 6990): std.string.splitlines deprecation doc missing a word)
$(LI $(BUGZILLA 7000): missing import of std.stdio in std.regex?)
$(LI $(BUGZILLA 7039): Posix 2.057 Makefile error breaking 64bit build)
$(LI $(BUGZILLA 7040): Phobos must use "version/else version" blocks for proper
documentation generation.)
$(LI $(BUGZILLA 7045): AssertError in std.regex on line 1573)
$(LI $(BUGZILLA 7055): to!float("INF2") == 2)
)
)
$(VERSION 056, ddd mm, 2011, =================================================,
$(WHATSNEW
$(LI std.exception: enforce/enforceEx now can use in @safe pure function.)
$(LI Added optional KeepTerminator param to std.string.splitLines.)
$(LI Added std.string.outdent.)
$(LI std.utf: More @safe and pure.)
$(LI std.windows.registry now use *W functions in order to deal properly with Unicode.)
)
$(LIBBUGSFIXED
$(LI $(BUGZILLA 5522): std.range.zip fails on arrays of Object.)
$(LI $(BUGZILLA 6009): std/container disabled on freebsd/64)
$(LI $(BUGZILLA 6160): std.conv.to: Ignore _ to match the rest of D)
$(LI $(BUGZILLA 6181): assert fails in datetime.d while runining Phobos unittest)
$(LI $(BUGZILLA 6258): std.conv.to!real("-") fetches the front of an empty array.)
$(LI $(BUGZILLA 6275): Const values in tuples)
$(LI $(BUGZILLA 6288): std.conv.to removes const/immutable when converting a class)
$(LI $(BUGZILLA 6609): std.conv.parse!Integer should consider sign when radix == 10)
$(LI $(BUGZILLA 6634): std.path.globMatch throws wrong assertion)
$(LI $(BUGZILLA 6640): More formatting consistency between string and range of char)
$(LI $(BUGZILLA 6761): Strange behavior of RedBlackTree causing a dangling pointer)
)
)
$(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)
)
)