Skip to content

Latest commit

 

History

History
675 lines (537 loc) · 30 KB

releasenotes.rst

File metadata and controls

675 lines (537 loc) · 30 KB

Enaml Release Notes

Dates are written as DD/MM/YYYY

0.17.1 - unreleased

  • fix possible error in rewrite fast locals when using templates on 3.12 PR #550

0.17.0 - 20/11/2023

  • support for Python 3.12 PR #535 Python 3.12 is only tested with Qt6 All syntactic features of Python 3.12 are supported and catching error groups is now supported.
  • fix a bug in Enaml parser that was not showing proper location of syntax and indentation errors in tracebacks when the error was in an Enaml file. PR #530

0.16.1 - 05/05/2023

  • fix typo causing a crash in dock area PR #523
  • fix a multi-inheritance issue with pyside6 which affected the dock area PR #525

0.16.0 - 21/02/2023

  • add support for Python 3.11+ PR #514 Python 3.11 is only tested with Qt6 backend and does not include support for catching exception groups.
  • fix several issues related to PySide6 PR #513
  • switch to use pegen to generate the parser PR #474 This results in a much easier to maintain parser (in particular when it comes to supporting new Python features). It provides with more detailed location information which are needed on 3.11+ and add support for the match statement in enaml files. It however comes with a speed penalty (x4 slowdown). There will be efforts to mitigate this but since parsing should occurs only once for deployed application the gains are expected to out weight the cost here.
  • implement hash and eq for decl functions PR #517

0.15.2 - 19/08/2022

  • fix position of popup view when multiple displays are used PR #500
  • reimplement DockArea.initialize instead of shadowing the initialized member. PR #502
  • require qtpy>=2.1 far Qt backends version PR #501
  • qt: use QEvent.Type to coerce new registered event type with all bindings. PR #497 This requires PyQt 6.3.1 to work and allow to eliminate a deprecation warning.
  • fix loading of dock area guide images. PR #503

0.15.1 - 13/06/2022

  • bump qtpy minimal required version for Qt6 PR #490
  • fix drag and drop support under Qt6 PR #491
  • fix date and time conversion under Qt6 PR #486
  • fix handling of mouse press event by popup views PR #486
  • fix flow widget size computation to only use integer (fixes Qt6) PR #492
  • add new extra requirements to ease use of widgets with extra dependencies PR #495

0.15.0 - 31/03/2022

  • make install PEP 517 compliant and use a PEP 621 compliant pyproject.toml PR #485
  • add support for PyQt6 and Pyside6 PR #475
  • fix last occurrences of passing float instead of int to PyQt PR #481
  • add new declarative @observe which ignores 'create' and 'container' events by default PR #479
  • use atom builtin filtering mechanism to avoid refreshing the declarative engine on 'create' and 'container' event PR # 479

0.14.1 - 09/02/2022

  • fixes a bug in code generation for Python 3.10 PR #476
  • fixes several bugs in corner cases of the Qt dock area PR #469
  • add python fstring scintilla tokens PR #470
  • address PyQt deprecation of accepting float values for pixel dimensions PR #471

0.14.0 - 21/11/2021

  • use enum.IntEnum/IntFlag instead of atom.IntEnum PR #453
  • fix operator bindings in template instances PR #445
  • fix FlowLayout error with FlowItems that have non-zero stretch or ortho_stretch PR #448
  • add support for styling notebook tabs PR #452
  • drop official support for Python 3.6 and add minimal support for Python 3.10 As with earlier Python version, support for 3.10 is currently limited to running on Python 3.10 excluding any features that were added in Python 3.10

0.13.0 - 19/04/2021

  • fix Python 3.9 only syntax issue PR #443
  • make app editor more resilient to errors PR #440
  • fixes to vim syntax highlighting PR #439
  • fix documentation of ScrollArea example PR #438
  • add extra_requires to provide an easy way to install qt bindings when relevant PR # 434
  • add support for explicit Qt app name PR #430 Allows setting the WM_CLASS property for X11 (Linux) apps.

0.12.0 - 04/11/2020

  • add support for Python 3.9 PR #424
  • add support for PySide2 and fix Qt deprecation PR #423
  • add support for subscription block PR #348 Subscription blocks allow to write right to left synchronization logic over multiple lines and using statements. The assigned value is the value returned from the block.
  • add support for Python 3.8 only syntax PR #422 This covers: the walrus operator (:=), and the use of * in return and yields

0.11.2 - 03/06/2020

  • fix reference counting in declarative function PR #417

0.11.1 - 01/05/2020

  • fix signaling/weakmethod/callableref that were broken since 0.10.0 PR #416
  • coerce iterator iterables of loopers to tuple so refresh works properly PR #414

0.11.0 - 05/04/2020

  • add support for Python 3.8 (not Python 3.8 only syntax) PR #391
  • enforce conversion of float to int at the Qt boudary PR #391
  • replace byteplay by bytecode PR #391
  • add get method to DynamicScope PR #394
  • properly set the attributes of imported module PR #398
  • qt: fix alerts on tabbed DockItem PR #396
  • qt: avoid going higher than the dock area when looking for a DockTabWidget among the parents of a QDockContainer PR #386
  • properly report SyntaxError in f strings PR #378
  • add support for using attributes (. access) when specifying attr types PR #359
  • limit support to Python 3.6+ PR #349
  • use cppy for the Python/C interface PR #349
  • qt: add missing brackets to widget.focusPolicy within qt_widget.py/QtWidget.tab_focus_request() PR #403
  • qt: fix return value of QtWidget.tab_focus_request() PR #404

0.10.4 - 18/09/2019

  • fix a bug in the parser preventing the use of raise from under Python 3 PR #364
  • add a ButtonGroup widget and a group attribute on all buttons to allow to group buttons belonging to different containers. PR #346
  • fix an issue in ImageView when the image is None PR #361
  • add a sync_time attribute to Field to control the refresh rate when using the 'auto_sync' trigger mode. PR #353
  • multiple improvement of the documentation PR #341 #345 #350
  • add a new example about layout PR #343
  • fix issue where fields with a validator would lose their original stylesheet when the error state of the validator is cleared. PR #365
  • fix Looper's loop_index becoming invalid when items are reordered #357 via PR #358

Note

Looper's loop_index and loop_item scope variables are now deprecated. When upgrading to 0.10.4 or newer all usage of loop_index and loop_item within a Looper should be replaced with loop.index and loop.item respectively. See #357 for details.

0.10.3 - 28/01/2019

  • implement import hooks using Python 3 interface #331
  • make enaml-run exit immediately when pressing ^c #328
  • add support for f-strings in enaml files on supported Python versions PR #288
  • add support for declarative async function PR #285
  • add a enaml-compileallcommand to generate pyc and enamlc files PR #262
  • fix the tp_name value of all C extensions #318
  • add pickle support for enaml's Color - #316
  • add support for tiling and cascading to MdiArea PR # 259
  • fix issue # 174 (MdiWindow not automatically shown when added) PR # 259
  • add minimal workbench documentation PR # 258
  • add support for font-stretch PR # 258
  • remove dependency on future to reduce import time PR #255
  • add constraints to enforce image aspect ratio in ImageView PR #254
  • improvements to the scintilla widget and live editor PR #243

Multiple improvements to the documentation, special thanks to Julian-O for this.

0.10.2 - 28/01/2018

  • fix import of QScintilla under PyQt5 PR #230
  • add support for importing enaml files from zip archives #232
  • fix menu item ordering under Python 3 #233
  • fix repr of declarative function objects #235
  • properly reset layout_container member in qt backend after a widget has been reparented #240
  • fix calls to explicit_warn which could lead to global vars corruption #247
  • add a text align member to Field to control text alignment #249
  • fix the parsing rules for function definitions #252
  • several improvements to the handling of comprehensions and lambdas #242 #245

0.10.1 - 13/11/2017

  • fix mistake in setup.py file preventing conda package building

0.10.0 - 12/11/2017

  • add support for Qt5 (based on QtPy) PR #228
  • add support for Python 3 (3.3, 3.4, 3.5, 3.6) (f-strings are not supported) PR #227
  • refactor the parser to be based on classes PR #227
  • move every parser/lexer related module in the parser package PR #227
  • support for dict and set comprehensions in enaml files PR #227

Below dates are in MM/DD/YYYY

0.9.8 - 08/04/2014

0.9.7 - 05/18/2014

  • Add an IPythonConsole widget.
  • Add support for widgets in tool bars and menus.
  • Add a ToolButton widget.
  • Removed the 'focus_policy' attribute.
  • Removed the 'show_focus_rect' attribute.
  • Fix bugs #122, #123, #124, #131, #145

0.9.6 - 05/08/2014

  • Add a declarative function syntax to the grammar.
  • Add a comprehensive focus API. 1090b3f35a9c

0.9.5 - 04/28/2014

  • Allow pressing escape while dragging a floating dock window. e732d2bb3c6c
  • Fix line ending issues in live editor on old versions of OSX (thanks to JF). 0a54944728ae

0.9.4 - 03/13/2014

  • Allow enamldef objects to be properly pickled. db99d02fa377

0.9.3 - 03/10/2014

  • Return the value of the command handler from CorePlugin.invoke_command. 5322bd1d2a67
  • Automatically request relayout when widget visibility changes. 5d24f8ab13cb
  • Add knobs for controlling Form row and column spacing. cdb747d8d1fa
  • Add VGroup and HGroup convenience layout factories. aed5ddd623d1
  • Add a 'factory' layout helper. 41480f2694d2

0.9.2 - 02/20/2014

  • Update the layout (if needed) when changing fonts.
  • Minor code cleanup and documentation updates.

0.9.1 - 02/11/2014

0.9.0 - 01/13/2014

0.8.9 - 11/25/2013

  • Add ability to query window minimized/maximized state. 713feb85952a
  • Implement 'always_on_top' window flag. 3ac3e6955579
  • A handful of bug fixes.

0.8.8 - 11/7/2013

  • Add a task dialog mini-framework and a MessageBox stlib component. 5583808f293a

0.8.7 - 11/4/2013

  • Add an alerting api for dock items in a dock area. ba766d773090

0.8.6 - 10/30/2013

  • Add 'limit_width' and 'limit_height' virtual constraints. 8722be90844e

0.8.5 - 10/29/2013

  • Add support for style sheets to the DockArea. 5e38c591ad55

0.8.4 - 10/28/2013

  • Add a size hint mode switch to Notebook and Stack. 330c7a337c32d

0.8.3 - 10/25/2013

0.8.2 - 10/11/2013

  • Add a DynamicTemplate declarative object. ede76a778a86
  • Add 'window' mode to PopupView. f37263fd7b7d
  • Add 'selected_tab' attribute to the Notebook. 45ca092e7222
  • Overhaul of the docs and doc build system.
  • Various bug fixes and performance improvements.

0.8.1 - 09/25/2013

  • Update the PopupView to automatically reposition on-screen. 3225683f9411
  • Minor bug fixes.
  • Added an ImageView example.

0.8.0 - 09/20/2013

  • Added templates to the language.
  • Added aliases to the language.
  • Removed the compatibility code scheduled for removal.
  • Added a completely new declarative expression engine.

0.7.20 - 08/12/2013

  • Bugfix area layout traversal. 308164fd5134
  • Allow alpha hex colors. d9605cc55bb5
  • Add a declarative Timer object. 13259258e6fd
  • Added a Scintilla widget.
  • Added the applib sub-package.
  • Added live editor components to the applib.
  • Added an 'auto_sync' submit trigger to Field. 1926cde5e64b

0.7.19 - 07/22/2013

  • Added dock layout ops for extending/retracting from dock bars. 00ee34a102f
  • Added methods for manipulating window geometry. bebba0a82fa

0.7.18 - 07/20/2013

  • Production release of dock area toolbars.
  • Updates to dock layout specification with compatibility env setting.
  • Resizable slide-out dock bar items.
  • Pin buttons on dock items.
  • Improved procedural dock layout modification api.
  • Added a base Frame class which supplies borders for subclasses. d1316f40248
  • Fixed container ref-cycle issue on widget destruction. 03a5e53038f

0.7.17 - 07/03/2013

  • Added easier to use operator hooks. 2aaf3c96fc8
  • Added support for PySide. 0d18a21754e
  • Add cursor anchor mode to PopupView. 74ddd47197e
  • Initial feedback release of dock area toolbars.

0.7.16 - 06/19/2013

  • Add a more useful file dialog as FileDialogEx. 390868cccb
  • Add a color selection dialog as ColorDialog. d722a876e9
  • Persist the linked state of floating dock items in a saved layout. adc9dec8db
  • Add a right click event to the dock item title bar. 812e97aebcf
  • Make the dock item title user editable. 54b68881529
  • Make the visibility of the dock item title bar configurable. 54b68881529
  • Toggle the maximized state of a dock item on title bar double click. 4ffe9d6b68e
  • Add a RawWidget widget to easily embed external widgets into Enaml. e9d25a29e77

0.7.15 - 06/12/2013

0.7.14 - 06/05/2013

  • Make the translucent background of PopupView configurable. 0731314117
  • Add a 'live_drag' flag to the DockArea. 0cd6889b2c

0.7.13 - 05/31/2013

  • Feature improvements and fixes to snappable dock frames. 693a6f363a
  • Add a 'link_activated' event to the Label widget. 269b386639

0.7.12 - 05/29/2013

  • Make floating dock windows snappable and linkable. de3ced381e

0.7.11 - 05/28/2013

  • Claw back the direct exposure of the Qt stylesheets. 947760ebcd

0.7.10 - 05/26/2013

  • Expose the Qt stylesheet directly for the dock area. 5877335bcf
  • Add the ability to style the various dock area buttons. 5877335bcf

0.7.9 - 05/24/2013

  • Make the close button on dock items configurable. d839fb0c2b
  • Expose a public api for manipulating the dock layout. e269adbdb2
  • Expose user configurable dock area styles. 4c05d5953f

0.7.8 - 05/20/2013

  • Add support for maximizing a docked item within a DockArea. a051862ce5
  • Update the popup view to use a 45 degree angled arrow. f3edc88fe1
  • Miscellaneous updates and bug fixes to the DockArea.

0.7.7 - 05/09/2013

  • Add support for floating "dock rafts" in the DockArea. 402330dcaf
  • Add a PopupView widget to support transparent popups and growl-style notifications. a5117121bf

0.7.6 - 04/25/2013

  • Add an advanced DockArea widget. 3ed122b110
  • Add popup() functionality to the Menu widget. 5363a56f33

0.7.5 - 04/09/2013

  • Fix a bug in the Wx main window implementation. 39f6baee49

0.7.4 - 04/04/2013

  • Add border support for Container on the Qt backend. 505662d5f1
  • Workaround a logic bug in Wx's handling of modal windows. 56a1e00112
  • Workaround a Wx segfault during window destruction. a8525788c9

0.7.3 - 04/03/2013

  • Added support for adding/removing models in a ViewTable. 5bc1809340
  • Added an ObjectCombo control which is a more flexible combo box. 51f3a3c6d3
  • Emit useful error messages when a backend does not implement a control. b264b3b927

0.7.2 - 04/02/2013

  • Added first real cut at a model-viewer grid-based control. de0d8e35ae
  • Fix a bug in size hinting during complex relayouts. 963cee88d0
  • Added hooks for proxy-specific customization. 3e045dfb18

0.7.1 - 03/28/2013

  • Updated compiler infrastructure to produce more extensible parse trees.
  • Various bug fixes.

0.7.0 - 03/20/2013

  • First release under new nucleic org.
  • Rewrite of entire framework to sit on top of Atom instead of Traits.
  • Vastly improved backend architecture.
  • Improved compile-time operator binding.

0.6.8 - 02/14/2013

  • Added ability to change the Z order of a window and a flag to make it stay on top. d6f618101f
  • Added a multiline text entry widget. dde4bd3409
  • Bugfix when ImageView is used in a ScrollArea. 67133d3fec

0.6.7 - 01/23/2013

  • Added a root_object() method on the Object class which returns the root of the object tree. d9b4830963
  • Properly handle window modality on the Qt backend. 28f2433814
  • Add a destroy_on_close flag to the Window class. 2a63e8cefd
  • Prevent Wx from destroying top-level windows by default. 8e298e768e
  • Add support for adding windows to a session at run-time. c090c0fad6
  • Fix the lifetime bug with the FileDialog. 8e354de858

0.6.6 - 01/10/2013

  • Fix the broken unittests and make them Python 2.6 safe. 2c1d7f01d_

0.6.5 - 01/10/2013

  • Add a stretch factor to the Splitter widget. c2272cf1ef
  • Fix bugs in the Wx splitter implementation. dfa542ba3d

0.6.4 - 01/07/2013

  • Add support for icons on notebook pages on the Qt backend. b6426b7ae9
  • Add support for popup menus in the Wx backend (Qt is already supported). 153f3124b2
  • Add simpler way of building the optional C++ extensions. 4eebd59ae5
  • Update enaml-run to play nice with ETS_TOOLKIT. f864975a87

0.6.3 - 12/11/2012

  • Fix critical bug related to traits Disallow and the attr keyword. 25755e2bbd

0.6.2 - 12/11/2012

  • Fix critical bug for broken dynamic scoping. a788869ab0

0.6.1 - 12/10/2012

  • Fix critical bug in compiler and expression objects. dfb6f648a1

0.6.0 - 12/10/2012

  • Add Icon and Image support using a lazy loading resource sub-framework. 77d5ca3b01
  • Add a traitsui support via the TraitsItem widget (care of Steven Silvester). 9cb9126da1
  • Add matplotlib support via the MPLCanvas widget (care of Steven Silvester). eaa6294566
  • Updated Session api which is more intuitive and easier to use.
  • Updated Object api which is more intuitive and easier to use.
  • Object lifecycle reflected in a state attribute.
  • Huge reduction in memory usage when creating large numbers of objects.
  • Huge reduction in time to create large numbers of objects.
  • New widget registry make it easier to register custom widgets. cc791a52d7
  • Better and faster code analysis via code tracers. 4eceb09f70
  • Fix a parser bug related to relative imports. 3e43e73e90
  • Various other tweaks, bugfixes, and api cleanup.

0.5.1 - 11/19/2012

  • Fix a method naming bug in QSingleWidgetLayout. 7a4c9de7e6
  • Fix a test height computation bug in QFlowLayout. a962d2ae78
  • Invalidate the QFlowLayout on layout request. 1e91a54245
  • Dispatch child events immediately when possible. e869f7124f
  • Destroy child widgets after the children change event is emitted. c695ae35ee
  • Add a preliminary WebView widget. 27faa381dc

0.5.0 - 11/16/2012

  • Merge the feature-async branch into mainline. f86dad8f6e
  • First release with release notes. 8dbed4b9cd