farmbot_os/CHANGELOG.md

469 lines
14 KiB
Markdown

# Changelog
# 10.0.0
* Deprecate `resource_update` RPC
* Introduce `update_resource` RPC, which allows users to modify variables from the sequence editor.
* Genesis v1.5 and Express v1.0 firmware updates.
* Fix a bug where FBOS would not honor an "AUTO UPDATE" value of "false".
# 9.2.2
* Fix firmware locking error ("Can't perform X in Y state")
* Removal of dead code / legacy plus numerous unit test additions.
* Added coveralls test coverage reporter
* Unit test additions (+2.7% coverage :tada:)
* Updates to build instructions for third party developers
* Bug fix for criteria-based groups that have only one filter criteria.
* Bug fix for express bots involving timeout during remote firmware flash
* Remove VCR again (for now)
* Increase farmware timeout to 20 minutes (use at own risk)
# 9.2.1
* Improve firmware debug messages.
* Remove confusing firmware debug messages, such as "Error OK".
* Improved camera support on FarmBot express.
* Bug fix to prevents OTA updates occuring when one is already in progress.
# 9.2.0
* Support for criteria-based groups.
* Genesis v1.5 and Express v1.0 firmware homing updates.
* Fix bug where unknown positions would report as -1.
# 9.1.2
* Genesis v1.5 and Express v1.0 firmware updates.
* Bug fix for movement error reporting
* Improved firmware error message reporting
* Improved support for gantry mounted tools.
# 9.1.1
* Genesis v1.5 and Express v1.0 firmware updates.
# 9.1.0
* Improved support for new FarmBot Express models
* Various firmware bug fixes for Express models.
* Bug fix for slow Farmware execution (Thanks, @jsimmonds2)
* Dependency upgrades
* Upgrade VintageNet (networking library)
* Removal of `dump_info` RPCs
* Numerous internal improvements, such as increasing test coverage and changing dependency injection scheme.
* Fix issue where firmware commands would be tried too many times.
# 9.0.4
* Bug fix for slow Farmware execution (Thanks, @jsimmonds2)
* Dependency upgrades
* Upgrade VintageNet (networking library)
* Removal of `dump_info` RPCs
* Numerous internal improvements, such as increasing test coverage and changing dependency injection scheme.
# 9.0.3
* Dependency updates
# 9.0.2
* See notes for 9.0.1.
# 9.0.1
* Routine token updates on Circle CI.
* Fix bugs that were causing devices to erroneously factory reset under some circumstances.
# 9.0.0
* Run updates on Nerves systems.
* Updates to the way `set_servo_angle` is handled.
* Fixes rip0 firmware flash issues.
# 8.2.4
* Bug fixes
* fix Farmware causing sequences to exit
* fix `arduino_debug_messages` fbos_config field being ignored
* fix `espeak` not working
* add `name` paramater back to image uploads
* Enhancements
* `resource_update` command can now update:
* device.mounted_tool_id
* GenericPointer.*
# 8.2.3
* Features
* Farmbot will now check for an hour in which to apply over the air updates
* Bug fixes
* `take-photo` will now send a log
* having multiple instances of the app open won't cause sync errors
# 8.2.2
* Bug fixes
* Fix race condition in executing farmwares
# 8.2.1
* Features
* Add timer to reset `firmware_input_log` and `firmware_output_log` after 5 minutes
* Add a back off timer for flashing firmware
* Bug fixes
* Fix issue where opencv would error. Most notibly in take-photo
# 8.2.0
* Features
* Add telemetry to app. Telemetry data is now streamed to AMQP
* Add log messages containing iteration context for looped sequences and events
* Add support for EAP networks back
# 8.1.1
* Bug fixes
* Fix bug where farmbot could not execute the following commands
* home
* calibrate
# 8.1.0
* Features
* PointGroups are now supported by farmbot os
* Sequence, FarmEvent, and Regimens can now enumerate over PointGroups
* Bug fixes
* Fixed a arduino-firmware bug when sending commands that are bigger than the buffer
# 8.0.4
* Bug fixes
* Fix the `move_absolute` step to honor speed parameter correctly
# 8.0.3
* Features
* Add new firmware params to support trinamic motor drivers
* Bug fixes
* Fix farmware sometimes hanging sequences
* Fix the `mark_as` step
# 8.0.2
* Updated dependencies
* `nerves_hub`
* `nerves_runtime`
* Updated log messages
* Configuration changes now log human readable names
* Firmware changes now log human readable names
* Bug fixes
* Fix farmbot ignoring `movement_invert_2_endpoints` params
# 8.0.1
* Updated log messages
* AMQP connection log should be less noisy on first boot
* Farmware installation logs will be more condensed
* Enhancements
* Syncing LED blink speed increased
# 8.0.0
* Reorganize project structure
* Split original single application into multiple OTP applications:
* `farmbot_celery_script` - CeleryScript compiler and friends
* `farmbot_firmware` - Interaction with the motor controler
* `farmbot_core` - Main database access and other workers
* `farmbot_ext` - Extra, mostly networked functionality
* `farmbot_os` - `Nerves` Framework
* Refactor global process initialization
* Refactor networking for increased reliability
* Refactor CeleryScript to support run-time variables
* Preliminary support for raspberry pi 0
# 7.0.3
* Update to AMQP to disable `heartbeat` timeouts
# 7.0.2
* AMQP now reconnects immediately after an unexpected disconnect
* Misc Configurator UI updates
# 7.0.1
* Fix typo causing custom dns servers to be ignored.
* Update Configurator UI
* Update Farmbot-Arduino-Firmware to 6.4.2
* Fix bug in decoding of CeleryScript
* Fix bug causing the stubbed Firmware implemenation to crash
# 7.0.0
* Initial support for WPA-EAP networks.
* Increase NervesHub reconnect timer to not waste CPU time.
* Update Farmware packages
* Python 3
* OpenCv 3
# 6.4.13
* Add SensorReadings when `read_pin` is executed.
# 6.4.12
* Fix race condition after getting time which broke self hosting users.
* Add retry mechanism for fetching a token.
* Farmbot will now try 5 times to fetch a token.
* Fix bug causing static ip settings not to work.
* Enable `multi_time_warp` which should hopefully compensate for time skew.
* Migrate OTA system to NervesHub
# 6.4.11
* Add SSH back.
* Fix bug during configuration causing bots to maybe not connect.
* FarmBot will now try to emergency lock the firmware on powerdown and reset.
* Fix bug causing FarmBot not to reconnect to WiFi.
* Add fields to `informational_settings`:
* `uptime` seconds
* `memory_usage` megabytes
* `disk_usage` percent
# 6.4.10
* Skipped due to release failure.
# 6.4.9
* Add feature to save logs to sdcard for debugging.
* Fix bug causing long running Farmwares to fail.
* Make sure to clear eeprom before flashing Arduino firmware.
* Update Linux system layer.
# 6.4.8
* Make sure not to crash if a wifi network is malformed.
# 6.4.7
* Fix DNS server config for self hosters.
* Add new field to `informational_settings`: `currently_on_beta`.
* Reindex farmware on bot_state crash.
# 6.4.6
* Add new RPC to reinitialize Firmware
* Tweak PinBinding debounce timeout.
* Update Linux system layer to fix sound.
# 6.4.5
* Fix Firmware syncing applying _every_ setting.
# 6.4.4
* Optimize AMQP connection.
* Sync PinBindings with the API.
* Add new field on `informational_settings`: `soc_temp`.
* Add new field on `informational_settings`: `wifi_level`.
* Add new RPC `dump_info` that collects some info helpful for bug reports.
* Add `BoxLed3` and `BoxLed4` to `write_pin`.
* Implement new LED subsystem.
* Declare language and charset in Configurator to avoid localization issues.
* Add new Configurator fields for dns and ntp.
* Another attempt at catching broken sqlite3 lib.
* Update Linux system layer.
# 6.4.3
* Fix Ramps firmware build.
# 6.4.2
* Remove `hostapd`
* Remove a lot of custom Logger code.
* Try to write the last 100 logs to a flash drive if one exists.
* Fix bugs in `send_message` block templating.
* Add new farmware_tools package for plugins.
# 6.4.1
* Beta updates should _always_ try to flash firmware.
* Bump Nerves and friends to 1.0.0.
* Add new firmware params: `movement_invert_2_endpoints_<x|y|z>`.
* Add new rpc: `set_pin_io_mode`.
* Clean up positions in logs.
* Update Configurator to support more control over network setup.
* Add mdns to development setups.
* Remove use of `iw`.
* Add checks for uart auto detector.
* Syncing a sequence reindexes running regimens that require it.
# 6.4.0
* Update logs to no longer use the `meta` field.
* Update Timed Estop messages to use the `fatal_email` channel.
* Regimens will now persist reboots.
# 6.3.2
* Add support for Raspberry Pi 3 B+.
* Add new package `pyserial`.
# 6.3.1
* Fix bug causing FarmEvents not to work.
# 6.3.0
* Update system update system.
* Rename and refactor external resources internally so they are more readable in the codebase.
* Write tests for new system.
* Implement the new "Flat" CeleryScript representation.
* Add ability to log into a new account without rebooting into Configurator.
* Firmware settings are now synced with Farmbot API.
* Add third Firmware board.
* Fix bug causing false positives on sync failure.
* Fix bug causing a captive portal staying up if the user chooses a wired network connection.
* Fix bug that prevented a user from configuring network credentials.
* Fix bug that would halt bootup if a PinBinding is high during boot.
* Add new syncable `Sensor`.
* Add new celeryscript node `NamedPin`.
* Add new args:
* `pin_id`
* `pin_type`
* allow `pin_number` to be new `NamedPin` node.
* allow to use `NamedPin` in:
* `ReadPin`
* `WritePin`
* `If`
# 6.2.1
* Fix Bug breaking diy builders with Arduinos showing up other than `/dev/ttyACM0`.
# 6.2.0
* Farmbot Settings are now synced with Farmbot API.
* Refactor Syncing to not make unnecessary HTTP requests.
* Estop status is now much faster.
* Add dns checkup for users with factory resetting disabled to make tokens refresh faster.
* Opting into beta updates will refresh farmbot's token.
# 6.1.2
* Fix fw hardware being reset on os upgrade.
* Bump arduino-firmware version to 6.0.1
# 6.1.1
* Fix bug that caused the "update" button on the frontend to give an error log.
* Fix flashing `beta` channel updates.
* Add feature to send user an email if the bot has been e-stopped for 10 minutes.
* Add feature to `espeak` logs.
* Set `busy` a little earlier making the bot seem snappier.
* Fix `tzdata` bug for real this time.
* Update Arduino Firmware.
# 6.1.0
* Remove all the migration code to safely get from 5.0.x to 6.0.1.
* Clean up and upgrade dependencies.
* Fix bug that could cause Image uploads to silently fail.
* Fix bug in `tzdata` that could cause the sdcard to fill up.
# 6.0.1
* Add feature auto sync.
* Add feature RPI GPIO.
* Refactor Configurator to not need Javascript/Webpack
* Add timer before network not found factory resets bot.
* Remove steps/mm conversion.
* Bundle new arduino-firmware.
* Replace MQTT with AMQP.
* Get rid of Log batching.
* Add verbosity level to _every_ log message.
* Show position for log messages.
* Add many helpful log messages.
* Add feature to disable many log message.
* Add feature to log all arduino-firmware I/O.
* Migrated CI to CircleCI from TravisCI.
* Refactored FarmEvent Calendar generator.
* Fix a ton of little bugs.
# 5.0.9
* Add missing redis-py package for Farmware.
# 5.0.8
* Update underlying Linux System deps.
* Preperation for 6.x releases.
# 5.0.6
* Fix images double uploading.
* Allow reinstallation of first party farmware.
# 5.0.5
* Fix token refreshing.
# 5.0.4
* Fix lag when communicating over MQTT
* Don't retain last will log message.
* Update node packages.
# 5.0.3
* Add selector for firmware hardware to Configurator.
* Fix an OS update bug.
* Fix an image upload bug.
* Fix a farmware download bug.
# 5.0.2
* Fix a bug causing `busy` to be set erroneously.
* add note to configurator for osx users.
# 5.0.1
* Fix not being able to move to a point in some cases.
* Fix a sub sequence never returning.
* add `busy` flag to the bot's state.
# 5.0.0
* add a progress bar to http client for downloads.
* Bundle new Arduino Firmware.
* Rewrite Farmware Handler again, to use HTTP/REST this time instead of STDIN/STDOUT.
* Add location_data to bot state. This includes encoder position.
* Add `jobs` field to bot state.
# 4.0.1
* fix bug in E-Stop
# 4.0.0
* bundle new Arduino Firmware
* overhaul HTTP adapter
* start fixing cross cutting concerns within the application
# 3.1.6
* Bundle new FW (01.13)
* Increase WiFi Stability
* Refresh auth token more frequently
* Clean up noisy log messages
# 3.1.5
* Clean up a ton of log messages causing RollBar problems.
* Finally rewrite the firmware uploader.
* Bump Firmware Version.
* Misc bug fixes.
# 3.1.4
* Bundle new FW
* Add Rollbar client
# 3.1.3
* Fix peripheral bug.
# 3.1.2
* Fix bug caused by Github changing their release api.
# 3.1.1
* Bundle a new FW fixing z axis and gravity.
# 3.1.0
* Fix a bug with unwanted Logs going to the frontend/backend.
# 3.0.8
* Rewrite Serial handler and bundle FW into the OS.
# 3.0.6
* Syncing is now a multiple request action and is now much faster and safer.
* change folder structure
* begin adding redis support.
# 3.0.5
* Configurator got a facelift + a few extra features.
# 3.0.4
* Logger bug fixes
# 3.0.3
* Farmware fixes
# 3.0.2
* Farmware initial concepts.
# 3.0.1
* implement bot state migrations
* logger fixes.
# 3.0.0
* Makefile
# 2.1.10
* a few minor bug fixes to the previous release.
# 2.1.9
* changed folder structure around
* moved farmbot_auth and farmbot_configurator back into an umbrella application
* begin migration to CeleryScript for all the things
* Multi Platform support
* `Configurator` looks great. thanks @MrChristofferson && @RickCarlino
* Code base was converted to CeleryScript, so it is much more stable
* bot configuration is now based on a single (json) that is shared across platforms/targets