Skip to content

Releases: nasa/trick

Trick Simulation Environment 25.0.0

17 Dec 15:58

Choose a tag to compare

New in Trick 25.0.0

  • Jperf realtime performance analysis tool - Allows users to visualize realtime performance if frame logging was enabled during a simulation run. Located at bin/trick-jperf.
  • Look and feel options for trick-tv
  • enforcing cpp17 on Trick itself. Users can define any standard for their individual simulations builds.
  • Updated documentation for best practices when attempting to run in hard realtime
  • Support for llvm/clang 20/21 and gcc 11/13
  • Added multi-rate integration and logging support
  • New Trickify capability which expands upon previous version to compile normally static code into libraries for faster build iterations. Classic trickification still allowed.
  • Enhanced Variable Server to support interaction with some STL container types: Vector, Array, and Deque. Supported element types listed in PR #1996. More STLs planned in future release. Allows viewing and updating of single-layer supported containers (so no vectors of vectors of vectors).
  • Added ROS2-compliant example publisher/subscriber simulations using fastDDS protocol.
  • Size checking via Variable Server on dynamically-allocated arrays and supported STL containers
  • Including with release binary installers for RHEL8-flavored and Ubuntu-flavored OSs. Mac installer to come.

What's Changed

  • Bump cross-spawn from 7.0.3 to 7.0.6 in /trick_source/web/dashboard by @dependabot[bot] in #1806
  • Bump path-to-regexp and express in /trick_source/web/dashboard by @dependabot[bot] in #1815
  • TrickOps: Update send_hs.py to work with latest Trick output by @ddj116 in #1810
  • Bump nanoid from 3.3.6 to 3.3.8 in /trick_source/web/dashboard by @dependabot[bot] in #1818
  • Updated to Github actions v4 by @hchen99 in #1823
  • 1811 dont override users cc and cpp env for data products by @hchen99 in #1819
  • 1821 action required GitHub actions v4 update for actions@checkout by @hchen99 in #1824
  • Changed test report version back to v1. by @hchen99 in #1829
  • Changed test report version to v1 by @hchen99 in #1830
  • Added the workaround for GitHub test report v1 to work with action v4. by @hchen99 in #1831
  • Customized FindBar class that used to extend JXFindBar now extends JPanel. by @hchen99 in #1827
  • Updated not to process *io as for io(<io_spec>). by @hchen99 in #1828
  • Revert "Added the workaround for GitHub test report v1 to work with action v4." by @hchen99 in #1836
  • Updated to include pre_integration job frame logging. by @hchen99 in #1841
  • To support ubuntu24, clang 18+, and gcc13. by @hchen99 in #1804
  • Frame Performance Tool- jperf by @jmpenn in #1785
  • Update Realtime Best Practices with advice on setting realtime software frame. by @jmpenn in #1845
  • Update testing build to use C++14 which is required for gtest. by @jmpenn in #1855
  • Resolved the segmentation fault issue when loading a checkpoint with HDF5 data recording enabled. by @hchen99 in #1837
  • Made 2 frame gifs work by @Pherring04 in #1852
  • Updated DRHDF5.cpp to include . by @hchen99 in #1856
  • Trick bin fix by @Pherring04 in #1858
  • Bump @babel/helpers from 7.23.1 to 7.26.10 in /trick_source/web/dashboard by @dependabot[bot] in #1857
  • Default to --report when run in batch. Also remove debug message output. by @jmpenn in #1862
  • Turned on look and feel for tv by @hchen99 in #1861
  • Add How-to-Use-trick-jperf guide to How-to's. by @jmpenn in #1864
  • Added a button & menu item for resetting the variable table to its default order by @hchen99 in #1867
  • Updated to support llvm 20 by @hchen99 in #1868
  • Updated to use format method for string in .i file and %lu for tv_usec by @hchen99 in #1872
  • Adding missing items to .gitignore to MM test and missing .gitignore file to trick_adt test. by @hchen99 in #1879
  • Updated to transmit sie files from the proper directory by @hchen99 in #1863
  • Integrated MultiDtInteg classes into Trick build. by @excaliburtb in #1844
  • Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /trick_source/web/dashboard by @dependabot[bot] in #1883
  • Updated to only compute offset for virtual inherited public fields. by @hchen99 in #1881
  • Jperf refactor by @jmpenn in #1880
  • Bump @babel/runtime in /trick_source/web/dashboard by @dependabot[bot] in #1884
  • Fix several ICG class template bugs by @ninotarantino in #1871
  • Bump serialize-javascript from 6.0.1 to 6.0.2 in /trick_source/web/dashboard by @dependabot[bot] in #1885
  • Update Realtime-Best-Practices to mention trick-jperf by @jmpenn in #1886
  • Pin googletest after install to prevent it from being upgraded later. by @hchen99 in #1890
  • Updated to install googltest 1.16.0 specifically as 1.17.0 needs C++17. by @hchen99 in #1891
  • Added interface file includes for C++ types supported by swig by @M-Herr in #1853
  • Resolved comments being parsed inside strings by @Pherring04 in #1877
  • Support RHEL8 on PowerPC architecture #1700 by @alexlin0 in #1702
  • Make Trick tests compatible with latest googletest 1.17 for Mac #1907 by @alexlin0 in #1908
  • Make Trick core c++20 compatible #1905 by @alexlin0 in #1906
  • Ignore some warnings while compiling SWIG generated code #1899 by @alexlin0 in #1901
  • configure script should look under /opt/homebrew for header and libra… by @alexlin0 in #1897
  • FPEs don't work on Macs #1914 by @alexlin0 in #1915
  • JIT compile call should load resulting library #1912 by @alexlin0 in #1913
  • Added enum struct support the same way as enum class. by @hchen99 in #1917
  • Switched to use macos-14 for macOs CI workflow. by @hchen99 in #1902
  • Enum struct support by @hchen99 in #1921
  • Added a check for unconstrained dimensions boundary. by @hchen99 in #1922
  • Bump form-data from 3.0.1 to 3.0.4 in /trick_source/web/dashboard by @dependabot[bot] in #1926
  • Bump on-headers and compression in /trick_source/web/dashboard by @dependabot[bot] in #1924
  • Changed the swig version check for std_wstring.i. by @hchen99 in #1925
  • Updated to call command_line_args_process_sim_args before memory_init() in master.cpp by @hchen99 in #1927
  • Fix DR_Changes_Step by @dbankieris in #1920
  • Add capability to save input file used during run #1928 by @alexlin0 in #1930
  • Allow environment variables when specifying trickops comparison data … by @alexlin0 in #1939
  • Ascii data recording assumes boolean is 4 bytes wide on Mac #1936 by @alexlin0 in #1937
  • Add capability to save input file used during run #1928 by @alexlin0 in #1935
  • Updated to allow to use index [0] on regular pointer. by @hchen99 in #1929
  • Add LLVM 21 support. by @hchen99 in #1951
  • Add python virtual environment path to Input processor search path #1944 by @alexlin0 in #1945
  • Updated the TV app to have a shorter timeout when attempting to connect to the var server. by @hchen99 in #1940
  • Added or cases to optional job tags by @Pherring04 in #1910
  • Updated to avoid double-counting object files generated by yacc or lex when included in .a file. by @hchen99 in #1948
  • Updated to use macos-15. by @hchen99 in #1959
  • Resolves potential-for-fpe-in-run_ratio-sample-calcs by @excaliburtb in #1958
  • Bump ws in /trick_source/web/dashboard by @dependabot[bot] in #1961
  • Bump brace-expansion in /trick_source/web/dashboard by @dependabot[bot] in #1960
  • python cast to void ptr by @excaliburtb in #1963
  • Fix printing doubles in PythonPrint by @brendan-nasa in #1968
  • Introduce the option to ...
Read more

Trick Simulation Environment 19.7.3

20 Nov 17:23

Choose a tag to compare

What's Changed

  • 1722 documentation placeholder instead of link by @Mrockwell2 in #1723
  • Updated Trick Install Guide for macOS. by @hchen99 in #1721
  • Fix typo in Realtime Best Practices by @Codym48 in #1732
  • Updated the MacOS CI workflow so that bash won't exit with brew upgrade exits with non-zero exit code. by @hchen99 in #1733
  • Bump braces from 3.0.2 to 3.0.3 in /trick_source/web/dashboard by @dependabot in #1734
  • 1720 websocket freeze issue by @Mrockwell2 in #1724
  • Corrected .d file path for the clean target in Makefile.input file. by @hchen99 in #1735
  • CentOS CI Fix by @Pherring04 in #1738
  • CentOS 7 CI Failures - Run CentOS CI with Node 16 instead of 20 by @Pherring04 in #1739
  • Repurposed -OO for all sim run outputs including S_sie.resource being saved in the specified directory. by @hchen99 in #1714
  • Fix for assigning to non-existent variables (#1708) by @keithvetter in #1718
  • Added swig support for templates with array parameters by @Pherring04 in #1742
  • SWIG 4 Template Directive Changes by @Pherring04 in #1741
  • Added TRICK_LDFLAGS to the rule for linking shared library for jit input. by @hchen99 in #1745
  • Speed up Trick::ScheduledJobQueue::push by @iamthad in #1694
  • 1747 create a document page for simulation control panel by @Mrockwell2 in #1750
  • Need a bit more info in Integrator class by @excaliburtb in #1760
  • Updated to use default-jdk package instead of openjdk-11-jdk for ubuntu. by @hchen99 in #1757
  • 1758 turning off monte carlo warning by @Mrockwell2 in #1761
  • Wiki button by @Pherring04 in #1755
  • Update Input-File.md to describe the Factory Function method of alloc… by @jmpenn in #1763
  • Bump micromatch from 4.0.5 to 4.0.8 in /trick_source/web/dashboard by @dependabot in #1767
  • Bump webpack from 5.88.2 to 5.94.0 in /trick_source/web/dashboard by @dependabot in #1766
  • Updated trickops.yml to use a newer Ubuntu by @hchen99 in #1769
  • Bump path-to-regexp and express in /trick_source/web/dashboard by @dependabot in #1780
  • Bump serve-static and express in /trick_source/web/dashboard by @dependabot in #1782
  • Bump send and express in /trick_source/web/dashboard by @dependabot in #1783
  • Added optional remote shell config file for the remote startup command. by @hchen99 in #1771
  • Added sub second information to message time stamps. by @hchen99 in #1773
  • Fixed one warning message at shutdown after checkpoint load and kept the current multicast group after checkpoint load. by @hchen99 in #1784
  • Add deletions to tracking list if malloc or new by @excaliburtb in #1778
  • Preserved job queue currant index after pushing a job. by @Pherring04 in #1781
  • Fixed error message for sims with the same port number by @Mrockwell2 in #1776
  • 1746 trick view variable search causes large spike in cpu usage by @sharmeye in #1786
  • Bump rollup from 2.79.1 to 2.79.2 in /trick_source/web/dashboard by @dependabot in #1788
  • Fixed new job index calc by @Pherring04 in #1791
  • Updated to use FileEntryRef to get name instead of FileEntry for clang18+. by @hchen99 in #1792
  • Added _swig_setattr_nondynamic_instance_variable function call back for struct by @hchen99 in #1795
  • Debug Pause Stepmaphore Fix by @Mrockwell2 in #1793
  • added SIM_singlerigidbody by @bnwalla1 in #1762
  • Bump cookie and express in /trick_source/web/dashboard by @dependabot in #1798
  • Taking CentOS to the glue factory by @Pherring04 in #1796
  • Enabled trickification to optionally exclude dependencies by @Pherring04 in #1756
  • Bump http-proxy-middleware from 2.0.6 to 2.0.7 in /trick_source/web/dashboard by @dependabot in #1800
  • Addressed phantom frame log restart jobs by @Pherring04 in #1787
  • Fixing a minor nuisance by @Pherring04 in #1801
  • Add calls for getting the total number of data recording groups and the data recording group pointer by its id number by @hchen99 in #1799
  • Improve SWIG %template directive scoping - take 2 by @dbankieris in #1753
  • Added graphics client for SIM rigid body. by @adityagirishwork in #1779

New Contributors

Full Changelog: 19.7.2...19.7.3

Trick Simulation Environment 19.7.2

23 Jul 19:20
a1d151c

Choose a tag to compare

What's Changed

  • Update Environment Variables to cover TRICK_SWIG_EXCLUDE by @Mrockwell2 in #1628
  • Add Submarine simulation by @jmpenn in #1629
  • Bump plotly.js from 1.49.0 to 2.25.2 in /trick_source/web/dashboard by @dependabot in #1634
  • Bump follow-redirects from 1.15.3 to 1.15.4 in /trick_source/web/dashboard by @dependabot in #1635
  • Updated to log applicable time in seconds instead of tics for frame logging by @hchen99 in #1623
  • S_job_execution enhancement #1637 by @hchen99 in #1638
  • Standardized error messaging in Sim Control Panel. by @Mrockwell2 in #1636
  • Repurpose the "Sim/Real Time" field on the sim control panel #1626 by @alexlin0 in #1627
  • Fix the alloc_type of allocations performed by declare_var. #1529 by @jmpenn in #1639
  • Update MacOS workflow to use SWIG 4.1.1 instead of the newest SWIG 4.2 by @hchen99 in #1648
  • Fix "Fix the Mac debugger attachment on segfault" #1386 by @jmpenn in #1659
  • Bump es5-ext from 0.10.62 to 0.10.64 in /trick_source/web/dashboard by @dependabot in #1658
  • More rusage info added to the end of the run summary output enhancement by @hchen99 in #1645
  • Protect TrickOps progres bar from divide by zero by @ddj116 in #1664
  • TrickOps: Use usedforsecurity=False when calling hashlib.md5 for compare mechanism by @ddj116 in #1662
  • ACTION REQUIRED: Critical Vulnerability Detected Please Fix ASAP #1666 by @hchen99 in #1667
  • Bump follow-redirects from 1.15.4 to 1.15.6 in /trick_source/web/dashboard by @dependabot in #1669
  • Update frame_time attribute in FrameDataRecordGroup from unit-less to s. by @hchen99 in #1672
  • Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /trick_source/web/dashboard by @dependabot in #1676
  • Add trickeifed classes.resource to sie generation after cp. by @hchen99 in #1674
  • python3 GIL locking solution by @excaliburtb in #1675
  • Bump express from 4.18.2 to 4.19.2 in /trick_source/web/dashboard by @dependabot in #1678
  • 1652 add trickified to default sie generation by @hchen99 in #1680
  • Proposed fix for deadlock on shutdown by @jmpenn in #1673
  • Revert changes to trickops test yml file from Sept 2023 to fix trickops unit tests by @ddj116 in #1681
  • Fix SIM_lander input file. by @jmpenn in #1686
  • Incorporate llvm 18 changes. by @hchen99 in #1685
  • In MemoryManager change delete_var(const char*) to delete_var(std::st… by @jmpenn in #1687
  • Water Clock Sim v3 by @Pherring04 in #1668
  • Pre-increment (rather than post-increment) STL iterators in for loops… by @jmpenn in #1692
  • Issue-1677 Fix by @Pherring04 in #1688
  • write template directive before template instance by @excaliburtb in #1679
  • Fixed outdated trick_message function calls in documentation by @Pherring04 in #1691
  • Fix bug dereferencing namespaces in convert_swig by @excaliburtb in #1696
  • Updated to use the latest swig and llvm 15. by @hchen99 in #1699
  • Bump ejs from 3.1.9 to 3.1.10 in /trick_source/web/dashboard by @dependabot in #1705
  • Customize clang diagnostic handling. by @hchen99 in #1707
  • Wrote a Real-time Best Practices HOW TO by @jmpenn in #1710
  • Disable unneeded SimObjects from default_trick_sys.sm in Trick exampl… by @jmpenn in #1719
  • Removed double quotes for port number and added some inline code syntax highlighting with back-ticks. by @hchen99 in #1717
  • Implemented C Interface for Message Subscribers. by @Pherring04 in #1712
  • Water Clock Cleanup by @Pherring04 in #1711
  • 903 inappropriately disowns memory in python by @hchen99 in #1690

Full Changelog: 19.7.1...19.7.2

Trick Simulation Environment 19.7.1

18 Dec 19:51

Choose a tag to compare

  • Hotfix for #1624 - llvm 16 compatibility patch

Trick Simulation Environment 19.7.0

01 Dec 18:13

Choose a tag to compare

  • Variable Server refactor
    • Improved stability and maintainability
    • Added unit testing
    • Per-session variable server logs
  • Various MonteCarloGenerate updates
  • Updated How-To Guides
    • Python Virtual Environment
    • Checkpointing Best Practices
  • Updated library dependencies
    • Deprecated swig 2 support, added swig 4 support
    • LLVM/Clang 16 support
  • Trick Runtime Updates
    • Added simulation RAM usage info to run summary
    • Added option to produce SHA1 checksum of input file when verifying input (-d option)
    • Update CPU time used in run summary
  • Updated example sims
    • Modified display for SIM_wheelbot
  • Various bug fixes and improvements
    • Destroyed bug infestation in dllist.c
    • Improved performance when requesting sie files
    • Updates to testing framework

New Contributors

Full Changelog: 19.6.0...19.7.0

Trick Simulation Environment 19.6.0

23 Jun 17:23

Choose a tag to compare

  • Support for LLVM/clang 15
  • Support for Python 3.11
  • Add new MonteCarloGenerate capability from EG CML
  • Significant TrickOps enhancements
    • For more information, see the documentation on TrickOps
  • New example sims - SIM_aircraft and SIM_robot
  • Add input file command to terminate a sim if a Python event errors out:
    trick.terminate_on_event_parse_error(<True|False>)
  • Add a command line flag to S_main to move all runtime file changes into the output directory, allowing for a read only sim directory:
    --read-only-sim
  • Add a compilation flag to allow ICG to parse to a specific C++ standard
    TRICK_ICGFLAGS += -icg-std=c++11
  • Add a make spotless target at the root makefile. This is recommended before building the upgraded version of Trick.
  • Improved testing
  • Various stability improvements and bugfixes
  • Documentation improvements (thanks to @Codym48 and @garshaam for their contributions!)

Trick Simulation Environment 19.5.1

29 Nov 23:01

Choose a tag to compare

  • Hotfix for #1409 - patch variable server error when sending a value with units

Trick Simulation Environment 19.5.0

17 Nov 22:03

Choose a tag to compare

  • New variable server command: var_send_once
  • Interface change: differentiate turning on/off sim objects from turning on/off jobs within sim objects.
    • set_sim_object_onoff: Command to turn on/off the sim_object. If sim object is disabled then enabled, jobs retain their status from before.
    • set_sim_object_jobs_onoff: Command to turn all the individual jobs on/off. Does not set overall sim object status. (old behavior of set_sim_object_onoff)
    • get_sim_object_onoff: Command to get sim object on/off status. 1 for on, 0 for off, -1 if object not found.
    • Sim object functions enable and disable are unchanged, but adds deprecation message to prefer enable_all_jobs and disable_all_jobs
  • Improve testing and documentation for STL checkpointing
  • Migrate integration testing to TrickOps
  • Added test coverage metrics
  • Fixed bug in Memory Manager coordinating destructor and deletion
  • Fix Executive::set_time_tic_value segmentation fault
  • Refactoring of autoconf.ac script
  • Fix race condition in Monte Carlo Timeouts (thanks @irowebbn !)
  • Improved documentation
  • 32 bit support and better install instructions for RHEL 8
  • Various stability improvements and minor bugfixes

Trick Simulation Environment 19.4.0

20 Jul 21:56

Choose a tag to compare

  • Improved documentation and Install Guide
  • Improved tutorial (Thank you open source community + interns!)
  • Web server improvements in freeze mode
  • Major memory and stability improvements for RHEL 8, Ubuntu 18.04-22.04, and macOS Monterrey
  • Major bugfixes for LLVM versions 10, 11, 12, 13, and 14.
  • Migrate testing from centOS 8 to rockylinux, almalinux, Oracle Linux 8.
  • Better support for Python 3
  • Improved interpolator documentation
  • New example sims:
    • SIM_splashdown represents a capsule splashing into a body of water, complete with a new 3D module viewer.
    • SIM_billiards is an interactive billiards simulation
  • Improved SIM_balloon graphics
  • Experimental support for macOS Silicon (M1, M2)

Trick Simulation Environment 19.3.1

08 Feb 21:14

Choose a tag to compare

Various bug fixes, performance upgrades, and preview features.

Trick embedded webserver overhaul preview included. Will be detailed in next major release.

Trick 23 coming soon!