All Versions
26
Latest Version
Avg Release Cycle
56 days
Latest Release
126 days ago

Changelog History
Page 1

  • v1.9.10-b4

    January 24, 2020

    🚀 The first release to include a new KTX module with Tiled map editor utilities: ktx-tiled.


    • [FEATURE] (ktx-actors) Added onTouchDown, onTouchUp and onTouchEvent extension methods that allow to attach ClickListener instances to actors.
    • [CHANGE] (ktx-collections) Array.removeAll and retainAll now return a boolean if any elements were removed.
    • [CHANGE] (ktx-collections) Array.transfer is now less strict about typing.
    • [FEATURE] (ktx-math) Added Kotlin ranges extensions that simplify creating ranges and rolling random numbers:
      • Int.amid, Float.amid;
      • +, -, * and / for ranges;
      • ClosedRange<Float>.random, IntRange.random;
      • ClosedRange<Float>.randomGaussian;
      • ClosedRange<Float>.randomTriangular.
    • [FEATURE] (ktx-tiled) Added a new KTX module: Tiled API extensions.
      • Added contains (in) and set ([]) operators support to MapProperties.
      • Added extension methods that simplify properties extraction from MapLayer, MapObject, TiledMap, TiledMapTile and TiledMapTileSet:
      • property
      • propertyOrNull
      • containsProperty
      • Added shape extension field to MapObject.
      • Added extension fields that ease extraction of basic properties from TiledMap and MapObject.
  • v1.9.10-b3

    December 22, 2019

    📚 Includes multiple new utilities, major documentation improvements and some notable dependencies updates.


    • ⚡️ [UPDATE] Updated to Kotlin 1.3.61.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.3.3.
    • [FEATURE] (ktx-assets) Added AssetGroup abstract class that allows to manage groups of assets.
    • [FEATURE] (ktx-collections) Added removeAll, retainAll and transfer extensions to LibGDX Array using lambda predicates to modify the array in-place.
    • [CHANGE] (ktx-collections) PooledList now implements MutableIterable.
    • [FEATURE] (ktx-graphics) Added Batch.begin extension methods that automatically set projection matrix from a Camera or Matrix4.
    • [FEATURE] (ktx-style) Added Skin extension methods with reified resource types: optional, add, remove, has and getAll.
    • [FEATURE] (ktx-style) The overloaded += operator can now be used to add "default" resources to Skin.
    • [FEATURE] (ktx-json) Added JsonSerializer and ReadOnlyJsonSerializer adapters to facilitate writing custom serializers.
    • [FEATURE] (ktx-json) Added readOnlySerializer() factory functions to simplify creation of ReadOnlyJsonSerializer.
  • v1.9.10-b2

    August 30, 2019

    🚀 A maintenance release with notable dependencies updates and two bug fixes in ktx-actors and ktx-box2d.


    • ⚡️ [UPDATE] Updated to Kotlin 1.3.50.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.3.0.
    • ⚡️ [UPDATE] Updated to Gradle 5.6.1.
    • [CHANGE] (ktx-actors) Action.parallelTo changed to Action.along.
    • [CHANGE] (ktx-actors) Action.along (formerly Action.parallelTo) and Action.then no longer unwrap the second action.
    • [CHANGE] (ktx-actors)ParallelAction.along (formerly ParallelAction.parallelTo) and SequenceAction.then simply add the second action to the group without unwrapping.
    • [FEATURE] (ktx-actors) Added / operator to Action, which performs the non-mutating version of along, wrapping the caller and argument in a new ParallelAction.
    • [CHANGE] (ktx-actors) ParallelAction.plus() and SequenceAction.plus() no longer unwrap their components.
    • [FIX] (ktx-actors) along, then, + and / Action extension methods now properly differentiate between SequenceAction and ParallelAction, taking their inheritance into account.
    • [CHANGE] (ktx-box2d) Added disposeOfShape parameters to fixture extension methods of Body and BodyDefinition. Setting these values to true will cause the fixture shapes to be immediately disposed of after Fixture construction.
    • [FIX] (ktx-box2d) Removed memory leak caused by undisposed shapes.
    • [FEATURE] (ktx-graphics) Batch.use extension methods now accept Matrix4 and Camera to update the batch's projection matrix before rendering.
  • v1.9.10-b1

    August 17, 2019

    The first stable release to support LibGDX 1.9.10 and feature ktx-json - a new KTX module with utilities for LibGDX JSON serialization API.


    • ⚡️ [UPDATE] Updated LibGDX to 1.9.10.
    • ⚡️ [UPDATE] Updated to Kotlin 1.3.41.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.3.0-RC2.
    • ⚡️ [UPDATE] Updated VisUI to 1.4.4.
    • ⚡️ [UPDATE] Updated to Gradle 5.5.1.
    • [CHANGE] (ktx-app) clearScreen now also clears depth buffer to support 3D applications.
    • [FEATURE] (ktx-json) Added a new KTX module with the goal of improving LibGDX Json API: ktx-json. The following extension methods were added to avoid passing Java class instances:
      • fromJson
      • addClassTag
      • getTag
      • setElementType
      • setSerializer
      • readValue
    • [FEATURE] (ktx-graphics) Added GLFrameBuffer.use to allow safe omission of the begin() and end() calls.
  • v1.9.9

    June 02, 2019

    🚀 Maintenance release with dependencies update and some additional utilities in ktx-style.


    • ⚡️ [UPDATE] Updated to Kotlin 1.3.31.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.2.1.
    • [FEATURE] (ktx-assets) Added TextAssetLoader that can be registered in an AssetManager to load text files asynchronously.
    • [FEATURE] (ktx-style) Added Skin.get extension method that allows to pass enum instances as style names.
    • [CHANGE] (ktx-style) Skin.get extension method are no longer infix.
    • [CHANGE] (ktx-style) Skin.get now has accepts default parameter equal to the default style name.
  • v1.9.9-b2

    June 02, 2019

    🚀 Maintenance release with dependencies update and some additional utilities in ktx-style.


    • ⚡️ [UPDATE] Updated to Kotlin 1.3.31.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.2.1.
    • [FEATURE] (ktx-assets) Added TextAssetLoader that can be registered in an AssetManager to load text files asynchronously.
    • [FEATURE] (ktx-style) Added Skin.get extension method that allows to pass enum instances as style names.
    • [CHANGE] (ktx-style) Skin.get extension method are no longer infix.
    • [CHANGE] (ktx-style) Skin.get now has accepts default parameter equal to the default style name.
  • v1.9.9-b1

    February 05, 2019

    🚀 A major KTX release with some significant changes. Most notably:

    • ktx-async module was overhauled and now properly provides coroutines scope consistent the stable coroutines API.
    • ♻️ AssetStorage and ktx-freetype-async were temporarily removed until they are refactored to the new ktx-async API.
    • ImmutableVector2 was added as an immutable alternative to the official Vector2.

    • ⚡️ [UPDATE] Updated LibGDX to 1.9.9.
    • ⚡️ [UPDATE] Updated to Kotlin 1.3.20.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 1.1.1.
    • ⚡️ [UPDATE] Updated VisUI to 1.4.2.
    • ⚡️ [UPDATE] Updated to Gradle 5.0.
    • [CHANGE] (ktx-actors) Replaced Stage and Group extension operator methods plus and minus
      with plusAssign and minusAssign to avoid mutating the objects with addition and subtraction operators.

      // Adding an actor to a Stage/Group - before:stage + actor group + actor// Now:stage += actor group += actor

    • [CHANGE] (ktx-actors) Replaced Stage and Actor extension operator methods plus and minus
      with plusAssign and minusAssign to avoid mutating the objects with addition and subtraction operators.

      // Adding an action to a Stage/Actor - before:stage + action actor + action// Now:stage += action actor += action

    • [CHANGE] (ktx-actors) SequenceAction.then was removed. Using the method on a sequence no longer mutates
      it for consistency with Action.then. then now unwraps actors from passed SequenceActions.

    • [CHANGE] (ktx-actors) ParallelAction.parallelTo was removed. Using the method on a ParallelAction no longer
      mutates it for consistency with Action.parallelTo. parallelTo now unwraps actors from passed ParallelActions.

    • [CHANGE] (ktx-async) Overhaul of the ktx-async module.

      • KtxAsync is now the main coroutines scope that should be used instead of the GlobalScope.
      • Dispatchers.KTX can be used to access a coroutines dispatchers that executes tasks on the main rendering thread.
      • AsyncExecutorDispatcher can be used to wrap LibGDX AsyncExecutor to execute tasks asynchronously.
      • newSingleThreadAsyncContext allows to create an AsyncExecutorDispatcher with a single thread.
      • newAsyncContext allows to create an AsyncExecutorDispatcher with the given max amount of threads.
      • onRenderingThread suspends the coroutine to execute a task on the main rendering thread and return its result.
      • isOnRenderingThread allows to check whether the corouting is executed on the main rendering thread.
      • skipFrame attempts to suspend the coroutine for at least one rendering frame.
      • httpRequest allows to perform an asynchronous HTTP request.
      • schedule and interval functions simplify LibGDX Timer API usage.
      • AssetStorage and associated asset loading utilities were temporarily removed. They will be added to a separate module.
      • Asynchronous tests were significantly simplified.
      • Assume that other utilities were either removed or integrated with the listed utilities.
    • [CHANGE] (ktx-freetype-async) The module is temporarily disabled due to the removal of AssetStorage.

    • [FEATURE] (ktx-actors) Added + operator to create sequence of actions (an alternative syntax to then).

    • [FEATURE] (ktx-actors) Added += operators to SequenceAction and ParallelAction to ease adding new actions to these action groups.

    • [FEATURE] (ktx-actors) Added stage factory method that uses named and default parameters to ease Stage creation.

    • [FEATURE] (ktx-graphics) Added ShapeRenderer.use to allow safe omission of the begin() and end() calls.

    • [FEATURE] (ktx-math) Added ImmutableVector2, an immutable equivalent to Vector2.

    Known issues:

    • [REMOVAL] (ktx-async) AssetStorage was removed until refactoring to the new ktx-async API.
    • [REMOVAL] (ktx-freetype-async) Since ktx-freetype-async depends on the AssetStorage, this module was disabled before this release.
  • v1.9.8

    September 20, 2018

    🚀 Maintenance release with major dependencies update and an improvement of the ktx-ashley component creation API.


    • ⚡️ [UPDATE] Updated to Kotlin 1.2.70.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 0.26.1.
    • ⚡️ [UPDATE] Updated to Gradle 4.10.2.
    • [FIX] (ktx-ashley) Component classes without a default no-arg constructors could not have been initiated by the Ashley engine. This is still the case, but now an exception with a meaningful message is thrown.
  • v1.9.8-b5

    September 20, 2018

    🚀 Maintenance release with major dependencies update and an improvement of the ktx-ashley component creation API.


    • ⚡️ [UPDATE] Updated to Kotlin 1.2.70.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 0.26.1.
    • ⚡️ [UPDATE] Updated to Gradle 4.10.2.
    • [FIX] (ktx-ashley) Component classes without a default no-arg constructors could not have been initiated by the Ashley engine. This is still the case, but now an exception with a meaningful message is thrown.
  • v1.9.8-b4

    July 27, 2018

    🚀 Maintenance release with notable dependencies updates and ktx-collections unit tests refactoring.


    • ⚡️ [UPDATE] Updated to Kotlin 1.2.51.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 0.24.0.
    • ⚡️ [UPDATE] Updated to Dokka 0.9.17.
    • ⚡️ [UPDATE] Updated to Gradle 4.9.
    • [CHANGE] (ktx-async) KtxAsync.asynchronous is now inlined. The action lambda is cross-inlined to avoid excessive object creation.