Second patch release of the macOS port. Universal binary (arm64 + x86_64), signed by Developer ID: Andrey Letov (S5972U9P85), notarized by Apple and stapled.
What's new since v1.0.1
Plugin API — new NPPM messages
Plugins can now detect the current buffer's language via the Windows-standard APIs:
NPPM_GETCURRENTLANGTYPE— returns canonical Windows NPPLangTypeinteger values. Maps ~80 host language names to the enum defined atNotepad_plus_msgs.hline 27. Unblocks DoxyIt, CommentToggler, nppQuickText, nppAutoDetectIndent, and several other ported plugins that previously got0back and silently failed.NPPM_GETLANGUAGENAME— reverse lookup, returns the canonical display name string for a givenLangType.
Plugin API — macOS-only extension
NPPM_SETPLUGINSUBSCRIPTIONS(NPPMSG+500) — per-plugin opt-out forSCN_UPDATEUI/SCN_PAINTEDforwarding. Lets plugins coexist with host-level features. ComparePlus uses this to defer compare-mode scroll synchronization to the host's built-in 60Hz timer instead of running its own Windows-style event-driven sync.
Plugin notification forwarding
SCN_UPDATEUIandSCN_PAINTEDare now forwarded to plugins by default. The previous exclusion was a defensive measure against a Core Animation ping-pong loop that no longer exists — the host's scroll sync uses timer polling, not notification-driven sync. Unlocks a dozen plugin features that depend on UI-update notifications (DoxyIt active commenting, indentbyfold fold-level indent, SurroundSelection, npp-XBracketsLite, nppQuickText snippet hot-spots, SelectToClipboard, and more).
Bug fix — spurious MIME Tools checkmark
Plugins that accidentally called NPPM_SETMENUITEMCHECK with a separator slot's _cmdID (which is always 0 because the host doesn't allocate IDs to separators) were silently poisoning static submenu items via findMenuItemWithTag:0. The default NSMenuItem.tag is also 0, so every static submenu wrapper (MIME Tools, Converter, etc.) was an implicit match. Fixed with:
- Early reject of
cmdID == 0in theNPPM_SETMENUITEMCHECKhandler, with a console warning so plugin authors can find their bug. findMenuItemWithTag:treatstag == 0as a sentinel "never match" value regardless of caller.
Companion plugin releases
Update your plugins via Plugin Admin to get the corresponding fixes:
- DoxyIt v1.0.0 (new) — Doxygen comment generator with Tab-through jump markers
- indentbyfold v1.0.1 — per-language indent paths now actually work
- SelectToClipboard v1.0.0 (new) — auto-copy-on-select with preserved blank lines
- ComparePlus v1.0.1 — no more MIME Tools checkmark
- NPP_ExportPlugin v1.0.0 — unchanged, already shipping
Install
Download Notepad++v1.0.2.dmg, open it, drag Notepad++.app into Applications. First launch works without the Gatekeeper prompt because the DMG is notarized and stapled.
System requirements
- macOS 11.0 (Big Sur) or later
- Apple Silicon or Intel Mac (universal binary)