All Versions
43
Latest Version
Avg Release Cycle
56 days
Latest Release
-

Changelog History
Page 3

  • v1.9.10-b1 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

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

    January 27, 2018

    🚀 The first release that contains ktx-freetype and ktx-freetype-async modules: FreeType font loading utilities. The transition from Kotlin 1.1 to 1.2 also allowed us to use default functional parameters in inlined methods, which simplified some APIs. It also contains notable changes and simplifications of the ktx-inject API.


    • ⚡️ [UPDATE] Updated to LibGDX 1.9.8.
    • ⚡️ [UPDATE] Updated to Kotlin 1.2.21.
    • ⚡️ [UPDATE] Updated to Kotlin Coroutines 0.22.
    • ⚡️ [UPDATE] Updated to Gradle 4.4.
    • ⚡️ [UPDATE] Updated to VisUI 1.4.0.
    • [CHANGE] (ktx-scene2d) Duplicate functions in Scene2D building DSL were removed thanks to optional default lambda parameters in inlined functions (added in Kotlin 1.2). Due to the limitation in inlined methods, there used to be two inlined methods for each actor to support syntax both with braces (init block) and without. Now there is just one factory method supporting both syntax variants per widget. This should not affect most application, but might require
      Kotlin 1.2 usage.
    • [CHANGE] (ktx-ashley) Default functional parameters were added to create, entity and with, simplifying the implementation and making configuration blocks optional.
    • [CHANGE] (ktx-inject) Parameters of bindSingleton consuming multiple classes have been swapped to be more compatible with the bind functions.
    • [CHANGE] (ktx-inject) bind and bindSingleton methods consuming multiple classes now take KClass as parameters instead of Class, so now you can use YourType::class instead of more verbose YourType::class.java.
    • [FEATURE] (ktx-style) Initiation blocks of Skin and Scene2D actor styles are now optional.
    • [FEATURE] (ktx-vis-style) Initiation blocks of VisUI actor styles are now optional.
    • [FEATURE] (ktx-box2d) Initiation blocks of fixtures and joints are now optional thanks to default lambda parameters in inlined functions.
    • [FEATURE] (ktx-inject) Add higher-order function parameters for bindSingleton to allow the use of lambda expressions.

      fun createCircle(body: Body) { // Before - would not compile without additional braces: body.circle(radius = 2f) {} // Now - braces are optional (lambda parameter defaults to no-op): body.circle(radius = 2f) }

    • [FEATURE] (ktx-freetype) Implemented ktx-freetype module.

      • AssetManager.registerFreeTypeFontLoaders allows to register all loaders necessary to handle FreeType font assets.
      • AssetManager.loadFreeTypeFont provides Kotlin DSL for loading of FreeType fonts.
      • freeTypeFontParameters function provides Kotlin DSL for building FreeType font loading parameters.
      • FreeTypeFontGenerator.generateFont extension function allows to generate BitmapFont with Kotlin DSL.
    • [FEATURE] (ktx-freetype-async) Implemented ktx-freetype-async module.

      • AssetStorage.registerFreeTypeFontLoaders allows to register all loaders necessary to handle FreeType font assets.
      • AssetStorage.loadFreeTypeFont provides Kotlin DSL for asynchronous loading of FreeType fonts.
    • [FIX] (ktx-box2d) As LibGDX 1.9.8 fixes its ChainShape implementation, ChainShape utilities are supported once again.