Skip to content

Releases: ossuminc/riddl

Resolve Build Issues

30 Oct 16:12
Compare
Choose a tag to compare
Resolve Build Issues Pre-release
Pre-release

This release fixes a few build problems that were preventing the statistics and diagrams modules from being released to Maven.

0.27.2

30 Oct 00:41
Compare
Choose a tag to compare
0.27.2 Pre-release
Pre-release

What's Changed

Full Changelog: 0.27.1...0.27.2

0.27.1 - Improvements Syntax of Epics and Applications

03 Oct 15:19
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.27.0...0.27.1

0.27.0 - Significant sbt-riddl upgrade

01 Oct 19:54
60f57d6
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Remove the need to set the riddlcPath setting
  • riddlc will be found by either RIDDLC_PATH environment variable or by searching the PATH environment variable
  • Set riddlcOptions to a list of strings to allow a consistent set of arguments to be set on all commands. Stuff like "--verbose" or eliminate style warnings or turn on --show-times
  • Set riddlcConf to specify the root-relative path to a .conf file that provides configurations for various commands
  • in addition to providing the generic "riddlc" command, there are now sbt commands for info, stats, validate, and hugo

Full Changelog: 0.26.0...0.27.0

Release 0.26.0 - Faster, Better, Stronger

29 Sep 16:43
50cdffd
Compare
Choose a tag to compare

What's Changed

Features

  • Add aggregate method definitions for ADT support by @reid-spencer in #439
  • Revise the Stats command to calculate more, better, accurate statistics in
  • Handle single-entry path names with the symbol table
  • Refactor resolveAPathId, fix bugs, handle more cases,
  • Don't rely on a Tuple for proper hash function
  • Permit a top-level Path Id to be "Root"
  • Remove the unused FileWatcher utility which was unreliable passing tests some of the time
  • Fix alternation formatting in
  • Revise path resolution yet again
  • Improve sbt-riddl support with ability to specify both riddlcOptions and riddlcConf file
  • Fix sbt-riddl to support testing libraries automatically in the project in which the plugin is enabled

Build

  • Update sbt to 1.9.6 by @scala-steward in #433
  • Updates to support JDK 21 library changes and functionality by @reid-spencer in #434
  • Putting AST back into a single Scala object reduces compilation time and doc gen time significantly and forces compiler
    to find lurking bugs.
  • Install WartRemover For #331 by @reid-spencer in #442

Bug Fixes:

  • Issue 435 & 436: Included Files With Syntax Errors Yield Tacit Success by @reid-spencer in #437
  • Don't allow empty definition bodies to prevent error short circuit by @reid-spencer in #440

Full Changelog: 0.24.1...0.26.0

0.24.1 - Simplification Of On Clauses

15 Sep 17:55
Compare
Choose a tag to compare
Pre-release

Replace examples, expressions, and values with simple statements expressing business logic and supporting cross-definition linkage (for validation). This change aims to simplify the pseudo-code in an On Clause so that it still exhibits referential links that can be validated and makes it far easier to write pseudo-code that someday LLMs can use to generate actual code.

Documentation will be updated in a subsequent minor release.

Full Changelog: 0.24.0...0.24.1

0.23.0 - deal with scala 3.2.2 doc bug, upgrade dependencies

30 May 17:44
376ae27
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.22.0...0.23.0

0.22.0 Scala 3 & New Features

08 May 15:58
759cf63
Compare
Choose a tag to compare
Pre-release

Language Changes:

  • Function definitions are allowed in all Processors
  • The "actor" definition was renamed as "user" to differentiate from Use Cases and Actor Model
  • On Clauses can now be named, to more simply reference the data in the message being handled.
  • Context definitions now support "replica" definitions for certain kinds of data to provide CRDT-type behavior in a cluster

Other Changes:

  • Removed various unused classes
  • A new pass infrastructure was implemented in the "passes" module. Language is now just the parser and AST
  • Add a regression test for poorly constructed Path Identifier

Upgrades:

  • sbt-coveralls 1.3.8
  • fastparse 3.0.1
  • pureconfig-core to 0.17.3

Full Changelog:

NOTE:

The zip file below does not have documentation in it because the change to Scala 3 prevented that. We will resolve this problem in the next release.

0.21.0

08 Apr 12:55
Compare
Choose a tag to compare
0.21.0 Pre-release
Pre-release

What's Changed

fix #357 and so much more

  • Created a replication test case in the RegressionTest suite
  • Created a new Pass mechanism for processing the AST in multiple passes. This was long overdue and
    necessary to solve #357 because of competing strategies between resolution and validation. Passes come in
    two flavors: visit-each-node-once, and hierarchical. The hierarchical flavor visits each container node
    twice: once before its children and once after. Passes are chainable and accumulate output as the chain
    runs. Passes can declare which other passes should have run previously, and this is runtime validated to
    esnure a pass has needed output from prior passes.
  • Refactored the existing merged symbols, path resolution, and validation to use the Pass infrastructure
  • Reorganize code in the language module to be more pass-oriented
  • Abandon the use of caret "pop" notation in path identifiers. All paths must now strictly use only dot-separated
    path notation with no caret (^) indicating pop one parent. This is easier to read, faster to resolve, and less ugly
    in syntax. The search for the first dotted name was expanded to include not just the names of the parents, but
    also the parent's children. This turns out to be very convenient.
  • A variety of test cases were improved and expanded to compensate for bugs found during refactoring
  • The pass timer logic was moved to utils, and its TimerTest was corrected to avoid millisecond-level jitter
  • As a first test of the Pass infrastructure, the Stats command's functionality was turned into a Pass. This
    involved creating a PassCommand, which forms the intersection of the Command and Pass designs. This
    should be the preferred design choice for future commands that involve a pass through the AST.
  • To support the Hugo and Prettify commands, a TranslationCommand was added to ensure the consistency of
    options processing for translators and based on the PassCommand to use the Pass infrastructure.
  • Converted the Hugo command and Prettify command to use the PassCommand design.

Fix #359

  • show the duplicates in an error message so they are easier to find
  • change duplicate warnings to be errors instead

Upgrades

Miscellaneous

Full Changelog

0.20.5 - Improvements From Course Development

01 Mar 18:39
46301cd
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.20.3...0.20.5