.. _`view-changelog`: Changelog =========================== **SAGE 3.0.3b** - This is a beta release. For access to the software email us at sageframework@nrl.navy.mil Release date: 2024-02-20 Core and Builtins - Both SAGE Node and Server are containerized - Added Node Manager app to manage containerized and native instances of SAGE Node - Added support for SAGE clusters. SAGE Servers running on remote machines can now discover each other and exchange agent messages - Node and Server authentication. Nodes and Server instances can optionally use SSH-based authentication to encrypt their communications as well as to perform authentication - Many UI enhancements **SAGE 2.0.34** Release date: 2021-05-20 Core and Builtins - Issue #56: Fixed bug that would allow Robot tests to continue if Behavior file was not found - Issue #55: Fixed java memory leak in SAGE Node code **SAGE 2.0.32** Release date: 2020-12-04 Core and Builtins - Issue #54: Improved error messages when using Robot. - New server option to not print or log regular Sage messages. Does not affect warnings, errors or exceptions. - Issue #53: Improved Node performance when processing a high volume of messages. Server Application - New server option to not print or log regular Sage messages by selecting the 'Quiet Mode' box in Server Settings. Does not affect warnings, errors or exceptions. - Sage Server App now has the capability to show Agents' State Space. **SAGE 2.0.28** Release date: 2019-12-09 Core and Builtins - Issue #52: Fixed bug in periodic actions that occurred when the period specified is very small. This could lead to a race condition. **SAGE 2.0.24** Release date: 2019-08-05 Core and Builtins - Issue #51: Fixed bug, Java behaviors within JAR files that include supporting libraries could throw a duplicate class exception due to how Java loads dependencies. Server Application - Some UI enhancements. - Bug fixes. **SAGE 2.0.22** Release date: 2019-06-11 Core and Builtins - Issue #50: Fixed bug, under some conditions it was possible to get the Server to hang if you were trying to stop it but it was also waiting for a Result. - Issue #49: Behavior members are now checked on each run of the scheduler. That way action and message methods can change period, execution type, delay, and trigger message at runtime. - Issue #48: The environment variable SAGE_HOME has been replaced with SAGE_SERVER_HOME and SAGE_NODE_HOME. - Issue #47: Better error checking to make sure multiple Agents on the same Node can't use different versions of a Behavior (Note: they will use different instances). - Issue #46: Behaviors will now only be sent from the Server to the Node if the Node does not already have the latest version. - Issue #45: Better information and error reporting from Nodes back to the Server. - Issue #44: Fixed bug where under certain conditions a Node that was shut down on purpose would show an error message. - Issue #43: For Java, Sage no longer uses the system CLASSPATH environment variable and instead uses SAGE_CLASSPATH. - Issue #42: All Java behaviors now must be in jars and are internally loaded by a custom class loader. - Issue #41: Fixed a bug where a TimedCyclical behavior could drift over time. - Issue #40: Fixed an issue where a new version of a Behavior was not properly replacing the old version in a Node. - Issue #39: Added Keywords to Sage Robot Keywords to allow access to individual parts of a Result object, for example "Get Result Behavior Name". Server Application - Light and dark color scheme enhancements. - Behavior Manager now a non-modal dialog window. - Added application settings for specifying which non-modal dialog windows stay on top of the main form window. - Added double-click event handling for agent tree view nodes. - Bug fixes. **SAGE 1.2.18** Release date: 2018-10-08 Core and Builtins - Issue #38: Fixed message broadcasting bug. - Issue #37: Added JSON based introspection for getting detailed Agent state. - Issue #36: Fixed introspection bug. - Issue #35: Added new scheduling mechanism that allows users to control the precision of the Node scheduler to control the CPU usage of SageNodeConsole. Server Application - Improved UI interactions for selecting Nodes, Agents, and Behaviors. - Improved Network graph view layout. - Added zoom control to Network graph view. - Added application settings for controlling Node scheduler precision. - Added light and dark theme selections. - Fixed core bugs. **SAGE 1.1.14** Release date: 2017-09-28 Core and Builtins - Issue #34: User's CLASSPATH is now appended to the runtime CLASSPATH. - Issue #33: Added new SAGE Robot keyword Clear Results. - Issue #32: BehaviorModule class now only returns a single behavior instead of a vector of behaviors. This addresses potential memory corruption due to cross DLL allocation/deallocation. - Issue #31: Fixed bug that would cause JVM to unexpectedly crash. - Issue #30: Added server methods to load and save agent networks so that clients don't have to instantiate SAGE internal classes. - Issue #29: Fixed bug that would cause the loss of Result objects. - Issue #28: Fixed crash of Robot caused by Result objects being corrupted. - Issue #27: Fixed GDI resource issue. - Issue #26: Fixed issue with Behavior files not being overwritten on Node machine if Server contained newer version of file. - Issue #25: Fixed problem with SAGE Server memory leak caused by the server running for very long periods of time. - Issue #24: Fixed memory leak in SAGE Node code. - Issue #23: Fixed issue where Node would not reconnect to SAGE Server after stopping then starting Server. - Issue #22: Added support for sending files back to the server. Base class functionality now includes sendFile method. - Issue #21: Added support for persistent networks. Network settings can be stored as SAGE extension files for save/load capability. Server Application - View SAGE User Guide from Help window. - Add Network graph view. - Integrate Import and Export network settings. - Add "Activate All Agents", " Deactiviate All Agents", and "Remove All Agents" buttons. - Update layout and icons. **SAGE 1.0.12** Release date: 2017-06-27 Core and Builtins - Issue #20: Fixed problem with SAGE ServerApp not allowing behaviors to be overwritten in the Behavior Manager. - Issue #19: Fixed issue in SAGE ServerApp where behaviors would not show up in the tree view until the one of the behaviors' methods is called. - Issue #18: Fixed problem where sending a message back to the sender in the message() method would crash SAGE. - Issue #17: Added support for packaged behaviors. Behaviors and supporting class files may now be packaged into JAR and EGG files. Server Application - Items respond immediately to mouse-clicks when not in focus. - Update layout and icons. - Add bi-directional object selection. Documentation - Add Robot Framework background. - Update SAGE Server Application. **SAGE 1.0.11** Release date: 2017-03-07 Core and Builtins - Issue #16: JVM path automatically appended to the system environment PATH variable. - Issue #15: Modified Namespaces for SageBehaviorInterface (both Java and Python module) to nrl.sage.BehaviorInterface, SageRemoteInterface to nrl.sage.BehaviorInterface, and SageLocalInterface to nrl.sage.BehaviorInterface. - Issue #14: Linux SageNode rpm now correctly sets folder permissions in /etc/sage. - Issue #13: Fixed problem with running robot files in SageServerApp when the user account does not have administrator privileges. - Issue #12: Added a package name to the SageRemoteInterface.jar library. Java applications using that jar must import sageremoteinterface.* - Issue #11: Added support that enables SAGE to be installed and operate properly on machines that don't have Java and/or Python installed. (Windows version only) - Issue #10: Fixed problem with importing Java behaviors using the behavior manager in SageServerApp. **SAGE 1.0.10** Release date: 2016-12-15 Core and Builtins - Issue #9: Improved Robot error reporting to include more informative messages. - Issue #8: Fixed issue where the SageServer was not updated when an agent was removed by another agent that resides in the same Node. **SAGE 1.0.9** Release date: 2016-10-31 Core and Builtins - Issue #7: Added source node and source agent fields to messages sent to Behaviors. - Issue #6: Run Step and Report Result now throw an exception on result = "failure". - Issue #5: Routines in SageRobotKeywords.java now return a boolean value. **SAGE 1.0.8** Release date: 2016-10-07 Documentation - Update API Reference section with C++ Behavior file example. Library - Update Boost to 1.61.0. - Removed Pluma dependencies. **SAGE 1.0.7** Release date: 2016-09-28 Core and Builtins - Issue #4: Added support for asynchronous/multi-threaded calls. - Issue #3: Wait For Result SageRobotKeyword now takes an additional argument that indicates which method to wait on to generate a result. - Issue #2: The Behavior methods setUp() and tearDown() now are called with a Result parameter. - Issue #1: Fixed bug that continued Behavior process after internal error occurred in Behavior methods setUp(), action(), message(), or tearDown(). Server Application - Add new Options menu. - Add new Options and Server tool strips. - Add context sensitive interaction between the AgentTreeView and the menu/toolstrip tools.