All Versions
24
Latest Version
Avg Release Cycle
53 days
Latest Release
54 days ago

Changelog History
Page 1

  • 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.
  • v1.9.8-b3

    June 01, 2018

    🚀 The first release to feature the new ktx-graphics module with ShapeRenderer extensions and various graphics-related utilities moved from the ktx-app module.


    • ⚡️ [UPDATE] Updated to Kotlin 1.2.41.
    • ⚡️ [UPDATE] Updated to Gradle 4.7.
    • [FEATURE] (ktx-graphics) Added new graphics module with the following ShapeRenderer extension methods:
      • arc
      • box
      • circle
      • cone
      • ellipse
      • rect
      • rectLine
      • rotate
      • scale
      • translate
      • triange
    • [CHANGE] (ktx-app, ktx-graphics) Utility functions moved from ktx-app to the new ktx-graphics:
      • color
      • Color.copy
      • Batch.use
      • ShaderProgram.use
    • [MISC] Removed migration guides from very old versions. If you are in a process of migrating an existing application to the latest KTX and facing any errors, see README files in 1.9.8-b2 tag.
  • v1.9.8-b2

    March 07, 2018

    Contains notable breaking changes to ktx-math operators in order to prevent calculation errors arising from vectors and matrices mutability.


    • ⚡️ [UPDATE] Updated to Kotlin 1.2.30.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 0.22.5.
    • ⚡️ [UPDATE] Updated to Dokka 0.9.16.
    • ⚡️ [UPDATE] Updated to Gradle 4.6.
    • [FEATURE] (ktx-math) dot and x infix functions added to Vector2 and Vector3 allow to calculate dot products and cross products of two vectors respectively.
    • [FEATURE] (ktx-box2d) Initiation blocks of Body in World.body extension method is now optional thanks to default lambda parameters in inlined functions.
    • [FEATURE] (ktx-box2d) World.query extension method allowing to execute AABB query with idiomatic Kotlin.
    • [CHANGE] (ktx-math) Binary operators of Vector2, Vector3, Matrix3 and Matrix4 (+, -, *, /) no longer modify the first vector or matrix. Instead, they create new instances of vectors or matrices that store the operation result. Use the assign operators (+=, -=, *=, /=) instead to avoid creating new instances.
    • [CHANGE] (ktx-math) New mutating assign operators (+=, -=, *=, /=) were added to Vector2, Vector3, Matrix3 and Matrix4.
    • [CHANGE] (ktx-math) Parameters of matrix vector multiplication operators are switched. vector * matrix does not exist anymore and now is available as matrix * vector.
    • [CHANGE] (ktx-math) Operators of Matrix3 to left-multiply a Vector3 were removed.