Releases: ossuminc/riddl
Releases · ossuminc/riddl
1.0.0-RC3 - Preparation for final 1.0.0 release
Build Changes
- Resolve issue with release artifact collection
- Create aliases for common per-environment build tasks & releasing
- Resolve native linking issues in GitHub workflow environment by providing include paths
- Use GitHub Packages as publishing destination instead of Maven
- Add handy aliases for target based build and test and packaging
Upgrades
- sbt-ossuminc → 0.20.4
Functional Changes
- Allow code literals in functions and on clauses to be handled by token parser
- Revise TokenParser to run faster per AI advice
- Use sttp client4 to implement NativePlatformContext.load properly
Cleanup
- Remove variable names from using statements when not needed
- Use "pc" as the variable name for PlatformContext
Full Changelog
1.0.0-RC1 First Release Candidate
What's Changed
- Make RIDDL build natively by @reid-spencer in #663
- Update airframe-ulid to 24.9.3 by @scala-steward in #702
- Update airframe-ulid to 24.12.1 by @scala-steward in #704
- OSS-122-token-parser-bugs by @reid-spencer in #706
- Update airframe-ulid to 24.12.2 by @scala-steward in #707
- Update sbt, scripted-plugin to 1.10.7 by @scala-steward in #708
- Update README.md by @reid-spencer in #709
- Flatten pass command by @reid-spencer in #710
Full Changelog: 0.56.0...1.0.0-RC1
0.56.0 - Support For RIDDL In Editors
What's Changed
Dependency updates
- Update pureconfig-core to 0.17.8 by @scala-steward in #692
- Update commons-io to 2.18.0 by @scala-steward in #693
New Parsing Mode
- Implement parsing to a list of tokens by @reid-spencer in #695
- Provided
TopLevelParser.parseToTokens
as a way to look at a RIDDL file as just a bunch of token types. The tokens are just case classes that contain anAt
to give you the location in the file where the token occurs. This can be used for highlighting or other uses where parsing for validity doesn't matter.
Application → Context
- Make language module changes for Application -> Context by @reid-spencer in #696
- This is a design change to the language. Application definitions are now replaced by Context. It turns out that Context and
Application were very similar so the Group/Input/Output hierarchy was relegated as Adaptor content. This allows the "App" (a context)
to be "adapted" to its logical input/output structure, which is all that's needed for specification.
Remove Hard Coded PlatformContext
- Remove overrides of PlatformContext by @reid-spencer in #698
- Several places in the code there was no
using PlatformContext
but instead the utilspc
version was used. This precludes the use of custom PlatformContexts as demonstrated by the riddl-idea-plugin.
Full Changelog: 0.55.0...0.56.0
0.54.0 - Many Important Steps Towards Multi-Platform Integration
What's Changed
- OSS-96 Refactor To Use PlatformContext As A
given
- Change the name of an option to conform to the pattern used by other options.
- Update sbt-ossuminc to 0.16.5
- Implement capturing URLs during parsing by
- #675 Provide lists of keywords, punctuation, and readability by
Full Changelog: 0.53.1...0.54.0
0.52.1 - Release Candidate 1 for 1.0
What's Changed
- Update commons-compress to 1.27.1 by @scala-steward in #646
- Simplify descriptions by @reid-spencer in #647
- Modules by @reid-spencer in #648
- Regularized syntax by @reid-spencer in #649
- Update commons-lang3 to 3.17.0 by @scala-steward in #650
Full Changelog: 0.48.1...0.52.1
0.48.1 - Build, CI and Test improvements
What's Changed
- Fix the conditions under which the hugo based documentation is updated to not build on branches and to include *.scala file changes
- Format the README page to keep badges of an ilk together
- Update dependency on commons-lang3 to 3.16.0
- Merge a branch with improvements in test coverage
- Many updates to scaladoc
- Get rid of all DRI warnings because they cause publishing to fail
Full Changelog: 0.48.0...0.48.1
0.48.0 - Scala.js Support
Overview
This is a major change. Scala.js support did not come without some perturbance to the API. Here are the main changes from what it used to be in 0.47.0:
- The language changed.
- An Entity's State is now a leaf definition, not supporting handlers in its body. There's no advantage to that
in the language and it make states and handler confusing. - All Epics and UseCases must now have a UserStory as part of their content. It no longer needs to be first, but that's recommended
briefly
anddescribed as
phrases after a definition may now be placed in the body of the definition. It is likely that the existing
support of post-definition documentation will be removed in a future release, after dependent riddl code is converted.
- An Entity's State is now a leaf definition, not supporting handlers in its body. There's no advantage to that
- The support of plugins is gone. Commands must be added to this code base and included directly. Plugins were prone to errors
used the classpath in unobvious ways and are not portable to Javascript nor scala-native (future plan). - All references to java.io.File and ilk have been removed. Doing files that way doesn't work in JVM.
- All I/O operations are through java.nio, but only for the JVM versions of the modules
- New support for a URL class was needed to encapsulate the various ways that java.nio.file.Path and java.io.File worked as well
as java.net.URL. The utils module now provides a URL class that works on both JS and JVM. - Not all of the potentially public APIs have been exported to Javascript; they are just the high-level important ones. This might restrict
functional access to lower-level APIs, but we'll add them upon request. - RIDDL API documentation is now available at https://riddl.tech/apidoc
- The hugo_geekdoc theme used by documentation as upgraded to 0.47.0
- All dependencies were upgraded, especially sbt-ossuminc, which went through several changes to support CrossProject compilation.
- Building the documentation site functionality was restored by fixing hugo.yml workflow
- The scala.yml workflow was fixed to only run SCoverage on JVM projects
- The Stats and DIagrams passes that were in the analysis module were moved to the passes module
- The testkit module was dissected, and its tests and testing support were moved to other modules
- The analysis and testkit modules were removed. This will likely happen to
prettify
in the future - LOTS of test cases were changed and moved and embellished and made to support Javascript and ...
What's Changed
Full Changelog: 0.47.0...0.48.0
0.47.0 - Improved Coverage & Dependency Updates
What's Changed
- Get Coverage > 90% In All Modules by @reid-spencer in #630
Full Changelog: 0.46.0...0.47.0
0.46.0 - Code Coverage & Documentation
What's Changed
- Add Scaladoc comments to all code in language & passes modules by @reid-spencer in #626
- Get Code Coverage > 80% by @reid-spencer in #627
Full Changelog: 0.45.0...0.46.0
0.45.0
What's Changed
- Convert to generalized option values by @reid-spencer in #618
- Put Hugo Back In by @reid-spencer in #617
- Clean Up Hugo Pass by @reid-spencer in #620
- Finish Stats Command by @reid-spencer in #621
- Hugo output formatting by @reid-spencer in #623
Full Changelog: 0.43.0...0.45.0