It has been 14 years since Allegro 5 was first announced and nearly 5 years and 2 months since version 5.0 was released. After many years of development in the unstable branch, I am excited to announce that a new stable version of Allegro is ready for release!
Allegro 5.2 brings forth many features from the 5.1 branch and exposes them with a stable interface with guaranteed source and binary compatibility. This includes things like shader support, limited support for 3D game development, video playback, Android and (functioning) iOS support. Some features, however, are not quite ready for prime time and therefore remain unstable. To avoid the codebase divergence that prevented 5.0 from receiving many bugfixes from the 5.1 branch, these unstable features coexist in the same branch, but must be opted into before being used.
This release would not have been possible without the help of the many people who have contributed to Allegro over the years. In addition to the 'core' developers that have been around since time immemorial, many of the most exciting features of Allegro have been contributed by people who started using Allegro relatively recently. Even without making code contributions, simple users of Allegro who made suggestions, bug reports and simply used the code have also been invaluable to making Allegro as high quality as it is today.
In many ways, the game development community have abandoned native libraries like Allegro. Despite this downturn, many still create great games with Allegro as foundation, and I think Allegro still has a niche to fill. Allegro 5.2 is an important milestone, but it is not the end of the road. There are still many bugs to fix, features to add and games to write.
Check out the source archives here.
MSYS2 binaries are available here with the dependency packages available here.
You can grab the MSVC Nuget package here.
Ubuntu and homebrew will be updated in the coming days.
On a technical note, Allegro 5.2 is source but not binary compatible with Allegro 5.0. Additionally, the semantics of some functions have changed, but hopefully not in a way that affects most programs.
Changes from 22.214.171.124 to 5.2.0 (April 2016)
The main developers this time were: SiegeLord, Polybios, Mark Oates, Elias Pschernig and Jonathan Seeley.
Add al_is_event_source_registered (koro).
Make destructors log messages more meaningful.
Mouse emulation API for touch devices is now unstable.
Rename al_convert_bitmaps to al_convert_memory_bitmaps.
Fix OSX mouse state position scaling.
Fix other various scaling issues.
Make toggling ALLEGRO_FRAMELESS work.
Fix an issue where fullscreen windows would occasionally leave empty space for the titlebar.
Fix incorrect debug assert in the audio addon.
Make Allegro apps DPI-aware by default, which means that they won't be scaled by the OS.
Fix compilation for the CPU detection code on some compilers.
Don't sync the D3D bitmap when locking with WRITE_ONLY.
Remove dsound.dll runtime loading.
Don't link xinput and d3dx9 libraries (they are still required at runtime though if you're using the relevant features).
Fix a bug where al_wait_for_event_timed can block despite 0 timeout (Aldo Nunez).
Fix source links for API entries with multi-line prototypes.
Make the readme look prettier on GitHub.
Tons of assorted documentation improvements, especially for the audio addon.
Native dialog addon
Make ex_vsync less likely cause a seizure.
Make ex_draw_bitmap and ex_touch_input switch in/out on Android.
Add documentation to ex_bitmap (Daniel Johnson).
Improve ex_logo text entry experience.