Skip to content

Releases: IrisShaders/glsl-transformer

v0.6.0 - Parsing error reporting and injection bug fix

28 Dec 19:37
07844ce
Compare
Choose a tag to compare
  • Parsing errors are thrown by the TransformationManager instead of being printed to the console. This can be disabled and replaced with a different error listener if desired. (See TransformationManagerTest for an example)
  • Fixed BEFORE_VERSION injection putting nodes at the end of the program if there is no version statement
  • Added more transformation phase tests
  • Made general improvements to the test infrastructure
  • Added error-snapshot tests for parsing glslang's test files

Full Changelog: v0.5.0...v0.6.0

Meta thing: There's GitHub Actions builds now that produce build artifacts for each commit.

With this all of the important features in glsl-transformer are complete. One of the next releases will be 1.0.0 marking initial feature completeness. There's a new more things I want to add before that though, mostly focused on tests. After initial feature completeness I'll also work on implementing transformations in applications and solving usability issues with the library. Check the readme for the roadmap.

v0.5.0 - Transformation phase groups and more tests

28 Dec 01:56
8030399
Compare
Choose a tag to compare
  • Added transformation phase groups and changed the signature of the methods for adding phases. This allows separating the phases of transformations that would conflict with each other if they were executed in the same tree walk.
  • Added tests for PhaseCollector
  • Made the types on getParser and getLexer more specific
  • Fixed a parsing error in a test
  • Other testing improvements

Full Changelog: v0.4.0...v0.5.0

Meta thing: My commits are properly signed now again, the GPG key was expired and I've renewed it.

v0.4.0 - Transformation Manager and improved transformation composition

26 Dec 00:47
5d72d99
Compare
Choose a tag to compare
  • Added TransformationManager and some small tests for it. It takes care of all the boilerplate code!
  • Made transformations and transformation phases reusable and composable. This means they can be shared between transformation managers and transformations, respectively. It also means they can be created in a more flexible way.
  • Made IntegratedTest more concise using the new manager
  • Improved javadoc documentation
  • Removed DebugTransformation

Full Changelog: v0.0.3...v0.4.0

v0.0.3 - Node injection, snapshot tests and bug fixes

25 Dec 02:01
ed01976
Compare
Choose a tag to compare
  • Fixed multiple issues with the printer
  • Changed the version statement to not be always parsed as an empty rule
  • Remove EditContext and replace it with ExtendedContext nodes
  • Enabled modifying the child array of the node currently being iterated by the parse tree walker
  • Added some unit tests and snapshot tests
  • Added a resource manager for testing
  • Removed Demo.java
  • Added node injection with injection points at the root level
  • More things, see the diff below

Full Changelog: v0.0.2...v0.0.3

v0.0.2 - Javadoc and non-null parse tree node parents

05 Dec 03:16
646dd1e
Compare
Choose a tag to compare
  • Added Javadoc for all public classes and their members
  • Removed a null parent field as the identification method for local root nodes. EditContext now takes care of tracking local root nodes all on its own.
  • Added a Maven Central badge to the readme

Full Changelog: v0.0.1...v0.0.2

v0.0.1 - The initial tagged release

30 Nov 02:03
2c5a049
Compare
Choose a tag to compare
Pre-release

The initial release. The following features are available (also check the documentation):

  • GLSL Parsing
  • Parse tree transformation in stages
  • Pattern matching and tree visitation
  • Parse tree removal and addition
  • Whitespace-preserving re-printing

Full Changelog: https://github.com/douira/glsl-transformer/commits/v0.0.1