feat(plugin): embed VERSIONINFO and ship Notepad++-compliant release zips#7
Merged
Merged
Conversation
…zips
Notepad++'s Plugins Admin (nppPluginList validator) requires the plugin DLL
to embed VERSIONINFO whose FILEVERSION equals the listed version padded to four
parts; the DLL previously embedded none. Generate version.rc + version.h from
the project() VERSION via configure_file so the embedded metadata and the About
box track release-please bumps automatically.
Packaging (scripts/package.ps1) now emits, per architecture, both the norm
root-layout zip (DLL at the zip root: FixParser_<ver>_x64.zip /
FixParser_<ver>_Win32.zip) that the validator expects and a drop-in folder zip
(_portable) for quick portable-Notepad++ testing. Zip entries use forward-slash
separators (ZIP spec / Linux validator), the 32-bit token is "Win32" per npp
convention, and the menu/display-name is set equal to the folder-name
("FixParser"). The About box now shows version, author, GitHub handle, and the
project URL.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jun 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Notepad++'s Plugins Admin (
nppPluginListvalidator) requires the plugin DLL to embedVERSIONINFOwhoseFILEVERSIONequals the listed version padded to four parts. The DLL previously embedded none, which is a hard rejection. It also expects the DLL at the zip root.Changes
version.rc.in+version.h.in, generated fromproject(... VERSION)viaconfigure_file, so the DLL metadata and the About box track release-please bumps automatically. Verified: built x64/x86 DLLs reportFileVersion 0.1.0.0.scripts/package.ps1): per arch, emit both the norm root-layout zip (FixParser_<ver>_x64.zip/FixParser_<ver>_Win32.zip, DLL at root) and a drop-in_portablezip (wrapped inFixParser/) for quick portable-Notepad++ testing. Forward-slash zip entries (ZIP spec / Linux validator);Win32token per npp convention.display-nameset equal tofolder-name(FixParser); About box shows version, author, GitHub handle, and project URL.Validation
Built both arches locally; confirmed embedded version, PE machine types (AMD64 / I386), forward-slash entries, and DLL-at-root layout for the norm zips.
Context
Foundation for the version-consistency work tracked in #6 (B+C+D). This PR is the prerequisite; B (manifest-derived version) follows in its own PR per that decision.