EMX 3.3.10 - March 2017 Incompatible interface changes: * datetime.DateTime_2_0_0 => datetime.DateTime_3_0_0: - Remove forceStatic field from NtpCfg structure * net.Net_3_0_0 => net.Net_4_0_0: - Complete redesign, supports models with dual Ethernet Backward-compatible interface changes: * luaservice.Manager_2_0_0 => luaservice.Manager_2_0_1: - New method: clearScriptOutput * sensors.Switch_2_0_1 => sensors.Switch_2_0_2: - New constant: ERR_PDC_POWER_LIMIT * serial.GsmModem_1_0_1 => serial.GsmModem_1_0_2: - New constant: ERR_SIM_PROBLEM Newly introduced interfaces: * net.Services Removed interfaces: * cascading.Cascading_1_0_1 EMX 3.3.0 - November 2016 Incompatible interface changes: * luaservice.Manager => luaservice.Manager_2_0_0: - New field in structure ScriptOptions: defaultArgs - Changed structure Environment: Replaced maxMemoryPerScript with maxScriptMemoryGrowth - New constants: ERR_TOO_MANY_ARGUMENTS, ERR_ARGUMENT_NOT_VALID - New method: startScriptWithArgs Backward-compatible interface changes: * security.Security_3_0_0 => security.Security_3_0_1: - New methods: getIpFwSettings, getIpV6FwSettings, getRoleAccessControlSettings, getRoleAccessControlSettingsV6, getPwSettings, getSingleLoginLimitation * usermgmt.User_1_0_1 => usermgmt.User_1_0_2: - New constants for return value of updateAccountFull * usermgmt.UserManager_1_0_2 => usermgmt.UserManager_1_0_3: - New constants for return value of createAccountFull EMX 3.2.40 - August 2016 Backward-compatible interface changes: * assetmgrmodel.AssetStrip_2_0_3 => assetmgrmodel.AssetStrip_2_0_4: - New constants: ERR_NOT_SUPPORTED, ERR_OPERATION_FAILED - New field in structure TagInfo: programmable - New method: programTagIDs Version updates due to changes in referenced interfaces: * assetmgrmodel.AssetStripLogger_1_0_4 => assetmgrmodel.AssetStripLogger_1_0_5 EMX 3.2.10 - February 2016 Incompatible interface changes: * devsettings.Modbus => devsettings.Modbus_2_0_0: - New fields in structure Settings: serial, primaryUnitId - New method: getCapabilities - Return type for setSettings() changed from void to int * devsettings.Zeroconf => devsettings.Zeroconf_2_0_0: - New field in structure Settings: llmnrEnabled * serial.SerialPort_2_0_0 => serial.SerialPort_3_0_0: - New value in enumeration PortState: DISCONNECTED - New field in structure Settings: detectType * session.SessionManager => session.SessionManager_2_0_0: - Changed layout of Session structure: Replaced token with sessionId - newSession() returns the session token as an out parameter - closeSession() takes a sesson id instead of a token - Removed methods: getSession, touchSession Backward-compatible interface changes: * bulkrpc.BulkRequest_1_0_1 => bulkrpc.BulkRequest_1_0_2: - New method: performBulkTimeout * event.Engine => event.Engine_1_0_1: - New method: testAction * peripheral.DeviceManager_2_0_1 => peripheral.DeviceManager_2_0_2: - DeviceEvent: Changed affected device field to vector - PackageEvent: Changed affected package field to vector - New event: FirmwareUpdateStateChangedEvent - New method: getFirmwareUpdateState * sensors.Logger_2_1_3 => sensors.Logger_2_1_4: - New methods: enableSensors, disableSensors, isSensorEnabled, isSlotEnabled Version updates due to changes in referenced interfaces: * emdmodel.Emd_2_1_3 => emdmodel.Emd_2_1_4 * serial.PortDispatcher_1_1_1 => serial.PortDispatcher_1_2_1 Newly introduced interfaces: * luaservice.Manager EMX 3.1.0 - February 2015 Note: A large portion of the interface changes in this release is due to a redesign of the eventing system. Applications using eventing must be adapted to work with this release. The existing "Events" enumeration has been removed from all interfaces and replaced with one or more valueobject declarations extending idl.Event. Since the enumeration was never directly referenced by the interface the removal was considered a backward-compatible change. Incompatible interface changes: * auth.LdapManager_1_0_1 => auth.LdapManager_2_0_0: - Changed layout of ServerSettings structure * devsettings.Smtp_1_0_1 => devsettings.Smtp_2_0_0: - Changed layout of Configuration structure * firmware.Firmware_1_0_1 => firmware.Firmware_2_0_0: - Removed methods: updateAvailable, enableOnlineCheck, onlineCheckEnabled, performOnlineCheck, downloadImage, cancelDownload * lhxmodel.Sensor_3_0_0 => lhxmodel.Sensor_4_0_1: - Base class version (sensors.Sensor_4_0_1) changed - Removed enumeration Events - New events: ThresholdsChangedEvent, StateChangedEvent, ReadingChangedEvent - Incompatible change in structure MetaData due to change of contained sensors.Sensor.TypeSpec * logging.DebugLog => logging.DebugLog_2_0_0: - Removed methods: getFirstId, getLastId, getEntries - New methods: getInfo, getChunk * logging.EventLog_1_0_1 => logging.EventLog_2_0_0: - Removed methods: getFirstId, getLastId, getEntries, getFilteredEntries - New methods: getInfo, getChunk * net.Net_2_0_2 => net.Net_3_0_0: - Changed layout of EapSettings structure * peripheral.DeviceManager_1_0_3 => peripheral.DeviceManager_2_0_1: - Removed enumeration Events - New enumeration: DeviceFirmwareUpdateState - New events: SettingsChangedEvent, DeviceEvent, DeviceAddedEvent, DeviceRemovedEvent, UnknownDeviceAttachedEvent, DeviceFirmwareUpdateStateChangedEvent, PackageEvent, PackageAddedEvent, PackageRemovedEvent - Incompatible change in structure DeviceTypeInfo due to change of contained sensors.Sensor.TypeSpec - New field in structure peripheral.PackageInfo.HardwareInfo: revision * peripheral.DeviceSlot => peripheral.DeviceSlot_2_0_1: - Removed enumeration Events - New events: DeviceChangedEvent, SettingsChangedEvent - Incompatible changes in structure DeviceID, structure Address and valueobject Device due to change of contained sensors.Sensor.TypeSpec * security.Security_2_0_1 => security.Security_3_0_0: - Replaced defaultPolicy and ruleSet with defaultPolicyIn, defaultPolicyOut, ruleSetIn and ruleSetOut in structure IpFw - New methods: getSupportedFrontPanelPrivileges, setFrontPanelPrivileges and getFrontPanelPrivileges * sensors.NumericSensor_3_0_1 => sensors.NumericSensor_4_0_1: - Base class version (Sensor_4_0_1) changed - Removed enumeration Events - New events: ReadingChangedEvent, StateChangedEvent, MetaDataChangedEvent, ThresholdsChangedEvent - Incompatible change in structure MetaData due to change of contained sensors.Sensor.TypeSpec * sensors.Sensor_3_0_0 => sensors.Sensor_4_0_1: - Replaced enumerations ReadingType, Type and Unit with integer constants to simplify future additions - Removed enumeration Events - New event: TypeSpecChangedEvent * sensors.StateSensor_3_0_1 => sensors.StateSensor_4_0_1: - Base class version (Sensor_4_0_1) changed - Removed enumeration Events * sensors.Switch => sensors.Switch_2_0_1: - Base class version (StateSensor_4_0_1) changed Backward-compatible interface changes: * assetmgrmodel.AssetStrip_2_0_0 => assetmgrmodel.AssetStrip_2_0_3: - Removed enumeration Events - New structure: TagChangeInfo - New enumeration: FirmwareUpdateState - New events: StripInfoChangedEvent, StateChangedEvent, RackUnitChangedEvent, TagEvent, TagAddedEvent, TagRemovedEvent, FirmwareUpdateStateChangedEvent, BladeOverflowChangedEvent, OrientationChangedEvent, CompositionChangedEvent - Added assetStripCascadePosition, rackUnitRelativePosition and assetStripNumberOfRackUnits to RackUnitInfo structure * assetmgrmodel.AssetStripConfig => assetmgrmodel.AssetStripConfig_1_0_1: - Removed enumeration Events - New events: StripSettingsChangedEvent, RackUnitSettingsChangedEvent * bulkrpc.BulkRequest => bulkrpc.BulkRequest_1_0_1: - Alternative bulk request method that transmits the sub-requests as raw JSON objects instead of quoted strings - New structures: Request and Response - New method: performBulk * cascading.Cascading => cascading.Cascading_1_0_1: - New method: getMasterIpV6Address * emdmodel.Emd_2_0_0 => emdmodel.Emd_2_1_3: - Removed enumeration Events - New event: SettingsChangedEvent * hmi.ExternalBeeper => hmi.ExternalBeeper_1_0_1: - New enumeration: State - New event: StateChangedEvent - New method: getState * lhxmodel.Config => lhxmodel.Config_1_0_1: - Removed enumeration Events - New events: ComSettingsChangedEvent, PortNameChangedEvent * lhxmodel.Lhx_3_1_0 => lhxmodel.Lhx_3_2_2: - Removed enumeration Events - New events: OpStateChangedEvent, SettingsChangedEvent * lhxmodel.Parameter_2_0_0 => lhxmodel.Parameter_2_0_1: - Removed enumeration Events - New events: MetaDataChangedEvent, ValueChangedEvent * pdumodel.Unit_2_0_0 => pdumodel.Unit_2_0_1: - New event: IdentificationStartedEvent * portsmodel.Port_2_0_0 => portsmodel.Port_2_0_1: - Removed enumeration Events - New events: PropertiesChangedEvent, DeviceChangedEvent * powerlogic.Config => powerlogic.Config_1_0_1: - Removed enumeration Events - New event: SettingsChangedEvent * powerlogic.PowerMeter_1_1_2 => powerlogic.PowerMeter_1_2_3: - Removed enumeration Events - New events: SetupChangedEvent, ErrorStatusChangedEvent * sensors.Logger_2_0_0 => sensors.Logger_2_1_3: - Removed enumeration Events - New events: SettingsChangedEvent, LoggedSensorsChangedEvent - New constants for transfer switch state sensors * test.Display => test.Display_1_0_1: - New enumeration: TestStatus - New methods: enterTestMode, getTestStatus * usermgmt.UserManager_1_0_1 => usermgmt.UserManager_1_0_2: - New constants for return values of createAccount and createAccountFull Version updates due to changes in referenced interfaces: * assetmgrmodel.AssetStripLogger_1_0_1 => assetmgrmodel.AssetStripLogger_1_0_4 * emdmodel.Emd_2_0_0 => emdmodel.Emd_2_1_3 * lhxmodel.Lhx_3_1_0 => lhxmodel.Lhx_3_2_2 * powerlogic.PowerMeter_1_1_2 => powerlogic.PowerMeter_1_2_3 * sensors.Logger_2_0_0 => sensors.Logger_2_1_3 * test.Unit_1_0_1 => test.Unit_1_0_2 Newly introduced interfaces: * event.DataPushService * logging.WlanLog * hmi.InternalBeeper_2_0_0 * sensors.AccumulatingNumericSensor Removed interfaces: * modelpush.ModelPush * tfw.EventChannel * tfw.EventService EMX 2.5.0 - December 2013 Incompatible interface changes: * emdmodel.Emd_1_3_1 => emdmodel.Emd_2_0_0: * pdumodel.SensorLogger_2_0_0 => sensors.Logger_2_0_0: * sensors.ExternalSensorManager_3_0_0 => peripheral.DeviceManager_1_0_2: * sensors.ExternalSensorSlot_3_0_0 => peripheral.DeviceSlot: - Complete reimplementation of peripheral device interface; replaces external sensor interfaces * lhxmodel.Lhx_2_1_0 => lhxmodel.Lhx_3_1_0: - Introduced configuration parameters for water valves and fans - Replaced custom sensor interface with generic sensors.Sensor_3_0_0 - Removed alarm flags: parameterDataLoss, collectiveFault - New alarm flags: condenserPumpFailure, baseElectronicsFailure, voltageLow - New method: getCapabilities - Added return values for methods: acknowledgeAlertStatus, setPowerState and setMaximumCoolingRequest * serial.SerialPort_1_0_1 => serial.SerialPort_2_0_0: - Removed methods: getConsoleSettings, setConsoleSettings, getGsmModem - Added methods: getSettings, setSettings, getModem - New events: ModemEvent, ModemAddedEvent, ModemRemovedEvent * servermon.ServerMonitor => servermon.ServerMonitor_2_0_0: - New server settings field: resumeCount - New server status field: resumes - Removed constant: MAX_SERVERS Backward-compatible interface changes: * sensors.NumericSensor_3_0_0 => sensors.NumericSensor_3_0_1: - New metadata field: noiseThreshold * sensors.StateSensor_3_0_0 => sensors.StateSensor_3_0_1: - New event type: EVT_KEY_STATE - New event: StateChangedEvent * event.Channel => event.Channel_1_0_1: - New method: pollEventsNb * net.Net_2_0_1 => net.Net_2_0_2: - New methods: getNetworkConfigRoutesIPv4, setNetworkConfigRoutesIPv4 - New methods: getNetworkConfigRoutesIPv6, setNetworkConfigRoutesIPv6 * webcam.StorageManager => webcam.StorageManager_1_0_1: - New image storage metadata field: fileSize * test.Unit => test.Unit_1_0_1 - New method: resetAllSlaveControllers - New method: triggerSlaveControllerWatchdog Version updates due to changes in referenced interfaces: * event.Service => event.Service_1_0_1 * serial.PortDispatcher_1_0_1 => serial.PortDispatcher_1_1_1 * powerlogic.PowerMeter_1_1_0 => powerlogic.PowerMeter_1_1_1 Newly introduced interfaces: * serial.AnalogModem * smartcard.CardReader * smartcard.CardReaderManager * cascading.Cascading * modbus.GatewayMgr * modelpush.ModelPush * peripheral.DeviceManager * peripheral.PackageInfo * peripheral.DeviceSlot * peripheral.G2Production * sensors.Switch Removed interfaces: * sensors.ExternalSensorManager * sensors.ExternalSensorSlot * test.MyEvent * tfw.CoreCtrl * tfw.ScannerCtrl EMX 2.4.0 - May 2013 Incompatible interface changes: * pdumodel.SensorLogger_1_1_1 => pdumodel.SensorLogger_2_0_0: - Update sensor state enumeration * sensors.Sensor_2_0_0 => sensors.Sensor_3_0_0: - Updated sensor type enumeration - Updated sensor unit enumeration Backward-compatible interface changes: * logging.EventLog => logging.EventLog_1_0_1: - New method: getFilteredEntries Version updates due to changes in referenced interfaces: * emdmodel.Emd_1_2_1 => emdmodel.Emd_1_3_1 * powerlogic.PowerMeter => powerlogic.PowerMeter_1_1_0 * sensors.ExternalSensorManager_2_0_0 => sensors.ExternalSensorManager_3_0_0 * sensors.ExternalSensorSlot_2_0_0 => sensors.ExternalSensorSlot_3_0_0 * sensors.StateSensor_2_0_0 => sensors.StateSensor_3_0_0 Newly introduced interfaces: * auth.RadiusManager * event.AlarmManager * event.TimerEventManager * hmi.ExternalBeeper EMX 2.3.5 - September 2013 Incompatible interface changes: * lhxmodel.Lhx_2_0_0 => lhxmodel.Lhx_3_0_0: - Introduced configuration parameters for water valves and fans - Replaced custom sensor interface with generic sensors.Sensor_3_0_0 - Removed alarm flags: parameterDataLoss, collectiveFault - New alarm flags: condenserPumpFailure, baseElectronicsFailure, voltageLow - New method: getCapabilities - Added return values for methods: acknowledgeAlertStatus, setPowerState and setMaximumCoolingRequest EMX 2.3.0 - October 2012 Incompatible interface changes: * lhxmodel.Lhx_1_1_1 => lhxmodel.Lhx_2_0_0 - New settings field: defaultFanSpeed - New method: requestMaximumCooling - New method: acknowledgeAlertStatus