whatsnew.txt 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. Free Pascal Compiler
  2. Version 1.00
  3. ******************************************************************************
  4. Whats New in 1.00
  5. ******************************************************************************
  6. Compiler:
  7. + -gl switch to automaticly load the lineinfo unit
  8. + Lot of Delphi compatibility additions, especially when using -Sd
  9. * Optimizer fixes, mainly register allocations needed for -Or
  10. * int64/qword fixes
  11. * RTTI fixes
  12. * Smartlinking fixes for classes
  13. * inline fixes (but still Beta)
  14. * Exceptions generate more usefull backtraces which also support the
  15. new lineinfo unit
  16. * {$Packrecords C} fixes to be better C compatible
  17. * operator should now work correctly when defined in other units
  18. and locally and other fixes
  19. * Better glibc 2.1.x support under linux
  20. * Lot of other small bugfixes for the reported bugs
  21. RTL:
  22. + lineinfo unit to display the file and line when a backtrace is
  23. generated, this works for runtime errors, unhandled exceptions and
  24. heaptrc unit (hint: use -ghl to easily detect and fix memory leaks)
  25. * better precision when converting float to string
  26. * Better exception support for Go32v2 without the need to load dpmiexcp
  27. * Better Signal handling under linux for exception reporting
  28. * Windows unit for win32 has now more delphi compatible declarations
  29. * disksize/diskfree return now int64 so drives > 2GB work correctly
  30. * lot of graph unit fixes, with generic mode support
  31. * paramstr(0) under linux now returns the full executable instead of
  32. the commandline
  33. * heaptrc fixes for reallocmem
  34. * other fixes reported by users
  35. Utils:
  36. + postw32 to postprocess win32 executables to patch the stacksize
  37. * h2pas is now better and also has a compact output mode with less
  38. spaces and blank lines.
  39. * fpcmake supports .so library creation and example installation
  40. ******************************************************************************
  41. Whats New in 0.99.14
  42. ******************************************************************************
  43. Compiler:
  44. + DLL creation fixed, it needs dlltool now
  45. + .so creation for linux works also with classes
  46. + Library writing works better, also linux library support
  47. + better FPU code generation
  48. + only one PPU is used per unit also when static, shared and smart linked
  49. + assembler understands KNI instructions
  50. + fail in class constructors works
  51. + resourcestrings support
  52. + gettext support for resourcestrings (localization)
  53. + > < >= <= support for boolean
  54. + checking for unused but assigned variables and private fields
  55. * lot of RTTI fixes
  56. * lot of property fixes
  57. * pointer addition/substraction works like inc()/dec() (with the size
  58. of the pointed type)
  59. * assembler reader fixes so it works more like BASM
  60. * exit in try...finally/except block works
  61. * don't allow goto/label with exception blocks
  62. * stabs debugging fixed for classes and result variable
  63. * array constructor support
  64. * initialization/finalization work also in default FPC mode
  65. * assert works now also within $H+ mode
  66. * lot of other fixes
  67. RTL:
  68. + New graph unit for GO32v2, Win32, Linux
  69. + Delphi style GetMem/Freemem/ReAllocMem which knows the size of
  70. the allocated block itself. Specifying wrong size for freemem gives
  71. now also a Runtime Error
  72. + ports unit for both GO32v2 and OS/2, which contains the port[] support.
  73. It's now compatible with Linux ports unit
  74. + timezone support for linux
  75. + primitive routines Compare[Byte,Word,Dword], Index[Byte,Word,Dword]
  76. * better ioresult setting for GO32v2
  77. * some pchar fixes in sysutils unit
  78. * lot of RTTI fixes for typinfo
  79. * ansistrings speedups
  80. * some other small fixes
  81. Utils:
  82. + fpcmake util to create a Makefile from Makefile.fpc
  83. + delp util to delete all created files after compiling (exe, o, ppu)
  84. + fprcp util for preprocessing win32 resource files
  85. + data2inc util to convert data into .inc files
  86. + binobj for binary to .o/.inc files, also with crypt, compression support
  87. + ppufiles show all created files needed by a unit
  88. + rstconv util to convert .rst files to gettext files
  89. + plex,pyacc Pascal Lex/Yacc
  90. * ppudump, ppufiles updated for new ppu version
  91. ******************************************************************************
  92. Whats New in 0.99.12
  93. ******************************************************************************
  94. Compiler:
  95. + lot of ansistring fixes
  96. + coff writer for go32v2,win32 with instant .a creation (BETA)
  97. + working global browser
  98. + new compiler directives (path and other cmdline switches)
  99. + val,readln support range checking
  100. + initialization/finalization support
  101. + methodpointer support
  102. + message support
  103. * better intel,at&t parsers with mmx,3dnow support
  104. * better unit dependency handling and recompiling
  105. * static var fixes
  106. * better addr() support
  107. * lot of other fixes, too many to list here
  108. RTL:
  109. + Internationalization suport in sysutils
  110. + FileNameCaseSensitive boolean for go32v2,win32
  111. * more precise str/val
  112. * better val(),readln()
  113. * io error handling much more like tp7
  114. * small other fixes
  115. Utils:
  116. + ptop to pretty print your sources
  117. * beter ppudump
  118. ******************************************************************************
  119. Whats New in 0.99.10
  120. ******************************************************************************
  121. Compiler:
  122. + better optimizer
  123. + ansistring support
  124. + array of const support for FormatStr
  125. + automatic heaptrc unit including with the -gh option
  126. + open strings ($P+) support
  127. + DLL generation for Win32
  128. + printf support for cdecl using array of const
  129. * exceptions are finally working
  130. * fixed some ppu problems
  131. * fixed unit interdependency problems
  132. * better range checking, also for enums
  133. * size of objects without virtuals is now the same as tp7
  134. * lot of fixes for the assembler readers
  135. * more constant expression evalutations
  136. * removed all memoryleaks
  137. * almost all reported bugs are fixed
  138. RTL:
  139. + heaptrc unit to detect memoryleaks and other problems with the heap
  140. + graph unit works and some missing functions are added
  141. * objects unit fully works
  142. * more functions for the classes,sysutils unit
  143. Utils:
  144. * ppudump updated for new ppu entries
  145. * h2pas updated to write new cdecl declaration
  146. ******************************************************************************
  147. Whats New in 0.99.8
  148. ******************************************************************************
  149. Compiler:
  150. + smartlinking support (-Cx)
  151. + new ppu format which much more portable en extendible
  152. + new scanner with better file position info
  153. + constant evaluation like tp7 (trunc,round,hi,swap)
  154. + rtti support
  155. + exception support
  156. + longbool,wordbool support
  157. + enumerated packing support like delphi
  158. + c variable support (-Sv)
  159. + Win32 support (no export and resource support yet)
  160. * optimizer switches changed to be easier to use
  161. * lot of fixes for sets, also supporting dynamic creation
  162. * working open array (sizeof,high)
  163. * better filename handling for all platforms
  164. * ability to list source lines in the assembler file
  165. * some error messages changed to for better understanding
  166. * better calling convention support, delphi compatible
  167. * glibc2 (linux) support
  168. * too many other small bugfixes and internal enhancements
  169. RTL:
  170. + sysutils unit for objpas
  171. + port[] array for go32v2
  172. + graph unit for linux
  173. + uniform objects unit for all platforms
  174. + rtti support
  175. + automatic Longfilename (LFN) support for go32v2
  176. * go32 crt startup delay has been removed
  177. * missing pchar support for some file functions (assign,rename)
  178. * heapblocks support, which is much faster when allocating a lot
  179. of small blocks (like objects)
  180. * filerec/textrec is now uniform for all platforms (but not tp7 compatible)
  181. * extended is the default floating point type
  182. * lot of other fixes and small enhancements
  183. Utils:
  184. + h2pas util to convert .h files to .pas file
  185. + ppudump util replaces the old dumpppu
  186. * mkdep is now much less strict and (* *) support
  187. ******************************************************************************
  188. Whats New in 0.99.5
  189. ******************************************************************************
  190. Mainly, bugs are fixed and some improvements are
  191. made in that release, besides that the following stuff is
  192. added:
  193. * compiler
  194. - mem[] and absolute works now as expected (go32v2 target only)
  195. - basic MMX support by the compiler (see docs for more infos)
  196. * runtime library
  197. - better support of floating point types