A Brief History of MayronUI
MUI has gone through many major releases since its first release on WoWInterface on April 14th, 2011. These major releases are referred to as generations, or “Gens” for short, however, this naming convention may be coming to an end soon. The first release of MUI was simply called MayronUI. There were no core MUI addons as everything was controlled by KgPanel scripts. Then, on December 23rd, 2012, MayronUI Gen2 was born. This came with major UI artwork redesigns, an official MUI installer (now known as MUI_Setup), which injected addon settings into a “saved variable” to override default addon settings and to persist those changes between client restarts. The most notable change introduced in Gen2 was the removal of KgPanels from the UI pack.
As more major iterations were released, more addons written by other addon authors were replaced with MUI modules. All modules are contained and controlled by the MUI “engine” that powers the UI under the hood. Pkg-MayronDB and Pkg-MayronEvents are two powerful packages with low memory footprints that were developed using the MayronObjects framework. These were created as part of the MUI engine but were later refactored and extracted as packages for general use. MayronObjects provides the module framework for MUI while Pkg-MayronDB provides the embedded database and a concept called “update functions” to provide a streamlined approach for automatically updating the UI when the state of the database changes. Pkg-MayronEvents provides an event management system for creating, destroying, enabling, and disabling event handlers, and many other quality of life features.
In addition to these packages, a large chunk of code was extracted out of the MUI engine and bundled into another package for general use: Pkg-GridPanels. Pkg-GridPanels originated from the old LibMayronGUI library. This library is still being used in MUI to provide many utility functions to create widgets and menus, but the lighter package version, Pkg-GridPanels, has been designed for use in other addon projects. This version only provides the grid system that MayronUI uses to implement responsive UI panels (similar to how CSS-Grid and CSS-Flexbox works on the web).