Releases: missionpinball/mpf
v0.56.2
Just a maintenance update, merging all the changes to dev since the last release in Jan 2023. This is now 0.56.2 and what you'll get if you run pip install mpf. The dev branch has been changed to version 0.57. All new features will go into there, but we can merge them into the 0.56.x if needed.
What's Changed
- feat: Floor division support in dynamic values by @avanwinkle in #1695
- Add Player Vars to High Score Mode by @atummons in #1696
- Save High Score Variables in high_scores.yaml by @atummons in #1699
- added documentation to have a fully working (simple) code example to … by @worldpeace-germany in #1698
- Enable Speedometer Devices by @cobra18t in #1692
- Enable dynamic speed in show_player and post elapsed time for a sequence_shot completion by @cobra18t in #1702
- Allow outline in text widgets by @ericselk2018 in #1701
- add support for using * tag to return all devices by @ericselk2018 in #1700
- Fix Format of Values Saved to Data/High_score by @atummons in #1704
- Adds pinproc files for Python 3.9 by @atummons in #1706
- Bugfix settings machine vars not persisting on subsequent data writes by @avanwinkle in #1708
- Adds Pinproc Files for 3.10 and 3.11 and Cleanup Old Files by @atummons in #1710
- Support machine_path arg in MC production builds by @avanwinkle in #1711
New Contributors
- @worldpeace-germany made their first contribution in #1698
Full Changelog: v0.56.0...v0.56.2
v0.55.1
What's Changed
- Add option to disable flow control for FAST serial by @ericselk2018 in #1697
New Contributors
- @ericselk2018 made their first contribution in #1697
Full Changelog: 0.55...0.55.1
0.56
This is the release for MPF 0.56. Packages are available at https://pypi.org/project/mpf/
The Assets link after these notes includes PDF and HTML (zipped) downloads of the user documentation for this version.
What's Changed
- BCP: Service test start events by @avanwinkle in #1589
- Adds hurry up and grace period features to multiball ball save by @atummons in #1590
- Adds Multiball Ball Save for Add A Ball by @atummons in #1592
- Blinkenlights by @densminger in #1591
- Adds a default show bl_color for blinkenlights by @atummons in #1594
- MultiballLock blocking_facility by @avanwinkle in #1596
- Service list custom values for list_coils etc by @avanwinkle in #1597
- Production bundles: new options for MC and target machine path by @avanwinkle in #1598
- Add 'set_tick_interval' control event for Timers, with event kwargs by @avanwinkle in #1599
- handle autofire hw rules in a switch matrix by @cobra18t in #1600
- Enable ball saves to be sourced from a lock by @cobra18t in #1607
- Use source_playfield.add_ball for ball_locks in multiball by @cobra18t in #1608
- Posts update events for counter control_events by @atummons in #1606
- prevent ball search from marking playfield active by @cobra18t in #1610
- Service mode_setting to prevent device list sorting by @avanwinkle in #1602
- DropTarget config option max_reset_attempts to retry reset pulses by @avanwinkle in #1611
- Production bundle args: without MC, with custom machine_path by @avanwinkle in #1612
- Update 14 segment for better lowercase and symbols by @cobra18t in #1614
- feature: add empty_lock_devices_on_ball_end to multiball_locks by @jabdoa2 in #1615
- feature: service mode for segment displays by @jabdoa2 in #1616
- add 8 segment to display emulator by @borgdog in #1617
- Auditor checks if events exist before setting to 0 by @atummons in #1619
- Add check in RGBColor constructor to account for integer colors by @seanirby in #1609
- Allow kwargs or player variable events, default "source" kwarg in variable_player by @avanwinkle in #1620
- New coil option for timed_enable by @avanwinkle in #1613
- Cumulative drop_target reset delays for multi-coil banks by @avanwinkle in #1621
- Bugfix orphaned handlers on shot groups by @avanwinkle in #1622
- add OPP light subtype "incand" to VirtualHardware platform by @tp-ops in #1623
- Add priority to credits mode reset events by @avanwinkle in #1624
- Fix IMC Load Error by @atummons in #1625
- Post timer_(name)_tick event on restart when already running by @avanwinkle in #1626
- System11 AC Relay Improvements by @avanwinkle in #1628
- Text_UI: Updates player variables instantly by @atummons in #1632
- Update match.py to keep winner_number by @borgdog in #1630
- Simplifies attr check related to IMC by @atummons in #1627
- Adds a feature to jump to a state of shot profile by @atummons in #1633
- Correct delayed kick timing for OPP by @cobra18t in #1636
- FAST 2nd-Gen Hardware: Support for V2 Controllers by @avanwinkle in #1629
- Create flash duty for light segment displays by @cobra18t in #1637
- Fast segment display update hz by @toomanybrians in #1638
- Fixes issue with no player_vars in config by @atummons in #1635
- Add pulse_power support for OPP by @cobra18t in #1639
- Timer bugfix: set current player before updating tick values by @avanwinkle in #1640
- EventPlayer: Bugfix multiple conditionals by @avanwinkle in #1642
- Adds speed option to achievement shows by @atummons in #1643
- Add servo support for OPP by @cobra18t in #1641
- OPP Incand fix by @cobra18t in #1644
- Bugfix: FAST timed_enable hold ms/pwm inverted by @avanwinkle in #1647
- Add "use_dots_for_commas" setting to segment displays by @cobra18t in #1648
- Add support for NeoSeg display configuration by @cobra18t in #1649
- Update text_ui.py by @atummons in #1673
- Virtual_pinball LED Brightness by @4starpizza in #1666
- doc: remove double entries by @Stefku in #1677
- Add linear_gradient config spec by @nullbuilds in #1675
- Syncs up chimes with reel coil pulse by @atummons in #1634
- Add niceties to achievement_group by @Samdal in #1646
- Bump requests from 2.22.0 to 2.28.2 by @dependabot in #1678
New Contributors
- @borgdog made their first contribution in #1617
- @tp-ops made their first contribution in #1623
- @4starpizza made their first contribution in #1666
- @Stefku made their first contribution in #1677
- @nullbuilds made their first contribution in #1675
- @Samdal made their first contribution in #1646
Full Changelog: 0.55...v0.56.0
0.55
Note that the Assets link after these notes includes PDF and HTML (zipped) downloads of the user documentation for this version.
Video about some of the changes in 0.55:
Video about release creation:
Breaking changes in config
- Removed Python 3.5 support
- Added Python 3.8 and 3.9 support (default in Ubuntu 20.04)
New Features
- Flashing Segment Displays in P-Roc
- Segment Display Match Flashing
- Visual Pinball Engine (VPE) Support
- New argument "remaining" in counts
- Initial support for auto-generating wire harnesses
- Tilt improvements
- New hardware: Initial PKONE support
- Improved config validation
- More Service Mode Features
- Open Pinball Project 2.1 Firwmare (for Cobrapin)
- State Machines in non-game modes
- EOS repulse in software
- Better EOS support in FAST and P/P3-Roc
- Ball search only starts at boot when there is at least one ball
- Allow updating speed and manual_advance of shows
- Power management for enable on coils
- Production bundles for config in production machines
- RGB segment displays
- New hardware: FAST segment displays
- Segment displays emulator
- Animations for segment displays
- New command: "mpf hardware benchmark"
- Improved servo support
- Support switches in Pololu Tic
- Add more subscriptions and placeholders
- New spinner device
- New crash reporter
0.54
0.33.13
Note that the Assets link below includes PDF and HTML (zipped) downloads of the user documentation for this version.
0.33.0
What's new in 0.33:
No config file changes needed, still uses config_version=4
- A lot of bugfixes
- Better errors on invalid configs
- Catching a lot more config problems
- default highscores - You can specify default high scores in the high_score
mode - OPP - support for firmware 2.0 and dual wound coils
- MC scriptlets for video modes and code on the MC side
- Support for Stern SPIKE platform
- Support for conditional events
- Template variables which are evaluated during runtime and can use
placeholders (timers, logic_blocks, tilt, scoring, bonus_mode, and more) - Early ball save
- Advanced bonus_mode
- Improved ball_device
- TimedSwitch device - built-in event for flipper cradling and releasing
- Improved ball search. Drop Target reset no longer resets ball search
- Better start/stop procedures for modes. no more event races
- Improved extra ball
- Better yaml parsing for unescaped strings
- Asynchronous logging - This is especially important on windows because
logging previously slowed down the game. However, also important in production
when under high I/O load or with slow discs. - Timers work outside of the game now
- Performance improvements through better fast paths and offloading of logging
from the synchronous path - BCP version 1.1 with synchronisation during reset
- Improved handling of ball devices with entrance_switch
- Force UTF-8 for configs on windows
- New "mpf diagnosis" command
- Scoring to machine variables
- Scoring for other players
- Weights in random_event_player
- Unlimited delay in ball_save to allow video modes or mode selection
- Better errors when loading assets
- Added Machine vars for all kinds of versions
- Drop Target keep up support
- Multiball add a ball support
- New multiball_lock device which handles virtual saves for multiplayer game
- Allow BCP to bind on all IPs
0.32.1
What's new in 0.32:
No config file changes needed, still uses config_version=4
- Improved achievements and added achievement groups.
- Added relay events and relay queues
- Improved smart virtual platform
- Improved support for System 11 and Gottlieb System 3 style troughs (including using the ball drain as a ball storage location to get one additional ball capacity with no hardware changes).
- Verify that duplicate sections don’t exist in config files
- Check that event handlers are properly formatted before they’re registered
- Added conditional events (handlers that only fire if certain conditions are met)
- You can set default values for player variables
- Fixed the physical mono DMD and physical RGB (color) DMD
- Added multiball lost event
- Allow devices to have inline config specs
- Added shots with events
- Better OPP platform parsing
- Fixed & improved the high score mode
- Improved service mode
- Added options for “random” events (force next, force all, save per-player, etc.)
- Added events to the BCP monitor (meaning they can be viewed in the MPF Monitor app)
- Added option to force all assets to load on boot for testing purposes
- Added scoring options (add, replace, block)
- Set starting values for player variables
- Use color “on” for LED default colors
- Refactored ball devices to use asyncio, to have specific ejectors and ball counters
- Allow multiple config player entries to fire from the same event
- Ensure that events created by the MC are sent to MPF
- Added machine vars for P-ROC and FAST hardware revisions
- Added combo switches (for “flipper cancel”, two-button skill shots, etc.)
- Lots of little bug fixes...
0.32.0
version change from dev to 0.32.0
MPF 0.31.3
Packages available via PyPI: http://pypi.python.org/pypi/mpf
Installation Instructions: http://docs.missionpinball.org/en/stable/install/
Version History: http://docs.missionpinball.org/en/stable/version_history/index.html

