Releases: yellowstonegames/SquidSquad
4.0.0-beta2 "Feel My Wrath"
This is the second beta release of SquidSquad, coming after 3 alpha releases and one other beta release. This is a lighter release when it comes to SquidSquad itself, but many dependencies were updated, some with noticeable improvements. The main improvement here is the addition of the squidwrath
modules, which allow types here to be serialized and deserialized with the Apache project's Fury library. This coincides with updates to dependencies that allow them to be easily serialized/deserialized with Fury, by way of the Externalizable
interface. Externalizable
doesn't require a dependency on Fury, so code that doesn't use Fury won't be affected at all. Other updates improve collection performance on GWT (in jdkgdxds), add enum-based Maps and Sets that are compatible with libGDX Json (also in jdkgdxds), and quite a lot of work improving the set of gradient vectors used by various noise algorithms. There's some new things, like CellularNoise as an INoise type, and some fixed bugs in various places. In general, this is an incremental improvement.
Unlike SquidLib, which this effectively acts as successor to, SquidSquad is split up vigorously into semi-independent modules, some of which have their own dependencies or depend on other modules. Using Gradle Is Very Strongly Encouraged; gdx-liftoff offers SquidSquad as a third-party extension, and the next version will have the updated artifact IDs so you can automatically set up a project using a GUI. Maven also works, among other tools such as Leiningen and sbt. Instructions on how to add a module to your project for each of those tools are provided on the Maven Central pages for each of the dependencies there currently on version 4.0.0-beta2
.
Docs are currently sparse, and mostly in the form of code JavaDocs. You can browse the JavaDocs by module:
- squidcore
- squidgrid
- squidplace
- squidpath
- squidglyph
- squidsmooth
- squidworld
- squidtext
- squidold
- squidpress
- squidfreezecore
- squidfreezegrid
- squidfreezepath
- squidfreezeold
- squidfreezetext
- squidstorecore
- squidstoregrid
- squidstoreold
- squidstorepath
- squidstoretext
- squidwrathcore
- squidwrathgrid
- squidwrathpath
- squidwrathold
- squidwrathtext
There are clearly a lot of modules here. I'm not going to upload JARs for every one of them; you can use Maven Central to access the same JARs you would get through Gradle or Maven, but by a laborious click-and-navigate process instead of automated dependency fetching.
Various dependencies have updated, and some have been added. The most important dependency is probably jdkgdxds
(data structures), which depends on digital
(common number-related code) and funderby
(functional interfaces for more types). All SquidSquad projects depend on that, as well as juniper
(random number generation) and regexodus
(cross-platform regular expressions). Most code will depend on the squidgrid
module here, and it depends on crux
(which generalizes an API for points). The squidfreeze
modules depend on kryo
(binary serialization). The new squidwrath
modules depend on the Apache project's fury
(different, faster binary serialization). The squidglyph
, squidsmooth
, and squidstore
modules depend on libgdx
(the game development framework for Java that I'm a collaborator on). All of this is handled automatically by Gradle if you have the dependencies right, though for the HTML target using GWT, it's more complicated and you should probably just use Liftoff.
I'm not including any JARs here because some of the names conflict, apparently, though none that you would probably want in one app at the same time. Each of squidfreeze
, squidstore
, and squidwrath
has a file called core-4.0.0-beta2.jar
, as well as one for other submodules, so I'm just going to reiterate that you should use Maven Central if you want JARs manually, or you can just build SquidSquad yourself locally (using Gradle, which really isn't hard at all here...), or even just copy out relevant code to your own project. I'm not your real dad, I'm not going to tell you what to do.
Good luck out there!
4.0.0-beta1 "Oh Lawd He Comin'"
This is the first beta release of SquidSquad, coming after 3 alpha releases. It is a big, hefty, chonky release. It has been over 9 months since the previous release. Whoops. Unlike SquidLib, which this effectively acts as successor to, SquidSquad is split up vigorously into semi-independent modules, some of which have their own dependencies or depend on other modules. Using Gradle Is Very Strongly Encouraged; gdx-liftoff offers SquidSquad as a third-party extension, and the next version will have the updated artifact IDs so you can automatically set up a project using a GUI. Maven also works, among other tools such as Leiningen and sbt. Instructions on how to add a module to your project for each of those tools are provided on the Maven Central pages for each of the dependencies there currently on version 4.0.0-beta1
.
Docs are currently sparse, and mostly in the form of code JavaDocs. You can browse the JavaDocs by module:
- SquidCore
- SquidGrid
- SquidPlace
- SquidPath
- SquidGlyph
- SquidSmooth
- SquidWorld
- SquidText
- SquidOld
- SquidPress
- SquidFreezeCore
- SquidFreezeGrid
- SquidFreezePath
- SquidFreezeOld
- SquidFreezeText
- SquidStoreCore
- SquidStoreGrid
- SquidStoreOld
- SquidStorePath
- SquidStoreText
There are clearly a lot of modules here. I'm not going to upload JARs for every one of them; you can use Maven Central to access the same JARs you would get through Gradle or Maven, but by a laborious click-and-navigate process instead of automated dependency fetching.
Various dependencies have updated, and some have been added. The most important dependency is probably jdkgdxds
(data structures), which depends on digital
(common number-related code) and funderby
(functional interfaces for more types). All SquidSquad projects depend on that, as well as juniper
(random number generation) and regexodus
(cross-platform regular expressions). Most code will depend on the squidgrid
module here, and it depends on crux
now (which is just a few interfaces and one class, generalizing an API for points). The squidfreeze
modules depend on kryo
(binary serialization). The squidglyph
, squidsmooth
, and squidstore
modules depend on libgdx
(the game development framework for Java that I'm a collaborator on). All of this is handled automatically by Gradle if you have the dependencies right, though for the HTML target using GWT, it's more complicated and you should probably just use Liftoff.
Good luck out there!
4.0.0-alpha1 "Wisdom Of The Ages"
This is the first alpha release of SquidSquad. It has been over 28 months in the making. Sorry about that. Unlike SquidLib, which this effectively acts as successor to, SquidSquad is split up vigorously into semi-independent modules, some of which have their own dependencies or depend on other modules. Using Gradle Is Very Strongly Encouraged; the next release of gdx-liftoff will offer SquidSquad as a third-party extension.
Docs are currently sparse, and mostly in the form of code JavaDocs. You can browse the JavaDocs by module:
- SquidCore
- SquidGrid
- SquidPlace
- SquidPath
- SquidGlyph
- SquidSmooth
- SquidWorld
- SquidText
- SquidOld
- SquidFreezeCore
- SquidFreezeGrid
- SquidFreezeOld
- SquidFreezeText
- SquidStoreCore
- SquidStoreGrid
- SquidStoreOld
- SquidStoreText
There are clearly a lot of modules here. I'm not going to upload JARs for every one of them; you can use Maven Central to access the same JARs you would get through Gradle or Maven, but by a laborious click-and-navigate process instead of automated dependency fetching.