Skip to content

Releases: JD557/minart

v0.6.2

03 Nov 17:07
Compare
Choose a tag to compare

This release adds a new experimental geometry package and rasterization logic, that allows one to efficiently render vector shapes and strokes.
It also adds a new Kernel abstraction to speed up convolutions when using coflatMap.

New Features

Bug fixes/Improvements

  • Avoid boxing (#539)

Changes/Refactorings

  • Move Matrix to eu.joaocosta.minart.geometry (#520) (Breaking change)

Full Changelog: https://github.com/JD557/minart/compare/v0.6.01..v0.6.2

v0.6.1

19 Aug 20:44
Compare
Choose a tag to compare

This release is just a small update with some improvements on image/audio format support and interop between other ecosystems.

New Features

  • Add support for PDI (#498)
  • Add support for PBM (#499)
  • Add helpers to load raw SDL surfaces into an SdlSurface (#506, #508)
  • Add conversion methods between ImageDataSurface and Image/ImageBitmap/OffscreenCanvas (#511)

Bug fixes/Improvements

  • Simplify the codec logic (#500)

Full Changelog: v0.6.0...v0.6.1

v0.6.0

21 Apr 20:47
Compare
Choose a tag to compare

This is the first release of the 0.6 series of Minart.

As of 0.6.0, support for Scala 2.11, 2.12 and 2.13 was removed, along with the Minart Pure library (blog post with rationale).

This version also drops support for Scala Native 0.4, adding support for Scala Native 0.5. While the both single threaded modes and multi threaded modes are supported, it is recommended to use Scala Native's automatic detection.

New Features

  • Add realtime sound mixing operations (#431)
  • Add new WrapAround helper (#450, #452, #465)
  • Add MutableSurface#modify (#455)
  • Add MutableSurface#blitPlane (#483)
  • Add HtmlCanvas#getCanvasElement (#461)
  • Support Scala Native 0.5 (#467)

Removals

  • Remove Minart Pure (#407, #439)
  • Remove Scala 2 support (#408)

Changes/Refactorings

  • Use munit instead of verify (#409)
  • Make Color an opaque type (#410)
  • Generate new SDL bindings (#417)
  • Simplify Subsystems (#424, #425)
  • Monomorphize ByteReader/ByteWriter (#427)
  • Convert code to Scala 3 (#428, #429, #430)
  • Add a default value for terminateWhen (#461)
  • Refactor LoopRunner logic to support sync and async runners (#467)

Bug fixes/Improvements

  • Disable blending on Canvas surfaces (#416)
  • Fix MutableSurface#fillRegion for out of bounds areas (#435)
  • Handle offscreen mouse events (#438)
  • Add more keyboard keys (#446)
  • Specialize clipped RAM Surface views (#451, #454)
  • Fix resource termination (#467)
  • Fix edge cases when loading resources (#474)
  • Fix canvas clear when changing settings (#477)

Other

  • Add more strict scalac warnings (#426)
  • Add a Scala CLI gitter 8 template (#453)
  • Convert examples to Markdown (#456)
  • Add tutorials to the microsite (#466)
  • Replace using lib with using dep in the examples (#472)

v0.6.0-M3

12 Apr 20:32
Compare
Choose a tag to compare

This is the third (hopefully final) milestone release of the 0.6.0 version of Minart.

As of 0.6.0, support for Scala 2.11, 2.12 and 2.13 was removed, along with the Minart Pure library (blog post with rationale).

It also includes support for Scala Native 0.5.

Notice: Due to how recent Scala Native 0.5.0 is, this version might have some issues (also, the unit tests have been temporarily disabled, as munit wasn't released yet). One of the reasons to release this now was to catch errors before the final 0.6.0 release.

New Features

  • Add realtime sound mixing operations (#431) [0.6.0-M1]
  • Add new WrapAround helper (#450, #452, #465) [0.6.0-M2 / M3]
  • Add MutableSurface#modify (#455) [0.6.0-M2]
  • Add MutableSurface#blitPlane (#483) [0.6.0-M3]
  • Add HtmlCanvas#getCanvasElement (#461) [0.6.0-M2]
  • Support Scala Native 0.5 (#467) [0.6.0-M3]

Removals

  • Remove Minart Pure (#407, #439) [0.6.0-M1]
  • Remove Scala 2 support (#408) [0.6.0-M1]

Changes/Refactorings

  • Use munit instead of verify (#409) [0.6.0-M1]
  • Make Color an opaque type (#410) [0.6.0-M1]
  • Generate new SDL bindings (#417) [0.6.0-M1]
  • Simplify Subsystems (#424, #425) [0.6.0-M1]
  • Monomorphize ByteReader/ByteWriter (#427) [0.6.0-M1]
  • Convert code to Scala 3 (#428, #429, #430) [0.6.0-M1]
  • Add a default value for terminateWhen (#461) [0.6.0-M2]
  • Refactor LoopRunner logic to support sync and async runners (#467) [0.6.0-M3]

Bug fixes/Improvements

  • Disable blending on Canvas surfaces (#416) [0.6.0-M1]
  • Fix MutableSurface#fillRegion for out of bounds areas (#435) [0.6.0-M1]
  • Handle offscreen mouse events (#438) [0.6.0-M1]
  • Add more keyboard keys (#446) [0.6.0-M2]
  • Specialize clipped RAM Surface views (#451, #454) [0.6.0-M2]
  • Fix resource termination (#467) [0.6.0-M3]
  • Fix edge cases when loading resources (#474) [0.6.0-M3]
  • Fix canvas clear when changing settings (#477) [0.6.0-M3]

Other

  • Add more strict scalac warnings (#426) [0.6.0-M1]
  • Add a Scala CLI gitter 8 template (#453) [0.6.0-M2]
  • Convert examples to Markdown (#456) [0.6.0-M2]
  • Add tutorials to the microsite (#466) [0.6.0-M3]
  • Replace using lib with using dep in the examples (#472) [0.6.0-M3]

v0.6.0-M2

14 Jan 22:02
Compare
Choose a tag to compare

This is the second Milestone release of the 0.6.0 version of Minart.

As of 0.6.0, support for Scala 2.11, 2.12 and 2.13 was removed, along with the Minart Pure library (blog post with rationale).

New Features

  • Add realtime sound mixing operations (#431) [0.6.0-M1]
  • Add new WrapAround helper (#450, #452)
  • Add MutableSurface#modify (#455)
  • Add HtmlCanvas#getCanvasElement (#461)

Removals

  • Remove Minart Pure (#407, #439) [0.6.0-M1]
  • Remove Scala 2 support (#408) [0.6.0-M1]

Changes/Refactorings

  • Use munit instead of verify (#409) [0.6.0-M1]
  • Make Color an opaque type (#410) [0.6.0-M1]
  • Generate new SDL bindings (#417) [0.6.0-M1]
  • Simplify Subsystems (#424, #425) [0.6.0-M1]
  • Monomorphize ByteReader/ByteWriter (#427) [0.6.0-M1]
  • Convert code to Scala 3 (#428, #429, #430) [0.6.0-M1]
  • Add a default value for terminateWhen (#461)

Bug fixes/Improvements

  • Disable blending on Canvas surfaces (#416) [0.6.0-M1]
  • Fix MutableSurface#fillRegion for out of bounds areas (#435) [0.6.0-M1]
  • Handle offscreen mouse events (#438) [0.6.0-M1]
  • Add more keyboard keys (#446)
  • Specialize clipped RAM Surface views (#451, #454)

Other

  • Add more strict scalac warnings (#426) [0.6.0-M1]
  • Add a Scala CLI gitter 8 template (#453)
  • Convert examples to Markdown (#456)

v0.6.0-M1

17 Nov 20:59
Compare
Choose a tag to compare

This is the first Milestone release of the 0.6.0 version of Minart.

As of this version, support for Scala 2.11, 2.12 and 2.13 was removed, along with the Minart Pure library (blog post with rationale).

New Features

  • Add realtime sound mixing operations (#431)

Removals

  • Remove Minart Pure (#407, #439)
  • Remove Scala 2 support (#408)

Changes/Refactorings

  • Use munit instead of verify (#409)
  • Make Color an opaque type (#410)
  • Generate new SDL bindings (#417)
  • Simplify Subsystems (#424, #425)
  • Monomorphize ByteReader/ByteWriter (#427)
  • Convert code to Scala 3 (#428, #429, #430)

Bug fixes/Improvements

  • Disable blending on Canvas surfaces (#416)
  • Fix MutableSurface#fillRegion for out of bounds areas (#435)
  • Handle offscreen mouse events (#438)

Other

  • Add more strict scalac warnings (#426)

v0.5.3

26 Aug 09:24
Compare
Choose a tag to compare

This release brings surface blending support, simpler audio mixing and performance improvements

New Features

  • New AudioWave.mix/AudioClip.mix operations (#396)
  • Add blend mode support to Surface#blit (#402)
  • Add Plane#overlay/SurfaceView#overlay (#404)

Bug fixes/Improvements

  • Sleep Java audio thread while audio is playing (#399)
  • Replace usages of scala.math with java.lang.Math (#400)
  • Improve `JavaLoopRunner sleep precision with busy waiting (#401)

v0.5.2

20 May 11:44
Compare
Choose a tag to compare

This release includes multiple bug fixes to audio problems in 0.5.1. While the audio API is not yet stable (this release includes a breaking change), it's getting there.
It also adds support for QOA audio playback.

New Features:

Changes/Refactorings:

  • Add a new Sampler object and move audio sampling related methods there (#365) Breaking

Bugfixes/Improvements

  • Fix AudioPlayer#play(wave, channel) (#366)

Other

  • Set sbt version scheme to semver-spec (#366).

v0.5.1

19 Apr 20:36
Compare
Choose a tag to compare

This release includes multiple bug fixes to problems in 0.5.0.
Unfortunately, it also includes some small breaking changes that couldn't be done in a backwards compatible way.

New Features:

  • New AudioClip#repeating(times) operation (#345)
  • New coflatMap operations (#346, #348, #349)
  • New SurfaceView#clamped operation (#350)
  • New get*OrElse operations (#350)
  • New AudioPlayer#isPlaying(channel) operation (#359)

Changes/Refactorings:

  • Made AudioClip/SurfaceView and AudioWave/Plane APIs more consistent (#347) Breaking
  • Make canvas scale optional, with support for filling the screen on full screen mode (#351) Breaking

Bug fixes/Improvements

  • Faster blitting (#352, #355)
  • Faster audio playback (#356)
  • Multiple fixes to MutableSurface#fillRegion implementations (#357, #361)

v0.5.0

02 Apr 16:21
Compare
Choose a tag to compare

This is the first release in the 0.5. series.
The great new feature of this release is audio support.

Support for Scala 2.11 was dropped, as it was also dropped from the most recent versions of Scala.js and Scala Native.

New Features:

Removals:

  • Removed Scala 2.11 support (#301)
  • Removed deprecated blitWithMask (#280)

Changes/Refactorings:

  • Runtime completely refactored (#279, #306, #311)
    • Render loops now return Futures
    • No more Managers
    • ImpureRenderLoop/PureRenderLoop were removed in favor of a single AppLoop
    • Loop class was removed
    • MinartApp was moved from minart-pure to minart-core

Bug fixes/Improvements

  • Improved rendering performance (#297, #308)
  • Better error messages when a Resource fails to load (#326)