/dist/changes-4.7.0

https://bitbucket.org/ultra_iter/qt-vtl · Unknown · 513 lines · 405 code · 108 blank · 0 comment · 0 complexity · 2d1f05223f7365dcb37359ed1ad9e969 MD5 · raw file

  1. Qt 4.7 introduces many new features and improvements as well as bugfixes
  2. over the 4.6.x series. For more details, refer to the online documentation
  3. included in this distribution. The documentation is also available online:
  4. http://qt.nokia.com/doc/4.7
  5. The Qt version 4.7 series is binary compatible with the 4.6.x series.
  6. Applications compiled for 4.6 will continue to run with 4.7.
  7. Some of the changes listed in this file include issue tracking numbers
  8. corresponding to tasks in the Qt Bug Tracker:
  9. http://bugreports.qt.nokia.com/
  10. Each of these identifiers can be entered in the bug tracker to obtain more
  11. information about a particular change.
  12. ****************************************************************************
  13. * General *
  14. ****************************************************************************
  15. General Improvements
  16. --------------------
  17. - Documentation and Examples
  18. - Support for the GL_EXT_geometry_shader4, aka Geometry Shaders, was added
  19. to QGLShaderProgram.
  20. New features
  21. ------------
  22. - QNetworkSession, QNetworkConfiguration, QNetworkConfigurationManager
  23. * New bearer management classes added.
  24. - QStaticText class was added to support high-performance output of
  25. seldomly altered text.
  26. Third party components
  27. ----------------------
  28. - Updated libpng to version 1.4.0
  29. - Updated libjpeg to version 8
  30. - Updated libtiff to version 3.9.2
  31. ****************************************************************************
  32. * Library *
  33. ****************************************************************************
  34. QtCore
  35. ------
  36. - QString
  37. * Added QString(const QChar *) constructor.
  38. NOTE: This is source-incompatible for the bogus QString(0) case.
  39. * Removed internal but exported qt_winQString2MB() and qt_winMB2QString()
  40. * Added setRawData() function (also revived the one in QByteArray)
  41. * Various performance improvements
  42. - QList
  43. * Added reserve() function
  44. * Various performance improvements
  45. - QMetaType
  46. * Significantly improved performance of the type() function
  47. * [QTBUG-8235] Support QEasingCurve as a built in metatype.
  48. * Added possibility to register several name for the same type with
  49. qRegisterMetaType<>() (ie. for typedef)
  50. - QState
  51. * [QTBUG-7741] Added a function to get the out-going transitions
  52. - QXmlStreamReader
  53. * [QTBUG-9196] fixed crash when parsing
  54. - QTimer
  55. * singleShot with 0 timeout will now avoid allocating objects
  56. - QAbstractAnimation
  57. * [QTBUG-10654] Avoids animation with loopCount == 0 to change state
  58. to running and stopped.
  59. - QVarLenghtArray
  60. * Added some API to be more consistant with other containers
  61. QtGui
  62. -----
  63. - QAbstractItemView
  64. * Fixed a bug that would cause keyboard searches not to behave
  65. properly when used within 400 milliseconds of midnight.
  66. - QComboBox
  67. * [QTBUG-8796] Made ForegroundRole work for all styles.
  68. - QCommandLinkButton
  69. * [QTBUG-5995] Fixed text and icon alignment issues.
  70. - QPrinter
  71. * Obsoleted the slightly confusing setNumCopies() and numCopies()
  72. functions, and replaced them with setCopyCount(), copyCount() and
  73. supportsMultipleCopies().
  74. - QPrintDialog/QPrinter
  75. * Added support for printing the current page.
  76. - QCommonStyle
  77. * Fixed a bug that led to missing text pixels in QTabBar when using
  78. small font sizes. (QTBUG-7137)
  79. - QGraphicsEffect
  80. * Fixed rendering bugs when scrolling graphics items with drop
  81. shadows.
  82. - QGraphicsItem
  83. * [QTBUG-8112] itemChange() is now called when transformation
  84. properties change (setRotation, setScale, setTransformOriginPoint).
  85. * [QTBUG-9024] Improved performance when calling update() on items that
  86. are clipped by an ancestor (QGraphicsItem::ItemClipsChildrenToShape).
  87. * [QTBUG-7703], [QTBUG-8378] Fixed scrolling issues
  88. * [QTBUG-12112] Fixed focusItem() returning incorrect value.
  89. - QGraphicsTextItem
  90. * [QTBUG-7333] Fixed keyboard shortcuts not being triggered when the
  91. the item has focus and something else has the same shortcut sequence.
  92. * [QTBUG-10574] Fixed crash when flag "QGraphicsItem::ItemIgnoresTransformations"
  93. is set.
  94. - QGraphicsView
  95. * [QTBUG-7438] Fixed viewport cursor getting reset when releasing
  96. the mouse.
  97. * [QTBUG-10338] Fixed drawing artifacts due to rounding errors.
  98. - QGraphicsWidget
  99. * [QTBUG-12056] Fixed a crash occuring when adding a QGraphicsWidget
  100. to a scene after removing and deleting another QGraphicsWidget.
  101. - QImage
  102. * [QTBUG-9640] Prevented unneccessary copy in QImage::setAlphaChannel().
  103. * [QTBUG-7982] Added QImage::bitPlaneCount().
  104. * [QTBUG-9072] Fixed alpha check for 1-bit-per-pixel images.
  105. - QLineEdit
  106. * [QTBUG-9823] Placeholder text is now correctly aligned with text.
  107. - QPicture
  108. * [QTBUG-4974] Printing QPictures containing text to a high resolution
  109. QPrinter would in many cases cause incorrect character spacing.
  110. - QPainter
  111. * Added QPainter::drawPixmapFragments(), which makes it possible to draw
  112. pixmaps, or sub-rectangles of pixmaps, at various positions with
  113. different scale, opacity and rotation.
  114. * [QTBUG-10018] Fixed image drawing inconsistencies when drawing
  115. 1x1 source rects with rotating / shear / perspective transforms.
  116. * Optimized various blending and rendering operations for ARM
  117. processors with a NEON vector unit.
  118. * Fixed some performance issues when drawing sub-pixmaps of large
  119. pixmaps and falling back to raster in the X11 paint engine.
  120. * [QTBUG-7596] Safeguard ourselves against corrupt registry values for
  121. ClearType gamma on Windows.
  122. * [QTBUG-9218] Fixed flattening of largely scaled, thin, dashed beziers.
  123. * [QTBUG-9437] Fixed crash in the raster paint engine when drawing largely
  124. scaled images.
  125. - QPainterPath
  126. * [QTBUG-3778] Fixed bug in painter path polygon intersection code.
  127. * [QTBUG-7396] Optimized painter path intersections for when at
  128. least one of the paths is a rectangle by special casing.
  129. * [QTBUG-8035] Got rid of bezier intersection code in the boolean
  130. operators (intersect, subtract, unite) to prevent numerical
  131. stability issues.
  132. * [QTBUG-11291] Fixed infinite recursion when drawing very large painter
  133. paths.
  134. - QPixmap
  135. * [QTBUG-4149] Fixed QPixmap::grabWidget() on widgets that have not yet
  136. been shown.
  137. - QPlastiqueStyle
  138. * [QTBUG-6516] Respect AlternateBase role for list views.
  139. - QRegion
  140. * [QTBUG-7699] Fixed crash caused by large x-coordinates.
  141. - QSplitter
  142. * [QTBUG-9335] Improve support for 1-pixel splitters by using a
  143. larger drag area.
  144. - QTextDocumentWriter
  145. * Fixed tab-stops and table padding in ODF export.
  146. - QTextLayout
  147. * [QTBUG-11427] Fix possible crash in QTextLayout for glyphless
  148. items.
  149. * [QTBUG-8864] Fix regression in right alignment of text with
  150. negative right bearing.
  151. - QTransform
  152. * [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring
  153. after using operator/ or operator* or their overloads.
  154. QtOpenGL
  155. --------
  156. - Improve performance of text by adding special cased fragment shader.
  157. - Made width and height of glyph cache power-of-two for performance
  158. improvements on some hardware.
  159. - [QTBUG-9706] Improved appearance of text antialiasing.
  160. - QTreeView
  161. * Optimized
  162. QtNetwork
  163. ---------
  164. - QHostInfo: Added a small 60 second DNS cache
  165. - QNetworkAccessManager
  166. * Performance improvements for file:// and http://
  167. * Crash fixes
  168. * Improvements on HTTP pipelining
  169. * Fix problem with canReadLine()
  170. * Fix problem with HTTP 100 reply
  171. * Some new attributes for QNetworkRequest
  172. * [QTBUG-8206] add method to send custom requests
  173. * [QTBUG-9618] [MR 2372] send secure cookies only over secure connections
  174. * [QTBUG-7713] Fix bug related to re-sending request
  175. * [QTBUG-7673] Fix issue with some webservers
  176. * [QTBUG-11029] do not accept cookies with non-alpha-numerical domain
  177. - Sockets
  178. * Better support for derived QTcpServer
  179. * [QTBUG-7054] Fix error handling with waitFor*() for socket engine
  180. * [QTBUG-7316, QTBUG-7317] Also handle unknown errors from socket engine
  181. - SSL
  182. * [QTBUG-2515] Do not make OpenSSL prompt for a password
  183. * [QTBUG-6504, QTBUG-8924, QTBUG-5645] Fix memleak
  184. * [QTBUG-9973] QSslCertificate: support large serial numbers
  185. * [QTBUG-8833] make QSslSocket::systemCaCertificates() use system certs
  186. * [QT-3567] QSslSocket: improve error handling (fixes Secunia Advisory SA40389)
  187. * [QBTUG-4455, MR 731] Fix handling of SSL certificates with wildcard domain names
  188. QtScript
  189. --------
  190. - Updated src/3rdparty/javascriptcore to a more recent version
  191. - Significantly improved performance of the Qt/C++<-->JavaScript bridge
  192. - QScriptValueIterator: Significantly improved performance
  193. - [QTBUG-3637] Added a wrap option for excluding slots from a QObject binding
  194. - [QTBUG-6238] Added a function for reporting additional memory cost
  195. - [QTBUG-6908] Significantly improved performance of qsTr()
  196. QtSvg
  197. -----
  198. - QSvgRenderer
  199. * [QTBUG-8264] Fixed rounded rectangles when 'rx' or 'ry' is zero.
  200. * [QTBUG-10022] Fixed assert failure when loading an invalid SVG.
  201. QtXmlPatterns
  202. -------------
  203. - [QTBUG-8920] fixed crash with anonymous types in XsdSchemaChecker
  204. - [QTBUG-8394] include/import/redefine schemas only once
  205. - QXmlSchema: fix crash with referencing elements
  206. - [QBTUG-6485] QXmlSchema: allow usage of xsd:all
  207. Qt Plugins
  208. ----------
  209. - Jpeg image IO plugin
  210. * Fixed failure to store certain QImage formats as jpeg (QTBUG-7780)
  211. * Optimized smoothscaling
  212. * Optimized to avoid data copy when reading from memory device (QTBUG-9095)
  213. - SVG image IO plugin
  214. * Added support for svgz format (QTBUG-8227)
  215. * Fixed canRead() so that it can be used also for non-sequential
  216. devices. (QTBUG-9053)
  217. * Added support for clipping and scaling and backgroundcolor
  218. * Optimized to avoid data copy when reading from memory device (QTBUG-9095)
  219. ****************************************************************************
  220. * Database Drivers *
  221. ****************************************************************************
  222. - Sqlite
  223. * [QTBUG-11904] Pointer aliasing problem in sqlite
  224. - OCI
  225. * [QTBUG-10919] Unable to insert unicode chars with codepoint > 255
  226. in nvarchar2 column on oracle
  227. * [QTBUG-8210] Oracle - DATE in db with a year greater or equal to 2800
  228. returns an invalid date
  229. ****************************************************************************
  230. * Platform Specific Changes *
  231. ****************************************************************************
  232. Qt for Linux/X11
  233. ----------------
  234. - QGtkStyle
  235. * Fixed rtl issues with sliders (QTBUG-8986)
  236. * Fixed missing pressed appearance on scroll bar handles. (QTBUG-10396)
  237. * Fixed crash when creating QGtkStyle before QApplication. (QTBUG-10758)
  238. - QFontDatabase
  239. * [QTBUG-4428] Fixed regression when using bitmap fonts on some
  240. Linux systems.
  241. - QFontEngine
  242. * [QTBUG-9442] Avoid possible square root of negative number in
  243. FreeType font engine.
  244. - QFontMetrics
  245. * [QTBUG-10448] Fix crash when using fonts in non-gui QApplication.
  246. Qt for Windows
  247. --------------
  248. - Popup windows now implicitly activate when shown. (QTBUG-7386)
  249. - QComboBox [QTBUG-7552] Fix an issue where only "..." would be shown for
  250. QComboBox with certain DPI settings.
  251. - Fixed a problem where menus exec'ed on system tray icons did not
  252. disappear. (QTBUG-7386)
  253. - Improved look and feel for QWizard on Windows 7 and Vista. (QTBUG-9873),
  254. (QTBUG-11974) and (QTBUG-6120)
  255. - QLocalSocket
  256. * Pipe handle leak fixed, when closing a QLocalSocket that still has
  257. unwritten data. (QTBUG-7815)
  258. * Fixed closing state for local sockets with unwritten data. (QTBUG-9681)
  259. * Improved performance of writing to QLocalSocket.
  260. Qt for Mac OS X
  261. ---------------
  262. - QMacStyle
  263. * Removed frame around statusbar items. (QTBUG-3574)
  264. * More native appearance of item view headers and frames. (QTBUG-10047)
  265. * Increased spacing between tree view items. (QTBUG-10190)
  266. * Removed frame around status bar items. (QTBUG-3574)
  267. - QFontEngine
  268. * Enable fractional metrics for the font engine on Mac in all
  269. stages of text layout.
  270. * [QTBUG-5529] Enable design metrics for correct character spacing
  271. in ATSUI font engine. (Mac/Carbon)
  272. - QTextDocument
  273. * [QTBUG-8791] Fix misalignment of fixed width fonts between
  274. format changes on Cocoa.
  275. - QTextLayout
  276. * [QTBUG-9879] Fix off-by-one in vertical position for elided and
  277. non-elided text.
  278. Qt for Embedded Linux
  279. ---------------------
  280. * Add support for WA_TranslucentBackground (QTBUG-5739)
  281. * Add support for QFont::NoAntialias (QTBUG-5936)
  282. Qt for Windows CE
  283. -----------------
  284. - Core changes
  285. * Fixed menu handling on Windows mobile. (QTBUG-8754)
  286. * Fixed a crash when receiving a certain type of WM_SETTINGSCHANGE
  287. message. (QTBUG-7943)
  288. - QWindowsMobileStyle
  289. * Huge performance penalty for QTabWidget fixed for
  290. Windows mobile 6.5. (QTBUG-8419)
  291. * QTabBar scroll button size has been fixed. (QTBUG-8757)
  292. * Detection of Windows mobile 6.5 fixed. (QTBUG-8418)
  293. Qt for Symbian
  294. --------------
  295. - QSplashScreen
  296. * [QTBUG-11129] Fixed a hanging bug in QSplashScreen on 3.1 devices.
  297. - QS60Main... classes
  298. * The future compatibility of QS60MainAppUi, QS60MainDocument and
  299. QS60MainApplication are improved by removing the need for any
  300. sub-class to link to Avkon functions that may not exist in future.
  301. ****************************************************************************
  302. * Compiler Specific Changes *
  303. ****************************************************************************
  304. ****************************************************************************
  305. * Tools *
  306. ****************************************************************************
  307. - Build System
  308. - [QT-3540] Fixed Symbian resources not honoring TARGET with a path.
  309. - "configure -fast" on Windows now also works for other make tools than
  310. nmake. (QTBUG-8562)
  311. - [QTBUG-11351] Fixed memory restrictions not being passed on to elf2e32.
  312. - [QTBUG-11385] Removed the need to specify -arch symbian when compiling
  313. for Symbian on Linux.
  314. - [QTBUG-11396] "configure -qtlibinfix" now works when compiling for
  315. Symbian on Linux.
  316. - [QTBUG-11670] Fixed a bug which caused "make runonphone" to look for
  317. package in the wrong place.
  318. - [QTBUG-11727] Fixed a bug which made builds outside of the Qt tree fail
  319. to compile.
  320. - [QTBUG-11927] "configure -silent" now works with the
  321. symbian/linux-armcc and symbian/linux-gcce mkspecs.
  322. - Assistant
  323. - Designer
  324. - [QTBUG-9351] Fixed a bug that caused modified headerview-properties
  325. of item views to be duplicated in the UI-file.
  326. - [QTBUG-8347] Fixed a layout problem caused by embedded images in the rich
  327. text of a QLabel.
  328. - [QTBUG-8041], [QTBUG-8213] Fixed a crash related to undo while moving
  329. widgets by arrow keys.
  330. - [QTBUG-7822] Added support for the 'windowOpacity'-property.
  331. - [QTBUG-7764] Fixed the emission of the propertyChanged()-signal of
  332. QDesignerPropertyEditorInterface.
  333. - [QTBUG-5492] Made widgetbox-filter match on class names, too.
  334. - Linguist
  335. * The GNU gettext PO format support has been improved
  336. - rcc
  337. - moc
  338. * Fixed several parsing bugs. Including changes in the normalized signature.
  339. - uic
  340. - uic3
  341. - [QTBUG-9207] Fixed export of image files of type XPM, added
  342. compatibility option -limit-xpm-linelength.
  343. - qmake
  344. * Removed remainder of tmake compatibility
  345. * Removed remainder of mac9 mode
  346. * Removed MSVC6 generator
  347. * Removed makespecs for MSVC.NET and MSVC2002
  348. * Deprecated -win32/-unix/-macx options, following various cleanups
  349. relating to platform support. Cross-building makespecs should now
  350. specify a TARGET_PLATFORM.
  351. * Started to warn about use of various constructs:
  352. - non-lowercased replace $$function() calls
  353. - deprecated variables
  354. - unescaped backslashes.
  355. NOTE: You should use UNIX path separators where possible. qmake
  356. will warn about unnecessary Windows path separators in the future.
  357. * Removed expansion of qmake- & environment variables in some unexpected
  358. cases (double expansions, command line options, etc.)
  359. * Removed splitting at semicolons of literal values which were assigned
  360. directly to INCLUDEPATH and DEPENDPATH
  361. * Removed UNIX-specific exporting of all qmake variables to the environment
  362. of subprocesses invoked via system(). You should put specific assignments
  363. into the invoked shell command instead.
  364. * Started to short-cut evaluation inside if() tests, consistently with
  365. evaluation outside if().
  366. * Added possibility to request project recursion from within a PRO file
  367. - configure
  368. - qtconfig
  369. - qt3to4
  370. ****************************************************************************
  371. * Plugins *
  372. ****************************************************************************
  373. ****************************************************************************
  374. * Important Behavior Changes *
  375. ****************************************************************************
  376. QtScript: Changes due to updating src/3rdparty/javascriptcore:
  377. - It is no longer possible to delete an undeletable property from C++
  378. using QScriptValue::setProperty().
  379. - The QScriptEngineAgent::positionChange() callback will always report
  380. a column number of 1.
  381. - QScriptValueIterator will include the "length" property when iterating
  382. over Array objects.
  383. QtCore:
  384. - QChar no longer carries the Q_PACKED tag on ARM. This flag was
  385. used to allow proper alignment of QChar on 2 bytes on older ARM
  386. ABIs, but it also allowed for unaligned access. Qt never generates
  387. or uses unaligned access and the new EABI aligns as expected, so
  388. the flag was removed.
  389. - QTextBoundaryFinder is now consistent with ICU when it comes to
  390. line breaking, reporting the index of the boundary at which the line
  391. break should occur rather than the index of the character.
  392. QtGui:
  393. - QWidget::setLayoutDirection no longer affects the text layout
  394. direction (Qt::LeftToRight or Qt::RightToLeft) of QTextEdit, QLineEdit
  395. and widgets based on them. The default text layout direction
  396. (Qt::LayoutDirectionAuto) is now detected from keyboard layout and
  397. language of the text (conforms to Unicode standards). To
  398. programmatically force the text direction of a QTextEdit, you can
  399. change the defaultTextOption of the QTextDocument associated with that
  400. widget with a new QTextOption of different textDirection property. For
  401. QLineEdit, the only way so far is sending a Qt::Key_Direction_L/R
  402. keyboard event to that widget.
  403. QtNetwork:
  404. - Qt does no longer provide its own CA bundle, but uses system APIs for
  405. retrieving the default system certificates.