Allegro changelog for 5.2.x series
Changes from 5.2.1.1 to 5.2.2 (December 2016)
Changes from 5.2.1 to 5.2.1.1 (August 2016)
Changes from 5.2.0 to 5.2.1 (July 2016)
Changes from 5.1.13.1 to 5.2.0 (April 2016)
Allegro changelog for 5.2.x series
**********************************

These lists serve as summaries; the full histories are in the git
repository.

Changes from 5.2.1.1 to 5.2.2 (December 2016)
*********************************************

The main developers this time were: Trent Gamblin, SiegeLord, Elias
Pschernig.

Core:

   • Don’t accumulate time in the timer while it is stopped.

   • Use dynamic OpenGL ES checks, so binaries produced on newer
     platforms don’t crash on older ones.

   • Destabilize the OpenGL extensions API (BREAKING CHANGE!).

Raspberry Pi port:

   • Add various optimizations.

   • Fix ‘al_set_mouse_xy’ under X.

Android port:

   • Fix buffer overrun and memory leak in the clipboard support.

   • Add WANT_GLES3 to disable some of the newer features on platforms
     where they aren’t supported.

   • Fix build in Android versions below 3.1.

   • Fix a crash when activity is destroyed/paused.

   • Allow building for android mips, arm64 and mips64.

   • Add ‘al_android_get_jni_env’ and ‘al_android_get_activity’ utility
     functions.

   • Update manifest files for newer Android versions.

Windows port:

   • Handle keyboard input properly when Ctrl is pressed (Tobias
     Scheuer).

Hurd port:

   • Define a fallback PATH_MAX (Andreas Rönnquist).

OSX port:

   • Clear window to black when going in/out of fullscreen.

   • Fix window centering when going out of FULLSCREEN_WINDOW mode.

   • Fix OSX 10.12 build.

   • Allow 32 bit builds on OSX (MarcusCalhoun-Lopez).

Build system:

   • Fix issues with building on GCC6 on Windows.

   • Fix source directory littering while configuring the Android build.

Python binding:

   • Add support Python 3 (Gabriel Queiroz).

Documentation:

   • Document the behavior of ‘al_set_target_bitmap’ with respect to
     transformations (Edgar Reynaldo).

   • Fix typo in ‘al_use_transform’ docs (Ryan Roden-Corrent).

Examples:

   • Add kerning to the ‘al_get_glyph’ example in ex_ttf.

   • Various fixes in ex_camera (Erich Erstu).

Changes from 5.2.1 to 5.2.1.1 (August 2016)
*******************************************

The main developers this time were: Trent Gamblin, SiegeLord.

Core:

   • Enforce backwards compatibility in the version check, rather than
     erroneously allowing forwards compatiblity.

   • Temporarily remove new extensions in ALLEGRO_OGL_EXT_LIST as that
     broke ABI compatibility.

OSX port:

   • Temporarily revert changes in joystick detection, as it did not
     interact well with some joysticks.

Windows port:

   • Fix the clear display to black right away to avoid an ugly white
     flash change.

Changes from 5.2.0 to 5.2.1 (July 2016)
***************************************

The main developers this time were: Elias Pschernig, Trent Gamblin,
SiegeLord, Ryan Roden-Corrent, Boris Carvajal and Peter Hull.

Core:

   • Optimize bitmap holding a bit (Bruce Pascoe).

   • Add ‘al_get/set_depth/samples’ (OpenGL only for now).

   • Optimize destruction performance when you have thousands of objects
     (e.g.  sub-bitmaps).

   • Use low floating point precision for the OpenGL fragment shaders,
     which helps performance a lot on mobile platforms.

   • Don’t stop and join the timer thread when stopping the last timer
     (prevents unnecessary delay in this situation on some platforms).

   • Add ‘al_backup_dirty_bitmap’ and ‘al_backup_dirty_bitmaps’ to more
     finely control when bitmap context backup is performed.

Android port:

   • Fix Android app issues when woken up during sleep.

   • Specify the Android toolchain file on the command line now.
     ANDROID_NDK_TOOLCHAIN_ROOT now has to be specified in an
     environment variable.

OSX port:

   • Improve joystick enumeration (Todd Cope).

   • Make ‘al_set_new_window_title’ work correctly.

   • Don’t send duplicate mouse move events.

   • Fix mouse warping behavior.

   • Exit fullscreen mode if ALLEGRO_FULLSCREEN_WINDOW is set when
     destroying a display (otherwise if you destroy and recreate display
     without terminating the program, a white window kicks around).

iOS port:

   • Make it compile again.

   • Don’t backup textures as it is unnecessary.

   • Update minimum iOS to version to 6.1.

   • Disable the native png loader in favor of libpng, as it is broken
     on Apple’s end.

   • Create library when creating the archive.

Windows port:

   • Fix the D3D target bitmap bug.

   • Clear display to black right away to avoid an ugly white flash.

Raspberry Pi port:

   • Fix system cursor support.

Linux port:

   • Make ‘al_set_new_window_title’ work correctly.

Build system:

   • Use PROJECT_SOURCE_DIR and PROJECT_BINARY_DIR instead of
     CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR. This lets you use Allegro as
     a sub-project in your CMake project.

   • Fix GDIPlus finding in cmake-gui (Bruce Pascoe).

   • Add .gitignore and ignore build/ dir (Mark Oates).

   • Fix building examples with non-Allegro dependencies with the
     monolith build.

Documentation:

   • Various documentation updates (Daniel Johnson and others).

Other:

   • Add more ‘#include’ statements in Allegro headers, so it’s easier
     to use them in isolation (Jordan Woehr).

   • Allow marking tests as being hardware only.

   • Prefix some private Allegro macros and types to not pollute the
     namespace.

   • Make set_shader_uniform api const-correct (Bruce Pascoe).

Audio addon:

   • Adjust loop end position when calling
     ‘al_set_sample_instance_length’.

Acodec addon:

   • Allow file-backed audio streams to be restarted after they finish.

   • Add Opus codec support.

Image addon:

   • Fail gracefully if not built with PNG/JPG loaders.

Native dialog addon:

Font addon:

   • Make ‘al_get_text_dimensions’ and ‘al_get_glyph_dimensions’ return
     exact bounding boxes (koro).

   • Add ‘ALLEGRO_GLYPH’ structure and ‘al_get_glyph’, allowing for some
     additional optimization when drawing fonts.

Examples:

   • Add more controls to ‘ex_audio_props’.

   • Add an example of using Enet with Allegro.

Changes from 5.1.13.1 to 5.2.0 (April 2016)
*******************************************

The main developers this time were: SiegeLord, Polybios, Mark Oates,
Elias Pschernig and Jonathan Seeley.

Core:

   • 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’.

Input:

   • Haptic API is now unstable.

Android port:

   • Fixed bogus display destruction on Android which previously caused
     zombie states.

OSX port:

   • 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.

Windows port:

   • 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).

Build system:

   • Install PDB files when building with MSVC.

Documentation:

   • 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.

Other:

   • Add a stability system where some unstable APIs need to be opted
     into by defining ‘ALLEGRO_UNSTABLE’ before including Allegro
     headers.

Audio addon:

   • Fix sporadic deadlocks

   • Recorder API is now unstable.

Native dialog addon:

   • ‘al_toggle_menu_item_flags’ is now unstable.

TTF addon:

   • Add an option to pre-cache the glyphs, useful for platforms where
     the current algorithm is buggy (typically some Android devices).

Video addon:

   • Temporarily remove FFmpeg backend, as it was too buggy, didn’t
     build and was too hard to fix.

Examples:

   • 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.

