Releases: AdaCore/RecordFlux
Releases · AdaCore/RecordFlux
v0.24.0
Added
- Vim and Neovim syntax highlighting support (eng/recordflux/RecordFlux#1749)
- Project file support in code optimizer (eng/recordflux/RecordFlux#1766)
Changed
- CLI subcommand
rflx optimize
expects project file instead of directory containing generated code (eng/recordflux/RecordFlux#1766) - Improve generation of predicate for single-field messages (eng/recordflux/RecordFlux#1761)
- Rename Session to State Machine in documentation (eng/recordflux/RecordFlux#1772)
- Rename
session
keyword tomachine
in specifications (eng/recordflux/RecordFlux#1772) - Rename
Session
keyword toMachine
in integration files (eng/recordflux/RecordFlux#1772) - Rename
*_Functions.Context
to*_Environment.State
to prevent confusions (eng/recordflux/RecordFlux#1769) - Exception transitions are required in more cases as result of fixing missing checks in state machine (eng/recordflux/RecordFlux#1704)
Removed
- CLI flag
--optimize
ofrflx generate
subcommand (eng/recordflux/RecordFlux#1766) - CLI option
--timeout
ofrflx generate
andrflx optimize
subcommands (eng/recordflux/RecordFlux#1766) Initialize
andFinalize
functions for session functions context (eng/recordflux/RecordFlux#1768)
Fixed
- Generation of uncompilable code for messages with variable as field condition (eng/recordflux/RecordFlux#1762)
- Missing checks in state machine to improve provability (eng/recordflux/RecordFlux#1704)
- Copying of sequence fields for external IO buffers (eng/recordflux/RecordFlux#1704)
- Syntax highlighting for identifiers with numbers or keywords (#1301, eng/recordflux/RecordFlux#1776)
- Fatal errors caused by missing locations after proof timeouts (eng/recordflux/RecordFlux#1782)
- Fatal errors when generating code for list comprehensions without condition or
True
condition (#1302, eng/recordflux/RecordFlux#1786)
v0.23.0
Changed
- Enhance diagnostics when a message parameter is not a scalar (eng/recordflux/RecordFlux#1740)
- Improve diagnostics phrasing (eng/recordflux/RecordFlux#1714)
- Enhance diagnostics when a message field and its type have a size aspect (eng/recordflux/RecordFlux#1746)
Fixed
- Generic setters for opaque fields
- Separation of externally defined functions from state machine (#1032, eng/recordflux/RecordFlux#1032)
- Missing checks in state machine to improve provability (eng/recordflux/RecordFlux#1704)
v0.22.0
Added
- Support for FSF GNAT 14.1 (eng/recordflux/RecordFlux#1679)
- New error message format (eng/recordflux/RecordFlux#1582)
- CLI flag
--legacy-errors
to restore previous error message format (eng/recordflux/RecordFlux#1685) - Info message for skipped verifications (eng/recordflux/RecordFlux#1723)
- Possibility to use externally defined IO buffers in state machines (eng/recordflux/RecordFlux#1496)
Changed
- Display message fields involved in a cycle (#256, eng/recordflux/RecordFlux#256)
- Software license from AGPL-3.0 to Apache-2.0 (eng/recordflux/RecordFlux#1671)
- LLVM exception in addition to Apache-2.0 for generated code (eng/recordflux/RecordFlux#1671)
- Cache directory from
$HOME/.cache/RecordFlux
to$PWD/.rflx_cache
(eng/recordflux/RecordFlux#1723) - Severities of error messages (eng/recordflux/RecordFlux#1698, eng/recordflux/RecordFlux#1685, eng/recordflux/RecordFlux#1701)
- Improve suggestions when a package name is not correct (eng/recordflux/RecordFlux#1611)
- Improve several error messages (eng/recordflux/RecordFlux#1638, eng/recordflux/RecordFlux#1648, eng/recordflux/RecordFlux#1660, eng/recordflux/RecordFlux#1661, eng/recordflux/RecordFlux#1662, eng/recordflux/RecordFlux#1663, eng/recordflux/RecordFlux#1681, eng/recordflux/RecordFlux#1703, eng/recordflux/RecordFlux#1708, eng/recordflux/RecordFlux#1713, eng/recordflux/RecordFlux#1720, eng/recordflux/RecordFlux#1721)
- Improve implementation of
Field_First_Internal
function (eng/recordflux/RecordFlux#1707, eng/recordflux/RecordFlux#1706)
Fixed
- Bug box for aspect without expression (eng/recordflux/RecordFlux#1555, eng/recordflux/RecordFlux#1559)
- Bug box for division and modulo by 0 in numeric expression (eng/recordflux/RecordFlux#1556)
- Bug box for unary - preceding unary + in expression (eng/recordflux/RecordFlux#1558)
- Bug box for missing operand (eng/recordflux/RecordFlux#1560)
- Bug box for negated expressions (eng/recordflux/RecordFlux#1561, eng/recordflux/RecordFlux#1569)
- Bug box for duplicated operator (eng/recordflux/RecordFlux#1562)
- Bug box for link to missing field (eng/recordflux/RecordFlux#1566)
- Show bug box on fatal errors in the language server (eng/recordflux/RecordFlux#1666)
- Infinite recursion for duplicate declaration (eng/recordflux/RecordFlux#1557)
- Corruption of verification cache (eng/recordflux/RecordFlux#1655, eng/recordflux/RecordFlux#1718)
v0.21.0
Changed
- Improve error messages for type refinements of non-message types (#383, eng/recordflux/RecordFlux#383)
Fixed
- Generation of uncompilable code in the presence of some Boolean conditions (eng/recordflux/RecordFlux#1365)
- Exception when checking specification in GNAT Studio (eng/recordflux/RecordFlux#1492)
v0.20.0
Added
- Possibility to use multiple initial links in messages to allow the first message field to be defined by parameter values (#764, eng/recordflux/RecordFlux#764)
Changed
- Improve performance of code optimizer (requires SPARK 25; eng/recordflux/RecordFlux#1533)
Fixed
- Parsing of messages that depend on fraction comparisons in PyRFLX (#981, eng/recordflux/RecordFlux#981)
- Installation of VS Code extension (eng/recordflux/RecordFlux#1544)
v0.19.0
Added
- Prevent different casings for same entity (#563, eng/recordflux/RecordFlux#563)
- Code optimizer that removes unnecessary checks in generated state machine code (eng/recordflux/RecordFlux#1525)
Fixed
- Unexpected errors when using different casings for same entity (#562, eng/recordflux/RecordFlux#1506)
v0.18.0
Added
- Pragma marking all generated files as Ada 2012 (#1293, eng/recordflux/RecordFlux#1509)
--no-caching
option torflx
(eng/recordflux/RecordFlux#1488)- Model verification caching to validator
Changed
- Insert/Extract functions accept Byte array instead of access type (eng/recordflux/RecordFlux#1515)
Fixed
- Various inaccuracies in Language Reference (#958, eng/recordflux/RecordFlux#958)
- Erroneous acceptance of consecutive / trailing underscores (eng/recordflux/RecordFlux#1468)
- Fatal error when digit in numeric literal exceeds base (eng/recordflux/RecordFlux#1469)
- Fatal error when unsupported base is used in numeric literal (eng/recordflux/RecordFlux#1470)
- Missing diagnostics provided by language server
--split-disjunctions
options ofrflx validate
- Misleading CLI output about verification (#1295, eng/recordflux/RecordFlux#1522)
v0.17.0
Fixed
- Fatal error when comparing opaque fields (#1294, eng/recordflux/RecordFlux#1497)
- Fatal error when GraphViz is missing (eng/recordflux/RecordFlux#1499)
- Missing rejection of sequences of parameterized messages (eng/recordflux/RecordFlux#1439)
Removed
- Verification of message bit coverage (eng/recordflux/RecordFlux#1495)
v0.16.0
Added
- Support for FSF GNAT 13.2 (eng/recordflux/RecordFlux#1458)
--reproducible
option torflx generate
andrflx convert
(eng/recordflux/RecordFlux#1489)
Changed
- Improve parallelization of message verification (#444, eng/recordflux/RecordFlux#444)
- Improve message verification (#420, #1090, eng/recordflux/RecordFlux#420, eng/recordflux/RecordFlux#1090, eng/recordflux/RecordFlux#1476)
Fixed
- Proving of validity of message field after update with valid sequence (eng/recordflux/RecordFlux#1444)
- Style check warnings for license header (#1293, eng/recordflux/RecordFlux#1461)
v0.15.0
Added
- Support for SPARK Pro 24.0 (eng/recordflux/RecordFlux#1409)
- Support for GNAT Pro 24.0 (eng/recordflux/RecordFlux#1443)
Changed
- Syntax for passing repeated
-i
and-v
options torflx validate
(eng/recordflux/RecordFlux#1441) - Simplify setter code and remove internal
Successor
function (eng/recordflux/RecordFlux#1448) - Improve names of enum literals generated from IANA registries (eng/recordflux/RecordFlux#1451)
Fixed
- User defined
GNATCOLL_ICONV_OPT
environment variable is ignored (#1289, eng/recordflux/RecordFlux#1437) - Fatal errors caused by condition on message type field (#1291, eng/recordflux/RecordFlux#1438)
Removed
- Support for SPARK Pro Wavefront 20230905 (eng/recordflux/RecordFlux#1409)
- Short form field conditions (eng/recordflux/RecordFlux#617)