|
| 1 | +--- |
| 2 | +title: "libGDX 1.13.0" |
| 3 | +classes: wide2 |
| 4 | +header: |
| 5 | + overlay_color: "#000" |
| 6 | + overlay_filter: "0.5" |
| 7 | + overlay_image: /assets/images/update.jpeg |
| 8 | + caption: "Photo credit: [**Markus Winkler**](https://unsplash.com/photos/cxoR55-bels)" |
| 9 | + teaser: /assets/images/update.jpeg |
| 10 | +excerpt: "We are proud to present a new release of libGDX: version 1.13.0!" |
| 11 | + |
| 12 | +show_author: true |
| 13 | +author_username: "crykn" |
| 14 | +author_displayname: "damios" |
| 15 | + |
| 16 | +tags: |
| 17 | + - changelog |
| 18 | + |
| 19 | +categories: news |
| 20 | +--- |
| 21 | +If you are looking for past changelogs, check out [this](/news/changelog/) page. |
| 22 | +{: .notice--primary .no-top-margin } |
| 23 | + |
| 24 | +It has been some time since our last release, but version 1.13.0 of libGDX brings plenty of improvements and bug fixes. Check out the full list below to find out more. |
| 25 | + |
| 26 | +## Breaking changes |
| 27 | + |
| 28 | +The following changes require you to adapt your existing libGDX codebases: |
| 29 | + |
| 30 | +- [ANDROID] The minimum API level is now `19` (Android 4.4). |
| 31 | +- [ANDROID] Removed `Input#setCatchBackKey`, `#isCatchBackKey`, `#setCatchMenuKey`, and `#isCatchMenuKey` deprecated in 1.9.10. Use `#setCatchKey` and `#isCatchKey` instead. |
| 32 | +- [ANDROID & iOS] Exceptions occurring in `Runnable` tasks scheduled through `Gdx.app.postRunnable(...)` are no longer swallowed and will crash the app. Add a protection to your tasks if required. |
| 33 | +- [GWT] Updated to [GWT 2.11.0](https://www.gwtproject.org/release-notes.html#Release_Notes_2_11_0) from 2.10.0. This improves the JRE emulation to support features from Java 11 like collections, streams, and more. To keep old projects working, add `com.google.jsinterop:jsinterop-annotations:2.0.2:sources` as dependency to your html subproject. |
| 34 | +- [iOS] The minimum supported iOS version is now 12.0. Update your `Info.plist` file if necessary. |
| 35 | +- [LWJGL3] The `gdx-lwjgl3-glfw-awt-macos` extension was retired. Just remove it from your dependencies and use the following snippet at the start of your `main()` method instead ([#7361](https://github.com/libgdx/libgdx/pull/7361)): |
| 36 | + ```java |
| 37 | + if (SharedLibraryLoader.isMac) { |
| 38 | + Configuration.GLFW_LIBRARY_NAME.set("glfw_async"); |
| 39 | + } |
| 40 | + ``` |
| 41 | + |
| 42 | +## A few notable changes |
| 43 | +In addition, there are a couple notable changes: |
| 44 | + |
| 45 | +- [CORE] There have been a couple of minor performance improvements, in particular to `Sprite` and `SpriteBatch`. |
| 46 | +- [CORE] Added Framebuffer multisample support ([#7185](https://github.com/libgdx/libgdx/pull/7185)). Take a look at [`GL31FrameBufferMultisampleTest`](https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/gles31/GL31FrameBufferMultisampleTest.java) for a simple example of how to use it. |
| 47 | +- [CORE] There is a new API to get user input via native text fields ([#7004](https://github.com/libgdx/libgdx/pull/7004)). |
| 48 | +- [GWT] The audio device can be switched now ([#7243](https://github.com/libgdx/libgdx/pull/7243)). This has to be enabled via `GwtApplicationConfiguration#fetchAvailableOutputDevices` beforehand. |
| 49 | +- [iOS] Updated to [MobiVM 2.3.21](https://github.com/MobiVM/robovm/wiki/Changelog#2321-february-2024) from 2.3.21. |
| 50 | +- [iOS] The iOS backend now has an implementaion for `AudioDevice` ([#7371](https://github.com/libgdx/libgdx/pull/7371)). It can be configured through `IOSApplicationConfiguration` with `audioDeviceBufferSize` and `audioDeviceBufferCount`. |
| 51 | +- [LWJGL3] Added the `Lwjgl3ApplicationConfiguration#pauseWhenMinimized` and `#pauseWhenLostFocus` flags to control when the application should call the `pause()` method on the `ApplicationListener` ([#7287](https://github.com/libgdx/libgdx/pull/7287)). |
| 52 | +- [LWJGL3] Support for Linux RISC-V has been added ([#7275](https://github.com/libgdx/libgdx/pull/7275)). |
| 53 | + |
| 54 | +To check out our progress towards the next release, take a look at the [corresponding milestone](https://github.com/libgdx/libgdx/milestone/7) on GitHub. As always, we appreciate feedback on the issues/PRs already part of the milestone and would like to invite you to bring forward anything still missing on our [Discord](/community/discord/) server! |
| 55 | + |
| 56 | +### Full changelog |
| 57 | +Updating your Gradle project is straight-forward: Check out the instructions [on the wiki](/wiki/articles/updating-libgdx)! |
| 58 | +{: .notice--info} |
| 59 | +``` |
| 60 | +3.0] |
| 61 | +- [BREAKING CHANGE] GWT: Updated to 2.11.0. `com.google.jsinterop:jsinterop-annotations:2.0.2:sources` must be added as a dependency to your html project dependencies. |
| 62 | +- [BREAKING CHANGE] Android: Minimum API level is now level 19 (Android 4.4) |
| 63 | +- [BREAKING CHANGE] iOS: Increased min supported iOS version to 12.0. Update your Info.plist file if necessary. |
| 64 | +- [BREAKING CHANGE] Android, iOS: Exceptions occurring in Runnable tasks scheduled through Gdx.app.postRunnable() are no longer swallowed and will crash the app (add a protection if required). |
| 65 | +- Updated: Update to jnigen 2.5.2 |
| 66 | +- iOS: Update to MobiVM 2.3.21 |
| 67 | +- iOS: The iOS backend now implements AudioDevice. It can be configured through IOSApplicationConfiguration with audioDeviceBufferSize/audioDeviceBufferCount |
| 68 | +- Fixed GlyphLayout for fixed width glyph offsets at the start and end of lines. |
| 69 | +- Fixed scene2d.ui layout for fractional positions and sizes. |
| 70 | +- LWJGL3: Added pauseWhenMinimized and pauseWhenLostFocus flags to Lwjgl3ApplicationConfiguration. |
| 71 | +- libGDX is now built using Java 17 due to Gradle 8 requirements. |
| 72 | +- New GDX Setup projects now use Gradle 8.4 and AGP Plugin 8.1.2 which require at least Java 17. |
| 73 | +- Fixed Timer#stop, remember time spent stopped and delay tasks when started again. #7281 |
| 74 | +- Android: Add configuration option to render under the cutout if available on the device. |
| 75 | +- Fix: Keep SelectBox popup from extending past right edge of stage. |
| 76 | +- Added Framebuffer multisample support (see GL31FrameBufferMultisampleTest.java for basic usage) |
| 77 | +- Fix: Fonts generated with gdx-freetype no longer bleed when drawn with a shadow |
| 78 | +- Fixed Timer tasks being run after cancellation. |
| 79 | +- Optimization of SpriteBatch in GL30 default modes, as indices do not need to be updated |
| 80 | +- Desktop: Added support for 8/32/64-bit PCM and MP3 WAVs |
| 81 | +- Desktop: Improved support for surround sound audio files (#6792) |
| 82 | +- Android: Added support for predictive back gesture (requires android:enableOnBackInvokedCallback="true" in manifest) |
| 83 | +- API Removal: Removed deprecated back and menu key methods. Use `setCatchKey` and `isCatchKey` instead. |
| 84 | +- Cache packed color on sprite to improve performance |
| 85 | +- Improve JsonReader, add JsonSkimmer, JsonString |
| 86 | +- Add proper glTexImage2D support on GWT |
| 87 | +- Expose the color variables of Box2DDebugRenderer |
| 88 | +- Add Color#set(Color rgb, float a) |
| 89 | +- Prevent loss of precision in OrthographicCamera#update |
| 90 | +- Fix offsets in ConvexHull while being unsorted |
| 91 | +- Small particle emitter improvements |
| 92 | +- Fix : RenderBuffer leak in GLFrameBuffer |
| 93 | +- LWJGL 3: Remove unnecessary window.makeCurrent() calls to improve performance (#7362) |
| 94 | +- Fix: DragListener only listens to the correct touch up events |
| 95 | +- Fix incorrect glyph page index in FreeTypeFontGenerator |
| 96 | +- Added TextureAtlas.TextureAtlasData.Page#name. |
| 97 | +- iOS: Improve preferred FPS setting logic and documentation on iOS backend |
| 98 | +- Fixed TextField breaking if the font has markup enabled. |
| 99 | +- Only allow scrolling of a scroll pane if it has scroll focus |
| 100 | +- iOS: Adding RoboVM AudioDevice implementation |
| 101 | +- Add new Color#CLEAR_WHITE |
| 102 | +- Fixed ScrollPane#scrollTo setting scrollX when there's a width |
| 103 | +- Screens now extend the Disposable interface |
| 104 | +- Added antialiasing flag to the ScreenUtils. |
| 105 | +- Fix Intersector.intersectPolygons() corner case |
| 106 | +- LWJGL 3: Fix the delta time not changing when resizing the window |
| 107 | +- GWT: Allow switching the audio device; this has to be enabled via GwtApplicationConfiguration#fetchAvailableOutputDevices |
| 108 | +- Add API to get user inout with native text fields (#7004) |
| 109 | +- Fix issue with the 'request still pending' check on NetJavaImpl |
| 110 | +- Added possibility to reset a particle effect without starting it |
| 111 | +- Android & iOS: Use empty Audio implementations on Android and iOS when audio is disabled |
| 112 | +- Adds status detection for an httpRequest |
| 113 | +- Fix ANGLE GLES renderer on dekstop (#7274) |
| 114 | +- Architecture support: Support for Linux RISC-V has been added. The gdx-xxx-natives-desktop.jar files now also contain native libraries for this architecture. |
| 115 | +``` |
0 commit comments