# Revision history for ogma-core

## [1.15.0] - 2026-07-21

* Version bump (1.15.0) (#508).
* Remove commented code from `Data.Spec.Parser` (#430).
* Remove redundant `where` block (#432).
* Fix incorrect Haddock comment syntax (#434).
* Remove redundant occurrences of `MultiWayIf` pragma (#440).
* Fix indentation of record fields in multiple backends (#442).
* Move expressions from `let` block into `where` clause (#444).
* Update backends to use state machine module from `copilot-libraries` (#446).
* Leverage `Data.ExprPair.exprPair` in `Command.Diagram.exprPair` (#448).
* Remove empty Haddock section heading from `Command.Diagram` (#450).
* Add missing dependency to Cabal file (#458).
* Adjust overview command to accept multiple input files (#456).
* Add Copilot file from F Prime template to data-files in Cabal file (#462).
* Add module defining Ogma projects (#460).
* Introduce search command (#464).
* Remove unnecessary vertical space (#470).
* Allow using file name as requirement ID in JSON or YAML files (#472).
* Allow controlling when monitors are re-evaluated in cFS apps (#474).
* Extend cFS backend with diagram mode (#476).
* Replace mentions of ICAROUS (#482).
* Adjust report command to accept multiple input files (#486).
* Apply multiple style fixes (#492).
* Adjust cFS app template to allow customizing MIDs (#494).
* Allow variable DB topics to carry extra info available to cFS template (#496).
* Make variable field names available to ROS template when present (#499).
* Adjust ROS template to enable injecting dependencies (#500).
* Bump upper version constraints on Copilot packages (#501).
* Update cFS template for cFS 7.0 (#509).
* Update `Dockerfile` in ROS 2 template for Space ROS `jazzy-2026.04.0` (#512).

## [1.14.0] - 2026-05-21

* Version bump (1.14.0) (#425).
* Bump upper version constraints on Copilot packages (#377).
* Lower upper version bound on `megaparsec` (#380).
* Bump upper version constraint on Quickcheck (#382).
* Adjust `Common.Diagram` module to use `Command.Common.ExprPair` (#384).
* Add support for reading diagrams to overview command (#386).
* Augment overview command to formally analyze diagrams (#388).
* Move functions related to `Either` type to dedicated module (#391).
* Move function related to JSON objects to dedicated module (#393).
* Move definitions related to `ExprPair` type to dedicated module (#395).
* Move functions related to Copilot specs to dedicated modules (#397).
* Rename module to more accurately reflect intent (#399).
* Move auxiliary function into new auxiliary module (#401).
* Split `Command.CommonDiagram` into smaller, more cohesive modules (#403).
* Simplify internal definition `showTransitions` (#405).
* Add diagram query functions to `Data.Diagram` (#407).
* Factorize translation of diagrams to Copilot into separate module (#409).
* Remove unnecessary arguments in code generated by diagram backend (#411).
* Move functions related to reading specs to dedicated module (#413).
* Make standalone, app backends support working directly with diagrams (#415).
* Add support for reading specs from YAML files (#417).
* Fix order of arguments in calls to internal function (#419).
* Adjust standalone, app backends to support multiple input specs (#421).
* Introduce report command (#423).

## [1.13.0] - 2026-03-21

* Version bump (1.13.0) (#373).
* Remove unused functions from diagram template (#351).
* Add dockerfile to cFS template (#353).
* Augment overview command to formally analyze specs (#356).
* Augment overview command to determine consistency of specs (#366).
* Expand extra definitions in Copilot specs in templates (#368).

## [1.12.0] - 2026-01-21

* Version bump 1.12.0 (#336).
* Add support for state machine mermaid diagrams (#328).
* Add support for sequence diagrams in Mermaid (#330).

## [1.11.0] - 2025-11-21

* Version bump 1.11.0 (#325).
* Make state machine code return the current state (#317).
* Negate condition in state machine monitor (#318).

## [1.10.0] - 2025-09-21

* Version bump 1.10.0 (#310).
* Add to ROS 2 template handling methods for triggers with no args (#287).
* Install packages locally in ROS 2 dockerfile (#288).
* Fix handling of message fields in cFS template (#296).
* Avoid unnecessary recompilation of generated cFS app (#299).
* Remove tabs from cFS template code (#294).
* Fix duplicate linkage of Copilot code in generated cFS app (#297).
* Use alternate name for Copilot's step function in cFS template (#303).
* Replace NOSA license with Apache license (#293).

## [1.9.0] - 2025-08-06

* Version bump 1.9.0 (#284).
* Extend ROS backend to generate testing package (#280).

## [1.8.0] - 2025-07-13

* Version bump 1.8.0 (#275).
* Introduce overview command (#272).
* Extend code backends to accept expressions to monitor as arguments (#121).

## [1.7.0] - 2025-03-21

* Version bump 1.7.0 (#268).
* Import liftIO from Control.Monad.IO.Class (#215).
* Remove references to old design of Ogma from hlint files (#220).
* Bump upper version constraint on aeson, text (#225).
* Remove extraneous EOL character (#224).
* Make structured data available to cFS template (#229).
* Update Copilot struct code generator to use new function names (#231).
* Simplify Copilot struct definitions by using generics (#199).
* Update cFS backend to process a handlers file (#234).
* Update cFS backend to process a template variables file (#106).
* Remove dependency on ICAROUS from generated cFS applications (#237).
* Remove incorrect function declaration from template (#240).
* Re-structure cFS backend to avoid nested conditions (#242).
* Make structured data available to ROS template (#244).
* Make structured data available to FPrime template (#246).
* Equalize backends (#248).
* Update ROS, FPrime, standalone backends to process template vars file (#250).
* Make cFS backend accept spec as input (#252).
* Make cFS, ROS, FPrime backends generate Copilot monitor (#107).
* Standardize variable DB format across backends (#256).
* Make backends accept additional data to be passed to handlers (#219).
* Add support to read properties from CSV files (#261).
* Add support to read properties from XLSX files (#263).
* Add all auxiliary test files to distributable Cabal package (#258).
* Update to support boolean expressions in the Lustre language (#267).

## [1.6.0] - 2025-01-21

* Version bump 1.6.0 (#208).
* Replace queueSize with QUEUE_SIZE in FPP file (#186).
* Use template expansion system to generate F' monitoring component (#185).
* Use template expansion system to generate standalone Copilot monitor (#189).
* Add repository information to cabal package (#148).
* Add version bounds to all dependencies (#119).
* Add command to transform state diagrams into monitors (#194).
* Extend standalone command to use external process to parse properties (#197).
* Enable using user-provided file as format definition spec (#200).
* Add support for XML files to standalone backend (#202).
* Extend support for file, property formats across backends (#204).
* Add java runtime to Dockerfile generated by FPrime backend (#206).

## [1.5.0] - 2024-11-21

* Version bump 1.5.0 (#178).
* Fix incorrect path when using Space ROS humble-2024.10.0 (#158).
* Use template expansion system to generate cFS monitoring application (#157).
* Use template expansion system to generate ROS monitoring application (#162).
* Fix comment in generated Copilot spec (#164).
* Add missing notPreviousNot to generated spec (#168).
* Introduce new standalone command (#170).
* Correct name in documentation (#176).

## [1.4.1] - 2024-09-21

* Version bump 1.4.1 (#155).
* Remove dependency on IfElse (#150).
* Replace homepage (#147).

## [1.4.0] - 2024-05-21

* Version bump 1.4.0 (#145).
* Make ros command generate dockerfile (#136).
* Map float and double to the same types in C++ (#138).

## [1.3.0] - 2024-03-21

* Version bump 1.3.0 (#133).
* Fix missing stream name substitution (#120).
* Use generalized JSON parser for DB Spec (#122).
* Fix translation of equivalence boolean operator from SMV (#126).
* Sanitize handler names (#127).
* Use same handler name in FPrime/ROS and Copilot (#130).

## [1.2.0] - 2024-01-21

* Version bump 1.2.0 (#117).
* Generalize JSON parser (#115).

## [1.1.0] - 2023-11-21

* Version bump 1.1.0 (#112).
* Remove trailing spaces from cFS app template (#108).
* Replace all mentions of the Sample App (#105).

## [1.0.11] - 2023-09-21

* Version bump 1.0.11 (#103).
* Support MTL operators with number ranges in SMV (#101).

## [1.0.10] - 2023-07-21

* Version bump 1.0.10 (#98).
* Correct test case (#96).

## [1.0.9] - 2023-05-21

* Version bump 1.0.9 (#93).
* Allow customizing the names of the C files generated by Copilot (#80).
* Translate ZtoPre and YtoPre to Copilot (#86).

## [1.0.8] - 2023-03-21

* Version bump 1.0.8 (#81).
* Support inequality operator in SMV and CoCoSpec (#71).
* Introduce new F' (FPrime) backend (#77).
* Mark package as uncurated (#74).

## [1.0.7] - 2023-01-21
* Version bump 1.0.7 (#69).
* Introduce new ROS2 backend (#56).

## [1.0.6] - 2022-11-21

* Version bump 1.0.6 (#64).
* Update license in cabal file to OtherLicense (#62).

## [1.0.5] - 2022-09-21

* Version bump 1.0.5 (#60).
* Bump version bounds of Aeson (#55).
* Support floating point numbers in SMV expressions (#58).

## [1.0.4] - 2022-07-21

* Version bump 1.0.4 (#53).
* Address all hlint suggestions (#51).

## [1.0.3] - 2022-05-21

* Version bump 1.0.3 (#49).
* Conformance with style guide (partial) (#45).

## [1.0.2] - 2022-03-21

* Version bump 1.0.2 (#43).
* Fix compilation error in unit tests (#42).
* Remove reduntant parenthesis (#40).

## [1.0.1] - 2022-01-21

* Version bump 1.0.1 (#39).
* Align definitions consistently (#35).
* Indent ogma-core:Language.Trans.CStruct2CopilotStruct.buildCField (#36).
* Indent ogma-core:Command.Result module declaration (#37).

## [1.0.0] - 2021-11-22

* Initial release.
