25. Changelog¶
25.1. Release 1.6.2 (2021-03-18)¶
- Correct docs referring to 1.6.0 as the last version supporting Python 2
Warning
This is the last release to support Python 2
25.2. Release 1.6.1 (2021-03-17)¶
- Fix missing font files for 7-segment displays
25.3. Release 1.6.0 (2021-03-14)¶
- Added
RotaryEncoder
class (thanks to Paulo Mateus) (#482, #928) - Added support for multi-segment character displays with
LEDCharDisplay
andLEDMultiCharDisplay
along with “font” support usingLEDCharFont
(thanks to Martin O’Hanlon) (#357, #485, #488, #493, #930) - Added
Pibrella
class (thanks to Carl Monk) (#773, #798) - Added
TrafficpHat
class (thanks to Ryan Walmsley) (#845, #846) - Added support for the lgpio library as a pin factory
(
LGPIOFactory
) (thanks to Joan for lg) (#927) - Allow
Motor
to passpin_factory
to its childOutputDevice
objects (thanks to Yisrael Dov Lebow) (#792) - Small SPI exception fix (thanks to Maksim Levental) (#762)
- Warn users when using default pin factory for Servos and Distance Sensors (thanks to Sofiia Kosovan and Daniele Procida at the EuroPython sprints) (#780, #781)
- Added
pulse_width
property toServo
(suggested by Daniele Procida at the PyCon UK sprints) (#795, #797) - Added event-driven functionality to internal devices (#941)
- Allowed
Energenie
sockets preserve their state on construction (thanks to Jack Wearden) (#865) - Added source tools
scaled_half()
andscaled_full()
- Added complete Pi 4 support to
NativeFactory
(thanks to Andrew Scheller) (#920, #929, #940) - Updated add-on boards to use BOARD numbering (#349, #860)
- Fixed
ButtonBoard
release events (#761) - Add ASCII art diagrams to pinout for Pi 400 and CM4 (#932)
- Cleaned up software SPI (thanks to Andrew Scheller and Kyle Morgan) (#777, #895, #900)
- Added USB3 and Ethernet speed attributes to
pi_info()
- Various docs updates
25.4. Release 1.5.1 (2019-06-24)¶
- Added Raspberry Pi 4 data for
pi_info()
and pinout - Minor docs updates
25.5. Release 1.5.0 (2019-02-12)¶
- Introduced pin event timing to increase accuracy of certain devices such as
the HC-SR04
DistanceSensor
. (#664, #665) - Further improvements to
DistanceSensor
(ignoring missed edges). (#719) - Allow
source
to take a device object as well asvalues
or othervalues
. See Source/Values. (#640) - Added internal device classes
LoadAverage
andDiskUsage
(thanks to Jeevan M R for the latter). (#532, #714) - Added support for colorzero with
RGBLED
(this adds a new dependency). (#655) - Added
TonalBuzzer
withTone
API for specifying frequencies raw or via MIDI or musical notes. (#681, #717) - Added
PiHutXmasTree
. (#502) - Added
PumpkinPi
andJamHat
(thanks to Claire Pollard). (#680, #681, #717) - Ensured gpiozero can be imported without a valid pin factory set. (#591, #713)
- Reduced import time by not computing default pin factory at the point of import. (#675, #722)
- Added support for various pin numbering mechanisms. (#470)
Motor
instances now useDigitalOutputDevice
for non-PWM pins.- Allow non-PWM use of
Robot
. (#481) - Added optional
enable
init param toMotor
. (#366) - Added
--xyz
option to pinout command line tool to open pinout.xyz in a web browser. (#604) - Added 3B+, 3A+ and CM3+ to Pi model data. (#627, #704)
- Minor improvements to
Energenie
, thanks to Steve Amor. (#629, #634) - Allow
SmoothedInputDevice
,LightSensor
andMotionSensor
to have pull-up configured. (#652) - Allow input devices to be pulled up or down externally, thanks to Philippe Muller. (#593, #658)
- Minor changes to support Python 3.7, thanks to Russel Winder and Rick Ansell. (#666, #668, #669, #671, #673)
- Added
zip_values()
source tool. - Correct row/col numbering logic in
PinInfo
. (#674) - Many additional tests, and other improvements to the test suite.
- Many documentation corrections, additions and clarifications.
- Automatic documentation class hierarchy diagram generation.
- Automatic copyright attribution in source files.
25.6. Release 1.4.1 (2018-02-20)¶
This release is mostly bug-fixes, but a few enhancements have made it in too:
- Added
curve_left
andcurve_right
parameters toRobot.forward()
andRobot.backward()
. (#306 and #619) - Fixed
DistanceSensor
returning incorrect readings after a long pause, and added a lock to ensure multiple distance sensors can operate simultaneously in a single project. (#584, #595, #617, #618) - Added support for phase/enable motor drivers with
PhaseEnableMotor
,PhaseEnableRobot
, and descendants, thanks to Ian Harcombe! (#386) - A variety of other minor enhancements, largely thanks to Andrew Scheller! (#479, #489, #491, #492)
25.7. Release 1.4.0 (2017-07-26)¶
- Pin factory is now configurable from device constructors as well as command line. NOTE: this is a backwards incompatible change for manual pin construction but it’s hoped this is (currently) a sufficiently rare use case that this won’t affect too many people and the benefits of the new system warrant such a change, i.e. the ability to use remote pin factories with HAT classes that don’t accept pin assignations (#279)
- Major work on SPI, primarily to support remote hardware SPI (#421, #459, #465, #468, #575)
- Pin reservation now works properly between GPIO and SPI devices (#459, #468)
- Lots of work on the documentation: source/values chapter, better charts, more recipes, remote GPIO configuration, mock pins, better PDF output (#484, #469, #523, #520, #434, #565, #576)
- Support for
StatusZero
andStatusBoard
HATs (#558) - Added pinout command line tool to provide a simple reference to the GPIO layout and information about the associated Pi (#497, #504) thanks to Stewart Adcock for the initial work
pi_info()
made more lenient for new (unknown) Pi models (#529)- Fixed a variety of packaging issues (#535, #518, #519)
- Improved text in factory fallback warnings (#572)
25.8. Release 1.3.2 (2017-03-03)¶
25.9. Release 1.3.1 (2016-08-31 … later)¶
- Fixed hardware SPI support which Dave broke in 1.3.0. Sorry!
- Some minor docs changes
25.10. Release 1.3.0 (2016-08-31)¶
- Added
ButtonBoard
for reading multiple buttons in a single class (#340) - Added
Servo
andAngularServo
classes for controlling simple servo motors (#248) - Lots of work on supporting easier use of internal and third-party pin implementations (#359)
Robot
now has a propervalue
attribute (#305)- Added
CPUTemperature
as another demo of “internal” devices (#294) - A temporary work-around for an issue with
DistanceSensor
was included but a full fix is in the works (#385) - More work on the documentation (#320, #295, #289, etc.)
Not quite as much as we’d hoped to get done this time, but we’re rushing to make a Raspbian freeze. As always, thanks to the community - your suggestions and PRs have been brilliant and even if we don’t take stuff exactly as is, it’s always great to see your ideas. Onto 1.4!
25.11. Release 1.2.0 (2016-04-10)¶
- Added
Energenie
class for controlling Energenie plugs (#69) - Added
LineSensor
class for single line-sensors (#109) - Added
DistanceSensor
class for HC-SR04 ultra-sonic sensors (#114) - Added
SnowPi
class for the Ryanteck Snow-pi board (#130) - Added
when_held
(and related properties) toButton
(#115) - Fixed issues with installing GPIO Zero for python 3 on Raspbian Wheezy releases (#140)
- Added support for lots of ADC chips (MCP3xxx family) (#162) - many thanks to pcopa and lurch!
- Added support for pigpiod as a pin implementation with
PiGPIOPin
(#180) - Many refinements to the base classes mean more consistency in composite devices and several bugs squashed (#164, #175, #182, #189, #193, #229)
- GPIO Zero is now aware of what sort of Pi it’s running on via
pi_info()
and has a fairly extensive database of Pi information which it uses to determine when users request impossible things (like pull-down on a pin with a physical pull-up resistor) (#222) - The source/values system was enhanced to ensure normal usage doesn’t stress the CPU and lots of utilities were added (#181, #251)
And I’ll just add a note of thanks to the many people in the community who contributed to this release: we’ve had some great PRs, suggestions, and bug reports in this version. Of particular note:
- Schelto van Doorn was instrumental in adding support for numerous ADC chips
- Alex Eames generously donated a RasPiO Analog board which was extremely useful in developing the software SPI interface (and testing the ADC support)
- Andrew Scheller squashed several dozen bugs (usually a day or so after Dave had introduced them ;)
As always, many thanks to the whole community - we look forward to hearing from you more in 1.3!
25.12. Release 1.1.0 (2016-02-08)¶
- Documentation converted to reST and expanded to include generic classes and several more recipes (#80, #82, #101, #119, #135, #168)
- New
CamJamKitRobot
class with the pre-defined motor pins for the new CamJam EduKit - New
LEDBarGraph
class (many thanks to Martin O’Hanlon!) (#126, #176) - New
Pin
implementation abstracts out the concept of a GPIO pin paving the way for alternate library support and IO extenders in future (#141) - New
LEDBoard.blink()
method which works properly even when background is set toFalse
(#94, #161) - New
RGBLED.blink()
method which implements (rudimentary) color fading too! (#135, #174) - New
initial_value
attribute onOutputDevice
ensures consistent behaviour on construction (#118) - New
active_high
attribute onPWMOutputDevice
andRGBLED
allows use of common anode devices (#143, #154) - Loads of new ADC chips supported (many thanks to GitHub user pcopa!) (#150)
25.13. Release 1.0.0 (2015-11-16)¶
25.14. Release 0.9.0 (2015-10-25)¶
Fourth public beta
25.15. Release 0.8.0 (2015-10-16)¶
Third public beta
- Added generic
AnalogInputDevice
class along with specific classes for theMCP3008
andMCP3004
(#41) - Fixed
DigitalOutputDevice.blink()
(#57)
25.16. Release 0.7.0 (2015-10-09)¶
Second public beta
25.17. Release 0.6.0 (2015-09-28)¶
First public beta
25.18. Release 0.5.0 (2015-09-24)¶
25.19. Release 0.4.0 (2015-09-23)¶
25.20. Release 0.3.0 (2015-09-22)¶
25.21. Release 0.2.0 (2015-09-21)¶
Initial release