Releases: hybridgroup/gobot
2.4.0
The main objective of this release is to provide important module updates and the support for newer go version 1.22.
The launch of BLE and Serial drivers entail some changes. For a smooth transition, please read our migration guide.
Unreleased
v2.4.0 (2024-11-05)
Bebop
- fix concurrent map writes (#1063)
Ble
- add support for functional options, add tests (#1059)
- introduce in drivers folder (#1057)
- client: add scan timout (#1051)
- module: update tinygo.org/x/bluetooth to v0.10 and adapt code (#1084)
Build
- go, deps: switch to Go 1.22 and update modules, linter v1.61.0 and adapt code (#1093,#1092)
- go, deps: switch to Go 1.20 and update modules (#1067)
- linter: update linter to v1.56.1 and fix issues (#1068)
Doc
- update links to release or tagged branch (#1069)
- core: prepare for release v2.4.0
Examples
- fix missing checks of return values (#1060)
Gobot
- rename Master to Manager (#1070)
Megapi
- use serialport adaptor and move driver to drivers/serial (#1062)
Neurosky
- use serialport adaptor and move driver to drivers/serial (#1061)
Test
2.3.0
The main objective of this release is to provide important module updates, fix data races in drivers and PWM issues with Raspi.
The new "functional options" entail some changes. For a smooth transition, please read our migration guide.
Unreleased
v2.3.0 (2024-01-06)
Adaptors
Aio
- fix data race in AnalogSensorDriver (#1024)
- all: introduce functional options (#1039)
- analog sensor: fix deadlock in cyclic reading (#1042)
- thermalzone: add driver for read a thermalzone from system (#1040)
Build
Doc
- test: use -race for tests by default (#1035)
Gpio
- fix data race in StepperDriver (#1029)
- fix data race in PIRMotionDriver (#1028)
- fix data race in ButtonDriver (#1027)
- fix data race in EasyDriver (#1025)
- all: introduce functional options (#1045)
I2c
- core: fix problems with usage of uintptr (#1033)
Lint
Ollie
- test: fix data race in test (#1034)
Raspi
- pwm: add support for sysfs and fix pi-blaster (#1048)
2.2.0
The main objective of this release is to provide important module updates and the switch to Go 1.19.
Unreleased
v2.2.0 (2023-10-29)
Adaptors
- PWM: fix wrong duty cycle after kill program (#994)
Beaglebone
- doc: fix preceding typo (#985)
Build
- deps: module update (#992)
- go, deps: switch to Go 1.19 and update modules (#1008)
- style: switch to gofumpt and add linters (#1009)
Doc
- roadmap: remove file ROADMAP.md after creating issues (#1005)
Dragonboard
- fix example and documentation (#977)
Gpio
- hcsr04: add driver for ultrasonic ranging module (#1012)
I2c
- PCA9685, adafruit, adafruit2327, adafruit2348: clean up architecture and fix init (#1021)
Jetson
- PWM: fix set period (#1019)
Joystick
- core: replace sdl with 0xcafed00d/joystick package (#988)
Sphero
- Add support for calibration
System
- gpio: add edge polling function (#1015)
Test
2.1.1
The main objectives of this release are to increase maintainability, disclose internal errors, uncover missing test coverage and fix some documentation. This can cause now new errors or panics rather than unexpected behaviors as before. Please create an issue and switch temporary to the previous version if this negatively affects your application.
Unreleased
v2.1.1 (2023-07-07)
All
- upgrade modules
- substitute deprecated ioutil methods (#923)
- linter: activate linters "errcheck", "ineffassign", "unused" and fix issues (#950)
- linter, format: format code and list of linter todo's (#962)
- linter: activate linter "makezero" and fix issue (#965)
Ble
- simplify and substitute errors.Wrap() (#958)
Build
- go: switch to Go 1.18 (#940)
Core
- CLI removed (#946)
Doc
Mavlink
- fix linter issues of errcheck (#959)
System
- syscall: switch to x/sys (#963)
Tello
2.1.0
2.0.3
2.0.2
v2.0.2 (2023-05-22)
This version try to fix the general error with v2+ releases (#920) by moving the code to a subfolder "v2", but not successful.
- go list -m -json github.com/hybridgroup/gobot/v2@latest -> is working
- go list -m -json gobot.io/x/gobot/v2@latest --> is not working
Build
- v2: fix usage by moving code to a v2 subfolder (#927)
2.0.1
v2.0.1 (2023-05-21)
This version fix the download error of previous version but introduce a general error with v2+ releases (#920).
Build
- style: add golangci-lint workflow configuration (#916)
- style: fix linter findings of "gosimple", "govet" and "staticcheck" (#917)
Bump
- periph.io/x/conn/v3 from 3.6.10 to 3.7.0 (#913)
- github.com/gofrs/uuid from 4.3.0+incompatible to 4.4.0+incompatible (#914)
- golang.org/x/net from 0.1.0 to 0.10.0 (#915)
- github.com/nats-io/nats-server/v2 from 2.1.0 to 2.7.4 (#906)
Core
- fix Semantic Import Versioning for v2 (#921)
Docs
- core: adjust changelog generation (#924)
2.0.0
This version will be recognized by "go list -m -json gobot.io/x/[email protected]+incompatible" but creates an error by usage:
invalid version: module contains a go.mod file, so module path must match major version ("gobot.io/x/gobot/v2")
- bugfix
- I2C connection-bus caching and multiple device usage
- raspi pwm cache
- new pwm behaviour of tinkerboard
- jetson nano pwm feature
- examples and gopigo3 driver
- i2c.ReadBlockData(), Read_Data() in digispark and some small other fixes
- L3GD20H full scale range usage
- TH02 wrong register usage for read heater
- MPU6050 wrong initialize and reduced temperature resolution
- I2C driver typo: change HMC8553L to HMC5883L
- HMC5883L driver returns wrong values
- ads1x15 driver not working stable when reading multiple inputs
- Adafruit1109 driver shows bad characters after Halt()
- spi.SpiConnection is not gobot.Connection: missing method Connect
- Stopping and Starting Robot with Raspberry Pi Adapter and LED Driver - LED does not toggle on restart
- ble
- update to TinyGo Bluetooth package v0.6.0 release
- build
- core
- use base driver for all I2C devices
- rename package "sysfs" to "system"
- go.mod to 1.17 and all modules incl. code upgrades
- dji tello
- Halt does not terminate all the related goroutines and may wait forever when it is called multiple times
- docs
- README for gpio, pwm, i2c and add example
- document fields for flight data
- drivers
- ADXL345 use ReadBlockData()
- CCS811 use ReadBlockData()
- bmxy8z use ReadBlockData
- CCS811 use ReadBlockData()
- BMP180, BMP280 BMP388 BME280 use ReadBlockData()
- MPL115A2 use ReadBlockData(), WriteByteData()
- add generic i2c driver
- add PCF8583 i2c driver
- add PCA9501 i2c driver
- add PCA953x i2c driver
- introduce I2cBusAdaptor for composition in platforms
- introduce generic i2c.Driver with example for digispark fix missing/wrong entries in README stabilize test
- add advanced digital pin options (pull, bias, drive, debounce, event)
- add support for new character device Kernel ABI for GPIO
- analog sensor driver to prevent ReadValue() to get float64
- add read firmware version and DHT sensors for grovepi
- SPI using GPIO's plus driver for MFRC522
- jetson nano
- add Jetson Nano adpator
- joystick
- nanopi neo
- add platform
- piblaster
- add unused but missing interface implementation
- radxa rock pi 4(c+)
- add platform (#902)
- test
- increase some timings to make tests a little less fragile
- skip test TestNatsAdaptorFailedConnect when flaky
- stabilize "every"-test
- stabilize flaky utils_test
- stabilize firmata tests
- fix tests with sysfs mocks, ReadBlockData, WriteBlockData
- fix keyboard tests and exclude opencv
- fix PWM related read/write tests
- add check for examples in Makefile
- BREAKING CANGES
- some interfaces moved, see folder system and adaptor.go
1.16.0
- bugfix
- failing leftovers after usage of PR #569
- Fix servo and DC motors presence
- FIX the bug #568 without further impact, heavy improvements of tests
- fixed PinMode, SetPullUp and SetPolarity, unit tests activated
- ReadGPIO fixed with #576, failing leftovers for PinMode, SetPullUp and SetPolarity
- helper_test ReadByteData, ReadWordData to use reg
- core
- update uuid package and directly access it; remove archived uuid package
- digispark
- fix ReadByte & WriteByte, rework and add i2c tests
- remove useless code in i2c test
- drivers
- add AnalogActuatorDriver, analog temperature sensor, driver for PCF8591 (with 400kbit stabilization), driver for YL-40
- Adding support for hmc8553l compass
- bmp388 fix missing address write byte in test of Measurements
- drv2605l fix missing address write byte in test of Halt()
- introduce adafruit1109 2x16 LCD with 5 keys
- mcp23017: add mutex for write, hd44780: fix mutexes
- MCP3004: correct number of channels
- raspi
- fix raspi PWMPin.SetDutyCycle (#800)
- tello
- Guards Dji Tello Halt against nil dereference
- test
- don't panic on 'With*' allow simpler wrapping of drivers
- tinkerboard
- fix tinkerboard i2c0 to i2c4, improve comments in pin map, improve README