D Change Log
- 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 0.161
Jun 19, 2006New/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.bugs/5957
- Fixed D.bugs/5958
- Fixed D.bugs/7399
- Folded in D.bugs/7509
- Fixed D.bugs/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 53 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, 2006New/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.bugs/7345
- Line number debug info now generated for inline asm.
What's New for D 0.159
May 26, 2006New/Changed Features
Bugs Fixed
- Fixed Bugzilla 134 (again!)
- Fixed D.bugs/7325
What's New for D 0.158
May 22, 2006New/Changed Features
- Added DDOC_DITTO Ddoc macro to address D.bugs/7152.
- Ddoc now emits module COPYRIGHT macro by default to address D.bugs/7148.
- dmd now lists -gc switch to address D.bugs/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.bugs/7147
- Fixed D.bugs/7191
- Fixed D.bugs/7204
- Fixed D.bugs/7218
- Fixed
- Fixed Dstress bug_cg87_2393_A
- Added -m32 to linux link per D.bugs/7264
What's New for D 0.157
May 10, 2006New/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.bugs/7029
- Fixed D.bugs/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.bugs/6662
- Fixed D.bugs/6743
- Fixed D.bugs/6823
- Fixed D.bugs/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.bugs/6425
- Fixed D.bugs/6533
- Fixed D.bugs/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.bugs/6399
- Fixed D.bugs/6419
- Implicit casts of non-bool to bool disallowed
- Fixed code gen bugs for OnScopeStatements.
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.bugs/6277
- Fixed D.bugs/6280
- Fixed D.bugs/6288
- Fixed D.bugs/6301
- Fixed D.bugs/6302
- Fixed D.bugs/6303
- Fixed D.bugs/6304
- Fixed D.bugs/6305
- Fixed D.bugs/6327
- Fixed D.bugs/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.bugs/6196
- Fixed D.bugs/6225
- Fixed D.bugs/6231
- Fixed D.bugs/6238
- Fixed D.bugs/6251
- Fixed D.bugs/6252
- Fixed D.bugs/6260
- Fixed D.bugs/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.bugs/4829
- Fixed D.bugs/5851, D.bugs/2677, D.bugs/2853, D/13127
- Fixed D.bugs/6122
- Fixed D.bugs/6141
- Fixed D.bugs/6150
- Fixed D.bugs/6168
- Fixed D.bugs/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.bugs/6068
- Fixed D.bugs/6079
- Fixed D.bugs/6080
- Fixed D.bugs/6081
- Fixed D.bugs/6082
- Fixed D.bugs/6097
- Fixed D.bugs/6099
- Fixed D.bugs/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.bugs/6003
- Fixed D.bugs/6018
- Fixed D.bugs/6027
- Fixed D.bugs/6049
What's New for D 0.143
Jan 9, 2006
New/Changed Features
- Added D.bugs/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.bugs/5910
- Fixed D.bugs/5917
- Fixed D.bugs/5924
- Fixed D.bugs/5937
- Fixed D.bugs/5939
- Fixed D.bugs/5950
- Fixed D.bugs/5970
- Fixed D.bugs/5981
- Fixed D.bugs/5983
- Per Grzegorz Adam Hankiewicz's suggestions in D.bugs/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.bugs/5749
- Fixed D.bugs/5771
- Fixed D.bugs/5772
- Fixed D.bugs/5773
- Fixed D.bugs/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.bugs/5643
- Fixed D.bugs/5668
- Fixed D.bugs/5687
- Fixed D.bugs/5690
- Fixed D.bugs/5673 (it now issues an OutOfMemoryException)
- Fixed D.bugs/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.bugs/5299
- Fixed D.bugs/5353
- Fixed D.bugs/5360
- Fixed D.bugs/5391
- Fixed D.bugs/5429
- Fixed D.bugs/5464
- Fixed std.string.expandtabs so it handles UTF.