* [RmlUi 4.4](#rmlui-44) * [RmlUi 4.3](#rmlui-43) * [RmlUi 4.2](#rmlui-42) * [RmlUi 4.1](#rmlui-41) * [RmlUi 4.0](#rmlui-40) * [RmlUi 3.3](#rmlui-33) * [RmlUi 3.2](#rmlui-32) * [RmlUi 3.1](#rmlui-31) * [RmlUi 3.0](#rmlui-30) * [RmlUi 2.0](#rmlui-20) ## RmlUi 5.0 (WIP) ### Backends RmlUi 5.0 introduces the backends concept. This is a complete refactoring of the old sample shell, replacing most of it with a multitude of backends. A backend is a combination of a renderer and a platform. The shell is now only used for common functions specific to the included samples. This change is beneficial in several aspects: - Makes it easier to integrate RmlUi as users can directly use the renderer and platform suited for their setup. - Makes it a lot easier to add new backends and maintain existing ones. - Allows all the samples to run on any backend by choosing the desired backend during CMake configuration. All samples and tests have been updated to work with the [backends interface](Backends/RmlUi_Backend.h), which is a very light abstraction over all the different backends. A new GLFW backend has been added, along with the SFML and SDL platforms ported from the old samples. The old macOS shell has been removed as it used a legacy API that is no longer working on modern Apple devices. Now the samples build again on macOS using one of the windowing libraries such as GLFW or SDL. Further, an OpenGL 3 renderer has been added (#261), and also Emscripten support so RmlUi even runs in web browsers now. See the [Backends section in the readme](readme.md#rmlui-backends) for more details. ### Text editing The `