/ CHANGELOG.md
CHANGELOG.md
  1  # Unreleased
  2  
  3  ## Bug Fixes
  4  * autocomplete - fix bug where escape and enter key should close suggestions
  5    https://github.com/anvilistas/anvil-extras/discussions/595
  6  * quill - click guard was not working properly when clicking the spacer below the text
  7    https://github.com/anvilistas/anvil-extras/pull/593
  8  
  9  # v3.1.0
 10  
 11  ## Bug Fixes
 12  * tabs - tab color was not being applied to inactive tabs
 13    https://github.com/anvilistas/anvil-extras/issues/570
 14  * persistence - orginal class was missing from the resulting base classes
 15    https://github.com/anvilistas/anvil-extras/pull/573
 16  * persistence - linked class attributes were not handling None values correctly
 17    https://github.com/anvilistas/anvil-extras/pull/577
 18  * popover - fix bug with popovers not handling dom nodes correctly
 19    https://github.com/anvilistas/anvil-extras/pull/580
 20  * theme - fix Colors() without a variant argument
 21    https://github.com/anvilistas/anvil-extras/pull/581
 22  
 23  ## Enhancements
 24  * tabs - tab color can now be a css var and better support for css colors in general
 25    https://github.com/anvilistas/anvil-extras/pull/570
 26  * messaging - support custom loggers in messaging module
 27    https://github.com/anvilistas/anvil-extras/issues/569
 28  * persistence - Handle addition and updates of instances with linked classes
 29    https://github.com/anvilistas/anvil-extras/pull/575
 30  
 31  ## Deprecations
 32  - messaging - with_logging argument is deprecated and maybe removed in a future version
 33    logging messages is now off by default - to turn it on provide a custom `logger` argument
 34    https://github.com/anvilistas/anvil-extras/pull/572/files
 35  - persistence - LinkedAttribute is deprecated and will be removed in a future version  https://github.com/anvilistas/anvil-extras/pull/578
 36  
 37  # v3.0.0
 38  
 39  ## Bug Fixes
 40  * popover - fix bug where popovers could not be used on forms using layouts
 41    https://github.com/anvilistas/anvil-extras/issues/553
 42  * ChipsInput - Chip close icon color is fixed for the last highlighted chip
 43    https://github.com/anvilistas/anvil-extras/issues/567
 44  
 45  ## Breaking Changes
 46  * popover - rewritten without bootstrap, now uses floating-ui
 47    `dismiss_on_scroll` is deprecated
 48    class names on the popover element have changed
 49    https://github.com/anvilistas/anvil-extras/pull/563
 50  * multi-select - rewritten without bootstrap, now uses popover and basic anvil components
 51    https://github.com/anvilistas/anvil-extras/pull/566
 52  * classic editor - design components are no longer supported
 53    https://github.com/anvilistas/anvil-extras/issues/567
 54  * class-names and roles - all anvil extras components now use class names and roles prefixed with `ae-`
 55    https://github.com/anvilistas/anvil-extras/issues/567
 56  
 57  
 58  # v2.7.0 05-Sep-2024
 59  
 60  ## New Features
 61  * theme module - Define and switch between colour schemes via code
 62    https://github.com/anvilistas/anvil-extras/pull/551
 63  * quill - implement get_markdown()
 64    https://github.com/anvilistas/anvil-extras/pull/557
 65  
 66  ## Minor Changes
 67  * persistence - add reset method
 68    https://github.com/anvilistas/anvil-extras/pull/542
 69  * persistence - add set behaviour for linked classes
 70  
 71  ## Bug Fixes
 72  * multiselect - fix bug where enable_selct_all was not being set correctly
 73    https://anvil.works/forum/t/anvil-extras-2-6/21252/4
 74  * non-blocking - fix catching exceptions when accessing a non-blocking promise
 75    https://github.com/anvilistas/anvil-extras/pull/543
 76  * multiselect - fix select all buttons overlapping when using width=fit
 77    https://github.com/anvilistas/anvil-extras/issues/545
 78  * mulitselect - fix bug where properties were not being set correctly
 79    https://github.com/anvilistas/anvil-extras/issues/554
 80  * augment - fix bug where event couldn't be used as a raise_event kw
 81    https://anvil.works/forum/t/tabulator-multiple-value-error-on-row-click/22158/9
 82  
 83  
 84  # v2.6.2 13-Jun-2024
 85  
 86  ## Minor Changes
 87  * authorisation - added config option to avoid adding a roles column to the users table
 88    https://github.com/anvilistas/anvil-extras/pull/516
 89  * storage - proxyobjects are passed to the underlying storage so that those implementing the serializable interface can be stored
 90    https://github.com/anvilistas/anvil-extras/pull/533
 91  
 92  ## Bug Fixes
 93  * Slider - allow connect and behaviour to be set at runtime
 94    https://github.com/anvilistas/anvil-extras/issues/538
 95  * persistence - fix get method
 96    https://github.com/anvilistas/anvil-extras/issues/523
 97  * persistence - fix handling of Linked Attributes with no row
 98    https://github.com/anvilistas/anvil-extras/issues/534
 99  * MultiSelect - fix an issue with multiselect on the self hosted app server
100    https://github.com/anvilistas/anvil-extras/issues/525
101  * routing - fix redirect with None conditions
102    https://github.com/anvilistas/anvil-extras/pull/532
103  * MultiSelect - fix an issue where the dropdown menu would remain open when the form is hidden
104    https://github.com/anvilistas/anvil-extras/issues/536
105  
106  
107  # v2.6.1 27-Mar-2024
108  
109  ## Bug Fixes
110  * routing - fix initialisation of history state
111    https://github.com/anvilistas/anvil-extras/discussions/519
112  * multiselect - fix visible False property in the designer
113    https://github.com/anvilistas/anvil-extras/issues/510
114  * multiselect - fix toggling enabled property loses selected state
115    https://github.com/anvilistas/anvil-extras/issues/513
116  * switch - fix lever color when switch is checked
117    https://github.com/anvilistas/anvil-extras/pull/517
118  * routing - fix on_form_load might fire stale value if form_show event is slow
119    https://github.com/anvilistas/anvil-extras/discussions/521
120  
121  ## Minor Changes
122  * designer hints - add some designer hints to components
123    https://github.com/anvilistas/anvil-extras/pull/512
124  * authorisation - added config option to avoid adding a roles column to the users table
125    https://github.com/anvilistas/anvil-extras/pull/516
126  
127  # v2.6.0 09-Feb-2024
128  
129  ## Bug Fixes
130  * routing - fix rendering slow loading pages
131    https://github.com/anvilistas/anvil-extras/pull/501
132  * logging - add missing date format parameter
133    https://github.com/anvilistas/anvil-extras/pull/502
134  * logging - fix critical error message displays as warning
135    https://github.com/anvilistas/anvil-extras/pull/505
136  
137  ## Minor Changes
138  * tabs - add better support for using faded colors e.g. `tabs.active_background = "#2196F344"`
139    https://github.com/anvilistas/anvil-extras/pull/483
140  * augment - use python implementation
141    https://github.com/anvilistas/anvil-extras/pull/488
142  * non-blocking: add a getter to expose the raw javascript promise
143    https://github.com/anvilistas/anvil-extras/pull/475
144  
145  ## Deprecations
146  * augment - trigger("writeback") is now deprecated - use the native version instead `raise_event('x-anvil-write-back-<property-name>)`
147    https://github.com/anvilistas/anvil-extras/issues/429
148  
149  
150  # v2.5.4 15-Nov-2023
151  
152  ## Enhancements
153  * Tabs - adds active_background property
154    https://github.com/anvilistas/anvil-extras/issues/481
155  
156  ## Bug Fixes
157  * storage - fix a bug in ios when indexed db accessed in a webworker and closed
158    https://github.com/anvilistas/anvil-extras/discussions/484
159  * routing - preserve properties when changing templates
160    https://github.com/anvilistas/anvil-extras/discussions/486
161  
162  
163  # v2.5.2 25-Oct-2023
164  * storage - fix bug with deserializing
165  
166  # v2.5.0 3-Oct-2023
167  
168  ## New Features
169  * authorisation - adds `check_permissions` and `has_permission` functions
170    https://github.com/anvilistas/anvil-extras/issues/382
171  * `routing.lazy_route` - allows you to lazily load Forms whilst using routing
172    https://github.com/anvilistas/anvil-extras/pull/442
173  * Autocompletion: adds filter_mode property - either contains or startswith
174    https://github.com/anvilistas/anvil-extras/discussions/444
175  * navigation - ``set_mode("hash")`` can be used to set the default navigation mode to hash routing
176    https://github.com/anvilistas/anvil-extras/discussions/458
177  * navigation - menu definition can include ``title``, rather than registering a form with a title
178    https://github.com/anvilistas/anvil-extras/discussions/453
179  * navigation - set menu item visibility using conditions defined in the menu definition
180    https://github.com/anvilistas/anvil-extras/pull/460
181  * view transitions - routing and navigation use a transition on page changes (can be turned off)
182    https://github.com/anvilistas/anvil-extras/pull/465
183  * Progress Bars - support dynamic property changes
184    https://github.com/anvilistas/anvil-extras/pull/466
185  
186  ## Bug Fixes
187  * pivot - don't fail if self.items is not set
188    https://github.com/anvilistas/anvil-extras/pull/468
189  * routing was no longer dismissing alerts on navigation
190    you will now need to use `routing.alert` in place of `anvil.alert` for an alert to be dismissed on navigation
191    non-dismissible alerts will block the navigation
192    https://github.com/anvilistas/anvil-extras/pull/437
193  * tabs - ensure the selected tab indicator adjusts when the tab component changes size
194    https://github.com/anvilistas/anvil-extras/pull/467
195  
196  ## Minor Changes
197  * Slider - improve behaviour in the designer
198    https://github.com/anvilistas/anvil-extras/pull/472
199  * wait_for_writeback is now written in pure python
200    https://github.com/anvilistas/anvil-extras/pull/431
201  * Switch - improve designer behaviour
202    https://github.com/anvilistas/anvil-extras/pull/470
203  
204  # v2.4.0 14-Jun-2023
205  
206  ## New Features
207  * Add non-blocking module
208    https://github.com/anvilistas/anvil-extras/pull/411
209  
210  ## Bug Fixes
211  * augment - adding event handler like click to a button will no longer fire twice
212    https://github.com/anvilistas/anvil-extras/pull/412
213  * autocomplete - fix suggestions position on mobile in M3 design
214    https://github.com/anvilistas/anvil-extras/issues/413
215  * tabs - tweak css for better mobile experience
216    https://github.com/anvilistas/anvil-extras/issues/421
217  * autocomplete - changing the suggestions will force the UI to change
218    https://github.com/anvilistas/anvil-extras/issues/426
219  
220  # v2.3.0 10-Apr-2023
221  
222  ## New Features
223  * add zod validation library
224    https://github.com/anvilistas/anvil-extras/pull/406
225  
226  ## Minor Changes
227  * Add use of kwargs in persistent class init method
228    https://github.com/anvilistas/anvil-extras/pull/408
229  
230  # v2.2.3 03-Mar-2023
231  ## Bug Fixes
232  * Raise TableError when accessing non-existent columns on persisted class
233  
234  # v2.2.2 02-Mar-2023
235  ## Bug Fixes
236  * Fix attribute handling for new instances
237  
238  # v2.2.1 01-Mar-2023
239  ## Bug Fixes
240  * Typo in persistence module fixed
241  
242  # v2.2.0 01-Mar-2023
243  ## Notable Change
244  * persistence - Define simple classes for use in client side code and have instances of those classes synchronised with data tables rows.
245  
246  ## Minor Changes
247  * add `tag` property to custom components
248    https://anvil.works/forum/t/chip-tag-initialization/15461
249  * add `format_selected_text` method override for multi-select-dropdown
250    https://github.com/anvilistas/anvil-extras/issues/398
251  
252  * add `selected_keys` property for multi-select-dropdown
253    https://github.com/anvilistas/anvil-extras/issues/398
254  
255  ## Bug Fixes
256  * `navigation` - Add args and kwargs to `open_form`
257    https://github.com/anvilistas/anvil-extras/pull/393
258  * `storage` - fix serialisation of dictionary values
259    https://github.com/anvilistas/anvil-extras/pull/395
260  
261  # v2.1.4 01-Dec-2022
262  ## Bug Fixes
263  * `routing` - fix `routing.ANY` within `url_keys`
264    https://github.com/anvilistas/anvil-extras/pull/388
265  
266  ## Deprecations
267  
268  * `anvil_extras.uuid` module can be replaced wholesale by uuid from stdlib
269    DeprecatedWarning added to `uuid.uuid4()`
270  
271  ## Minor Changes
272  * Some component properties adjusted to type enum so they can be selected, rather than typed, in the designer
273  
274  
275  # v2.1.3 03-Nov-2022
276  
277  ## Minor Changes
278  * `uuid` and `storage` will check if `uuid` and `localforage` are aleady installed before importing them from cdn
279    https://github.com/anvilistas/anvil-extras/pull/381
280  
281  ## Bug Fixes
282  * `routing` - `form.url_dict` will be updated when `redirect=False`
283    https://github.com/anvilistas/anvil-extras/issues/374
284  
285  # v2.1.2 01-Sep-2022
286  
287  ## Bug Fixes
288  * `routing` - remove_from_cache will work across templates
289    https://github.com/anvilistas/anvil-extras/issues/367
290  * `MultiSelectDropDown` - fix setting certain attributes dynamically cause events to stop firing
291    https://github.com/anvilistas/anvil-extras/issues/365
292  
293  
294  # v2.1.1 22-Jun-2022
295  
296  ## Minor changes
297  * `augment` ensure that `"mouseenter"` is always correct event type in `"hover"` events
298    https://github.com/anvilistas/anvil-extras/discussions/319
299  * `augment` adjust handling of RadioButton to work correctly with the augment module
300    https://github.com/anvilistas/anvil-extras/pull/325
301  * `routing` - to catch arbirtrary query params in a route use `url_keys=[routing.ANY]`
302    https://github.com/anvilistas/anvil-extras/issues/342
303  
304  ## Bug fixes
305  * `augment` - DataGrid's pagination click event prevented other events from being added
306    https://github.com/anvilistas/anvil-extras/pull/325
307  * `MultiSelectDropDown` - all properties are now dynamic and can be updated in code
308    https://github.com/anvilistas/anvil-extras/pull/331
309  * `serialisation` - support accelerated tables with linked columns
310    https://github.com/anvilistas/anvil-extras/issues/350
311  * `navigation` - Now handles links with roles defined when setting 'selected'
312    https://github.com/anvilistas/anvil-extras/issues/352
313  * `popovers` fix bug scrolling on mobile
314    https://github.com/anvilistas/anvil-extras/discussions/324
315  
316  ## New Features
317  * `MultiSelectDropDown`: add `width` property with options for `fit` and `auto` sizing
318    https://github.com/anvilistas/anvil-extras/issues/329
319  * `navigation` - new `set_title` function for custom click handlers
320    https://github.com/anvilistas/anvil-extras/issues/358
321  
322  # v2.1.0 20-Apr-2022
323  
324  ## Notable Change
325  * `@auto_refreshing` - the original item will now be proxied rather than copied.
326    Changes to the proxied item will make changes to the original item.
327    https://github.com/anvilistas/anvil-extras/pull/311
328  * `MultiSelectDropDown` - the change event will **only** fire with user interaction.
329    Previously also fired when the `selected` property was changed in code.
330    This behaviour now matches other anvil Components - e.g. changing the `selected_value`
331    of a DropDown does **not** fire the DropDown change event.
332    https://github.com/anvilistas/anvil-extras/issues/307
333  
334  ## New Features
335  * routing - a template argument was added to the `@routing.route` decorator.
336    This argument determines which templates a route can be added to.
337    https://github.com/anvilistas/anvil-extras/issues/293
338  * routing - a tempalate can take multiple paths `@routing.template(path=["admin", "user"])`
339    https://github.com/anvilistas/anvil-extras/pull/298
340  * routing - `@routing.redirect()` decorator added
341    https://github.com/anvilistas/anvil-extras/pull/298
342  * hashlib module added
343    https://github.com/anvilistas/anvil-extras/pull/301
344  * `utils.import_module`: similar implementation to python's `importlib.import_module`
345    https://github.com/anvilistas/anvil-extras/pull/302
346  * `MultiSelectDropDown`: add events `opened` and `closed`
347    https://github.com/anvilistas/anvil-extras/issues/279
348  
349  ## Bug Fixes
350  * `MultiSelectDropDown`: fix change event should only fire on user interaction
351    https://github.com/anvilistas/anvil-extras/issues/307
352  * `@auto_refreshing`: support auto_refreshing when the item is not explicitly set
353    https://github.com/anvilistas/anvil-extras/issues/250
354  
355  # v2.0.1 16-Mar-2022
356  
357  ## BugFixes:
358  * routing - fix regression with before unload
359    https://github.com/anvilistas/anvil-extras/issues/289
360  
361  # v2.0.0 15-Mar-2022
362  
363  ## Breaking Changes
364  * `routing.load_form()` was removed. Use `routing.set_url_hash()` instead.
365  
366  ## New Features
367  * Popovers - supports changing the default container to something other than `"body"`
368    add `dismiss_on_scroll()` and `set_default_container()` methods
369    https://github.com/anvilistas/anvil-extras/pull/268
370  * Quill - adds a sanitize property and a sanitize kwarg to the `set_html()` method
371    https://github.com/anvilistas/anvil-extras/issues/273
372  * routing - adds support for multiple top level forms
373    https://github.com/anvilistas/anvil-extras/pull/281
374    * **`@routing.template(path='', priority=0, condition=None)`**
375       A template form is a top level form that holds the header, navigation bar, side panel and an empty `content_panel`.
376       When navigating the routing module will ensure the correct template is the current `open_form` based on the `priority`, `path`, and `condition`. The current `url_hash` must start with the `path`, and if a `condition` is set it must return `True`.
377       Templates are checked order of priority, highest values first.
378    * **`@routing.default_template` replaces `@routing.main_router`**.
379       The `@main_router` decorator is still available. `@default_template` is equivalent to `@template()`
380    * **`routing.NavigationExit()`**
381       when raised within a `template`'s `on_navgation` callback, this will prevent the `routing` module from changing the `content_panel`.
382       This is useful if you have a `LoginForm` as a `template` whose content should remain unchanged when the user tries to navigate to other `routes`.
383    * **`routing.launch()`**
384      called within a startup module, replaces the call to `open_form()`.
385      `routing.launch()` checks the current `url_hash` and ensures that the correct template is loaded based on the paramaters of each template.
386      Calling `routing.set_url_hash()` in a Startup Module will have no effect on form loading until `routing.launch()` has been called. (This allows you to change the `url_hash` within the startup logic)
387  * `logging` module
388    https://github.com/anvilistas/anvil-extras/pull/282
389    Small, simple, lightweight API for logging in anvil apps, a bit like the Python logging module.
390    See the docs:
391    * `Logger` https://anvil-extras.readthedocs.io/en/latest/guides/modules/logging.html#logger
392    * `TimerLogger` https://anvil-extras.readthedocs.io/en/latest/guides/modules/logging.html#timerlogger
393  
394  ## Bug fixes
395  * Multi-select - fix button clicks don't always close the dropdown menu
396    https://github.com/anvilistas/anvil-extras/issues/271
397  * fix bug with `@timed` decorator if used with keyword logger and level arguments
398    https://github.com/anvilistas/anvil-extras/pull/282
399  
400  
401  # v1.9.0 27-Jan-2022
402  
403  ## New Features
404  * Select All functionality added to MultiSelect component
405  * Dynamic serialisation of data tables rows
406    https://github.com/anvilistas/anvil-extras/pull/191
407  * `utils.correct_canvas_resolution()` - canvas elements can look blurry on retina displays
408    This function sharpens the resolution of a canvas element when called in the reset event
409    https://github.com/anvilistas/anvil-extras/pull/202
410  * `augment.remove_event_handler()` added to the augment module
411    https://github.com/anvilistas/anvil-extras/pull/259
412  * Slider - visual properties - `handle_size`, `bar_height`, and `role` added
413    https://github.com/anvilistas/anvil-extras/pull/261
414  
415  ## Updates:
416  * storage supports `datetime` and `date` objects
417    https://github.com/anvilistas/anvil-extras/pull/179
418  * `on_form_load()` can be used in a `routing.main_router` Form
419    This method will be fired with the current `url_hash` and the `form` that was added to the `content_panel`.
420    https://github.com/anvilistas/anvil-extras/pull/180
421  * `animate` duration argument is no longer keyword only i.e. `animate(self, fade_in, 300)` is valid
422    https://github.com/anvilistas/anvil-extras/pull/182
423  
424  ## Bug fixes
425  * MultiSelect component works correctly in a popover
426    https://github.com/anvilistas/anvil-extras/pull/187
427  * popover `is_visible` bug when using `pop("toggle")`
428    https://github.com/anvilistas/anvil-extras/pull/199
429  * Using routing load_from_cache=False to reload the current form works correctly
430    https://github.com/anvilistas/anvil-extras/issues/243
431  * PageBreak retains its thickness in print mode
432    https://github.com/anvilistas/anvil-extras/issues/263
433  
434  # v1.8.1 14-Oct-2021
435  
436  ## Updates
437  * `has_popover()` function added to the popover module
438    https://github.com/anvilistas/anvil-extras/pull/171
439  
440  * `Transition` class in the animate module is more flexible for combining transitions.
441    Some pre-computed transitions adjusted. `rotate_in/rotate_out` replaced by `rotate`
442    https://github.com/anvilistas/anvil-extras/pull/173
443  
444  # v1.8.0 13-Oct-2021
445  
446  ## New Features
447  * animation module - Wrap the Web Animations API around a convenient set of python tools for anvil
448    https://github.com/anvilistas/anvil-extras/pull/169
449  
450  ## Bug Fixes
451  * MultiSelectDropdown - Fix "Hides menu when component is removed from the page"
452    https://github.com/anvilistas/anvil-extras/pull/170
453  
454  # v1.7.1 06-Oct-2021
455  ## Bug Fixes
456  *
457  
458  # v1.7.0 06-Oct-2021
459  
460  ## New Features
461  * Pivot - Dynamic pivot table component
462    https://github.com/anvilistas/anvil-extras/pull/165
463  
464  ## Bug Fixes
465  * MultiSelectDropdown - Hides menu when component is removed from the page
466    https://github.com/anvilistas/anvil-extras/pull/149
467  * Popover - content's show and hide events will be triggered when the popover shows and hides
468    https://github.com/anvilistas/anvil-extras/pull/150
469  * Autocomplete - Add missing TextBox properties to design view
470    https://github.com/anvilistas/anvil-extras/pull/160
471  
472  # v1.6.0 17-Sep-2021
473  
474  ## New Features
475  * Quill - dynamically add custom modules
476    https://github.com/anvilistas/anvil-extras/pull/117
477  * routing - adjusts the behaviour of anvil.alert to ensure dismissible alerts are closed on navigation. And navigation prevented for non-dismissible alerts.
478    https://github.com/anvilistas/anvil-extras/pull/132
479  * `storage.indexed_db` - Now supports the browser's `IndexedDB` with a dictionary like api
480    https://github.com/anvilistas/anvil-extras/pull/135
481  * storage - additional store objects can be created inside the browsers `localStorage` or `IndexedDB`. e.g. `todo_store = indexed_db.get_store('todos')`
482    Each store object behaves like a dictionary object.
483    https://github.com/anvilistas/anvil-extras/pull/135
484  * PageBreak - `border` property added and documentation updated.
485    https://github.com/anvilistas/anvil-extras/pull/139
486  
487  ## Bug Fixes
488  * Autocomplete - can now be used inside an alert
489    https://github.com/anvilistas/anvil-extras/pull/114
490  * Popover - fix stickyhover
491    https://github.com/anvilistas/anvil-extras/pull/121
492  * storage - update and clear were missing from the documented api
493    https://github.com/anvilistas/anvil-extras/pull/125
494  * PageBreak - fix margin_top property and make it optional
495    https://github.com/anvilistas/anvil-extras/pull/137
496  * PageBreak and Multi-select - fix illegal HTML
497    https://github.com/anvilistas/anvil-extras/pull/139
498  * Popover - remove the requirement for delays in show/hide/destroy transitions
499    https://github.com/anvilistas/anvil-extras/pull/146
500  
501  ## Deprecated
502  * storage.session_storage was deprecated. Use local_storage instead
503    https://github.com/anvilistas/anvil-extras/pull/135
504  
505  ## Updates
506  * Slider Component - bump javascript dependency and refactor. No changes to the component's public API.
507    https://github.com/anvilistas/anvil-extras/pull/112
508  * Autocomple - duplicate suggestions are ignored and a warning is printed
509    https://github.com/anvilistas/anvil-extras/pull/116
510  * Popover - documentation added and clone link updated. The example now imports `anvil_extras`
511    https://github.com/anvilistas/anvil-extras/pull/121
512  
513  # v1.5.2 23-Aug-2021
514  
515  ## New Features
516  * `augment` - `add_event_handler()` method added. `original_event` passed as an `event_arg`.
517    https://github.com/anvilistas/anvil-extras/pull/109
518  
519  ## Bug Fixes
520  * Add missing support for binding writeback on the Switch component
521    https://github.com/anvilistas/anvil-extras/pull/111
522  
523  # v1.5.1 05-Jul-2021
524  
525  ## Bug Fixes
526  * Autocompleter suggestions on mobile
527    https://github.com/anvilistas/anvil-extras/issues/103
528  
529  # v1.5.0 29-Jun-2021
530  
531  ## New Features
532  * `local_storage` - wrapper around the browser localStorage object
533    https://github.com/anvilistas/anvil-extras/pull/93
534  
535  ## Changes
536  * Quill editor supports a toolbar and theme set at runtime.
537    https://github.com/anvilistas/anvil-extras/pull/80
538  * Add navigation.go_to function, improved navigation error messages
539    https://github.com/anvilistas/anvil-extras/pull/99
540  
541  ## Bug Fixes
542  * Autocompleter focus method doesn't trigger autocomplete suggestions
543    https://github.com/anvilistas/anvil-extras/issues/94
544  * Improve error reporting when passing an invalid content object to a popover
545    https://github.com/anvilistas/anvil-extras/issues/90
546  * Fixed the publisher.unsubscribe method in the Messaging module, making it functional
547    https://github.com/anvilistas/anvil-extras/pull/92
548  * Fix indeterminate progress bar not always displaying
549    https://github.com/anvilistas/anvil-extras/issues/95
550  
551  # v1.4 07-June-2021
552  
553  ## New Features
554  * Tabs Component
555    https://github.com/anvilistas/anvil-extras/pull/64
556  * uuid4 in the browser
557    https://github.com/anvilistas/anvil-extras/pull/67
558  * Chip Component and ChipsInput Component
559    https://github.com/anvilistas/anvil-extras/pull/68
560  * AutoComplete Component
561    https://github.com/anvilistas/anvil-extras/pull/70
562  
563  ## Changes
564  * Improved dynamic designer support for Switch, MultiSelectDropDown, Tabs, Quill and Slider
565    https://github.com/anvilistas/anvil-extras/pull/66
566  
567  # v1.3.1 31-May-2021
568  * Improved slider formatting
569    https://github.com/anvilistas/anvil-extras/pull/61
570  
571  # v1.3.0 31-May-2021
572  
573  ## New Features
574  * Update styling of switch component
575    https://github.com/anvilistas/anvil-extras/pull/56
576  * Include pagination_click event in augment module
577    https://github.com/anvilistas/anvil-extras/pull/55
578  * Slider Component
579    https://github.com/anvilistas/anvil-extras/pull/60
580  
581  ## Changes
582  * Refactor of progress bars
583    https://github.com/anvilistas/anvil-extras/pull/59
584  
585  # v1.2.0 25-May-2021
586  
587  ## New Features
588  * component.trigger('writeback')
589    https://github.com/anvilistas/anvil-extras/pull/47
590  * MultiSelectDropDown component
591    https://github.com/anvilistas/anvil-extras/pull/44
592  * @wait_for_writeback decorator
593    https://github.com/anvilistas/anvil-extras/pull/50
594  * Quill component
595    https://github.com/anvilistas/anvil-extras/pull/52
596  * Switch component
597    https://github.com/anvilistas/anvil-extras/pull/31
598  
599  # v1.1.0 27-Mar-2021
600  
601  ## New Features
602  * Auto Refreshing Item
603    https://github.com/anvilistas/anvil-extras/pull/39
604  
605  # v1.0.0 11-Mar-2021
606  
607  * Initial release