Today, we released MPF 0.54.
0.53 users should be able to upgrade with small or no changes to their config.
This post only mentions some highlights and you can alternatively read the
http://docs.missionpinball.org/en/dev/versions/release_notes.html.
Breaking changes in config
--------------------------
- Deprecated ball_locks
device has been removed.
Use multiball_locks
or
ball_holds
instead.
- Space-separated lists have been removed.
Use comma-separated lists or yaml lists instead (with or without spaces).
MPF sticks to YAML conventions here and allows all kinds of legal YAML lists (which does not include space-separated lists).
- Deprecate playfield_active
tags on shots.
Those tags are only required for switches which are not part of shots or devices (so almost none).
MPF will complain and you might have to remove the tag in that case.
- MPF will complain on event handlers with the same name as a switch.
This should not happen in practice and has been done to catch typical user error
(i.e. using the event s_my_switch
instead of
s_my_switch_active
).
- Diagnostics menu (switch, coil, light) is now a sub-menu in service mode.
New Features
------------
- Support for Ubuntu 20.04 (see install instructions)
- MPF Monitor support light shapes, color correction and a lot new features @kylenahas
- Batched lighting updates for supported platforms
- Delayed pulse-on-hit rule (for supported platforms)
- Error codes for many common errors, especially config file errors
- Flipper EOS support for both with and without hold coils
- Glow effect for MC displays @seanirby
- High Scores, audits, credits and earnings can now be reset in service mode
- Initial support for Python 3.8 (only MPF; Kivy in MPF-MC still only supports up to Python 3.7)
- MPF-MC Interactive mode debug dump
- New default ball search behavior
- New prepackaged font option DSEG14Classic-Italic
: a 14-seg font similar to System 11 displays @seanirby
- RandomEventPlayer now supports conditional events in the event list
- Pin2DMD support for RBG lights and 192x64 displays
- P3-ROC support for GPIO interface
- Production-optimized code packaging for making non-dev builds
- ShowPlayer queue support for deferred sequential playback
- ShowPool configuration for pooling shows like other assets
- Sequential light loading for simplified light chain addresses
- Separated config loading and parsing to prevent race conditions and improve references
- Serial LED support for OPP
- Service mode now includes Audits, Adjustments, and Utilities menus by default
- Support for Stern Spike 2 platforms
Twitch client integration @mwseiden
New Config Options
------------------
- Accrual advance_random_events
to advance an accrual block randomly
- Bonus mode keep_multiplier
setting now supports conditions
- Carousel mode block_events
and release_events
to prevent accidental selection changes with flipper press + flipper cancel
- DropBank ignore_switch_hits_ms
to prevent switch counting when the bank resets
- LightPlayer now accepts a key
argument to track specific instances
- RandomEventPlayer fallback_event
to play if all listed events are conditional and none evaluate true
- Show start_running
boolean to play the first step of a show and immediately pause it
- SoundLoop loop_start_at
and loop_end_at
- TextInput block_events
and release_events
to prevent accidental inputs with flipper press + flipper cancel
Bug Fixes
---------
- BCP event handlers for active mode change events
- Fixed StateMachine bug that prevents MPF Monitor from connecting
- Fixed issue with #
character in config values @seanirby
- Fixed VPX set_fade()
function for consistency with other platforms Wolfmarsh
- FlasherPlayer now defaults to "on" to play default color, instead of "white"
- Lazy-load zip image pools
- Improved messaging and context for errors
- Improved motor device to track last known position and prevent undesired moves
- Improved support for additional priority in conditional events
- Improved support for fade configuration in lights
- Improved support for Stern Spike platforms in general
- Improved support for OPP platform
- Improved switch hit timing detection for timed switches and delay/ignore windows
- Prevent crash on credits counter when encountering corrupted data
- Prevent adding new players during ball/game end @seanirby
- Prioritized loading of named_colors
before mode config validation
Other
-----
- Automated methods to create and read yaml templates
- Improved type documentation across the codebase
- Major refactor of config file validation
- Many new and improved tests
- New assertions for platform feature support
- New compiled pinproc libraries for Windows @qcapen
- Performance improvements for event handling
- Refactored BallDevice validation for specific switch, counter, and ejector devices
See http://docs.missionpinball.org/en/dev/versions/release_notes.html for more details.
Upgrade Instructions
--------------------
To upgrade, use pip:
pip3 install --upgrade mpf mpf-mc mpf-monitor