Changelog

SAGE 3.0.3b

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.