Releases: PurpleKingdomGames/ultraviolet
Release list
v0.8.0
Important note for Indigo users This release works fine, however for now you should use version
0.6.0with Indigo0.22.0(Indigo pulls this version in transitively, so you shouldn't need to do anything). This is because a Scala change has happened that prevents the UBO case class fields being read if the case class isprotected. This will be fixed in the next Indigo release.
This is a library bump release. Notably, this release uses Scala 3.7.3 and Scala.js 1.20.1.
What's Changed
- Update scala3-library, ... to 3.7.2 by @scala-steward in #166
- Update sbt-scalafmt to 2.5.5 by @scala-steward in #164
- Update sbt, scripted-plugin to 1.11.4 by @scala-steward in #167
- Update sbt-scalajs, scalajs-library_2.13, ... to 1.20.1 by @scala-steward in #169
- Update sbt, scripted-plugin to 1.11.6 by @scala-steward in #170
- Update scala3-library, ... to 3.7.3 by @scala-steward in #171
- Update munit to 1.1.2 by @scala-steward in #172
- Update munit to 1.2.0 by @scala-steward in #173
Full Changelog: v0.7.0...v0.8.0
0.7.0
The only interesting thing about this release from a user perspective, is that it bumps Ultraviolet to requiring Scala 3.7.1.
Otherwise, this release was to sort out the migration to Sonatype Central.
v0.6.0
This release is mostly about keeping Scala / Scala.js version parity across the pkgames libs, but does also include a nice fix for the cross product function by @simerplaha - thank you!
Ultraviolet is now built against Scala 3.6.4 and Scala.js 0.19.0, your projects will need to use at least those versions to be compatible.
What's Changed
- Update sbt, scripted-plugin to 1.10.11 by @scala-steward in #151
- Update munit to 1.1.1 by @scala-steward in #153
- Update sbt-scalajs, scalajs-library_2.13, ... to 1.19.0 by @scala-steward in #152
- Cross product correction by @simerplaha in #154
New Contributors
- @simerplaha made their first contribution in #154
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Ultraviolet has been published against the latest versions of Scala and Scala.js in anticipation of releases to the other Purple Kingdom Games libs that depend on it.
- Scala 3.6.3
- Scala.js 1.18.2
This release is a blast! 💥
Many thanks to @exoego for contributing an expanded range of c-like for loops, written as cfor (c4.. blast... geddit?). 🙏
What's Changed
- cfor tuples up to four by @exoego in #142
- Update sbt, scripted-plugin to 1.10.9 by @scala-steward in #145
- Update sbt-scalafix to 0.14.2 by @scala-steward in #144
- Update scala3-library_sjs1 to 3.3.5 by @scala-steward in #143
- Update sbt-scalajs, scalajs-library_2.13, ... to 1.18.2 by @scala-steward in #140
- Update munit to 1.1.0 by @scala-steward in #139
- Update os-lib to 0.9.3 by @scala-steward in #134
- Update scala3-library, ... to 3.6.3 by @scala-steward in #138
- Update sbt-scalafmt to 2.5.4 by @scala-steward in #137
- Update os-lib to 0.11.4 by @scala-steward in #146
- Update sbt, scripted-plugin to 1.10.10 by @scala-steward in #147
New Contributors
- @exoego made their first contribution in #142
- @scala-steward made their first contribution in #145
Full Changelog: v0.4.0...v0.5.0
v0.4.0
With this release, Ultraviolet's contributor count has doubled to 2! 😄
As usual, Ultraviolet has been published against the latest versions of Scala and Scala.js in anticipation of releases to the other Purple Kingdom Games libs that depend on it.
- Scala 3.6.2
- Scala.js 1.18.1
This release contains a few quality of life improvements:
- Add hex, hexa, rgb, and rgba interpolators - making it easy to copy paste colour values into your shaders! Thanks @dariusj!
- SDF Helpers - import box, circle, hexagon, segment, star (five points), and triangle SDF shapes.
- Noise Helpers - import cellular, simplex, white, perlin, and gradient noise functions.
- Colour constants - Need a quick colour value? We've got the basics available to import.
Examples of all this and more can be found on the Ultraviolet docs site.
What's Changed
- Fixed #78: Add SDF helpers by @davesmith00000 in #123
- Add hex interpolator by @dariusj in #121
- Fixed #118: Added color constants by @davesmith00000 in #131
- Fixed #77: Added noise helpers by @davesmith00000 in #132
New Contributors
Full Changelog: v0.3.0...v0.4.0
0.3.0
Brings Ultraviolet up to date with Scala.js 1.16.0 and Scala 3.4.1, the versions new releases of our other libraries are targeting.
Also adds a small fix that preemptively makes Ultraviolet compatible with the up coming Scala 3.4.2 release.
What's Changed
- Issue 108: Resolves problem with Scala 3.4.2 Nightly by @davesmith00000 in #111
Full Changelog: v0.2.0...v0.3.0
0.2.0
This release is mostly to bring Ultraviolet up to Scala.js version 1.15.0, ahead of the next Indigo release.
However, during the last release of Ultraviolet it was announced that there were no known bugs and... well... we found some! 😄
Bug fixes:
- Fixed #95: Clamp variations now accept Float gentypes, e.g.
clamp(vec2(1.0f), 0.0f, 1.0f) - Fixed #91: If statement return values can now be assigned to vars directly, e.g.
var x = if true then 1.0f else 2.0f
Additionally, support added for some missing operators
- Perhaps surprisingly (#103)
!=! On reflection, shader writing is mostly about floating point maths where direct comparisons don't come up very often, and clearly!=hasn't come up at all. - Support for bitwise operators on integers has been added.
Full Changelog: v0.1.3...v0.2.0
0.1.3
As of version 0.1.3, there are no known bugs in Ultraviolet ...which merely means that there are many unknown bugs lurking at the other end of the spectrum!
Fixes in this release:
- Added support for unary
!, e.g. inif !myBool then vec4(1.0) else vec4(2.0). - Embedding Raw GLSL without trimming no longer creates erroneous
;'s. - Anonymous unary functions where the the argument is ignored using
_now generate shader code that compiles correctly.
The release is part of a wider set up upcoming releases that, along with the usual fixes and improvements, aims to get all the PKG libraries onto the same versions of things like Scala / Scala.js.
0.1.2
Functionally identical to 0.1.1, but specifically built against Scala 3.3.0. Please note that 0.1.1 works fine with Scala 3.3.0, I'm just trying to keep all the versions aligned between Ultraviolet and Indigo.
0.1.1
This is a minor release that fixes two important issues discovered during the on-going work to port Indigo and it's demo projects to Ultraviolet:
- Ultraviolet now supports array
ShaderTypeOfinstances up to 4096, where previously it was limited to 32. These are used in shaders where you intend to pass large amounts of data to you shader program as UBO data. - The
%operator now works correctly forInttypes. GLSL has no % operator for floating point types, but Ultraviolet simulates them for you by converting to amodcall in the background. The misunderstanding was that the reverse is true for integer types, where you can%but notmod.
Full Changelog: v0.1.0...v0.1.1