Until now, Mozaic had some memory leak problems that never manifested themselves too badly until we put it under extremely heavy load with a new internal project.
Improvements since v0.3:
- new and improved Backbone.js patch for async trigger() via recursive setTimeout(0) and better management of "this"
- core list widget has minimize_dom_nodes option: item widgets managed by the list which are out of the viewport are taken out of the DOM and replaced with a container with their height. This minimizes number of DOM nodes, as the name says (gg @valentinzberea)
- pubsub component is now implemented using Backbone.Events (gg @skidding)
- tens of improvements for garbage collection, reference management and unbinding - including a jQuery patch for preventing caching of selector results
- scrollable_widget now supports binding both to the global scroll (of the window) and to the local scroll (of the widget). We recommend using CSS3 for webkit styling of scrollbars and not using 3rd party libraries (it gets messy fast)
- fixed a number of WidgetStarter bugs which caused widgets to be initialized twice, or detached from DOM twice. We will push this even further in release 0.5
- added documentation about widgets and channels in the docs/ folder. Enjoy!
That's it folks! The name of the release comes from an internal joke - that you could boil eggs on your laptop before the performance optimizations.