# Changelog ## Unreleased ## 4.0.0b4 - 2026-05-29 ### Changed - Tag npm prereleases. ## 4.0.0b4 - 2026-05-29 ### Changed - Bump node version. ## 4.0.0b3 - 2026-05-29 ### Changed - Fixed NPM publishing permissions. ## 4.0.0b2 - 2026-05-29 ### Changed - Change NPM publishing to trusted publishers. ## 4.0.0b1 - 2026-05-29 ### Changed - Updated API for firmware 4.0.0bx. See upstream changelog for details. - Updated release pipeline to publish rtd, npm/docs and npm/jedi on tag. ### Fixed - Fixed `DriveBase.angle` reporting an incorrect return type. ## 3.6.1 - 2025-05-01 ### Fixed - Fixed missing `hub.system.info` method on some hubs. ## 3.6.0 - 2025-03-11 ### Changed - Update API for firmware 3.6.0. See upstream changelog for details. ## 3.6.0b5 - 2025-02-26 ### Changed - Update API for firmware 3.6.0b5. See upstream changelog for details. ## 3.5.0 - 2024-04-11 ### Changed - Bump version to 3.5.0 without additional changes. ## 3.5.0b2 - 2024-04-05 ### Added - Added `pybricks.pupdevices.Remote.disconnect` method. - Added blocks for `up`, `ready` and `stationary` for IMUs. - Added `last` and `chr` parameters to `read_input_byte` and add blocks. - Added block for the `in` operation. - Add double ternary block. ## 3.5.0b1 - 2024-03-11 ### Added - Added `XboxController.rumble` method. - Added block icons for `hub.system.set_stop_button` and `hub.system.shutdown`. - Added program stop block (`raise SystemExit`). ## 3.4.1 - 2024-03-11 ### Fixed - Fixed Read The Docs virtual environment workflow. ## 3.4.0 - 2024-03-11 ### Changed - Update list block screenshots to match implementation. ## 3.4.0b5 - 2024-03-05 ### Changed - Updates for v3.4.0b3 firmware (out of sync with docs). - Changed `hub.button` to `hub.buttons` on single button hubs. Access via `hub.button` will keep working in the firmware for backwards compatibility. ## 3.4.0b4 - 2024-02-14 ### Added - Added `pybricks.iodevices.XboxController` class. ### Changed - Changed `buttons.pressed` return type to set. ## 3.4.0b3 - 2024-01-30 ### Added - Added `pybricks.robotics.Car` class. ### Changed - Changed `pybricks.robotics.DriveBase` icon to two wheels instead of steering wheel, which will be used for the new car class. ## 3.4.0b2 - 2023-11-28 ### Changed - Include first batch of block coding images. ## 3.3.0 - 2023-11-24 ### Changed - Bump beta version to release version with no further changes. ## 3.3.0c1 - 2023-11-20 ### Added - Enabled tilt and orientation config for `MoveHub()`. - Documented `Motor.close()` ## Fixed - Fixed missing awaitable for `Remote.light` and LWP3 writes. ## 3.3.0b9 - 2023-10-26 ### Changed - Changed the beta feature for using the hub's gyro. Gyro control can now be toggled using `use_gyro` instead of using a separate `GyroDriveBase` class. - Documentation updates to match firmware 3.3.0b5--3.3.0b9 updates. ### Added - Added `set` to `ubuiltins` module. - Basic multitasking docs. - Awaitable keyword for awaitable methods and functions. ## 3.3.0b5 - 2023-05-16 ### Added - Documented new `hub.ble` methods. ## 3.3.0b4 - 2023-04-21 ### Added - Documented `integral_deadzone` in `Control.pid()`. - Documented `Motor.model`. This can be used to view the estimated motor state and change its settings. - Added `rotation`, `orientation`, `ready`, `stationary` and `settings` methods to `IMU` class. - Added `GyroDriveBase` class to `pybricks.robotics`. ### Changed - Change implementation status of `IMU.heading` and `IMU.reset_heading`. They are now implemented, with some limitations as noted in a note box. - Moved `Matrix` and `vector` from `pybricks.geometry` to `pybricks.tools`. - Moved `Axis` from `pybricks.geometry` to `pybricks.parameters`. ### Removed - Removed `pybricks.geometry` module. ## 3.2.0 - 2022-12-20 ### Changed - Changed module TOC headings to make it easier to find things. ## 3.2.0c1 - 2022-12-09 ### Changed - Updated "front" side of the Technic Hub to be consistent with the Prime Hub. ## 3.2.0b6 - 2022-12-02 ### Added - Documented ``Stop.NONE`` and ``Stop.COAST_SMART``. - Documented ``ujson`` module. - Added `done` and `stalled` methods for `DriveBase`. ### Changed - Changed `PrimeHub.display.image()` to `PrimeHub.display.icon()` and renamed its kwarg from `image` to `icon`. - Improved presentation and docstrings of the ``ubuiltins`` and other MicroPython modules - Moved the random numbers example for Move Hub to the Move Hub page. - Moved `done()`, `stalled()`, `load()` from `Control` to `Motor` object. ## 3.2.0b5 - 2022-11-11 ### Fixed - Fixed Jedi code completion for `Color` and `Icon` classes in `pybricks.parameters`. ## 3.2.0b4 - 2022-10-21 ### Added - Code auto-completion for `EssentialHub`. - Added `System.storage` method. ### Fixed - Fixed some type hints in `parameters` submodule. ## 3.2.0b1-r3 - 2022-06-26 ### Fixed - Fixed more type hints and improved compatibility with jedi. ## 3.2.0b1-r2 - 2022-06-24 ### Changed - Moved remaining type hints from `.pyi` files to the python stub modules, and fixed numerous errors in the type hints throughout. ## 3.2.0b1-r1 - 2022-06-09 ### Added - Added `__init__.py` to `pybricks` package. ## 3.2.0b1 - 2022-06-02 ### Added - Code auto-completion for `hub.charger`, `hub.imu` and `hub.system`. - Moved typing from several `.pyi` files to the actual python modules. ### Fixed - Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension. - Fixed missing `DCMotor` type in `ev3devices`. - Fixed type hint for `Motor.reset_angle()` in `pupdevices`. ### Changed - Setter for acceleration can now also be used to set acceleration and deceleration to different values, using a two-valued tuple. ## 3.1.0 - 2021-12-16 ### 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. ### Fixed - Fixed link to Color Light Matrix page. - Fixed link to Inventor Hub page. ## 3.1.0rc1 - 2021-11-19 ### Added - Added `ColorLightMatrix` class. - Added `LWP3Device` class. **NOTE: version number after this point were from JavaScript package and do not correspond to Pybricks firmware version numbers.** ## 1.6.0 - 2021-08-30 ### 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.5.0 - 2021-07-01 ### Added - Documentation for Powered Up Remote Control. ## 1.4.0 - 2021-06-23 ### Added - Enabled beta content that was hidden for the 3.0 release. - Added notice about using the latest beta version. ## 1.3.3 - 2021-05-21 ### Changed - Match example snippet styling to IDE. - Add more examples. ## 1.3.2 - 2021-04-26 ### Changed - Theme style fixes. - Example code fixes - Match doc version to firmware version. ## 1.3.1 - 2021-04-12 ### Changed - Upgrade sphinx and rtd-theme to fix style issues. ## 1.3.0 - 2021-04-12 ### Removed - Removed features which not be in the official 3.0 release. These features are still in beta. They'll come back in future releases once tested. ## 1.2.0 - 2021-04-09 ### Changed - Moved installation guide to external site. ## 1.1.1 - 2021-02-14 ### Added - Added installation guide. - Various documentation fixes. ## 1.1.0 - 2021-01-28 ### Added - Scrollbar styling. ## 1.0.0 - 2021-01-25 ### Added - Sphinx build output.