2012-07-25: 1.0.0 (28a7baf) - Initial version 2012-07-26: 1.0.1 (aa7d4e9) - TThread.CurrentThread is not supported in Delphi 2007 use Windows.GetCurrentThreadId instead - Move callback wrappers from private to protected 2012-08-01: 1.0.2 (f86a5f3) - Add monoflop functionality to IO-4 and IO-16 Bricklet API 2012-09-17: 1.0.3 (dd8498f) - Add WIFI support 2012-09-26: 1.0.4 (c8c7862) - Add getter for WIFI buffer status information - Change WIFI certificate getter/setter to transfer bytes instead of a string - Add API for setting of WIFI regulatory domain - Add reconnect functionality to IPConnection (for WIFI Extension) - Add API for Industrial Bricklets: Digital In 4, Digital Out 4 and Quad Relay - Make TDevice.GetVersion work as documented - Add inline code documentation 2012-09-28: 1.0.5 (69e6ae4) - Add API for Barometer Bricklet 2012-10-01: 1.0.6 (4454bda) - Replace Barometer Bricklet calibrate function with getter/setter for reference air pressure 2012-10-12: 1.0.7 (5884dd5) - Add GetUSBVoltage function to Master Brick API - Add Barometer Bricklet examples 2012-12-20: 1.0.8 (2b39606) - Add API for Voltage/Current Bricklet - Add API for GPS Bricklet 2013-01-22: 2.0.0 (10c72f9) - Add compatibility for Protocol 2.0 2013-01-25: 2.0.1 (13b1beb) - Add support for custom characters in LCD Bricklets 2013-01-30: 2.0.2 (e62da8a) - Rewrite socket code to use WinSock on Windows, allows to set TCP_NODELAY 2013-02-04: 2.0.3 (7dca9cb) - Avoid signature mismatch for GetIdentity procedure - Avoid a potential out-of-bounds array access - Make expected integer overflows explicit 2013-02-06: 2.0.4 (3db31c0) - Ignore exceptions in user code so that the callback thread doesn't die silently - Add Get/SetLongWifiKey functions to Master Brick API 2013-02-19: 2.0.5 (3fd93d3) - Reduce scope of request mutex and socket mutex to improve concurrency - Improve and unify code for response expected flag handling - Add Get/SetWifiHostname functions and callbacks for stack/USB voltage and stack current to Master Brick API 2013-02-22: 2.0.6 (9d5de14) - Add Get/SetRange functions to Analog In Bricklet API - Fix unlikely race condition in response packet handling - Add ETinkerforgeException as basis for all other exceptions 2013-03-11: 2.0.7 (6369faf) - Fix IP address lookup on Linux if host is already in dotted decimal format 2013-04-02: 2.0.8 (eeb1f67) - Add enable/disable functions for PositionReached and VelocityReached callbacks to Servo Brick API - Add Get/SetI2CMode (100kHz/400kHz) functions to Temperature Bricklet API - Add default text functions to LCD 20x4 Bricklet API - Don't dispatching callbacks after disconnect - Fix race condition in callback handling that could result in closing the wrong socket - Don't ignore socket errors when sending request packets - Send a request packet at least every 10sec to improve WIFI disconnect detection 2013-05-14: 2.0.9 (b847401) - Add Ethernet Extension support to Master Brick API - Only send disconnect probe if there was no packet send or received for 5sec - Add IMU Brick orientation and Barometer Bricklet averaging API 2013-07-04: 2.0.10 (cdc19b0) - Add support for PTC Bricklet and Industrial Dual 0-20mA Bricklet 2013-08-23: 2.0.11 (4b2c2d2) - Avoid race condition between disconnect probe thread and disconnect function 2013-08-28: 2.0.12 (2251328) - Add edge counters to Industrial Digital In 4, IO-4 and IO-16 Bricklet - Make averaging length configurable for Analog In Bricklet 2013-09-11: 2.0.13 (405931f) - Fix signature of edge count functions in IO-16 Bricklet API 2013-11-27: 2.0.14 (a97b7db) - Add support for Distance US, Dual Button, Hall Effect, LED Strip, Line, Moisture, Motion Detector, Multi Touch, Piezo Speaker, Remote Switch, Rotary Encoder, Segment Display 4x7, Sound Intensity and Tilt Bricklet 2013-12-19: 2.0.15 (9334f91) - Add Get/SetClockFrequency functions to LED Strip Bricklet API - Fix mixup of Get/SetDateTimeCallbackPeriod and Get/SetMotionCallbackPeriod in GPS Bricklet API - Support addressing types of Intertechno and ELRO Home Easy devices in Remote Switch Bricklet API 2014-04-08: 2.1.0 (9124f8e) - Add authentication support to IPConnection and Master Brick API - Add TDeviceBase class as empty base class for all devices 2014-07-03: 2.1.1 (cdb00f1) - Add support for WS2811 and WS2812 to LED Strip Bricklet API 2014-08-11: 2.1.2 (a87f5bc) - Add support for Color, NFC/RFID and Solid State Relay Bricklet - Rename bindings/ folder to source/ in ZIP file 2014-12-10: 2.1.3 (2718ddc) - Add support for Delphi XE on Mac OS X - Add workaround for older Delphi versions that lack TThread.CurrentThread - Add simple library fpcmake file 2014-12-10: 2.1.4 (27725d5) - Add support for RED Brick 2014-12-29: 2.1.5 (4ecb881) - Add support for arrays in callbacks 2015-07-28: 2.1.6 (725ccd3) - Add DEVICE_DISPLAY_NAME constant to all Device classes - Add procedures for all Bricks to turn status LEDs on and off - Avoid possible connection state race condition on connect - Rename SHA1 to SHAone to avoid name collision with an FPC unit - Add support for IMU Brick 2.0, Accelerometer, Ambient Light 2.0, Analog In 2.0, Analog Out 2.0, Dust Detector, Industrial Analog Out, Industrial Dual Analog In, Laser Range Finder, Load Cell and RS232 Bricklet 2015-08-12: 2.1.7 (ebe8892) - Add missing destroy call for the brickd device - Fix use-after-free bug in callback thread destruction logic - Fix memory leak on failed connect attempts 2015-11-17: 2.1.8 (158f00f) - Add missing constant for 19200 baud to RS232 Bricklet API - Add Error callback to RS232 Bricklet API - Add SetBreakCondition procedure to RS232 Bricklet API - Add unlimited illuminance range constant to Ambient Light Bricklet 2.0 API - Break API to fix threshold min/max type mismatch in Ambient Light, Analog In (2.0), Distance IR/US, Humidity, Linear Poti and Voltage Bricklet API - Break API to fix bool return type mismatch in Servo Brick (IsPositionReachedCallbackEnabled and IsVelocityReachedCallbackEnabled functions), Accelerometer Bricklet (IsLEDOn function) and Load Cell Bricklet (IsLEDOn function) API 2016-01-06: 2.1.9 (3ade121) - Add support for CO2, OLED 64x48 and 128x64, Thermocouple and UV Light Bricklet 2016-02-09: 2.1.10 (5552d2c) - Add support for Real-Time Clock Bricklet - Break GPS Bricklet API to fix types of altitude and geoidal separation values (GetAltitude function and Altitude callback) 2016-06-29: 2.1.11 (9db7daa) - Add support for WIFI Extension 2.0 to Master Brick API - Add support for CAN Bricklet and RGB LED Bricklet - Add DateTime and Alarm callbacks to Real-Time Clock Bricklet API - Use generics for newer Delphi versions 2016-09-08: 2.1.12 (2863e14) - Add support for RGBW LEDs, channel mapping and SK6812RGBW (NeoPixel RGBW), LPD8806 and ADA102 (DotStar) chip types to LED Strip Bricklet API 2017-01-25: 2.1.13 (7aeee37) - Add support for WIFI Extension 2.0 Mesh mode to Master Brick API - Add Get/SetStatusLEDConfig functions to Motion Detector Bricklet API - Add sensor and fusion mode configuration procedures to IMU Brick 2.0 API - Fix $endif / $ifend mixup - Use correct CompilerVersion check for generics - Avoid compiler bug when assigning constants to a uint64 variable 2017-04-21: 2.1.14 (044bd9b) - Add support for Silent Stepper Brick - Add Set/GetConfiguration functions to Laser Range Finder Bricklet API to support Bricklets with LIDAR-Lite sensor hardware version 3 - Add GetSendTimeoutCount function to all Brick APIs 2017-05-11: 2.1.15 (3960b4a) - Add support for GPS Bricklet 2.0 2017-07-26: 2.1.16 (fb903dc) - Add support for RS485 Bricklet - Add SPITFP configuration and diagnostics functions to all Brick APIs to configure and debug the communication between Bricks and Co-MCU Bricklets - Remove unused GetCurrentConsumption function from Silent Stepper Brick API - Break PTC Bricklet API to fix type for resistance value 2017-11-20: 2.1.17 (f235e3f) - Add support for DMX, Humidity 2.0, Motorized Linear Poti, RGB LED Button, RGB LED Matrix and Thermal Imaging Bricklet - Add Get/SetSBASConfig functions to GPS Bricklet 2.0 API 2018-02-28: 2.1.18 (da741b9) - Add support for Analog In 3.0, Remote Switch 2.0, Motion Detector 2.0, NFC, Rotary Encoder 2.0, Solid State 2.0, Temperature IR 2.0 and Outdoor Weather Bricklet - Add general streaming support 2018-06-08: 2.1.19 (8fb62e4) - Add support for CAN 2.0, Industrial Counter, Industrial Digital In 4 2.0, Industrial Dual Relay, Industrial Quad Relay 2.0, IO-4 2.0, LED Strip 2.0, Load Cell 2.0, Particulate Matter, PTC 2.0, Real-Time Clock 2.0, RS232 2.0, Sound Pressure Level, Thermocouple 2.0 and Voltage/Current 2.0 Bricklet - Add Get/SetMaximumTimeout functions to NFC Bricklet API - Add (Is)SensorConnected method and callback to PTC Bricklet API - Break Humidity 2.0, Rotary Encoder 2.0 and Temperature IR 2.0 Bricklet API to fix types for callback threshold min/max configuration 2018-09-28: 2.1.20 (f7c65f7) - Add support for Air Quality, Analog Out 3.0, Barometer 2.0, Distance IR 2.0, Dual Button 2.0, Industrial Analog Out 2.0, Industrial Digital Out 4 2.0, Industrial Dual 0-20mA 2.0, Industrial Dual Analog In 2.0, IO-16 2.0, Isolator, LCD 128x64, OLED 128x64 2.0, One Wire, Temperature 2.0 and UV Light 2.0 Bricklet - Fix compile errors in Delphi XE - Convert all array parameters from static to open to accept dynamic arrays too 2018-10-05: 2.1.21 (e3c6f36) - Break API to fix moving-average-length type in Distance IR Bricklet 2.0 API 2018-11-28: 2.1.22 (0e3b130) - Add Get/SetSamplesPerSecond functions to Humidity Bricklet 2.0 API - Add button, slider, graph and tab functions to LCD 128x64 Bricklet API 2019-01-29: 2.1.23 (2617875) - Add support for Accelerometer 2.0 and Ambient Light 3.0 Bricklet 2019-05-21: 2.1.24 (a3d0573) - Add support for CO2 2.0, E-Paper 296x128, Hall Effect 2.0, Joystick 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Piezo Speaker 2.0, RGB LED 2.0 and Segment Display 4x7 2.0 Bricklet and HAT and HAT Zero Brick - Add RemoveCalibration and Get/SetBackgroundCalibrationDuration functions to Air Quality Bricklet API - Properly check UIDs and report invalid UIDs 2019-08-23: 2.1.25 (59d9363) - Add support for Color 2.0, Compass, Distance US 2.0, Energy Monitor, Multi Touch 2.0, Rotary Poti 2.0 and XMC1400 Breakout Bricklet - Add Get/SetFilterConfiguration functions to Accelerometer Bricklet 2.0 API - Add CONVERSION_TIME constants to Voltage/Current Bricklet 2.0 API 2019-11-25: 2.1.26 (b1270ba) - Add Set/GetVoltagesCallbackConfiguration functions and Voltages callback to HAT Brick API - Add Set/GetUSBVoltageCallbackConfiguration functions and USBVoltage callback to HAT Zero Brick API - Add Set/GetStatisticsCallbackConfiguration functions and Statistics callback to Isolator Bricklet API - Report error if authentication secret contains non-ASCII chars 2020-04-07: 2.1.27 (3dff30a) - Properly check device-identifier and report mismatch between used API bindings device type and actual hardware device type - Fix race condition between device constructor and callback thread - Add Set/GetFluxLinearParameters functions to Thermal Imaging Bricklet API - Add Set/GetFrameReadableCallbackConfiguration functions and FrameReadable callback to CAN (2.0), RS232 (2.0) and RS485 Bricklet API - Add Set/GetErrorOccurredCallbackConfiguration functions and ErrorOccurred callback to CAN Bricklet 2.0 API - Add ReadFrame function to RS232 Bricklet API - Add Write/ReadBrickletPlugin functions to all Brick APIs for internal EEPROM Bricklet flashing - Add SetBrickletXMCFlashConfig/Data and Set/GetBrickletsEnabled functions to Master Brick 3.0 API for internal Co-MCU Bricklet bootloader flashing - Validate response length before unpacking response - Properly report replaced device objects as non-functional - Properly lock devices table during modification and lookup 2020-05-19: 2.1.28 (9c76b18) - Add GetAllVoltages and Set/GetAllVoltagesCallbackConfiguration functions and AllVoltages callback to Industrial Dual Analog In Bricklet 2.0 API - Add Set/GetI2CMode functions to Barometer Bricklet API 2020-11-02: 2.1.29 (6399602) - Add support for IMU Bricklet 3.0 and Industrial Dual AC Relay Bricklet 2021-01-15: 2.1.30 (797d61e) - Add support for Performance DC Bricklet and Servo Bricklet 2.0 - Fix Base58 decoding in Delphi 7 2021-05-06: 2.1.31 (7cd6fa2) - Add GPIOState callback to Performance DC Bricklet API - Add support for DC 2.0, Industrial PTC and Silent Stepper Bricklet 2.0 2022-05-11: 2.1.32 (982fff1) - Add support for GPS Bricklet 3.0 and ESP32 (Ethernet) Brick - Add Set/GetDisplayDriver functions and DISPLAY_DRIVER constants to E-Paper 296x128 Bricklet API - Add SimpleGetTagID function and MODE_SIMPLE constant to NFC Bricklet API - Add Set/GetRTCDriver functions and RTC_DRIVER constants to HAT Brick API - Fix race condition in TTimedSemaphore Acquire/Release logic that affected callback handling 2024-02-27: 2.1.33 (3a86bf6) - Add support for Industrial Dual AC In Bricklet - Add FFC shutter mode and normalization to Thermal Imaging Bricklet API - Avoid compiler warning: function result variable of a managed type does not seem to be initialized