Skip to content

Releases: jhu-cisst/cisst

1.3.0

30 Aug 18:48
32234ab
Compare
Choose a tag to compare

1.3.0 (2024-08-30)

  • API changes:
    • Added override for all derived methods
    • Removed redefinition of virtual in derived classes
    • cisstParameterTypes: prmJointType is now cmnJointType and JSON serialization now uses the string value (not enum number)
  • Deprecated features:
    • cisstParameterTypes: removed all classes related to transformation graph
  • New features
    • cisstDataGenerator: added support for enum in global scope, fix for override
    • cisstParameterTypes: added types prmImageFrame, prmCameraInfo and prmDepthMap.h
    • cisstRobot:
      • Gravity can be declared as vector
      • Uses cmnJointType
  • Bug fixes:
    • CMake:
      • cisst_offer_saw_component updated to search for component or core (new SAW directory structure)
    • cisstMultiTask:
      • Fix for mtsManagerLocal.GetInstance
    • cisstParameterTypes:
      • More CISST_EXPORT for Windows
      • Added new data types for SWIG wrapping
      • Fixed prmActuatorState::ToStream
      • Added missing break in prmOperatingState.cpp
    • Fixed some GitHub actions/workflows

1.2.1

29 Dec 20:54
6b0f23f
Compare
Choose a tag to compare

1.2.1 (2022-12-29)

  • API changes:
    • CMake find_package now uses CMake COMPATIBILITY SameMajorVersion, older code used custom version check equivalent to SameMinorVersion
  • Deprecated features:
    • cisstNumerical: polynomial is not compiled by default, set CISST_NMR_COMPILE_POLYNOMIALS if these are needed. We plan to remove this code in later releases
  • Bug fixes:
    • cisstDataGenerator: fixed export for enums and static methods
    • cisstNumerical: for OS requiring CLAPACK, cisstNetlib now uses a fork that has been updated to support recent C/C++ compilers
    • Fixed some GitHub actions/workflows

1.2.0

21 Nov 15:24
09e2d41
Compare
Choose a tag to compare

1.2.0 (2022-11-21)

  • API changes:
    • None
  • Deprecated features:
    • cisstNetlib DOWNLOAD_NOW has been removed, cisstNetlib has to be compiled by the user. The process is automatic with ROS1/catkin and ROS2/colcon
    • ICE support has been removed
    • CISST_VERSION is now cisst_VERSION
  • New features:
    • CMake:
      • Updated install targets and debian packages generation
      • Works with ROS2/colcon
      • New CMake macros to simplify CMakeLists.txt for SAW components
    • cisstCommon:
      • cmnCommandLineOptions:
        • Overloaded Parse method to display the error message and usage if needed
        • Overloaded Parse methods to support std::vectorstd::string
      • cmnPath: added static method RenameFile
    • cisstOSAbstraction: added definition for baud rates 230400 and 460800 for osaSerialPort
    • cisstVector:
      • vctDataFunctionsTransformationsJSON: normalize rotation matrices after de-serialization
      • Added c{,r}{begin,end} for dynamic vectors
    • cisstMultiTask:
      • Uses "new" features by default
      • Added mtsStateTableFilter and mtsInterfaceProvided::AddCommandFilteredReadState
      • mtsInterfaceProvided: added method to get class services for argument types
    • cisstParameterTypes:
      • Added prmForceCartesianGetQtWidget
      • Ported prmForceTorqueJointSet to use cisstDataGenerator
      • Added data typed for kinematics queries
  • Bug fixes:
    • General: fixes for new compilers warnings
    • CMake:
      • Improved DirectShow Find Module for Windows 10 SDKs (#85)
      • cisstMacros.cmake:
        • Added missing executable output path in cisst_set_output_path
        • Set CMake policy CMP0026 to OLD
        • Fixed CMake for Qt5 using Qt5::
    • cisstDataGenerator:
      • Fixed enum defined under namespace
    • cisstMultiTask:
      • Added missing mtsComponentConstructorArg
    • cisstParameterTypes:
      • Fixed data member initialization in .cdg files (prmPositionCartesianSet, prmVelocityCartesianSet, prmCartesianImpedanceGains, prmPositionJointSet, prmStateJoint...)
    • cisstMesh:
      • Added missing CISST_EXPORT

1.1.0

07 Apr 19:55
Compare
Choose a tag to compare

1.1.0 (2021-04-04)

  • API changes:
    • Names of some commands and events in cisstMultiTask changed to match CRTK convention. See directory "utils/crtk-port"
  • Deprecated features:
    • None
  • New features:
    • General:
      • Added cisstMesh library (see README.md in cisstMesh directory)
      • OS/compiler support: Mac OS Clang 12, Ubuntu 20.04 gcc 9, Visual Studio 2019
      • Github CI with workflows for Ubuntu 16.04, 18.04 and 20.04, Windows and macOS
      • Using Numpy 1.7 for SWIG wrappers
      • Qt: support for "dark mode" for non Qt window managers
      • Support build against OS installed JsonCpp vs CMake external project
      • cisstNetlib DOWNLOAD_NOW uses new URL (https://dvrk.lcsr.jhu.edu)
    • cisstVector:
      • Added more Euler rotations: ZXZ, YZX, ZYX... and unit tests
      • Added vctPose3DQtWidget
      • vctPlot2D Qt widget displays range in window
    • cisstMultiTask:
      • Added callback to interval statistics
      • Added suggestions for missing interfaces/commands/events when trying to connect non-existing interfaces/command/event
      • Added mtsDelayedConnections class
      • Added virtual method mtsComponent::ConfigureJSON to adjust log level per component
    • cisstRobot:
      • Added support for gravity compensation for robManipulator with under actuated robot (e.g. dVRK ECM)
      • Added methods to set/get maximum force/torque, names, type using vectors for robManipulator
      • Added method to remove tool and truncate kinematic chain (robManipulator)
      • Added robManipulator::LastError to get human readable message
    • cisstParameterTypes:
      • Added prmConfigurationJoint, prmPositionCartesianArrayGet{QtWidget}
      • Added prmPositionJointSetQtWidget, prmPositionCartesianGetQtWidgetFactory
      • Added prmInputDataConverter
  • Bug fixes:
    • CMake:
      • Added some missing files for "clean" target
      • Added .so version, can now generate debian packages
    • cisstCommon:
      • Fixed CMake dependency for data generator, would occasionally fail to build in parallel
      • Fixed data generator to avoid multiple #include for cisstMultiTask proxies
    • cisstOSAbstraction:
    • cisstNumerical:
      • Fixed slack implementation in nmrConstraintOptimizer
      • Added missing CISST_EXPORT for nmrSymmetricEigenProblem
    • cisstMultiTask:
      • Limit number of commands processed in mailbox for one call to avoid dequeing as long as other component queues
      • Fixed race condition in mtsEventReceiverWrite::EventHandler
      • Fixed old bug that prevented to use std::string or size_t in state table with accessors
      • Fixed support for MTS_OPTIONAL when adding event observer for required interfaces
      • Fixed mtsManagerLocal::WaitForStateAll to not wait for tasks with ExecIn
    • cisstParameterTypes:
      • Fixed cisstParameterTypes.i
    • cisstRobot:
      • Fixed name of field "ftmax" in Json loading
      • Marked more methods as virtual
      • Fixed bug applying tool transform even if only part of forward kinematic was evaluated

1.0.11

09 Apr 19:00
Compare
Choose a tag to compare

1.0.11 (2019-04-09)

  • API changes:
    • None
  • Deprecated features:
    • None
  • New features:
    • General:
      • Updated jsoncpp version when using external project
      • By default, look for jsoncpp installed with OS on Linux
      • Added Ubuntu 16.04 for travis
    • cisstCommon:
      • cisstConfig: added CISST_EXECUTABLE_SUFFIX
      • cmnPath::Executable to create OS dependent executable name
      • cmnPath: added DeleteFile static method
      • cmnLogger: added method to set/get default log file name
    • cisstVector:
      • vctMatrixRotation3: constructor from BaseType is now implicit
      • Rotation and vector widgets: added key press to reset orientation
      • Dynamic vector and matrices: exception message for size mismatch now includes expected and received sizes
    • cisstMultiTask:
      • mtsManagerLocal: added RemoveAllUserComponents
      • mtsManagerLocal: added ConfigureJSON(filename)
      • mtsManagerLocal: better error messages if dynamic creation fails
      • mtsTask: State tables now advance once in Startup method (if automatic)
    • cisstRobot:
      • robManipulator: added methods Set/GetJointLimits using vectors
    • cisstParameterTypes:
      • prmForceCartesianGet: added MovingFrame string member
      • prmOperatingState: added type and widget for crtk compatibility
      • prmInputDataQtWidget: new widget
  • Bug fixes:
    • cisstCommon:
      • Tests: fixed CMake dependency on JSON libraries
      • Tests: fixed strings for newer Windows compilers and OSs
      • cisstDataGenerator: fixed human readable output
    • cisstOSAbstraction:
      • Tests: use PATH variable to locate osaPipeExec test program
      • osaPipeExec: new Windows implementation for noWindow case
      • osaPipeExec: fixed resource leak
      • osaSocketServer: fix for Windows (based on feedback from dlrdave)
    • cisstMultiTask:
      • mtsCommand: fixed infinite recursion in Execute methods
      • mtsIntervalStatistics: set as valid
      • Tests: multiple fixes to better control creation of component manager and clear component manager
    • cisstParameterTypes:
      • prmEventTypeQtWidget: use switch statement to handle all possible event types

1.0.10

16 May 21:34
Compare
Choose a tag to compare

1.0.10 (2018-05-16)

  • API changes:
    • cisstCommon:
      • cmnPrintf: removed downcast to boolean for cmnPrintfParser, this was not used and required different implementations for different compilers
      • cmnAssert: from now on, CMN_ASSERT is not defined when NDEBUG is defined. This behavior mimics assert().
    • cisstMultiTask: mtsIntervalStatistics, renamed accessors and added statistics for computing time
  • Deprecated features:
    • None
  • New features:
    • cisstCommon:
      • cmnPortability: added CISST_THROW to dynamically specify exception or skip since this is being deprecated in newer C++ standards. Added unit test for python wrappers to make sure CISST_THROW specify exception for swig.
      • cmnPortability: use std::isnan and std::isfinite when available (see also cisstConfig.h)
      • cmnPrintf: added unit test, removed downcast to boolean for cmnPrintfParser
      • cmnAssert: CMN_ASSERT not defined when NDEBUG is defined, fixed usage accross cisst libraries
      • cmnQt::QApplicationExistOnCtrlC helper function to quit QApplication on ctrl+c
    • cisstVector:
      • vctVector3DQtWidget: widget to display a single 3D vector (used for 3D force/torque)
      • vctForceTorqueQtWidget: widget to display 3D force/torque as text, 2D graph or 3D vector
      • Fixed Qt widgets to display frame/3D vector to display reference frame, user can change orientation using mouse. Added SetPrismaticRevoluteFactors to display in mm/degrees
    • cisstDataGenerator:
      • Added "deprecated" keyword for data members
    • cisstOSAbstraction
      • osaPipeExec: added noWindow parameter to Open method. The default setting is false, which is backward-compatible. On Microsoft Windows, setting it to true prevents the display of a console window. This parameter is ignored on other operating systems
    • cisstMultiTask:
      • mtsIntervalStatistics: added statistics re. average computation time and overruns wrt previous time window, updated Qt widget and added conversion method to ROS messages (cisst-ros)
      • Fixed SWIG code for Python 3
    • cisstRobot:
    • cisstParameterTypes:
      • prmPositionJointSet: use data generator
      • prmVelocityCartesianGet: use data generator, added moving/reference frame
      • Added prmJointType, prismatic or revolute
      • prmStateJoint: added vector of joint types. In Qt widget, added SetPrismaticRevoluteFactors used to display in mm/degrees
      • prmPositionCartesianGetQtWidget: displays frame using cisstVector frame widget, timestamp, valid flag and moving/reference frame names. Added SetPrismaticRevoluteFactors to display in mm/degrees.
  • Bug fixes:
    • Re-ordered function declaration in CMN_IMPLEMENT_SERVICES_TEMPLATED_INTERNAL for clang 9.0/MacOS
    • Fixed some variable initialization based on valgrind warnings

1.0.9

07 Nov 16:09
Compare
Choose a tag to compare

1.0.9 (2017-11-07)

  • API changes:
    • cisstMultiTask: mtsQtWidgetIntervalStatistics renamed mtsIntervalStatisticsQtWidget
    • cisstParameterTypes:
      • prmFixtureGainCartesianSet renamed prmCartesianImpedanceGains
      • changed reference/moving frame from pointer to strings for cartesian set/get payloads
    • CMake defaults:
      • cisstStereoVision off by default
      • cisstMultiTask ICE off by default
      • cisstJSON on by default
  • Deprecated features:
    • None
  • New features:
    • CMake: can now bypass the FindCisstNetlib provided with cisst. Used to find local cisstNetlib config file.
    • cisstCommon:
      • cmnPath: added method SharedLibrary to generate dynamic library name based on OS
      • cmnStrings: added cmnStringsReplaceAll
      • XML: added method Exists(path) and fix for compilation with Qt5/Windows
    • cisstVector:
      • added SetSize method with default value for all elements
    • cisstDataGenerator:
      • added support to serialize/de-serialize from JSON
      • changed internal variable names to avoid possible conflicts with user provided names
    • cisstNumerical: CMake option to force using a local install with config.cmake file
    • cisstMultiTask:
      • added methods to configure component manager using JSON values
      • use cisstDataGenerator for component constructor arguments (allows JSON)
      • fixed incorrect error messages when optional interface/command was not found
      • added mtsMessage type and methods to emit status/warning/error events from provided interface
      • added mtsMessage, mtsIntervalStatistics and mtsSystem Qt Widget/Component
      • updated Qt widget to save space
    • cisstRobot: added wrapper for Reflexxes RML, builds Reflexxes as CMake External project
    • cisstParameterTypes:
      • added type prmInputData for DAQ
      • added Qt widget for prmStateJoint
      • actuator coupling message now only requires the actuator to joint position matrix
    • External projects: created https://github.com/jhu-cisst-external to host clones of Reflexxes, jsoncpp and cppunit
  • Bug fixes:
    • cisstCommon: cmnRandomSequence, fixed ExtractRandomPermutation
    • Qt: updated OpenGL base widget when using Qt5 (now using QOpenGLWidget)
    • CMake: fixed search for QtXml when using Qt5

1.0.8

30 Aug 22:05
Compare
Choose a tag to compare

1.0.8 (2016-08-30)

  • API changes:
    • cisstDataGenerator: use std::vector instead of std::list for possible enum values/strings
  • Deprecated features:
    • None
  • New features:
    • cisstNumerical: nmrRegistrationRigid Python wrapper
  • Bug fixes:
    • cisstVector: fixed bug in RowPointers methods for dynamic matrices
    • cisstOSAbstraction: fix serial port name on Windows when number greater than 9
    • CMake: fixed configure_file @only
    • CMake: set messages as STATUS for informational messages
    • CMake: cisstStereoVision looks explicitly for OpenCV 2

1.0.7

16 May 18:21
Compare
Choose a tag to compare

1.0.7 (2016-05-16)

  • API changes:
    • None
  • Deprecated features:
    • None
  • New features:
    • CMake: added -fPIC for external projects, now compiles with clang on Ubuntu 12.04 and 14.04
    • CMake: modifications to use find_package instead of cisst_find_saw_components
    • cisstDataGenerator:
      • Added methods to generate lists of enum values/strings
      • Destructor can now be virtual to avoid warnings if user adds virtual methods
    • cisstNumerical: added nmrLinearRegression
    • cisstRobot:
      • Added accessor to modify position offsets in robJoint
      • Now partially wrapped using SWIG
  • Bug fixes:
    • cisstCommon: fix major bug in CMN_LOG macros (#45)
    • cisstCommon: cmnTypeTraits, added some missing specializations for unsigned long

1.0.6

08 Jan 22:32
Compare
Choose a tag to compare

1.0.6 (2016-01-08)

  • API changes:
    • None
  • Deprecated features:
    • None
  • New features:
    • Added prmActuatorJointCoupling
    • mtsComponent: added GetIndexReader for default state table
  • Bug fixes:
    • robManipulator: initialize data members Jn and Js
    • cmnAccessorMacros: added missing const on Get method