The maintainers of the Raylib 3.0 release library have announced this tool for general availability. Users can now download it from the official repository.
This graphics library comes with a host of fixes, improvements and new features.
Highlights of changes with this release include some of the following:
All global variables from the multiple raylib modules have now been moved to a global context state. This allows for better memory management to load global context state dynamically when required, making it easy to implement a hot-reloading mechanism if desired.
All memory allocations on raylib and its dependencies now use
RL_MALLOC, RL_FREE and similar macros. This allows users to easily hook their own memory allocations mechanism if desired, having more control over how memory is allocated internally by the library. It also makes it easier to port the library to embedded devices where memory control is critical.
All I/O file accesses from raylib are being moved to memory data access. This makes all I/O file access to be centralized into just four functions:
LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText().
All raylib trace log messages have been reviewed and categorized for more comprehensive output information when developing raylib applications. This ensures issues are properly reported with more detailed and visual messages.
raudio module has been adapted to the highly improved miniaudio v0.10 a single file audio playback and capture library written in C.
text module reviewed to improve fonts generation and text management functions with several improvements to better support Unicode strings with UTF-8 encoding.
This Raylib 3.0 Release now has bindings to +40 programming languages. You can check out the release notes here for more information about the many more improvements and new features. You can go ahead and download the latest version here.