New Features
- Telemetry packet definitions
- Type aliases
- Port interfaces (named, reusable groups of ports)
- Externally managed parameters
- Exporting of type configurations to GDS dictionary
- Improved code generation for strings
- Code generation supporting improvements in F Prime
- Bug fixes
What's Changed
- Add telemetry packet specifiers to the FPP spec by @bocchino in #570
- Revise links to F Prime docs in User's Guide by @bocchino in #572
- Merge release branch into main by @bocchino in #589
- Add syntax for telemetry packets by @bocchino in #578
- Type alias spec by @Kronos3 in #583
- Add Odroid keepalive CI workflow by @thomas-bc in #597
- Merge v2.3.0 release branch into main by @bocchino in #599
- Telemetry packet semantics by @bocchino in #602
- Replace packet level with packet group by @bocchino in #604
- Fix bug in telemetry packet analysis (#608) by @bocchino in #609
- Add telemetry packets to JSON dictionary by @jwest115 in #607
- Revise links to F Prime docs by @bocchino in #614
- Type alias syntax & semantics by @Kronos3 in #591
- Add port number to assertions caused by disconnected ports by @jwest115 in #619
- Fix compilation error in fpp-to-cpp tests by @bocchino in #620
- Make generated C++ comply with -Wshadow by @bocchino in #618
- Improve quality of generated C++ by @bocchino in #624
- Add type aliases to JSON dictionary by @jwest115 in #627
- Fix alias type value conversion & cycles by @Kronos3 in #631
- Add final specifier to component implementation classes by @jwest115 in #623
- C++ code generation for telemetry packets by @bocchino in #632
- fixes issue 603: indenting for foo[x] -> \ bar by @mwette in #616
- Fix warnings that appear when compiling with gcc by @bocchino in #647
- Fix C++ code generation for ports with string return type by @bocchino in #653
- Update User's Guide by @bocchino in #650
- Add telemetry packets to fpp-from-xml by @bocchino in #655
- Add external parameters to the spec and syntax by @Brian-Campuzano in #654
- Implement Type Alias codegen by @Kronos3 in #645
- Fix regression in fpp-filenames and fpp-depend by @bocchino in #662
- Make event throttle counter atomic by @jwest115 in #656
- Expand fpp-to-json tests by @jwest115 in #660
- Mark Generated C/C++ files as generated by @Kronos3 in #658
- Make Component getTime function constant by @jwest115 in #663
- Check for negative port numbers by @jwest115 in #661
- Updated fpp-to-json tests and trace by @jwest115 in #667
- Fix to code generation for telemetry packets by @bocchino in #671
- Adds in
doDispatchHelpers and Tester Base Friend Class by @LeStarch in #670 - Remove builtin types by @Kronos3 in #669
- Changing port formatting to use proper formatter PRI_FwIndexType by @LeStarch in #673
- Fix omission in spec for type aliases by @bocchino in #674
- Document alias types in User's Guide by @bocchino in #675
- Fix string alias codegen by @Kronos3 in #676
- Fix bug in syntax writers by @bocchino in #677
- Fix bug in code gen for C++ constant defs by @bocchino in #680
- Fixed assert in from_prmSetOut_static by @Brian-Campuzano in #683
- Update the User's Guide to cover telemetry packets by @bocchino in #685
- External parameters component code generation and unit test by @Brian-Campuzano in #682
- Fast lexer by @Kronos3 in #684
- Generate loop for toString() on Struct member arrays by @Kronos3 in #690
- Fix F' config include path by @Brian-Campuzano in #696
- Fix issues with type aliasing and formatting by @bocchino in #705
- Add support for externally stored parameters by @Brian-Campuzano in #707
- Interface Specification by @Kronos3 in #691
- FPP to build on cloud aarch64 instance by @LeStarch in #715
- Require Fw Types in dictionary by @jwest115 in #686
- Add external parameters to F'' user's guide by @Brian-Campuzano in #695
- Turn off tracing by @LeStarch in #720
- Array toString() with loop by @Kronos3 in #716
- Merge release/3.0.0a11 into main by @bocchino in #721
- Updates corresponding to use of FwTaskPriorityType for task priority (nasa/fprime#3410) by @m-aleem in #711
- Update version stamp to "after v2.3.1" by @bocchino in #723
- Clean up numeric literal lexing by @Kronos3 in #726
- Add feature branches to ci by @LeStarch in #730
- Interfaces syntax by @Kronos3 in #708
- Interface semantics by @Kronos3 in #709
- Rework struct toString() by @Kronos3 in #733
- Interface C++ code gen testing by @Kronos3 in #710
- Fix bug in checking for duplicate names by @bocchino in #735
- Fix interface locs by @Kronos3 in #736
- Merge feature/interfaces into main by @bocchino in #739
- Revise handling of implied uses in topologies by @bocchino in #740
- Add DP implied uses to dictionary by @jwest115 in #742
- Fix base id and identifier range checking by @jwest115 in #749
- Add state machine Tester friend by @m-aleem in #753
- Interfaces Users Guide by @Kronos3 in #750
- Run CI on all non-draft PRs by @Kronos3 in #757
- CppWriter corresponding to making TimeBase an FPP enum by @m-aleem in #756
- Use topology qualified name for directory names by @jwest115 in #760
- Remove use of PROTECTED, PRIVATE by @m-aleem in #754
- Change struct getters/setters to include _ by @LeStarch in #761
- Clang 20.1 UT Errors by @m-aleem in #764
- Use dynamic size for array and struct records by @jwest115 in #765
- Deprecate serialize/deserialize in favor of [de]serialize[From/To] by @Kronos3 in #766
- Remove
fpp-to-xmlfrom docs by @bocchino in #771 - Use dynamic serialized size for array records of structs and arrays by @jwest115 in #772
- Update version stamp to v3.0.0 by @bocchino in #773
New Contributors
- @mwette made their first contribution in #616
- @Brian-Campuzano made their first contribution in #654
- @m-aleem made their first contribution in #711
Full Changelog: v2.3.0...v3.0.0