changelog.txt 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. libRocket changelog
  2. v1.3.0
  3. 10 July 2014
  4. This is a development/unstable release. This is a meta release for tagging/branching purposes and to
  5. provide a static point of reference rather than tracking the git HEAD.
  6. v1.2.1
  7. 1 December 2010
  8. Features:
  9. * Added SFML sample (Thanks to Nuno Silva)
  10. * Added CMake files for Mac, Linux and Windows (not fully tested on Windows, Thanks to Hilton Medeiro)
  11. * Added Xcode project for iOS and OSX
  12. * Upgraded to Freetype 2.4.3
  13. * Upgraded Ogre sample for Ogre 1.7.2
  14. API Changes:
  15. * All handle types have been changed for void*'s to uintptr_t's for better 64bit support
  16. Fixes:
  17. * Fixed stack overflow in treeview
  18. * Fixed Rocket::Core::Variant trample in 64bit version, due to Rocket::Core::String being bigger than 16 bytes (Thanks to Hilton Medeiro)
  19. * Fixed 64bit pointer to string conversion used in the Font system
  20. v1.2.0
  21. 8th September 2010
  22. ==========================================
  23. Features:
  24. * Licensing requirements removed, entire library switched to MIT license
  25. * Upgraded to Freetype 2.4.1
  26. API Changes:
  27. * All of EMP::Core moved into Rocket::Core, except EMP::Data* which has moved into Rocket::Controls
  28. * License key removed.
  29. v1.1.3008
  30. 29th September 2009
  31. ==========================================
  32. Features:
  33. * Added the 'focus' property, which can be set to 'auto' (the default) or 'none'. Elements which are set to 'none' can never have focus.
  34. * Added the 'text-transform' property, which can be set to 'auto' (the default), 'uppercase' or 'lowercase'. It currently only supports transformations on ASCII characters.
  35. * Added the ClearStyleSheetCache() function to Rocket::Core::Factory.
  36. * Upgraded to Freetype 2.3.9.
  37. * Upgraded to Python 2.6.2.
  38. * Upgraded to Boost 1.40.0.
  39. Fixes:
  40. * Fixed a rounding error when offsetting an element with a relative position.
  41. * Fixed the Ogre3D sample to render properly with the Ogre's compositing system.
  42. * When an element is unparented, it is now also removed from its context's focus and hover chains if appropriate.
  43. v1.1.2979
  44. 29th October 2008
  45. ==========================================
  46. API changes:
  47. * The 'source_path' parameter has been removed from the Rocket::Core::RenderInterface::LoadTexture() function. Custom path concatenation is now achieved through the new JoinPath() function on Rocket::Core::SystemInterface (see below).
  48. Features:
  49. * Added the JoinPath() function to Rocket::Core::SystemInterface. This allows an application to customise the way a resource path is concatenated onto the path of the RML / RCSS document that specified it. It is an optional override, the default implementation simply adds the paths together and normalises the paths.
  50. * Installing a render interface into libRocket before initialisation through Rocket::Core::SetRenderInterface() is now optional. If one isn't specified, all contexts must have a custom render interface provided in Rocket::Core::CreateContext().
  51. * If a context has a custom render interface, textures used by that context will now be loaded and release through that context instead of the default context.
  52. * Changed the Ogre3D sample to more correctly support resource locations.
  53. * Upgraded libRocket Python to boost 1.36.
  54. * Text controls (text input fields and multi-line text areas) now support selection with the mouse or keyboard, and content can be copied and pasted from a clipboard.
  55. * The 'change' event dispatched by a scrollbar has been changed to 'scrollchange' to distinguish it from events sent by input elements.
  56. * Added the 'button' input type (ie, '<input type="button" ...'). Buttons can be disabled to prevent click and double-click events from being dispatched.
  57. Fixes:
  58. * Image elements now properly regenerate their geometry under DirectX.
  59. * Fixed a reference counting issue when unloading documents multiple times.
  60. * Added to-python by-value converters for Context, Element and ElementDocument.
  61. v1.1.2964
  62. 12th September 2008
  63. ==========================================
  64. Features:
  65. * Elements are now no longer hovered over if they're in a document that isn't modal while a modal document is open.
  66. * Contexts can now have a unique RenderInterface; pass the RenderInterface into the Rocket::Core::CreateContext() function.
  67. * The interface classes now have a virtual Release() function which is called when they are no longer required by any libRocket resources.
  68. * Added the treeview sample.
  69. * Ogre3D sample has been updated to work with Shoggoth (1.6).
  70. Fixes:
  71. * The behaviour of em-relative dimensions is now consistent across all scenarios.
  72. * Changing an element from relative to static position now removes the relative offset.
  73. * Clipping behaves more correctly.
  74. v1.1.2948
  75. 8th July 2008
  76. ==========================================
  77. Features:
  78. * ProcessKeyDown(), ProcessKeyUp(), ProcessTextInput() and ProcessMouseWheel() on Rocket::Core::Context now return the final propagation state of the event they generate (ie, true if the event was not consumed by an element, false if it was).
  79. Fixes:
  80. * Fixed Ogre sample's mouse wheel processing.
  81. * Numerous fixes to 'textarea' element.
  82. v1.1.2946
  83. 2nd July 2008
  84. ==========================================
  85. Features:
  86. * Added the 'OnLayout()' function to Rocket::Core::Element, which is called whenever the element is laid out.
  87. * Text input elements now dispatch the 'change' event every time they are changed, not just when enter is pressed.
  88. Fixes:
  89. * The select element now reformats its option elements whenever their contents are changed.
  90. * Texel offsets are properly catered for.
  91. * Fixed underline positions and thicknesses.
  92. v1.1.2937
  93. 5th June 2008
  94. ==========================================
  95. Fixes:
  96. * The selectvalue child element on a select are pseudo-classed 'checked' as appropriate, similarly to selectarrow.
  97. * Fixed minor issues with structural selectors.
  98. * Stability fixes for the dataselect element.
  99. * Fix to dropdowns adding elements in the wrong index if you passed in a 'before' of the second-to-last element (thanks to Ron Hashimshony).
  100. * Fix to a bug in the Ogre sample's key map (thanks for Ron Hashimshony).
  101. * Fixed a crash bug when setting a new 'src' attribute on an 'img' element.
  102. v1.1.2931
  103. 28th April 2008
  104. ==========================================
  105. Fixes:
  106. * Fixed VC8 build incorrectly linking against a VC9 lib (introduced in 2929 with VC9 fix).
  107. * HTML-coded characters are now processed properly in preformatted strings.
  108. v1.1.2929
  109. 22nd April 2008
  110. ==========================================
  111. Features:
  112. * Exposed Context::LoadDocumentFromMemory to Python
  113. Fixes:
  114. * Fixed a bug with specificities when merging style sheets.
  115. * Fixed incorrect clipping with nested elements.
  116. * Fixed incorrect layout when top-level elements cause scrolling overflow.
  117. * Fixed DataGrid incorrectly querying old data from a source in certain conditions
  118. * Fixed VC9 build, was still incorrectly referencing VC8 libs.
  119. * Fixed reference counting when cyclic dependencies occur with Python EventListeners.
  120. v1.1.2848
  121. 4th April 2008
  122. ==========================================
  123. Features:
  124. * Added Get/SetActiveTab() to ElementTabSet, exposed as .active_tab to Python.
  125. * Added GetHoverElement() to Rocket::Core::Context.
  126. * Added hover_element and root_element Python properties to contexts.
  127. * Exposed .SetClass and .IsClassSet to Python.
  128. * Upgraded to boost 1.35.
  129. Fixes:
  130. * Fixed Python reference leak when an error occured during an event dispatch.
  131. * Fixed a bug with specificities around rule ordering.
  132. * Fixed events not being passed down to the base element for datagridexpand elements.
  133. * Fixed mouse-over detection for clipped elements.
  134. * Child datagridrow elements are now hidden by default (introduced in 1.1).
  135. * Setting a new data source on a datagrid now clears all existing rows.
  136. v1.1.2744
  137. 25th March 2008
  138. ==========================================
  139. Features:
  140. * API change: RenderInterface changed; all references to 'Texture' class removed, replaced with TextureHandle and dimensions where appropriate.
  141. * API change: Texture class changed from simple structure to a more usable class with a shared TextureHandle. The handle and dimensions are now accessed with the GetHandle() and GetDimensions() functions.
  142. * API change: Removed the GetContext() function from the Python interface, use the rocket.contexts property instead (see below).
  143. * API change: Removed the attribute accessor on context.documents.
  144. * API change: Removed the 'text-shadow', 'text-shadow-x', 'text-shadow-y' and 'text-shadow-color' properties; text shadowing is now implemented with the font effect system.
  145. * Added the font effect system, for generating and applying effects to text.
  146. * Added the 'shadow' and 'outline' font effects.
  147. * Added the 'clone' value for the 'drag' property.
  148. * Added the LoadDocumentFromMemory() function on Rocket::Core::Context.
  149. * Added the Rocket::Core::ReleaseCompiledGeometries() functions and Rocket::Core::ReleaseTextures() functions. These will force libRocket to release its assets, causing a reload when next used.
  150. * Added the Rocket::Core::GetNumContexts() and Rocket::Core::GetContext(int index) functions for enumerating dynamically-created contexts.
  151. * Added the rocket.contexts object for accessing and enumerating contexts with Python. Individual contexts are accessed from the object using the array operator with either a string (looking up by name) or integer (looking up by index).
  152. * Rocket::Core::Plugin has three new functions, OnDocumentOpen(), OnDocumentLoad(), OnDocumentUnload().
  153. * Exposed Rocket::Core::Log::Message to Python, accessible from rocket.Log().
  154. * Debugger's event log now adds lines top to bottom, is resizable and supports enabling/disabling of different log types.
  155. * Python functions bound with AddEventListener() now correctly get their document, event and self global variables.
  156. * Error messages are more detailed.
  157. * Added rowadd and rowremove events to DataGrid, exposed a .rows[] accessor to python interface of DataGrid.
  158. * Added GetParentRelativeIndex(), GetTableRelativeIndex(), GetParentRow(), GetParentGrid() functions to DataGridRow, and .parent_relative_index, .table_relative_index, .parent_row and .parent_grid to Python interface of DataGridRow.
  159. * Enhanced DropDownSelect, now supports unselectable rows (thanks to Ron Hashimshony).
  160. Fixes:
  161. * Fix to Python's AddEventListener when called with a free function, was causing warning message.
  162. * Fix to Python's AddEventListener so that the 3rd parameter is indeed optional as per documentation.
  163. * Initialising the C++ controls library AFTER initialising Python will no longer cause the controls to be inaccessible from Python.
  164. * Fixed a bug with the specificity of rules using pseudo-classes.
  165. * Fixed the Ogre3D sample for use when rendering shadows (thanks to spacedude).
  166. v1.0.2619
  167. 7th Feburary 2008
  168. ==========================================
  169. * API change: LoadDocument(), CreateDocument() and LoadMouseCursor() now return documents with a reference owned by the caller; be sure to update your document loading code to remove the reference as appropriate!
  170. * API change: GetID() and SetID() renamed to GetId() and SetId() to maintain consistency.
  171. * Fixed a bug with resizing contexts.
  172. * The 'handle' tag now supports a move_target of "#self" to reference itself.
  173. * The 'img' tag supports the 'coords' attribute for specifying a rectangular region of the source texture to render.
  174. * Debugger log window now has support for a horizontal scrollbar.
  175. * libRocket now compiles cleanly with level 4 warnings under Visual Studio.
  176. * Added the 'drag' tutorial.
  177. v1.0.2582
  178. 18th January 2008
  179. ==========================================
  180. * Added support for non anti-aliased fonts.
  181. * Improved compatability with STL libraries.
  182. * Improved error reporting when using Python data sources.
  183. v1.0.2535
  184. 9th January 2008
  185. ==========================================
  186. * Initial release.