Files
pybricks-code/CHANGELOG.md
T
David Lechner baaa9a7920 terminal/sagas: fix handling multibyte unicode
Enable the stream option on the text decode for the stdout and uart
stream handlers that pipe data to the terminal. This fixes improperly
printing multibyte unicode characters that get split across multiple
data packets.

A new decode is added for each different stream in case both are used
at the same time.

Fixes: https://github.com/pybricks/support/issues/1743
2024-09-08 17:52:12 -05:00

43 KiB

Changelog

Unreleased

Fixed

  • Fixed Bluetooth firmware updates sometimes failing on macOS. (support#1787)
  • Fixed multibyte unicode characters not printing correctly in terminal when split across Bluetooth packets. (support#1743)

2.3.0-beta.1 - 2023-11-24

Changed

  • Bump beta channel to keep app installs separate from stable channel.

2.2.0 - 2023-11-24

Changed

  • Updated firmware and docs to v3.3.0. This is a version bump with no changes.

2.2.0-rc.1 - 2023-11-20

Fixed

  • Fixed centering of Pybricks Logo.
  • Fixed dialogs not displaying correctly on Android (support#1271).

Changed

  • Updated firmware and docs to v3.3.0c1:

    Added

    • Added MoveHub.imu.tilt() ([support#539]).
    • Enabled hub init orientation support for Move Hub ([support#539]).

    Changed

    • Allow Move Hub to ignore broadcast instead of raising an exception while connected.

    Fixed

    • Fixed Move Hub accelerometer not working since v3.3.0b5 (support#1269).
    • Fixed Bluetooth chip locking up on Technic and City hubs when broadcasting (support#1095).
    • Fixed potential crash when GC occurs while observing BLE data (support#1278)
    • Fixed Technic Hub and City Hub eventually stopping observing BLE data after a few minutes (support#1096) by implementing an auto-reset workaround.

2.2.0-beta.9 - 2023-10-26

Changed

  • Updated dependencies.

  • Updated firmware and docs to v3.3.0b9:

    Added

    • Added hub.buttons as an alias for hub.button on buttons with one hub (support#1254).
    • Implemented brake for DriveBase (support#881).

    Changed

    • The use_gyro method is added to the normal DriveBase class instead of having a separate GyroDriveBase class. Since the latter was only released in beta versions, this is not a breaking change (support#1054).
    • New color distance function used by the color sensors that is more consistent when distinguishing user-provided colors (pybricks-micropython#104).
    • Updated the unreleased BLE API to ensure sent and received objects are the same. Allows one of the supported types or a list/tuple thereof.

    Fixed

    • Improved external device detection speed (support#1140).
    • Fixed Powered Up Tilt Sensor not working (support#1189).
    • Fixed surface=False not working in ColorSensor (support#1232).
    • Fixed PUPDevice.write not selecting correct mode (support#1213).
    • Fixed City Hub turning back on after shutdown (support#1195).
    • Fixed SPIKE hubs not broadcasting at all when attempting to broadcast in a tight loop (support#1151).

Fixed

  • Fixed starting DFU flash while another was still in progress (support#1146).

2.2.0-beta.8 - 2023-07-07

Changed

  • Updated dependencies.

  • Updated firmware to v3.3.0b8:

    Added

    • Added use_gyro method to GyroDriveBase class (support#1054).
    • Added pybricks.tools.read_input_byte() function (support#1102).

    Changed

    • Relaxed thresholds that define when the IMU is stationary (support#1105).

    Fixed

    • Fixed Technic (Extra) Large motors not working (support#1131) on all hubs.
    • Fixed Powered Up Light not working (support#1131) on all hubs.
    • Fixed UART sensors not working on Technic Hub (support#1137).
    • Fixed incorrect number of ports on City Hub (support#1131).

2.2.0-beta.7 - 2023-07-01

Fixed

  • Fixed terminal not working (regression in 2.2.0-beta.6, support#1130).

2.2.0-beta.6 - 2023-06-30

Changed

  • Updated dependencies.

  • Updated firmware to v3.3.0b7:

    Added

    • Added 'modes' entry to the dictionary returned by PUPDevice.info().
    • Added pybricks.tools.read_input_byte() function (support#1102).
    • Added pybricks.tools.hub_menu() function (support#1064).

    Changed

    • Changed internal drivers for LEGO devices (motors and sensors) on all platforms.

    Fixed

    • Fixed hub will not power off when Bluetooth chip crashes on City and Technic hubs (support#1095).
    • Fixed off() method in ColorLightMatrix, UltrasonicSensor, ColorSensor (support#1098).

2.2.0-beta.5 - 2023-06-02

Changed

  • Updated dependencies.

  • Updated firmware to v3.3.0b6:

    Added

    • Enabled builtin set type (except on BOOST Move hub) (support#402).

    Changed

    • Updated BTStack to v1.5.5.

    Fixed

    • Fixed BLE broadcast not working on City hub.
    • Fixed crash on BTStack hubs when program stopped during call to ble.broadcast().
    • Fixed BLE broadcast not working on Technic hub when not connected (support#1086).
    • Fixed delayed sensor sync on boot on City hub (support#747).

Fixed

  • Fixed importing/replacing file when file is open in editor (support#975).
  • Fixed file not opened when duplicating (support#1084).

2.2.0-beta.4 - 2023-05-16

Added

  • Added warning message when hub has newer Pybricks Profile version than supported version.

Changed

  • Updated dependencies.

  • Update code completion for API changes and additions.

  • Updated docs.

  • Updated firmware to v3.3.0b5:

    Added

    • Enabled the gc module (except on BOOST Move hub).
    • Added hub.ble attribute for broadcasting/observing (pybricks-micropython#158).

    Changed

    • Updated MicroPython to v1.20.0.

    Fixed

Fixed

  • Fix pasting selection when middle click to close file on Linux (support#1046).

2.2.0-beta.3 - 2023-04-24

Added

  • Added support for Pybricks Profile v1.3.0.

Changed

  • Better error message when download and run fails due to disconnected hub.

  • Updated dependencies.

  • Update code completion for API changes and additions.

  • Updated docs.

  • Updated firmware to v3.3.0b4:

    Added

    • Added pybricks.tools.cross(a, b) to get a vector cross product.
    • Added experimental implementation of hub.imu.heading() (support#912).
    • Added support for reading single-axis rotation.
    • Added hub.imu.ready() method.
    • Added GyroDriveBase class.
    • Added optional window parameter to Motor.speed() method.

    Changed

    Fixed

    • Fixed gyro on Technic Hub occasionally giving a bad value (support#1026).
    • Fixed discrepancy in heading value across hubs (support#1022).
    • Fixed iterator for Matrix objects giving bad values.
    • Fixed Bluetooth sometimes locking up on Technic/City hubs (support#567).
    • Fixed GyroDriveBase being slow to respond to heading perturbations when driving at high speed (support#1032).

    Removed

    • Removed positive_direction from DriveBase initializer (support#992).

Fixed

  • Fixed run button active while hub is disconnecting (support#1021).
  • Fixed error message not shown when starting REPL fails.

2.2.0-beta.2 - 2023-03-24

Changed

  • Focus editor when new file is opened.

  • Updated dependencies.

  • Updated firmware to v3.3.0b3:

    Added

    • Added positive_direction to DriveBase initializer (support#989).
    • Added support for setting drivebase acceleration and deceleration separately (support#881).

    Fixed

    • Fixed allocator interfering with motor control when memory usage is high (support#977).
    • Fixed Stop.NONE not working properly for some drivebase geometries (support#972).
    • Fixed reading programs larger than 65535 bytes on boot on SPIKE hubs. ([support#996).
    • Various Bluetooth stability and reliability improvements on BOOST Move hub (support#320, support#324, support#417).
    • Fixed Bluetooth random address not changing on City and Technic hubs (support#1011).

    Changed

    • Motor settings and control methods now check the user input and raise a ValueError if a value is out of bounds (support#484).
    • Renamed precision_profile to profile in the Motor initializer.
    • In DriveBase, wheel_diameter and axle_track now accept decimal values for increased precision (support#830).

    Removed

    • Removed DriveBase.left and DriveBase.right properties (support#910).

2.2.0-beta.1 - 2023-03-08

Added

  • Added ability to import ZIP files containing Python files (support#833).

Changed

  • Updated firmware to v3.3.0b2:

    Added

    • Added precision_profile parameter to Motor initializer.
    • Added Motor.model object to interact with the motor state estimator.
    • Added Stop.BRAKE_SMART as then option for motors.
    • Added logging support for control stall and pause state.

    Changed

    • Changed how the PID values are initialized for each motor.

    Fixed

    • Fixed workaround for motor hold drifting away under external input movement (support#863).
    • Reduced motor motion while holding position and added configurable setter and getter for this deadzone.
    • Fixed end-user stall flag coming up too early in position based control.
    • Further reduced stutter at low motor speeds (support#366).
    • Fixed position based commands starting from the wrong position if the previous command was a time based command that could not hit its target (support#956).
    • Fixed long delay when connecting to remote on SPIKE hubs (support#466).

Fixed

  • Fixed importing file with same name overwrites existing without asking user.

2.1.1 - 2023-02-17

Changed

  • Updated firmware to v3.2.3:

    Added

    • Added close() method to DCMotor and Motor so they can be closed and re-initialized later (support#904).

    Fixed

    • Fixed Light controlling wrong ports on Move hub (support#913).
    • Fixed type checking optimized out on Move hub (support#950).

Fixed

  • Show error message when go to syntax error fails to activate file (support#924).

2.1.0 - 2023-01-06

Changed

  • Updated firmware to v3.2.2:

    Fixed

    • Fixed some objects do not implement __hash__ (support#876).
    • Fixed Motor.run_time not completing under load (support#903).

2.1.0-beta.4 - 2022-12-30

Changed

Fixed

  • Fixed terminal layout issues when resizing window vertically.
  • Fixed editor find widget visible over modal dialogs.

2.1.0-beta.3 - 2022-12-28

Changed

  • Improved syntax highlighting for f-strings, operators and numeric literals.

Fixed

  • Fixed clipping of code completion popup by terminal.
  • Fixed code completion for builtin types.
  • Fixed code completion for names starting with _.
  • Fixed code completion for from ... for user modules (support#759).

2.1.0-beta.2 - 2022-12-26

Changed

  • Updated firmware to v3.2.1:

    Fixed

    • Fixed imu.angular_velocity returning the values of imu.acceleration.

2.1.0-beta.1 - 2022-12-23

Added

  • Added audio and visual feedback when typing into terminal while user program is not running.

Changed

  • Changed app display from "fullscreen" to "standalone" (support#867).

Fixed

  • Fixed imports in scripts that use async or await keywords (support#873).

2.0.1 - 2022-12-21

Fixed

  • Fixed terminal scroll not working (support#866).
  • Fixed terminal breaks if input is given before hub is connected (support#865).

2.0.0 - 2022-12-20

Added

  • Added Windows DFU USB driver installation instructions (support#858).

Changed

  • Clicking empty area of file list focuses the list (support#856).

  • Various text, style and accessibility fixes and improvements.

  • Updated dependencies.

  • Updated firmware to v3.2.0:

    Changed

    • Buffered stdout is flushed before ending user program.

    Fixed

    • Fixed SPIKE/MINDSTORMS hubs advertising after disconnect while user program is still running (support#849).
    • Fixed Essential hub hanging on boot when bootloader entered but USB cable not connected (support#821).
    • Fixed button needs debouncing on City/Technic/Essential hubs (support#716).
    • Fixed motor hold drifting away under external input movement (support#863).

2.0.0-rc.1 - 2022-12-09

Added

  • Added videos to firmware flash dialogs (support#728).

Changed

  • Moved documentation show/hide button from settings to editor area (support#778).

  • Updated documentation and other dependencies.

  • Updated firmware to v3.2.0c1:

    Fixed

    • Fixed motor.control.limits() not working if acceleration was None.
    • Fixed crash on calling methods on uninitialized objects (support#805).
    • Fixed crash on calling methods in __init__(self, ...) before calling super().__init(...) on uninitialized objects (support#777).
    • Reverted Pybricks Code stop button raises SystemAbort instead of SystemExit (support#834).
    • Improved stop message raised on SystemExit and SystemAbort (support#836).
    • Fixed Technic Hub and City Hub sometimes not shutting down when a Bluetooth operation is busy (support#814).
    • Fixed hub.system methods not working (support#837).

    Changed

    • Changed default XYZ orientation of the Technic Hub and the Essential Hub to match the SPIKE Prime Hub and Move Hub (support#848).

Fixed

  • Fixed first tour item not shown if settings is not open (support#823).
  • Fixed selected activity tab not controlled independently per window (support#807).
  • Fixed selected documentation visibility not controlled independently per window (support#807).
  • Fixed slow firmware flash on Android (support#438).

2.0.0-beta.12 - 2022-12-02

Added

  • Added in-app LEGO firmware restore for USB/DFU hubs.
  • Added Pybricks logo when no files open.

Changed

  • Firmware restore for hubs with USB is now done in-app (pybricks-code#1104).

  • Moved Tour button from toolbar to settings.

  • Updated docs, code completion and other dependencies.

  • Updated firmware to v3.2.0b6:

    • Added support for PBIO_PYBRICKS_COMMAND_REBOOT_TO_UPDATE_MODE Pybricks Profile BLE command.
    • Implemented Motor.load() which now measures load both during active conditions (run) and passive conditions (dc).

    Changed

    • The Pybricks Code stop button will force the program to exit even if the user catches the SystemExit exception (pybricks-micropython#117).
    • Changed PrimeHub.display.image() to PrimeHub.display.icon() and renamed its kwarg from image to icon (support#409).
    • Deprecated Control.load(), Control.stalled(), and Control.done() methods ([support#822]).

    Fixed

    • Fixed connecting Remote on BOOST move hub (support#793).

    Removed

    • Removed hub.system.reset() method.
    • Disabled micropython module on Move Hub.

Fixed

  • Fixed missing warning sign icon.
  • Fixed error message for program too big for download (support#810).

2.0.0-beta.11 - 2022-11-11

Fixed

  • Fixed app freezing when checking for updates and update server is unreachable (pybricks-code#1299).
  • Added delay to try to mitigate errors when flashing firmware on city hubs (support#792).

2.0.0-beta.10 - 2022-11-11

Added

Changed

  • Updated documentation.

  • Updated other dependencies.

  • Update Pybricks firmware to v3.2.0a5:

    Added

    • Added DriveBase.stalled() for convenient stall detection.
    • Added DriveBase.done() for convenient completion detection.
    • Added Motor.done() for convenient completion detection.

    Fixed

    • Fixed brief hub freeze on pybricks.common.Logger.save() when not connected to the computer (support#738).
    • Fixed drive base stall flags being set while not stalled (support#767).
    • Fixed Motor.run_target raising exception for short moves (support#786).

Fixed

  • Fixed firmware checksum validation when checksum === 0.
  • Fixed activity views not scrolling when contents don't fit (support#782).

2.0.0-beta.9 - 2022-10-27

Added

  • Added feature to close editor tab on middle click (support#758).

Fixed

  • Fixed long time until UI visible on resource-constrained systems.

Removed

2.0.0-beta.8 - 2022-10-25

Fixed

  • Fixed crash when user program contains syntax error (support#755).

2.0.0-beta.7 - 2022-10-24

Fixed

  • Fixed UI temporary freeze when downloading and running programs (support#750).

2.0.0-beta.6 - 2022-10-21

Added

Changed

  • Updated dependencies.

  • Updated documentation.

  • Updated APIs for code completions.

  • Update hub firmware to v3.2.0b4:

    Added

    • Added hub shutdown status light indication.
    • Added boot and shutdown light matrix animations.
    • Added new indication for over-charging battery (blinking green light).
    • Added iterator protocol support to geometry.Matrix class.
    • Added support for multi-file projects (pybricks-micropython#115).
    • Added new System.storage() API (support#85).

    Changed

    • Battery full indication (green light) comes on earlier (support#647).
    • User program is saved to non-volatile memory at shutdown on all hubs.
    • Restored the Motor.speed() method and DriveBase equivalent to provide speed as a numerical derivative of the motor position.
    • Starting REPL automatically imports all modules (support#741).
    • Updated Bluetooth to Pybricks Profile v1.2.0.
    • Bluetooth now uses random private address instead of static public address (support#600).

    Fixed

    • Fixed motors going out of sync when starting program (support#679).
    • Fixed motor torque signal overflowing under load (support#729).
    • Fixed city hub turning back on after shutdown (support#692).
    • Fixed IMU I2C bus lockup on SPIKE hubs (support#232).
    • Fixed REPL history corrupt after soft reset (support#699).
    • Fixed "ValueError: incompatible .mpy file" when pressing the button when there is no program yet (support#599).

Fixed

  • Fixed run button enabled when no file open (support#691).
  • Fixed flash firmware dialog not showing when settings not open (support#694).
  • Fixed errors not handled while flashing firmware via USB (pybricks-code#1011).
  • Fixed imports with invalid file name silently ignored (support#717).
  • Fixed code completion not working when offline (pybricks-code#932).

Removed

  • Removed feature to include custom main.py when flashing firmware.
  • Removed support for file names containing -.

2.0.0-beta.5 - 2022-07-28

Fixed

2.0.0-beta.4 - 2022-07-28

Added

  • Added better error message when no files to backup (support#681).
  • Added multi-step firmware flashing dialog.
  • Added support for flashing firmware via USB DFU (support#659).
  • Added an interactive introductory tour of the app.
  • Added restore official LEGO firmware dialog.

Changed

  • Updated dependencies.

  • Updated firmware to Pybricks v3.2.0b3:

    Fixed

    • Fix integral control not working properly.

    Changed

    • Motor.run_time no longer raises an exception for negative time values.

Fixed

  • Fixed deleting files that are not open in the editor.

2.0.0-beta.3 - 2022-07-06

Changed

  • Updated dependencies.

  • Updated firmware to Pybricks v3.2.0b2:

    Added

    • Added Motor.stalled() method.

    Fixed

    • Fixed motor not stopping at the end of run_until_stalled (support#662).
    • Fixed incorrect battery current reading on Technic hub (support#665).
    • Fixed non-zero speed reported when motor stalled.
    • Fixed I/O devices not syncing at high baud rate.
    • Fixed ENODEV error while device connection manager is busy (support#674).

    Changed

    • Reworked internal motor model that is used to estimate speed.
    • Speed methods now use estimated speed instead of reported speed.
    • Changed drive base default speed to go a little slower.
    • Updated MicroPython to v1.19.

2.0.0-beta.2 - 2022-06-24

Added

  • Added basic intellisense to the code editor.

2.0.0-beta.1 - 2022-06-03

Added

Changed

  • Moved settings.

  • Accessibility improvements.

  • Updated dependencies.

  • Updated documentation.

  • Updated firmware to v3.2.0b1:

    Added

    • Added Stop.NONE as then option for motors.
    • Added Stop.COAST_SMART as then option for motors.
    • Made motor deceleration configurable separately from acceleration.
    • Enabled ujson module.
    • Added ability to use more than one DriveBase in the same script.
    • Added support for battery charging on Prime and essential hubs.

    Changed

    • Changed how DriveBases and Motor classes can be used together.
    • Raise asynchronous OSError instead of SystemExit if motor is disconnected while a program is running.
    • Changing settings while a motor is moving no longer raises an exception. Some settings will not take effect until a new motor command is given.
    • Disabled Motor.control and Motor.log on Move Hub to save space.
    • Changed LED color calibration on Prime hub to make yellow less green.
    • Updated to upstream MicroPython v1.18.
    • Changed imu.acceleration() units to mm/s/s (pybricks-micropython#88) for Move Hub, Technic Hub, and Prime Hub.

    Fixed

    • Fixed color calibration on Powered Up remote control (support#424).
    • Fixed 3x3 Light Matrix colors with hue > 255 not working correctly (support#619).

Fixed

1.2.0-beta.1 - 2021-12-27

Added

  • Status bar indicator for connected hub.
  • Basic battery OK/low indicator (support#559).

Changed

  • Saving file now uses proper save dialog in Chromium browser (support#84).
  • Toolbar buttons now scale with screen size (support#300).

Fixed

  • Fixed buttons wrong size while image is downloading (support#369).

1.1.0 - 2021-12-16

Changed

  • Updated dependencies.

  • Updated to Pybricks Firmware v3.1.0:

    Changed

    • Renamed new DCMotor.dc_settings() method to DCMotor.settings() (support#536).

    Fixed

    • Fixed direction for DriveBase.turn() and Drivebase.curve() for some arguments (support#535).
    • Fixed then=Stop.COAST not working in DriveBase methods (support#535).
  • Updated docs:

    Added

    • Added maximum voltage setter for DCMotor and Motor.
    • Documented DriveBase.curve() method.

    Changed

    • Removed duty setting from Control.limits method.
    • Removed integral_range setting from Control.pid method.

1.1.0-rc.1 - 2021-11-19

Added

  • Hub name setting for selecting hub name when flashing firmware (support#52).

Changed

  • Updated to Pybricks firmware v3.1.0c1:

    Added

    • Added DriveBase.curve() method to drive an arc segment.
    • Added then and wait arguments to DriveBase methods (support#57).

    Changed

    • Dropped integral_range argument from Control.pid(). This setting was ineffective and never used. When set incorrectly, the motor could get stuck for certain combinations of kp and ki.
    • Improved motor behavior for cases with low-speed, low-load, but high inertia (support#366).
    • Changed how the duty cycle limit is set for Motor and DCMotor. It is now set as a voltage limit via a dedicated method, instead of Motor.control.

    Fixed

    • Fixed then=Stop.COAST being ignored in most motor commands.
    • Fixed brake()/light.off() not working on Move hub I/O port C (support#501).
    • Fixed Remote() failing to connect when hub is connected to 2019 or newer MacBooks (support#397).
    • Fixed intermittent improper detection of hot-plugged I/O devices (support#500).
    • A program now stops when a Motor is unplugged while it is running, instead of getting in a bad state.
  • Updated docs:

    Added

    • Added ColorLightMatrix class.
    • Added LWP3Device class.

1.1.0-beta.6 - 2021-09-21

Added

  • Show error message if connected hub is running old firmware (support#482).

Changed

  • Updated dependencies.

  • Updated to Pybricks firmware v3.1.0b1:

    Added

    • Support for LEGO Technic Color Light Matrix (support#440).
    • Support for LEGO UART devices with a new battery power flag. This is required to support the new LEGO Technic Color Light Matrix (support#440).
    • Support for the SPIKE Essential hub/Technic Small hub (support#439).

    Fixed

    • Fixed Ultrasonic Sensor and Color Sensor turning off when a user script ends (support#456).
    • Hub reset due to watchdog timer when writing data to UART I/O device (support#304).
    • City/Technic hubs not connecting via Bluetooth on macOS 12 (support#489).

    Changed:

    • Updated to MicroPython v1.17.

1.1.0-beta.5 - 2021-08-30

Changed

  • Updated to Pybricks firmware v3.1.0a4:

    Added

    • Enabled builtin bytearray (pybricks-code#60).
    • Enabled ustruct module (pybricks-code#60).
    • Added alpha support for dual boot installation on the SPIKE Prime Hub.
    • Added pybricks.experimental.hello_world function to make it easier for new contributors to experiment with Pybricks using C code.
    • Added ability to import the main.mpy that is embedded in the firmware from a download and run program (support#408).
    • Added pybricks.iodevices.LWP3Device to communicate with a device that supports the LEGO Wireless Protocol 3.0.00 (pybricks-code#68)

    Changed

    • Move Hub Bluetooth optimizations to reduce firmware size (pybricks-code#49).
    • Disabled pybricks.iodevices module on Move Hub to reduce firmware size.
    • Improvements to pybricks.pupdevices.Remote:
      • Check if a remote is already connected before attempting to create a new connection.
      • Rename first argument from address to name to match documentation.
      • Implement connecting by name.
      • Add name() method.
      • Add light attribute.
  • Updated documentation:

    Added

    • MicroPython module documentation.
    • Examples for hub system functions including stop button and shutdown.

    Changed

    • Build IDE docs as main docs with minor changes, instead of a completely separate build.
    • Moved motor control documentation to the motor page.

1.1.0-beta.4 - 2021-08-13

Fixed

Changed

  • Checksum is now validated as firmware flash progresses instead of just at the end support#433.
  • About menu now shows firmware version as main version support#412.

1.1.0-beta.3 - 2021-07-20

Changed

Fixed

1.1.0-beta.2 - 2021-07-06

Changed

  • Changed from Ace editor to Monaco editor.
  • Updated hub firmware to v3.1.0a2.

Fixed

  • Fixed run button still enabled after hub disconnects during download support#378.

1.1.0-beta.1 - 2021-06-23

Changed

  • Updated projects URL.
  • Updated hub firmware to v3.1.0a1.
  • Updated docs.

1.0.0 - 2021-06-08

Added

  • Added changelog link to about dialog.

Changed

  • Updated hub firmware to v3.0.0.
  • Updated documentation.

Prerelease

Prerelease changes are documented at support#48.