Change Log¶
Note
PME uses major.minor.patch.hotfix versioning.
major: product generationminor: milestone / release trainpatch: feature release within that trainhotfix: follow-up build on the same patch line
2.0.5.1 (2026.05.25)¶
Poll conditions now apply more consistently — PME now checks Poll conditions not only for hotkeys, but also for HOLD / TWEAK / CHORD, script entry points such as
open_menu()/pme.invoke_pm(), editor previews, Popup Dialog and regular menu drawing, and calls through Macro / Modal / Sticky / Floating Panel routes. This reduces cases where a menu that should not be available in the current Blender context could still be reached through another path. (PR #404, PR #406, PR #413)Operators that cannot run safely are now cancelled — When an operation does not satisfy Blender’s context requirements, PME now cancels it safely and reduces cases where it is shown as a poll error. (PR #449)
Fixed Stack Key notification visibility — Fixed an issue where the Stack Key notification label could keep appearing in situations where it was not needed. (PR #446)
2.0.5 (2026.05.16)¶
Popup Dialog / Floating Panel¶
Added collapsible panels to Popup Dialog / Floating Panel — You can now place another Popup Dialog / Floating Panel inside a Popup Dialog or Floating Panel as a collapsible panel. Add a panel row from the Row menu, then link the menu that should be shown in the panel body. Panel headers can also contain additional buttons, and the panel can be configured to start closed with the Default Closed option. This feature uses
UILayout.panel()from Blender 4.2 or newer. In Blender 4.1 and older, this feature cannot be used or imported. (PR #317, PR #340)Improved Popup Dialog / Floating Panel row editing — PDI move and copy actions can now insert into the start or end of another row without requiring a placeholder slot first. Context-menu insertion into DIALOG / FPANEL layouts also exposes clearer row-edge add targets. (PR #316)
GPULayout¶
Added Floating Panel tooltips — Floating Panel COMMAND buttons can now show PME descriptions and COMMAND slot description overrides as GPU tooltips. Tooltip lifetime, placement, wrapping, and popup / subpanel close cleanup now follow GPULayout state. (PR #312, PR #314)
Improved GPULayout popup pointer state — Fixed cases where dropdown popups stayed open after selection, reopened immediately from the owner button, or left stale hover / pressed visuals behind. (PR #318)
Improved GPULayout Boolean property widgets — Boolean
layout.prop()widgets now behave closer to Blender’s standard UI, including icon toggles, split labels, disabled / inactive states, andinvert_checkboxdisplay handling. (PR #323)Improved GPULayout icon fallback and FPANEL icon selection — PME-owned fallback icons now use hidden internal assets, and unsupported Blender built-in icons are filtered out of the FPANEL icon selector. (PR #326)
Stabilized FPANEL target lifecycle and placement — FPANELs now close safely when their bound area becomes invalid, while keeping panel state across unrelated context changes such as side area toggles. Root FPANEL placement is saved relative to the target area. (PR #331)
Stack Key¶
Reworked Remember State around practical use — Stack Key’s Remember State has been used to remember the last selected slot position. However, when grouping similar tools under one hotkey, there are cases where it feels more natural to return to the previous tool by default and advance through the candidates only when the hotkey is pressed again quickly, instead of always advancing on every press. The setting has been renamed to Remember Slot, and Stack Key can now choose behavior that better matches how it is used. (Issue #35, PR #328)
Added Advance On for choosing how slots advance — With Every Press, Stack Key advances to the next slot every time it is pressed, matching the previous behavior. With Quick Repeat, pressing the Stack Key after a pause recalls the previously used slot, while pressing it again quickly advances to the next slot. Existing Stack Key settings keep the Every Press behavior, so hotkey meaning does not change after updating. (Issue #35, PR #328)
Added icons to Stack Key slots — Each Stack Key slot can now have an icon, and Stack Key notifications now show both the slot name and icon when a slot is invoked. (Issue #35, PR #328)
Export / Import¶
Stabilized JSON export menu order — JSON exports now keep the menu array in the same order as the Preferences menu list. Tree Mode display order and referenced-menu additions no longer change the serialized order, making it easier to re-import exported JSON while preserving the intended menu list order. The developer-facing sort option still exports by name when explicitly enabled. (PR #381, PR #385)
Preserved referenced menus in partial exports — When exporting only part of the menu set, such as Current Menu, Tag, or Enabled, PME now uses a clearer dependency-closure path for including related referenced menus. Cycles and multiple paths to the same menu no longer duplicate output. Missing or ambiguous references are not guessed, keeping them available for future diagnostics instead. (PR #385)
Clarified the export UI wording — The export item previously shown as Selected Menu is now shown as Current Menu, matching what it actually exports today. This avoids confusion with the future multi-select export mode. The file selector also includes Include Referenced Menus for controlling whether referenced menus are included. (PR #385)
Improved suggested export file names — Manual exports no longer default only to
my_pie_menus.json. The initial file name now reflects the export source: Current Menu usesPME_<menu name>.json, dependency additions can add a+Nsuffix, and All / Tag / Enabled exports include dates or menu counts. When a file already exists, PME suggests a numbered filename. (PR #385)
Safety / Internal Foundation¶
Treating disabled PME menus (PMs) as runtime stops —
PM.enablednow means whether that PME menu can run, not just whether its hotkey is active. A disabled PME menu no longer runs through hotkeys, references from other PME menus, script entry points such asopen_menu()/draw_menu()/pme.invoke_pm(), or registered menu and panel routes. To remove only the hotkey, clear the Hotkey setting instead of disabling the PME menu. (PR #392)Strengthened diagnostics for references between PME menus — Reference diagnostics can now distinguish between a target that does not exist and a target PME menu that exists but is disabled and cannot run. This makes cleanup workflows and future PME Doctor-style tooling better able to report references that are present but blocked. (PR #392)
Improved Macro safety — When a Macro contains an operator that cannot be found in the current Blender environment, PME now detects it before entering Blender’s native Macro execution path and stops the whole Macro safely. This mitigates a known issue where old settings, disabled addons, or renamed operators could crash Blender. Detected problems are shown as warning icons on Macro Editor slot rows, and clicking the icon shows the problem details. (PR #355, PR #357, PR #358, PR #359, PR #360, PR #361, PR #362, PR #363, PR #371)
Improved external Macro invocation — Added
bpy.ops.pme.invoke_macro(...)for calling PME Macros from scripts and custom UI. Callers no longer need to pass every slot argument from inside the Macro; PME can execute the stored Macro definition instead. Existing Macro invocation compatibility is preserved, and this wrapper will be the external entry point going forward. (PR #364, PR #371)Added the Notification Surface API foundation — The GPU notification queue has been organized as Notification Surface, with placement and fade metadata. Scripts can use the
notify()helper to publish transient notifications for the current area or cursor position. (PR #349, PR #350, PR #351)Fixed add-on preference search initialization — Add-on preference panels can now be found correctly on Blender 5.1 even when the add-on metadata cache has not been primed yet. (PR #303)
Fixed logger preferences initialization crash — PME now guards logger category default initialization against reentrant RNA update callbacks that could corrupt the
CollectionPropertyon Blender 5.1.1. (PR #380)
2.0.4 (2026.05.02)¶
Added FPANEL button background colors — Floating Panel
COMMANDbuttons can now have per-button background colors. When the background color is enabled, a color swatch appears on the left side of each button in the FPANEL editor so you can adjust it directly. The selected color is reflected in the actual GPU floating panel. Toggle the background color from the Slot menu or withShift+OSKey+LMB. (PR #273)Added Floating Panel custom-property editing support — Rig UI style custom properties written as
["PropName"]can now be edited more naturally in Floating Panels, including sliders and checkboxes. Dotted property names are also supported. (PR #260)Improved FPANEL Undo/Redo stability — Fixed cases where editing custom properties could leave the panel display in a broken state or crash Blender during Undo/Redo. FPANEL now safely discards and rebuilds stale panel state across Undo/Redo boundaries. (PR #260)
GPULayout color picker now supports
Square (SV + H)— When Blender’s Preferences color picker type is set toSquare (SV + H), color pickers inside GPU floating panels now use a square SV area with a horizontal Hue slider. The existingCircle (HSV)display is still available.Circle (HSL),Square (HS + V), andSquare (HV + S)are planned for later and currently fall back to theCircle (HSV)display. (PR #285)Added Recent Menus to right-click add — Invoked PME menus are now remembered as recent add targets. When adding a Blender UI button through the PME right-click menu, you can choose the selected Preferences menu or one of the recently invoked menus. Disable this with Settings > General > Recent Menu Targets. (PR #274)
Expanded menu search targets — In addition to menu names and Hotkeys, menus can now be found by Extend Target. Adjust the fields included in search from Settings > General > Search Keywords. (PR #268)
Improved custom UI
panel()display —panel("...")in Pie Menu custom slots now applies initial open/closed settings such asexpand=Falsecorrectly. After the user opens or closes the panel, that state is preserved within the menu. (PR #264)Improved embedded Blender panel visuals — Fixed a case where collapsible headers could look like regular buttons when using
panel("...")inside GPU floating panels. (PR #266)Fixed Modal menu property updates — Fixed a case where mouse movement did not update values when adjusting some external addon operators from a Modal menu. (PR #292)
Improved Modal Operator mouse locking — Modal Operators with Lock Mouse enabled now keep the cursor cycling inside the launch area more reliably while editing properties with mouse movement. (PR #287)
Added an experimental backup option for future feature planning — Settings > Developer > Backup now includes an option to keep writing to a single backup file. This is an experimental option for exploring future Git-managed PME settings workflows. (PR #275)
2.0.3 (2026.04.20)¶
import pmeis now opt-in — Theimport pmealias is no longer always on. If you already useimport pmein existing scripts or companion addons, turn on Enable import pme Alias in Settings > Developer and restart Blender once.Better operator capture display names — Blender’s Python API usually does not expose the exact UI label that was drawn for a button. Because of that, captured operators often fell back to generic names like
Add Node, making it hard to tell what kind of slot had just been added. PME2 now uses dynamically resolved item names as the slot name when the operator family provides enough information to recover a meaningful display label at capture time. (PR #199)Expanded supported operator families — Dynamic name recovery currently covers:
node.add_nodeobject.modifier_addobject.constraint_addpose.constraint_addobject.shaderfx_addsequencer.strip_modifier_addwm.tool_set_by_idbrush.asset_activateThis does not apply to every operator, but the supported ones now produce much more practical auto-generated names during capture. This improvement only affects naming at capture time; direct Slot editing still uses the existing generic naming behavior. (PR #199)
Improved GPULayout color picker display and interaction fidelity — Fixed a case where the GPU color swatch appeared darker than Blender’s standard UI, and brought the current circular HSV color picker closer to Blender in hue orientation, cursor placement, wheel fill, and the relationship between the clicked position and the value that is actually committed. The internal contracts around color space, geometry, and saturation mapping were also tightened so future picker-type expansion is less likely to recreate the same mismatch. (PR #245)
Improved GPULayout sliders and numeric fields — GPULayout numeric sliders and numeric input fields now follow Blender’s effective UI ranges more closely. In addition to Shape Keys, some Constraint / Particle / Modifier properties now show more natural limits and slider fill behavior based on the current settings. The handling of instance-specific UI ranges was also tightened up. (PR #211)
Improved floating panel and subpanel redraw updates — Custom UI inside floating panels, as well as subpanels such as the color picker, now update their panel drawing more appropriately when the selection changes or when related properties are modified elsewhere. When the UI structure depends on the current context, the layout is rebuilt; when a subpanel is still showing the same property, it can stay open and refresh in place; and when the displayed target changes, only the contents are swapped out. (PR #213, PR #235)
Improved GPULayout color picker visuals and editing UI — Fixed the mismatch between the value bar fill and outline shape, switched the RGB and HSV numeric controls to Blender-style tabs instead of showing both at once, added a Hex input field, and taught GPU text inputs to accept macOS Command-key copy / cut / paste / select-all shortcuts. (PR #246, PR #248)
Improved on-screen updates after menu edits — Adding, moving, deleting, reordering, or enabling/disabling menu items is now more likely to appear without reopening, not only in Preferences but also in already open PME surfaces. (PR #238)
Adjusted for Blender 5.1 memory layout changes — This addresses an issue that could make side-area behavior unstable on Blender 5.1. (PR #227)
Bug report workflow — Added a dedicated bug report page to the documentation site and a link button in Preferences.
Keymap diagnostics helper — Added a lightweight diagnostics helper in Developer settings that can inspect empty PME-related keymap items and possible active-keyconfig contamination. It is mainly intended for support-side triage. (PR #253)
Boot options — PME now supports external startup options that are evaluated before addon startup. This gives startup-only settings a proper home and lays the groundwork for more flexible external configuration later. See Boot Options and Developer Options. (PR #201, PR #204)
Loader manifest support — PME now includes
loader_manifest.json, a bundled module-load-order file used during startup. When Use Bundled Loader Manifest is on, PME starts from that file. If the option is off, or if the file cannot be used, PME falls back to dependency-based dynamic discovery. (PR #201, PR #204)Improved startup diagnostics — As part of the foundation work that supports PME’s long-term development and verifiability, startup observation, candidate loader manifests, and pre-startup options have been cleaned up. When enabled, PME now creates
loader_manifest_candidate.json, and that candidate can be explicitly promoted intoloader_manifest.jsonfrom the Developer tab or from the command line. Normal startup never rewritesloader_manifest.jsonautomatically. Because startup now usesloader_manifest.jsonand init logging is opt-in, normal startup is also slightly lighter. If startup trouble occurs, you can enable init logging for the next run or turn it on directly by editingboot_config.json. See Developer Options and Boot Options. (PR #201, PR #204)
2.0.2.3 (2026.03.28)¶
Blender 5.1 / macOS enable crash fix — Investigating a crash that killed Blender on addon enable revealed that the notification and update storage structure sat in a part of Blender’s registration path that doesn’t play well with certain environments. Rather than patching around it, the storage design was reworked from scratch. (PR #190)
Notification and update state externalized — Read/dismiss state and update check results have been moved out of Blender’s internal preferences tree into a JSON file managed by PME itself. This makes the data stable across Blender’s startup and shutdown cycles — and because it’s a plain text file living outside Blender, it can be read directly by external tools. In the longer term, diagnostic information about your menus and slots is planned to live here too, opening the door to smarter troubleshooting support. (PR #190)
Update source safety — A maintenance path for switching the update source was added. When a non-official source is active, a persistent warning is displayed. Update notifications from custom sources never show external URL actions; instead, the referenced source and download URL are stated in the notification body. (PR #190)
Multi-line notification messages — Notification bodies can now render multi-line text directly, making it easier to communicate warnings and supplementary information. (PR #190)
Missing operator fallback for older menus — Since Blender 5.1, PME fallback could fail for slots containing older menu commands or unresolved operators, making the whole pie look broken. Missing operators now return to PME’s own error slot, helping preserve the overall pie shape in older menus. (PR #198)
Legacy JSON import stability — Post-import internal references and compatibility handling were tightened for some older JSON v1 menu packs, making legacy imports more stable overall.
Note — This update changes how notification and update state is stored. Read, dismissed, and update cache state from previous
2.0.2.xbuilds will be reset on first launch. Update check results will be re-fetched automatically. (PR #190)
2.0.2.2 (2026.03.15)¶
Editor command stability fix — Tracking down one hang report revealed the real cause wasn’t a single command but the PMI text classification itself. Escalated from hotfix to redesign, tightening the problematic parsing paths at their root. (PR #178)
Scanner-first PMI classification — A lightweight scanner now triages PMI text before expensive regex paths are reached, significantly reducing backtracking risk while keeping normal command entry permissive. (PR #178)
2.0.2.1 (2026.03.15)¶
Hotkey runtime state isolation — Tightened the hotkey recovery flow to prevent startup and runtime state cross-talk. (PR #174)
Property capture follow-up — Hardened the render and capture paths for the right-click property capture introduced in 2.0.2. (PR #174)
Four-part hotfix versioning — Hotfix builds like
2.0.2,2.0.2.1, and2.0.2.2are now accurately distinguished by the notification system. (PR #175)
2.0.2 (2026.03.14)¶
Major right-click property capture upgrade — Many buttons that used to show “Can’t Add This Widget” can now be captured. Theme colors, addon preferences, and deeply nested properties are all supported. Custom properties (
["prop"]format) can be captured as-is, and when capture still isn’t possible, you’ll see feedback explaining why. The captured paths are also improved: previously, paths often fell back tobpy.data-based absolute references, producing commands that only worked for one specific object or data block. PME2 now prioritizesbpy.context-relative paths, so your commands naturally apply to the active object, the current brush, or whatever the context calls for. (PR #155)Sidearea open/close commands —
pme.sidearea_togglenow acceptsopen_cmdandclose_cmdparameters, letting you bundle initialization and cleanup logic into the same toggle call. (PR #164)Notification system — A badge appears on the Settings tab when a new version of PME is available. Checks run quietly at startup; you can also refresh manually or skip a specific version. Currently limited to release notifications, but the system is designed with broader use in mind. (PR #159)
Tree Mode search reveal — Even when your customizations grow and groups are deeply nested, search automatically expands collapsed groups and scrolls to the target menu. No more getting lost among hundreds of menus. (PR #166)
Hotkey recovery on startup — Hotkeys that could not be registered at addon enable time are now queued and retried automatically, fixing cases where hotkeys disappeared after a Blender restart. (PR #152)
GPU floating panel fixes — Embedded Blender panel lists (UV Maps, Shape Keys, etc.) render more reliably in GPU floating panels. (PR #167)
Blender 5.1 support — Verified compatible with Blender 5.1.
2.0.1 (2026.03.04)¶
Browsable hotkey key menus — Hotkey and chord-key fields now use hierarchical browse menus. Special keys like
F13throughF24and modifier combinations that previously had to be typed in manually can now be assigned with a simple menu selection. (PR #147)Per-slot COMMAND Undo option — Individual COMMAND slots can now enable Undo independently. Control the undo stack precisely based on each command’s purpose. Toggle visibility in
Settings > General > Show Command Undo. (PR #149)Stronger startup hotkey recovery — Startup hotkey registration is more resilient, with clearer reporting when some keys cannot be restored. (PR #148)
2.0.0 (2026.02.20)¶
PME2 stable release — PME2 is now available as a stable release for Blender 5.0+. This release is not about keeping an aging codebase on life support. It is a foundation rebuild, meant to move PME forward so it can continue evolving as a platform for a wide range of creative work.
PME1 data compatibility — PME2’s internals have changed significantly, but it supports importing PME 1.18.x JSON and backup files, as well as direct migration from data stored in
userpref.blend. Legacy array format conversion, automatic uid generation, menu mode recovery from enum index drift, prefix standardization, Extend Panel schema migration — each migration path was built through careful validation of Blender’s internal data structures. If a migration error occurs, it automatically retries on the next startup. (PR #94, PR #98, PR #134, PR #143)JSON Schema v2 — The export format has been rebuilt from the ground up. In PME1, data lived in positional arrays — you needed the source code to know what index 5 meant. In v2, every field has a name, a type, and a description, all self-documented via a public JSON Schema. Menus now carry uid, descriptions, poll conditions, and tags; items carry typed actions and descriptions. Each menu and button can express not just what it does, but how it looks and when it’s available. This is a structural upgrade designed for the future. This schema is built to handle whatever you throw at it for the next decade. (PR #94, PR #98, PR #114, PR #134)
GPU Layout System — A custom GPU rendering engine designed for UILayout compatibility. The same draw code runs on both Blender’s standard UILayout and GPU panels without modification. Supports 2-pass layout, theme integration, reactive property binding, and operator invocation from within modal handlers. (PR #101, PR #130, PR #132, PR #135)
Floating Panel — A new menu mode built on the GPU Layout System. Panels stay in your area, blend into the Blender theme, and let you place your own controls wherever you want. Position, size, and opacity persist across the session. Joins Pie Menu and Popup-Dialog as a first-class PME menu mode. (PR #101, PR #132, PR #135)
UID-based references — Every menu now has a stable unique ID. Rename freely — references won’t break. But that’s just the start. Tracking dependencies between menus, pinpointing what’s broken, surviving Blender upgrades, managing JSON in Git, safely updating shared presets — uid is the foundation for all of it. Floating Panel position persistence already runs on this system. (PR #98, PR #134)
Extend Panel redesign — The system for injecting your menus into Blender’s built-in panels and menus has been rebuilt. In PME1, the extend target was tied to the menu’s display name, and only one menu could extend a given target. PME2 manages target, position, and order through dedicated properties. Stack multiple menus on the same panel, toggle them with poll conditions, reorder at will. No name collisions when importing shared menus. (PR #98)
Descriptions and tooltips — Custom macros, complex commands — forgetting what you built is a rite of passage in PME1. In PME2, you can attach descriptions to menus and individual slots. Plain text or dynamic Python expressions. Even without writing anything, tooltips now auto-display the referenced menu name. Know your setup; communicate your intent when sharing. (PR #101, PR #114)
User Resources — Scripts, icons, backups, and exports now live in their own directory, outside both the addon and Blender’s config folder.
~/Documents/Pie Menu Editor/keeps your files safe through addon updates and Blender upgrades alike. The path is configurable in Settings → Resources, and works with Syncthing, Git, or any sync tool you prefer. (PR #138)Public API — A new public API
pmemakes PME’s capabilities available to external scripts and other addons. Typeimport pmein Blender’s console and you’re off. Search menus, invoke them, execute code — all through a stable interface. Integration with other addons, scripted automation — this is PME’s door to the outside world. Currently Experimental, with more features and stability improvements planned. (PR #72, PR #99)Side area stabilization — Width memory, N-Panel tab restoration, FILE_BROWSER crash avoidance, sidebar closed-state recovery — a batch of quality-of-life fixes for the part of PME you use every day. (PR #126)
PM mode persistence — Mode values are now decoupled from enum ordering, with a stable mode table and migration/backfill. More resilient when upgrading from PME1 with mode-index drift. (PR #143)
PROPERTY / mode settings cleanup — Cleaned up how per-mode settings are stored, removing legacy ambiguities. Not a flashy feature, but a meaningful step toward internal consistency. (PR #94, PR #143)
Settings UI and logging — Settings reorganized into icon-based tabs (GPU Layout, Developer, Resources, etc.). Logging now has per-category control in the preferences UI, with cleaner init-time log handling. (PR #129, PR #138)
Other improvements — Removed the beta banner and init hooks, and suppressed dev logs by default. Also enabled the COMMAND fallback Undo wrapper by default, fixed stale labels in the PMI editor, and improved path/error handling around
execute_script.Long-term development foundation — PME2’s internals have been shaped for confident long-term maintenance. At the core is a dynamic module loader, battle-tested in a separate project before being brought to PME. It auto-discovers modules by pattern, resolves dependencies via topological sort, and handles class registration automatically. PME1 had a loader too, but it relied on a hand-maintained list with fixed ordering. Combined with the 6-layer architecture, package restructuring, and legacy dual-loader removal, adding a new file just works. (PR #71, PR #75)
1.19.2 (2026.01.11)¶
Final stable PME-F v1.x release — This build was intended as the last stable release of the v1.x line before development focus moved to PME2.
Side area width clamp fix — Toggling side areas no longer corrupts layouts when widths become extreme or edge-case values slip through.
Better main/side View3D detection — PME now prefers the current area when resolving the main View3D, and closing from the side context works more reliably when both areas use the expected keymap setup.
1.19.1 (2025.11.24)¶
CHORDS stability fixes — Improved reliability under rapid repeated input, fixed a freeze caused by overlapping modal timers, added a PRESS fallback on chord timeout, and fixed chord hints in the header. (PR #54)
Side area and screen-layout fixes — Vertical side areas now close more consistently, use Blender 4.3+
area_join()correctly, and preserve dimensions more reliably during toggles. (PR #54)Blender 5.x compatibility follow-ups — Preference restore paths that could drift on Blender 5.x were disabled, property serialization was updated, custom icons are more stable, and risky toolbar layout hacks are disabled on Blender 5.0+. (PR #54)
1.19.0 (2025.10.25)¶
Blender 5.0 compatibility refresh — PME-F updated several core property and preference paths for Blender 5.0, removed older compatibility layers, and fixed related API regressions. (PR #48, PR #49, PR #50, PR #52)
New click-style hotkey modes — Added experimental
ClickandClick Dragactivation modes, including click-drag direction options. (PR #50)Import, tags, and JSON improvements — Import became more stable, export gained a compatibility-oriented JSON mode, and tag filters now stay in sync more reliably when menus are renamed or duplicated. (PR #50, PR #53)
Side area and area-type improvements — Added
TOP/BOTTOMside area support and improved dynamic area-type detection for side-area workflows. (PR #50)
1.18.9 (2025.07.21)¶
Blender 4.5 compatibility — PME-F was updated for Blender 4.5 while keeping support for Blender 3.2 and newer. (PR #39)
Side area toggle fixes — Side area toggle now works correctly with Blender 4.5’s drawing system and high-DPI displays. (PR #39)
Popup, toolbar, and panel fixes — Popup area size control was restored, panel attribute errors were fixed, and unnecessary toolbar memory access was removed. (PR #39)
Missing icon error cleanup — Missing icons no longer spam
TypeErrormessages. (PR #37)
1.18.8 (2025.01.05)¶
Safer context overrides — Major override flows were migrated from legacy context dictionaries to
temp_override, with stronger validation viaContextOverride. (PR #22, PR #27)Better error visibility — PME now exposes PMI-related errors more clearly and adds
Settings > General > Show Error Tracefor console traceback output. (PR #27)UI and menu stability improvements — Legacy icons were refreshed, unstable
c_last_btnaccess was removed,bpy.context.area is Nonecases were handled more safely, and side area detection was improved. (PR #27)Compatibility cleanup — Minimum supported Blender version is now 3.2, deprecated
blf.size(..., dpi=72)usage was removed, and examples/docs were updated aroundbpy.ops.pme.exec_override(). (PR #27)New documentation site — PME documentation moved to the new docs site. (PR #27)
1.18.7 (2023.04.11)¶
Blender 3.6.0 Alpha Support
Bug Fixes
1.18.6 (2022.08.13)¶
Fixed Click Drag and Hold hotkey modes in Blender 3.2.0+
1.18.5 (2022.05.02)¶
Header Tools
1.18.4 (2021.11.11)¶
Toggle side-area operator fix for recent Blender builds.
1.18.3 (2021.06.28)¶
Support Blender 3 Alpha
1.18.2 (2021.04.24)¶
Bug Fix for Panel Groups in Blender 2.93
1.18.1 (2021.03.12)¶
Blender 2.93 Alpha Support
1.18.0 (2020.10.30)¶
Key Chords
Bug Fixes
1.17.5 (2020.09.23)¶
Blender 2.91 Support
Customizable number of menu list rows
New global variable for scripts to store user data:
U.foo = "value" U.update(foo="value1", bar="value2") U.foo U.get("foo", "default_value")
Bug Fixes
1.17.3 (2020.07.20)¶
Option to use check-boxes instead of toggle-buttons.
Bug Fixes
1.17.2 (2020.05.12)¶
PME Preferences in 3D View area
Pie extra slot gap size
Bug Fixes
1.17.1 (2020.04.27)¶
New backup folder:
scripts/addons/pie_menu_editor_data/backupsSupport keymaps with commas
Bug Fixes
1.17.0 (2020.03.27)¶
10 Pie Slots
Sub-panels
Wider Popups
1.16.4 (2019.10.13)¶
Blender 2.81 Support
Bug Fixes
1.16.2 (2019.09.21)¶
Blender 2.81 Support
Auto-backups (pie_menu_editor/data/backup folder)
Bug Fixes
1.16.0 (2019.08.09)¶
Remember StackKey State
Bug Fixes
1.15.23 (2019.06.26)¶
Bug Fixes
1.15.22 (2019.06.09)¶
Bug Fixes
1.15.21 (2019.06.04)¶
Toggle-able menu slots
Add existing menus to pies, menus, or popups
Bug Fixes
1.15.20 (2019.04.11)¶
Bug Fixes
1.15.19 (2019.03.25)¶
Bug Fixes
Bug Fixes
1.15.18 fix 1 (2019.03.24)¶
1.15.18 (2019.03.21)¶
Bug Fixes
1.15.17 (2019.03.12)¶
Blender 2.8 Beta Support
Bug Fixes
1.15.16 fix 1 (2019.03.07)¶
1.15.16 (2019.02.14)¶
Bug Fixes
1.15.15 (2019.02.13)¶
Bug Fixes
1.15.14 (2019.01.21)¶
Bug Fixes
1.15.13 fix 1 (2019.01.15)¶
Fix for multi-column Regular Menus
Multi-column fix
1.15.13 (2019.01.14)¶
Blender 2.8 Beta Support
1.15.12 fix 2 (2019.01.11)¶
Fixes for Blender 2.8 Beta
New Python API changes.
1.15.12 (2019.01.07)¶
Blender 2.8 Beta Support
1.15.11 fix 7 (2019.01.05)¶
Fixes for Blender 2.8 Beta
1.15.11 fix 4 (2018.12.28)¶
1.15.11 fix 3 (2018.12.28)¶
Fixes for PME 1.15.11
1.15.11 (2018.12.23)¶
Blender 2.8 Beta Support
Bug Fixes
1.15.10 fix 1 (2018.12.15)¶
Some Fixes for Blender 2.8 builds
1.15.10 (2018.12.10)¶
Bug Fixes
1.15.9 (2018.12.10)¶
Bug Fixes
1.15.8 fix 3 (2018.12.06)¶
1.15.8 fix 3 (2018.12.04)¶
Some Fixes for Blender 2.8 builds
1.15.8 (2018.12.03)¶
Blender 2.8 Beta Support
Bug Fixes
1.15.7 fix 3 (2018.11.20)¶
Fix for the latest Blender 2.8 builds
1.15.7 (2018.11.08)¶
Latest Blender 2.8 Builds Support
1.15.6 (2018.10.10)¶
Latest Blender 2.8 Builds Support
Bug Fixes
1.15.5 (2018.09.13)¶
Blender 2.8 Alpha Support
Bug Fixes
1.15.4 (2018.08.27)¶
Blender 2.8 Alpha Support
Python 3.7 Support
1.15.3 (2018.06.25)¶
Show/Hide/Toggle Side Area
Show/Hide/Toggle Sidebar
Bug Fixes
1.15.2 (2018.05.16)¶
1.15.1 (2018.05.09)¶
Bug Fixes
1.15.0 (2018.05.08)¶
1.14.15 (2018.04.06)¶
Move Edge Script (idea by MickHanks)
Bug Fixes
1.14.13 (2018.02.14)¶
1.14.9 (2017.10.24)¶
Bug Fixes
1.14.7 (2017.10.15)¶
custom_icon()Function**kwargsfor open_menu() FunctionBug Fixes
1.14.6 (2017.10.07)¶
Fixed Hotkey tab
1.14.3 (2017.09.27)¶
Modal Operators:
Angle properties support
Panning (unlocks the cursor)
Bug Fixes
1.14.2 (2017.09.22)¶
Bug Fixes
1.14.1 (2017.09.19)¶
Maximize Button
Bug Fixes
1.14.0 (2017.09.17)¶
[Tweak Hotkeys](…/#Hotkey Mode)
'Any'Hotkey ModifierBlender 2.8 Support
Pop-up Dialog Editor:
1.13.6 (2017.06.10)¶
Bug fixes
1.13.4 (2017.04.09)¶
Block UI option for Sticky Keys
1.13.1 (2017.02.23)¶
Dummy Modal operator
Can be used to pause Macro Operator (press Enter or LMB to resume)Removed unstable Auto-Close Popup Dialog option
Bug Fixes
1.13.0 (2017.02.19)¶
Compatibility with Blender Tabs Interface add-on
1.12.1 (2016.12.12)¶
1.11.4 (2016.11.13)¶
1.10.1 (2016.07.30)¶
1.9.2 (2016.05.17)¶
Hotkeys to confirm (Enter) and cancel (Esc) item/icon editing
1.8.3 (2016.04.08)¶
Customizable width of the list/tree
1.7.0 (2016.02.16)¶
1.6.0 (2016.01.19)¶
Multi-column regular menus
Open regular menu on mouse over
1.5.2 (2016.01.11)¶
Copy/Paste Row (Popup dialog)
Preview of the menus
External python scripts as a command
1.4.1 (2015.12.09)¶
Popup dialog editor
Pie menus with more than 8 buttons
1.3.0 (2015.11.28)¶
Custom icons
Hotkey as a command
1.2.0 (2015.10.26)¶
Regular menu editor
Multiple keymap names
New icon selection mode
1.1.5 (2015.10.15)¶
Pie Menu Editor