Releases: IrisShaders/glsl-transformer
v0.6.0 - Parsing error reporting and injection bug fix
- 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. (SeeTransformationManagerTest
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
- 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
andgetLexer
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
- 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
- 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
- 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
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