D Change Log
+ + +-
+
- What's new for D 1.00 + +
- What's new for D 0.178 + +
- What's new for D 0.177 + +
- What's new for D 0.176 + +
- What's new for D 0.175 + +
- What's new for D 0.174 + +
- What's new for D 0.173 + +
- What's new for D 0.172 + +
- What's new for D 0.171 + +
- What's new for D 0.170 + +
- What's new for D 0.169 + +
- What's new for D 0.168 + +
- What's new for D 0.167 + +
- What's new for D 0.166 + +
- What's new for D 0.165 + +
- What's new for D 0.164 + +
- What's new for D 0.163 + +
- What's new for D 0.162 + +
- What's new for D 0.161 + +
- What's new for D 0.160 + +
- What's new for D 0.159 + +
- What's new for D 0.158 + +
- What's new for D 0.157 + +
- What's new for D 0.156 + +
- What's new for D 0.155 + +
- What's new for D 0.154 + +
- What's new for D 0.153 + +
- What's new for D 0.152 + +
- What's new for D 0.151 + +
- What's new for D 0.150 + +
- What's new for D 0.149 + +
- What's new for D 0.148 + +
- What's new for D 0.147 + +
- What's new for D 0.146 + +
- What's new for D 0.145 + +
- What's new for D 0.144 + +
- What's new for D 0.143 + +
- What's new for D 0.142 + +
- What's new for D 0.141 + +
- What's new for D 0.140 + + +
- older versions + +
- Download + + D compiler for Win32 and x86 linux + +
- tech support + +
+ +
+ What's New for + D 1.00 +
+ + +Jan 2, 2007 + +New/Changed Features
+ +- -v flag now outputs imports +
- added std.c.linux.pthread +
Bugs Fixed
+ +- Fixed Bugzilla 552: Internal error: ..\ztc\cg87.c 1327 on in-function modulo of imaginary number +
- Fixed Bugzilla 553: Assertion failure: '0' on line 609 in file 'constfold.c' on modulo of complex number +
- Fixed Bugzilla 694: Doc mistake: a == null is not a.opCmp(null) +
- Fixed Bugzilla 699: long variadic arguments and the "-profile" flag +
- Fixed Bugzilla 702: inline assembler: "SMSW r32" fails to compile +
- Fixed Bugzilla 703: SuperExp::scanForNestedRef Assertion +
- Fixed Bugzilla 728: incorrect initialisation of member arrays if an explicit struct initializer is used +
- Fixed Bugzilla 731: Positive and negative NaN in template arguments causes link conflict +
- Fixed Bugzilla 734: Multidimensional arrays use incorrect initializer +
- Fixed Bugzilla 745: recursive typeof in function declaration crashes cc1d +
- Fixed Bugzilla 748: internal error with mixed static / dynamic array +
- Fixed Bugzilla 749: Internal error: toir.c 170 with lazy bool and delegate with default argument +
- Fixed Bugzilla 750: Recursive typeof in function declaration crashes DMD +
- Fixed Bugzilla 751: Compiler segfault on template expansion +
- Fixed Bugzilla 752: Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c' +
- Fixed Bugzilla 753: Minor Misspelling in Class Spec Page +
- Fixed Bugzilla 754: hex strings crash DMD when reporting syntax errors +
- Fixed Bugzilla 757: Some debug code was not removed from statement.c +
- Fixed Bugzilla 760: std.c.stdlib does not include system(3) +
- Fixed Bugzilla 763: Segfault compiling template code on Linux +
- Fixed Bugzilla 764: (typeof(o)).classinfo causes parser error +
- Fixed Bugzilla 765: ArrayBoundsError when assigning slice of pointer +
- Fixed Bugzilla 766: dmd.exe crash +
- Fixed Bugzilla 770: enums and typecasts +
- Fixed Bugzilla 771: template func returns delegate w. param list from tuple and type, odd compiler error +
- Fixed Bugzilla 772: Bogus error using relation operator as static if expression within template +
- Fixed Bugzilla 773: Redundant "Error: " in std.conv.ConvError +
- Fixed Bugzilla 775: array literals can't be used as template arguments +
- Fixed Bugzilla 777: -inline: assert() with a non-constant message causes code to not compile +
- Fixed Bugzilla 778: -inline: Assertion failure: '!v->csym' on line 450 in file 'glue.c' +
- Fixed Bugzilla 779: init.c:103: virtual Expression* VoidInitializer::toExpression(): Assertion `0' failed. +
+ +
+ What's New for + D 0.178 +
+ + +Dec 23, 2006 + +New/Changed Features
+ +- Implemented Named Return Value Optimization +
- If the first element of an array literal is a static array, + it is converted to a dynamic array. +
- Empty ; no longer allowed after conditional statements, + see Bugzilla 576. +
Bugs Fixed
+ +- Fixed Bugzilla 39: ArrayMemberInitialization, StructMemberInitializer inconsistencies from dmd's behavior +
- Fixed Bugzilla 40: DecimalFloat spec doesn't match dmd behavior +
- Fixed Bugzilla 238: Cannot initialise const field from foreach loop on associative array + +
- Fixed Bugzilla 265: Selective import from renamed import behaves strangely +
- Fixed Bugzilla 576: version.html - ConditionalStatement grammar doesn't make sense +
- Fixed Bugzilla 577: statement.html - NonEmptyStatement grammar lists DebugStatement and VersionStatement, which are not defined +
- Fixed Bugzilla 612: Associative arrays ignore opEquals, contrary to the spec +
- Fixed Bugzilla 630: Obscure, unimplemented features related to in/out contracts +
- Fixed Bugzilla 631: Spelling errors in DMD distribution +
- Fixed Bugzilla 634: writef doesn't work on enums +
- Fixed Bugzilla 635: regression: looping "Error: outer class Outer 'this' needed to 'new' nested class Inner" +
- Fixed Bugzilla 650: Assertion failure: '0' on line 774 in file 'expression.c' +
- Fixed Bugzilla 651: Assertion failure: 'global.errors' on line 2622 in file 'template.c' +
- Fixed Bugzilla 654: Const string member using implicit type inference gives garbage in certain situation +
- Fixed Bugzilla 661: Error using a zero-init struct's init property +
- Fixed Bugzilla 663: Slice assignment does not bounds check when it should +
- Fixed Bugzilla 665: missing functions in std.c.linux.linux +
- Fixed Bugzilla 667: incorrect value for std.socket.SocketShutdown.BOTH +
- Fixed Bugzilla 669: (a == b) misuses opCmp and opEquals +
- Fixed Bugzilla 672: Compiler endless loop with nested class object +
- Fixed Bugzilla 673: ABI as documented is 32 bit specific.. how about 64 bits? +
- Fixed Bugzilla 681: Array -- Implicit type doc updates needed +
- Fixed Bugzilla 682: dmd segfault with vararg template +
- Fixed Bugzilla 683: New: dmd segv, this ain't the same as bug 682 +
- Fixed Bugzilla 684: dmd should compile this +
- Fixed Bugzilla 685: dmd assertion failure +
- Fixed Bugzilla 686: [Regression] opCast of a struct or union is called in nonsensical circumstances +
- Fixed Bugzilla 687: DDoc doesn't document anonymous enums +
- Fixed Bugzilla 688: Implicit function template match doesn't work for classes +
- Fixed D.announce/6072 +
- Fixed D/45058 items 1, 2 and 4 +
- Fixed D.learn/6300: Assertion failure: '0' on line 704 in file 'expression.c' +
- Fixed c++/5355 +
+ +
+ What's New for + D 0.177 +
+ + +Dec 9, 2006 + +New/Changed Features
+ +- Casting a value v to a struct S is now rewritten as S(v). +
- Initializing a struct S from a value v is now rewritten as S(v). +
- TypeInfo now always generated for enum, struct, and typedef's, + to enable more thorough rtti. +
- classinfo.name now has the fully qualified name +
- Arrays no longer implicitly convert to pointers unless -d is used. +
- Need to recompile because:
+
- Improved name mangling for floating point constants +
- Nested and member functions needing 'this' are preceded by 'M' + in the mangled type. +
+
Bugs Fixed
+ +- Doc fixed for Bugzilla 510: Nonworking implicit conversions between arrays and pointers +
- Doc fixed for Bugzilla 511: Various problems in the documentation +
- Doc fixed for Bugzilla 567: Compiler crash with conflicting templates +
- Fixed Bugzilla 607: toString can't handle char[] +
- Fixed Bugzilla 628: Assertion failure: '0' on line 91 in file 'init.c' +
- Fixed Bugzilla 636: Excessive "1: " in error message +
- Fixed Bugzilla 637: internal symbols are missing the leading underscore +
- Fixed Bugzilla 638: additional leading D in symbol D_D3std9dateparse9DateParse8classifyFAaZE3std9dateparse9DateParse2DP6DateID6__initZ +
- Fixed Bugzilla 653: AAs are slightly broken +
- Fixed Bugzilla 656: lazy in main +
+ +
+ What's New for + D 0.176 +
+ + +Dec 2, 2006 + +New/Changed Features
+ +- Added std.bind. +
- Need to recompile because:
+
- Associative arrays now are PTRSIZE, not PTRSIZE*2. +
- Destructors no longer stored in vtbl[]. +
- "_arguments" now passed differently to variadic functions. +
- Improved name mangling, see D.announce/5791 + and D.announce/5759. +
+
Bugs Fixed
+ +- Fixed Bugzilla 221: Inconsistent name mangling of bool (a relic of 'bit') [Patch included] +
- Fixed Bugzilla 294: DDoc: Function templates get double and incomplete documentation +
- Fixed Bugzilla 500: Struct Initializers conflict with Delegate Literals in initializers +
- Fixed Bugzilla 501: Bad interaction between 'with' and IFTI in template methods +
- Fixed Bugzilla 503: Names of arguments to atan2 are backwards +
- Fixed Bugzilla 505: rdmd and dmd do not correctly preserve program arguments with spaces. +
- Fixed Bugzilla 507: Error: 'this' is required, but ... is not a base class of ... +
- Doc fixed for Bugzilla 508: All members of an array need not be initialised +
- Doc fixed for Bugzilla 509: [wd]char[1] does not convert to [wd]char +
- Doc fixed for Bugzilla 510: Nonworking implicit conversions between arrays and pointers +
- Doc fixed for Bugzilla 511: Various problems in the documentation +
- Fixed Bugzilla 513: using struct initializer on static array crashes the compiler +
- Fixed Bugzilla 514: Misleading error message for static const initialisation +
- Fixed Bugzilla 517: std.compiler outdated +
- Fixed Bugzilla 521: frontend: incorrect error(Loc, const char*, char*) declaration in mars.h +
- Fixed Bugzilla 522: frontend: 64-bit format string cleanup +
- Fixed Bugzilla 524: Compiler crash when compiling +
- Fixed Bugzilla 530: segfault assigning array literal to a non-array const +
- Fixed Bugzilla 534: IPF trying to initialize an associative array +
- Fixed Bugzilla 550: Shifting by more bits than size of quantity is allowed +
- Fixed Bugzilla 554: Division by zero results in two identical errors +
- Fixed Bugzilla 555: Integral ireal literals can't be specified +
- Fixed Bugzilla 557: ICE returning a tuple from a function (Assertion failure: '0' on line 694 in file 'glue.c') +
- Fixed Bugzilla 560: Cannot escape reference to variadic parameter +
- Fixed Bugzilla 562: Source file without BOM starting with non-ASCII compiles and runs +
- Fixed Bugzilla 564: Setting predefined versions on the command line causes crashes +
- Fixed Bugzilla 567: Compiler crash with conflicting templates +
- Fixed Bugzilla 574: DMD uses D calling convention for returning complex floats from functions with C calling convention +
- Fixed Bugzilla 585: dmd crashes with segmentation fault +
- Fixed Bugzilla 587: DMD crashes compiling char[][] initialization +
- Fixed Bugzilla 589: std.string.newline should be char[] not char[2] +
- Fixed Bugzilla 591: version=LittleEndian crash the compiler +
- Fixed Bugzilla 593: can't deduce from arrayliteral +
- Fixed Bugzilla 597: std.socket TcpSocket and UdpSocket are missing. +
- Fixed Bugzilla 598: missing reentrant Linux functions +
- Fixed Bugzilla 610: Undocumented behaviour: ~ and ~= can now concatenate an array with a single element +
- Fixed Bugzilla 613: Error message still states that '===' and '!==' are merely deprecated +
- Fixed Bugzilla 618: The following program crashes dmd.exe 0.175 +
- Fixed Bugzilla 619: Alias of templated struct instance crashes 0.175 +
+ +
+ What's New for + D 0.175 +
+ + +Nov 25, 2006 + +New/Changed Features
+ +- Added == super to IsExpressions. +
- Class variables declared with scope are now allocated + on the stack. +
Bugs Fixed
+ +- Fixed Bugzilla 222: Internal error: ..\ztc\cod1.c 1656" with && and || +
- Fixed Bugzilla 228: Crash on inferring function literal return type after prior errors +
- Fixed Bugzilla 311: Object files missing certain template instantiations +
- Fixed Bugzilla 331: performance bug in std.uni.toUniLower / std.uni.toUniUpper +
- Incorporated Bugzilla 332: typesafe variadic functions and lazy argument support for std.demangle +
- Fixed Bugzilla 343: Compile error using mixin containing struct +
- Fixed Bugzilla 349: Function matching with enums is erratic +
- Fixed Bugzilla 352: Assertion failure: expression.c 753 - concatenating strings in a template calling another template +
- Fixed Bugzilla 353: null passed as a char[] template argument, concatenated with a string literal, is a non-constant expression +
- Fixed Bugzilla 354: Internal error: e2ir.c 772 with bad template use +
- Fixed Bugzilla 355: ICE from enum : nonexistent type +
- Incorporated Bugzilla 363 XHTML support +
- Fixed Bugzilla 364: Mysterious access violation when using delegate()[1]... parameter +
- Fixed Bugzilla 373: Spec problems with TypeInfo: error and omission. +
- Fixed Bugzilla 378: Assertion failure: '0' on line 216 in file 'init.c' +
- Fixed Bugzilla 379: wrong thisptr type in typedef'ed struct +
- Fixed Bugzilla 380: cannot use typeof(*this) in a static context +
- Fixed Bugzilla 384: Different behaviour when compiling as separate object files +
- Fixed Bugzilla 389: Cannot link to std.path.altsep +
- Fixed Bugzilla 429: Unable to distinguish between empty and uninitialized dynamic arrays +
- Fixed Bugzilla 433: A deprecated, same-named alias screws up resolution of imports +
- Fixed Bugzilla 443: assignment in return when using cdouble is broken +
- Fixed Bugzilla 444: Inside a foreach with delegates, void return does not compile +
- Fixed Bugzilla 446: Anonymous class and "return without calling constructor" +
- Fixed Bugzilla 460: Assertion failure: '!needThis()' on line 143 in file 'tocsym.c' +
- Fixed Bugzilla 464: 64bit clean dchar.c +
- Fixed Bugzilla 465: errors when trying to use static templated methods +
- Fixed Bugzilla 466: dmd prevent this from link, if so please prevent it from compiling +
- Fixed Bugzilla 467: double inheritance from the same interface +
- Fixed Bugzilla 468: argument wrongfully identified as type in template instantiation +
- Fixed Bugzilla 471: Protection attributes of mixin instances are applied in a wrong scope. +
- Fixed Bugzilla 475: DMD segfault on recursive variadic template +
- Fixed Bugzilla 476: DMD doesn't resolve its location properly on Windows +
- Fixed Bugzilla 478: can't compare arrayliteral statically with variable +
- Fixed Bugzilla 480: too many initializers error message doesn't give line number +
- Fixed Bugzilla 486: Writefln on null object should not trigger access error. +
- Fixed Bugzilla 488: regression: recursive typeof segmentfaults +
- Fixed Bugzilla 490: Static struct initializer without static attribute aborts dmd with assertion +
- Fixed Bugzilla 525: can't use array variable in typetuple index +
- Fixed D.announce/5464 +
- Fixed problem with ForStatement scope. +
+ +
+ What's New for + D 0.174 +
+ + +Nov 14, 2006 + +New/Changed Features
+ +- Implemented std.typetuple. +
- Implemented std.traits. +
- Added .funcptr property for delegates. +
- Added .tupleof property for structs and classes. +
- Slicing and indexing of type tuples now supported. +
- Variable declarations can now be declared with type tuples. +
- Improved the statement grammar thanks to Stewart Gordon. +
- Added DMD switch -v1 for D language 1.0 compatibility. +
- deprecated === and !== no longer allowed +
- deprecated iftype no longer allowed +
- deprecated on_scope_xxxx no longer allowed +
- deprecated 'l' numeric literal suffix no longer allowed +
- deprecated if (v; e) no longer allowed +
- deprecated instance no longer allowed +
- scope can now be used for RAII declarations; + use auto for type inference. +
Bugs Fixed
+ +- Fixed Bugzilla 462: invalid typeinfo usage breaks dmd compiler +
- Fixed Bugzilla 469: Incorrect documentation in std.date +
- Fixed Bugzilla 477: Malformed URL in documentation +
- Issues error now for Bugzilla 483: ICE-invalid with tuple. mangleof. +
- Fixed Bugzilla 484: Compiler segfault with template variadic used as a template alias +
- Fixed Bugzilla 489: .classinfo not working with fqn +
- Fixed Bugzilla 491: Create directories necessary for writing files when using -Dd and -Hd option +
- Fixed Bugzilla 494: template's variadic argument can't use as type +
- Fixed Bugzilla 495: ICE passing variadic arglist to another variadic template +
- Incorporated Bugzilla 496: frontend: 64-bit cleanup of utf_decode +
- Incorporated Bugzilla 497: frontend: 64-bit cleanup of sprintf buffer sizes +
- Fixed Bugzilla 498: Signal mixins need to import +
- Fixed Bugzilla 499: Multiple overrides of the destructor when using signals +
- Incorporated D/43595 suggestions +
- Fixed D/43649 crash +
- Fixed D.learn/8856 +
- Fixed D.announce/5290 +
+ +
+ What's New for + D 0.173 +
+ + +Nov 1, 2006 + +New/Changed Features
+ +- Template instantiations can now accept alias parameters for + local variables and nested functions. +
- Enhancement Bugzilla 333 std.c.locale +
- Implemented Signals and Slots. +
- Incorporated D.announce/5104 as std.cpuid. +
- Implemented variadic template parameters +
Bugs Fixed
+ +- Fixed IFTI bug deducing types from struct templates +
- Fixed D/43122 crash +
- Fixed Bugzilla 445: debugging artifact: DeclarationExp::scanForNestedRef +
- Fixed/Incorporated Bugzilla 330: std.string.tolower / std.string.toupper broken for non-ASCII strings +
- Documented Bugzilla 350: Modulo for negative values is undefined +
- Incorporated Bugzilla 448: frontend: redefinition of size_t +
- Incorporated Bugzilla 449: frontend: html.h and complex_t.h are unprotected against multiple inclusion +
- Incorporated Bugzilla 450: frontend: please use <stdint.h> to increase portability +
- Incorporated Bugzilla 451: frontend: redundant function definitions +
- Fixed Bugzilla 457: notifyRelease: debugging artifacts +
+ +
+ What's New for + D 0.172 +
+ + +Oct 18, 2006 + +New/Changed Features
+ +Bugs Fixed
+ +- Fixed again Bugzilla 440: dmd.170 fails to mark final methods as implementations of abstract ones +
- Fixed Bugzilla 441: Crash on foreach of mixed-in aggregate +
- Fixed Bugzilla 442: Crash on foreach of mixed-in aggregate +
+ +
+ What's New for + D 0.171 +
+ + +Oct 18, 2006 + +New/Changed Features
+ +Bugs Fixed
+ +- Incorporating overlooked Bugzilla 429 change. +
- Fixed Bugzilla 440: dmd.170 fails to mark final methods as implementations of abstract ones +
+ +
+ What's New for + D 0.170 +
+ + +Oct 17, 2006 + +New/Changed Features
+ +- Added foreach_reverse. +
- Delegates can now be the 'aggregate' for the foreach. +
- final member functions that do not override any are + no longer placed in the _vtbl[]. This means that code with classes + deriving from such classes need to be recompiled. +
- null is now an exact match for null pointers, delegates, + arrays, class objects, etc. +
Bugs Fixed
+ +- Fixed Bugzilla 407 +
- Fixed Bugzilla 410 +
- Fixed Bugzilla 411 +
- Fixed Bugzilla 412 +
- Fixed Bugzilla 414 +
- Fixed Bugzilla 416 +
- Incorporated Bugzilla 417 +
- Fixed Bugzilla 418 +
- Fixed Bugzilla 419 +
- Fixed Bugzilla 420 +
- Fixed Bugzilla 422 +
- Fixed Bugzilla 426 +
- Fixed Bugzilla 427 +
- Fixed Bugzilla 428 (updated doc) +
- Incorporated Bugzilla 429 +
- Fixed Bugzilla 430 (changed spec) +
- Fixed Bugzilla 431 +
- Fixed Bugzilla 436 +
+ +
+ What's New for + D 0.169 +
+ + +Oct 7, 2006 + +New/Changed Features
+ +Bugs Fixed
+ +- Improved optimization of div/mod combinations. +
- Fixed D/42668 +
- Fixed D.announce/4869 +
- Fixed D.learn/8605 +
- Fixed Bugzilla 351 +
- Fixed Bugzilla 377 +
- Fixed Bugzilla 381 +
- Fixed Bugzilla 382 +
- Fixed Bugzilla 386 +
- Fixed Bugzilla 391 +
- Fixed Bugzilla 394 +
- Fixed Bugzilla 395, but there are probably more + UTF bugs in std.regexp. +
- Fixed Bugzilla 396 +
- Fixed Bugzilla 397 +
- Fixed Bugzilla 402 +
- Fixed Bugzilla 404 +
- Fixed Bugzilla 405 +
+ +
+ What's New for + D 0.168 +
+ + +Oct 2, 2006 + +New/Changed Features
+ +- Added .ptr property for delegates. +
- Added .outer property for nested class instances. +
- Can now initialize stack variables with array literals. +
- Array literals can now be cast to [][] types. +
- Mixins can now insert multiple destructors. +
Bugs Fixed
+ +- Fixed D.learn/8408 +
- Fixed Bugzilla 104 +
- Fixed Bugzilla 291 +
- Fixed Bugzilla 315 +
- Fixed Bugzilla 347 +
- Fixed Bugzilla 356 +
- Incorporated Bugzilla 363 +
- Fixed Bugzilla 365 +
- Fixed Bugzilla 367 +
- Fixed Bugzilla 368 +
- Fixed Bugzilla 369 +
- Fixed Bugzilla 370 +
- Fixed Bugzilla 371 +
- Fixed Bugzilla 372 +
- Fixed Bugzilla 374 +
- Fixed Bugzilla 385 +
- Fixed Bugzilla 392 +
+ +
+ What's New for + D 0.167 +
+ + +Sep 18, 2006 + +New/Changed Features
+ +- Implemented Stewart Gordon's suggestions per + D.learn/3843. +
- Added std.c.windows.stat. +
- Added std.file.getTimes(). +
- Added support for multidimensional array allocation with + NewExpression. +
- Added array literals. +
- std.format will now work with struct arguments as long + as they define a char[] toString() member function. +
Bugs Fixed
+ +- Fixed dmd segfault on void inits of statics. +
- Fixed D.learn/8247 +
- Fixed Bugzilla 285 +
- Fixed Bugzilla 289 +
- Fixed Bugzilla 296 +
- Fixed Bugzilla 297 +
- Fixed Bugzilla 303 +
- Fixed Bugzilla 308 +
- Fixed Bugzilla 311 +
- Fixed Bugzilla 324 +
- Fixed Bugzilla 325 +
- Fixed Bugzilla 326 +
- Fixed Bugzilla 328 +
- Fixed Bugzilla 329 +
- Fixed Bugzilla 334 +
- Fixed Bugzilla 335 +
- Fixed Bugzilla 336 +
- Fixed Bugzilla 344 +
+ +
+ What's New for + D 0.166 +
+ + +Aug 30, 2006 + +New/Changed Features
+ +- Upgraded zlib from 1.2.1 to 1.2.3 per Bugzilla 286 +
- Removed implicit conversion to delegates, except in the + case of typesafe variadic arguments. +
- Replaced with lazy parameter storage class + per Tomasz Stachowiak's suggestion D/41633. +
- Incorporated Oskar Linde's patches to support member + templates. +
Bugs Fixed
+ +- Fixed Bugzilla 295 +
- Fixed Bugzilla 300 +
- Fixed Bugzilla 301 +
- Fixed Bugzilla 304 +
- Fixed Bugzilla 306 +
+ +
+ What's New for + D 0.165 +
+ + +Aug 20, 2006 + +New/Changed Features
+ +- Added implicit conversion of + expressions to delegates. +
Bugs Fixed
+ +- Fixed Bugzilla 170 +
- Fixed Bugzilla 292 +
- Fixed dstress class_26_A and dstress class_26_B +
+ +
+ What's New for + D 0.164 +
+ + +Aug 11, 2006 + +New/Changed Features
+ +- Added DDOC_COMMENT macro to Ddoc. +
Bugs Fixed
+ +- Added a couple needed publics to std.thread per Dave Fladebo +
- Fixed D.learn/7923 +
- Fixed D.learn/7928 +
- Fixed D.learn/8028 +
- Fixed dstress mangleof_16_A +
- Fixed dstress bug_cgcod_1667_A +
- Fixed dstress bug_type_308_B +
- Fixed Bugzilla 256 (revised documentation to reflect intended behavior) +
- Fixed Bugzilla 262 (added suggested documentation) +
- Fixed Bugzilla 264 (made static import with bind list illegal) +
- Fixed Bugzilla 269 +
- Fixed Bugzilla 270 +
- Fixed Bugzilla 272 +
- Fixed Bugzilla 273 +
- Fixed Bugzilla 274 +
- Fixed Bugzilla 276 +
- Fixed Bugzilla 278 +
- Fixed Bugzilla 279 +
+ +
+ What's New for + D 0.163 +
+ + +Jul 18, 2006 + +New/Changed Features
+ +- Object.opCmp now throws an error. Should override it if + used. Breaks existing code. +
- Imports now default to private instead of public. + Breaks existing code. +
- Added static imports, renamed imports, and selective importing. +
Bugs Fixed
+ +- Added documentation per Stewart Gordon's suggestion D/21572 . +
- Fixed Bugzilla 232 +
- Fixed Bugzilla 236 +
- Fixed Bugzilla 239 +
- Fixed Bugzilla 240 +
- Fixed Bugzilla 241 +
- Fixed Bugzilla 246 +
- Fixed Bugzilla 247 +
- Fixed Bugzilla 248 +
- Fixed Bugzilla 249 +
- Fixed Bugzilla 250 +
- Private module members now inaccessible from other modules. +
+ +
+ What's New for + D 0.162 +
+ + +Jun 22, 2006 + +New/Changed Features
+ +Bugs Fixed
+ +- Fixed D.learn/7620 +
- Fixed D.learn/7627 +
- Fixed D.learn/7630 +
- Fixed Bugzilla 125 +
- Fixed Bugzilla 135 +
- Fixed Bugzilla 138 +
- Fixed Bugzilla 145 +
- Fixed Bugzilla 147 +
- Fixed Bugzilla 154 +
- Fixed Bugzilla 155 +
- Fixed Bugzilla 167 +
- Fixed Bugzilla 172 +
- Fixed Bugzilla 179 (first example is an error now diagnosed, + following two now work correctly) +
- Fixed Bugzilla 180 +
- Fixed Bugzilla 181 (changed documentation) +
- Fixed Bugzilla 184 +
- Fixed Bugzilla 185 +
- Fixed Bugzilla 193 +
- Fixed Bugzilla 197 +
- Fixed Bugzilla 200 (changed spec to allow ';' as empty statement + for labelled statement) +
- Fixed Bugzilla 205 +
- Fixed Bugzilla 210 +
- Fixed Bugzilla 225 +
+ +
+ What's New for + D 0.161 +
+ + +Jun 19, 2006 + +New/Changed Features
+ +- Added opIn_r operator overload. +
- Function return types for lambda delegates can now be inferred. +
- delegate keyword now optional for lambda delegates. +
- Shadowing local variable declarations is now deprecated. +
- New function template syntax. +
Bugs Fixed
+ +- Fixed D.learn/5957 +
- Fixed D.learn/5958 +
- Fixed D.learn/7399 +
- Folded in D.learn/7509 +
- Fixed D.learn/7518 +
- Fixed Bugzilla 14 (fixed documentation to explain error) +
- Fixed Bugzilla 29 +
- Fixed Bugzilla 34 +
- Fixed Bugzilla 36 (better error message) +
- Fixed Bugzilla 47 +
- Fixed Bugzilla 51 according to Bruno's analysis +
- Fixed Bugzilla 57 in 0.151 +
- Fixed Bugzilla 59 +
- Fixed Bugzilla 74 +
- Fixed Bugzilla 75 +
- Fixed Bugzilla 76 +
- Fixed Bugzilla 85 (now issues error message) +
- Fixed Bugzilla 96 (fixed documentation) +
- Fixed Bugzilla 103 +
- Fixed Bugzilla 106 +
- Fixed Bugzilla 113 (thanks to Artem Rebrov) +
- Fixed Bugzilla 116 (use offsetof rather than offset) +
- Fixed Bugzilla 119 +
- Fixed Bugzilla 120 +
- Fixed Bugzilla 123 +
- Fixed Bugzilla 128 +
- Fixed Bugzilla 130 +
- Fixed Bugzilla 134 (again) +
- Fixed Bugzilla 159 (better error message) +
- Fixed Bugzilla 160 +
- Fixed Bugzilla 192 +
- Fixed Bugzilla 202 +
+ +
+ What's New for + D 0.160 +
+ + +Jun 4, 2006 + +New/Changed Features
+ +- Documentation is much more controlled by style sheets now. +
- AssertExpression's can now take an optional informational + string as the second parameter. Static assert's can, too. +
- Added Expression.NewExpression so inner classes + can be initialized more conveniently. +
- Added operator overloading of InExpression. +
- For Windows, looks for sc.ini in:
+
- The current working directory +
- The directory specified by the HOME environment variable +
- The directory dmd.exe resides in +
+ - For Linux, looks for dmd.conf in:
+
- The current working directory +
- The directory specified by the HOME environment variable +
- directory dmd resides in +
- /etc/ +
+
Bugs Fixed
+ +- Fixed Bugzilla 50, but the o must appear as + o.new Inner +
- Fixed Bugzilla 139 +
- Fixed Bugzilla 148 +
- Fixed Bugzilla 149 +
- Fixed Bugzilla 156 +
- Fixed Bugzilla 158 +
- Fixed Bugzilla 168 +
- Fixed Bugzilla 173 +
- Incorporated Artem Rebrov's fix D.learn/7345 +
- Line number debug info now generated for inline asm. +
+ +
+ What's New for + D 0.159 +
+ + +May 26, 2006 + +New/Changed Features
+ +Bugs Fixed
+ +- Fixed Bugzilla 134 (again!) +
- Fixed D.learn/7325 +
+ +
+ What's New for + D 0.158 +
+ + +May 22, 2006 + +New/Changed Features
+ +- Added DDOC_DITTO Ddoc macro to address + D.learn/7152. +
- Ddoc now emits module COPYRIGHT macro by default + to address D.learn/7148. +
- dmd now lists -gc switch to address + D.learn/7187. +
- For Bugzilla 77, dmd now stops after first + static assert error, and before template expansions after errors. +
Bugs Fixed
+ +- Fixed Bugzilla 44 +
- Fixed Bugzilla 54 +
- Fixed Bugzilla 65, including dstress interface_23_D.d +
- Fixed Bugzilla 79 +
- Fixed Bugzilla 83 +
- Fixed Bugzilla 89 +
- Fixed Bugzilla 97 +
- Fixed Bugzilla 108 +
- Fixed Bugzilla 110 +
- Fixed Bugzilla 115 +
- Fixed Bugzilla 118 +
- Fixed Bugzilla 121 +
- Fixed Bugzilla 126 +
- Fixed Bugzilla 127 +
- Fixed Bugzilla 132 +
- Fixed Bugzilla 133 +
- Fixed Bugzilla 134 +
- Fixed Bugzilla 141 +
- Fixed Bugzilla 142 +
- Fixed Bugzilla 151 +
- Fixed Bugzilla 153 +
- Fixed D.learn/7147 +
- Fixed D.learn/7191 +
- Fixed D.learn/7204 +
- Fixed D.learn/7218 +
- Fixed c++.beta/512 +
- Fixed Dstress bug_cg87_2393_A +
- Added -m32 to linux link per D.learn/7264 +
+ +
+ What's New for + D 0.157 +
+ + +May 10, 2006 + +New/Changed Features
+ +- Partial Dwarf symbol debug info now generated for Linux. +
- Improved + dumpobj's + handling of Dwarf symbolic debug info. +
Bugs Fixed
+ +- Applied Dave Fladebo's fix to gc internal sorting problem. +
+ +
+ What's New for + D 0.156 +
+ + +Apr 28, 2006 ++ +
Bugs Fixed
+ +- Fixed Bugzilla 117 +
+ +
+ What's New for + D 0.155 +
+ + +Apr 27, 2006 ++ +
New/Changed Features
+ +- Added Microsoft windbg.exe Win32 debugger. +
- Removed std.recls, instead use http://synesis.com.au/software/recls/. +
- Incorporated Dave Fladebo's changes: +
- std.regexp speedups. +
- Fixed a bug in pauseHandler whereby the stackTop was being overwritten by + subsequently resumed threads causing a crash in gcx.mark(). (The fix was + to just move sem_post(&flagSuspend); to right before the sigsuspend loop). + +
- Moved linux semaphore declarations to std/c/linux/linux.d + +
- Changed void wait(uint milliseconds){} to be a timed wait function instead + of just a stub for void wait() {} on linux (it is comparable to the Win32 + Thread method now). This is implemented with pthread mutexes and + conditions and the extra overhead to initialize phobos Threads does not + result in slower executables (Threads, GC and startup time are not effected). + +
- Changed the allThreads static array size to the same as Windows. This in + conjunction w/ the stack size change will allow the creation of more than + 100 threads on linux for better compatibility w/ the Win32 version. + +
- Added optional stack size parameter to constructors. Since the stackBottom + is static when the threads are created and the stackTop is dynamic based + on the stack pointer (or context for Win32), allowing the threads to be + created with a non-default stack size shouldn't interfere with the GC. This + adds little overhead to either the Win32 or Linux Thread implementations. + +
Bugs Fixed
+ +- Fixed D.learn/7029 +
- Fixed D.learn/7043 +
- Fixed Bugzilla 10 +
- Fixed Bugzilla 13 +
- Fixed Bugzilla 15 +
- Fixed Bugzilla 23 +
- Fixed Bugzilla 30 +
- Fixed Bugzilla 33 +
- Fixed Bugzilla 35 +
- Fixed Bugzilla 105 +
+ +
+ What's New for + D 0.154 +
+ + +Apr 11, 2006 ++ +
New/Changed Features
+ +- Numeric suffix 'l' now deprecated, use 'L' instead. +
- Floating point suffix 'I' now deprecated, use 'i' instead. +
Bugs Fixed
+ +- Removed --gc_sections, it causes exception handling to fail. +
+ +
+ What's New for + D 0.153 +
+ + +Apr 7, 2006 ++ +
New/Changed Features
+ +- Changed parameter types for std.date.MakeDate and + std.date.MakeTime so they won't overflow. +
- Changed arraycat per suggestion D.announce/3400. +
- Added -nofloat compiler switch to suppress generation + of __fltused reference by library code (Windows only). +
- dmd for Linux now adds --gc-sections switch to the link + step to enable smart linking. +
- Nested functions now are placed in their own distinct code + sections to facilitate smart linking. +
Bugs Fixed
+ +- Removed floating point dependency from std.date. +
- Fixed Bugzilla 45 +
- Fixed Bugzilla 84 +
- Fixed Bugzilla 86 +
- Fixed Bugzilla 87 +
- Fixed Bugzilla 90 +
- Fixed Bugzilla 92 +
- Fixed Bugzilla 94 +
- Fixed Bugzilla 95 +
+ +
+ What's New for + D 0.152 +
+ + +Apr 3, 2006 ++ +
Bugs Fixed
+ +- Non-debug phobos.lib build included. +
+ +
+ What's New for + D 0.151 +
+ + +Apr 2, 2006 ++ +
New/Changed Features
+ +- Changed the hash type from uint to hash_t. + This will make 64 bit implementations better. +
Bugs Fixed
+ +- Fixed D/35845 +
- Fixed D.learn/6662 +
- Fixed D.learn/6743 +
- Fixed D.learn/6823 +
- Fixed D.learn/6838 (now diagnoses an error + at compile time) +
- Fixed Bugzilla 55 +
- Fixed Bugzilla 56 +
- Fixed Bugzilla 57 +
- Fixed Bugzilla 58 +
- Cannot reproduce Bugzilla 60 +
- Fixed Bugzilla 61 +
- Fixed Bugzilla 62 +
- Fixed Bugzilla 65 +
- Fixed Bugzilla 66 +
- Fixed Bugzilla 67 +
- Fixed Bugzilla 73 +
+ +
+ What's New for + D 0.150 +
+ + +Mar 18, 2006 ++ +
New/Changed Features
+ +- Implicit conversion of reals and imaginaries to complex + is no longer allowed per Don Clugston's suggestion. +
- Moved string.h functions from std.string to std.c.string. +
- Now supports covariant interface method returns. +
Bugs Fixed
+ +- Fixed Ddoc problem with auto declarations. +
- Fixed Ddoc problem with extern (C) function formatting. +
- Fixed Internal error: cg87 1297 +
- Fixed D.learn/6425 +
- Fixed D.learn/6533 +
- Fixed D.learn/6547 +
- Fixed Bugzilla 5 +
- Fixed Bugzilla 17 +
- Fixed Bugzilla 19 +
- Fixed Bugzilla 20 +
- Fixed Bugzilla 25 +
- Fixed Bugzilla 26 +
- Fixed Bugzilla 27 +
+ +
+ What's New for + D 0.149 +
+ + +Mar 7, 2006 ++ +
New/Changed Features
+ +- Changed on_scope_exit to scope(exit) +
- Changed on_scope_success to scope(success) +
- Changed on_scope_failure to scope(failure) +
- Changed IfStatement to allow: (auto v = expression), + and (type v = expression) forms. +
- & | ^ &= |= ^= ! && || ?: are now only + operators allowed on bools +
- opSliceAssign now overloads assignment to a slice. +
- Added std.c.fenv. +
- Added limited support for implicit function template instantiation. +
Bugs Fixed
+ +- Fixed bit problem with phobos\internal\gc\gcbits.d +
- Fixed D.learn/6399 +
- Fixed D.learn/6419 +
- Implicit casts of non-bool to bool disallowed +
- Fixed code gen bugs for OnScopeGuardStatements. +
+ +
+ What's New for + D 0.148 +
+ + +Feb 25, 2006 ++ +
New/Changed Features
+ +- Removed MatchExpressions. +
- foreach loops can now implicitly determine the types + in the ForeachTypelist. +
- IfStatements can now have an optional variable + implicitly declared and assigned the value of the Expression. +
- Removed bit basic type. +
- Added bool basic type. +
- Added BitArray. +
- Added On Scope Statements. +
Bugs Fixed
+ +- Fixed D.learn/6277 +
- Fixed D.learn/6280 +
- Fixed D.learn/6288 +
- Fixed D.learn/6301 +
- Fixed D.learn/6302 +
- Fixed D.learn/6303 +
- Fixed D.learn/6304 +
- Fixed D.learn/6305 +
- Fixed D.learn/6327 +
- Fixed D.learn/6333 +
+ +
+ What's New for + D 0.147 +
+ + +Feb 12, 2006 ++ +
New/Changed Features
+-
+
- Renamed std.regexp.RegExpError to RegExpException. +
- -run switch changed so that the source file to compile + must appear immediately after it. +
- Added MatchExpressions . +
Bugs Fixed
+-
+
- Incorporated Dave Fladebo's fixes for std.process.spawnvp() on Linux. +
- Fixed D.learn/6196 +
- Fixed D.learn/6225 +
- Fixed D.learn/6231 +
- Fixed D.learn/6238 +
- Fixed D.learn/6251 +
- Fixed D.learn/6252 +
- Fixed D.learn/6260 +
- Fixed D.learn/6264 + +
- Fixed D/33201 +
+ +
+ What's New for + D 0.146 +
+ + +Feb 9, 2006 ++ +
New/Changed Features
+-
+
- Improvements to the functionality of std.file.listdir(). +
- Removed the long-deprecated instance keyword. +
- Ignores first line starting with #!, D/32661. +
- Added -run command line switch. +
- Added module statements to all std.typeinfo modules. This + may require recompiling library code. +
Bugs Fixed
+-
+
- Fixed D/32444 +
- Fixed D.learn/4829 +
- Fixed D.learn/5851, + D.learn/2677, D.learn/2853, + D/13127 +
- Fixed D.learn/6122 +
- Fixed D.learn/6141 +
- Fixed D.learn/6150 +
- Fixed D.learn/6168 +
- Fixed D.learn/6186 +
- Fixed std.math.poly() for Linux +
- Fixed header gen bugs reported by Dave Fladebo +
+ +
+ What's New for + D 0.145 +
+ + +Jan 29, 2006 ++ +
New/Changed Features
+-
+
Bugs Fixed
+-
+
- Incorporated D/32417 +
- Fixed D.learn/6068 +
- Fixed D.learn/6079 +
- Fixed D.learn/6080 +
- Fixed D.learn/6081 +
- Fixed D.learn/6082 +
- Fixed D.learn/6097 +
- Fixed D.learn/6099 +
- Fixed D.learn/6105 +
- Fixed several problems with -fPIC code generation +
- Fixed dstress const_04 regression +
- Fixed dstress asm_lea_01_B regression +
- Fixed D.announce/2578 +
- Fixed problem with abstract template classes +
+ +
+ What's New for + D 0.144 +
+ + +Jan 22, 2006 ++ +
New/Changed Features
+-
+
- static if now can reference declarations in same scope. +
- Leading . no longer necessary for recursive template instantiations. +
Bugs Fixed
+-
+
- Constant folding of string==string now works. +
- Constant folding of length for char literals now works. +
- Constant folding of char literals appending chars now works. +
- Constant folding of char literal slices now works. +
- Fixed D.learn/6003 +
- Fixed D.learn/6018 +
- Fixed D.learn/6027 +
- Fixed D.learn/6049 +
+ +
+ What's New for + D 0.143 +
+ + +Jan 9, 2006 ++ +
New/Changed Features
+-
+
- Added D.learn/5987 std.path.expandTilde() by + Grzegorz Adam Hankiewicz and Thomas Kuehne. +
- Added Don Clugston's improvements to std.math + in D/31951. +
Bugs Fixed
+-
+
- Fixed D.announce/2303 +
- Fixed D.announce/2315 +
- Fixed D.learn/5910 +
- Fixed D.learn/5917 +
- Fixed D.learn/5924 +
- Fixed D.learn/5937 +
- Fixed D.learn/5939 +
- Fixed D.learn/5950 +
- Fixed D.learn/5970 +
- Fixed D.learn/5981 +
- Fixed D.learn/5983 +
- Per Grzegorz Adam Hankiewicz's suggestions in + D.learn/5984, Windows only declarations + in process.d are versioned. +
+ +
+ What's New for + D 0.142 +
+ + +Dec 28, 2005 ++ +
New/Changed Features
+-
+
- AssertError now has a destructor, per proposal in + D/31595. +
- Added D interface file support, with much help + from Dave Fladebo. +
Bugs Fixed
+-
+
- Fixed D.learn/5749 +
- Fixed D.learn/5771 +
- Fixed D.learn/5772 +
- Fixed D.learn/5773 +
- Fixed D.learn/5809 +
- Fixed D/31482 +
+ +
+ What's New for + D 0.141 +
+ + +Dec 4, 2005 ++ +
New/Changed Features
+-
+
- The predefined version identifier D_InlineAsm has been + changed to D_InlineAsm_X86. The former made no sense, and + although it is still defined, it is deprecated. +
- Added D code coverage analyzer. +
- Added .mangleof property for types, which gives the + 'mangled' type name as a string. +
Bugs Fixed
+-
+
- Fixed D.learn/5643 +
- Fixed D.learn/5668 +
- Fixed D.learn/5687 +
- Fixed D.learn/5690 +
- Fixed D.learn/5673 (it now issues an + OutOfMemoryException) +
- Fixed D.learn/5729 +
- Fixed dstress.run.c.creal_26_A regression. +
- Fixed dstress.run.const_18 regression. +
+ +
+ What's New for + D 0.140 +
+ + +Nov 23, 2005 ++ +
New/Changed Features
+-
+
- Added std.string.soundex. +
- Added std.string.entab. +
- Added std.string.wrap. +
- Added std.string.abbrev. +
- Added std.windows.charset (thanks to Stewart Gordon, + D/28426). +
- Added std.demangle to demangle D names. +
- Improved promotion of names inside templates. +
- Now allows floating point and string literals + as template value arguments. +
- To support the previous, the name mangling of template + instances has changed. This will necessitate recompilation + of any code that uses templates. +
- std.utf.UtfError is now deprecated. Use std.utf.UtfException + instead. +
Bugs Fixed
+-
+
- Fixed D.learn/5299 +
- Fixed D.learn/5353 +
- Fixed D.learn/5360 +
- Fixed D.learn/5391 +
- Fixed D.learn/5429 +
- Fixed D.learn/5464 +
- Fixed std.string.expandtabs so it handles UTF. +
+
+ + + + +