Changelog
[Unreleased]
Added
--release-versionoption forpb_tool zip: stampsversion,commitSha1,commitNumber, anddateTimeinto the deployedmetadata.txtbefore creating the archive. Pre-release version strings (containingrc,alpha,beta, ordev) also setexperimental=True. Fields that don't already exist inmetadata.txtare appended automatically. The sourcemetadata.txtis never modified.
[3.4.0] - 2026-05-24
Added
- New
dockwidgetplugin type:pb_tool create --type dockwidgetgenerates a toolbar button plugin with a dock widget panel --titleoption topb_tool createfor the human-readable plugin name shown in QGIS menus (distinct from the Python class name)icon.pngis now copied into the generated plugin directory automatically
Changed
- Generated plugin templates updated to match QGIS Plugin Builder:
- Dialog plugins: replaced
QSettings/qVersion/own toolbar withQgsSettings/QLocale/iface.addToolBarIcon; icon loaded from the filesystem instead of a Qt resource alias; dialog creation deferred to firstrun()call (first_startpattern) - Processing plugins: main class renamed to
*Pluginand no longer takesiface; added__author__/__date__/__copyright__/__revision__module attributes; algorithm usesself.tr(),QgsFeatureSink.FastInsert, and correct100.0 / featureCountprogress tracking; provider gains__init__,unload,icon(), andlongName() pb_tool.cfg: updated withplugin_path:field,LICENSEin extras, and correctpython_files/main_dialogvalues populated per plugin type
- Dialog plugins: replaced
resources.qrcis no longer generated (Qt resource system not needed now that the icon uses a filesystem path)sphinxmoved to optionaldocsdependency group
Fixed
- Dialog template uses
exec()instead of deprecatedexec_()for Qt6/QGIS 4 compatibility
Removed
test_plugindirectory removed from the repository; tests now generate a temporary plugin in an isolated filesystem
[3.3.1] - 2026-04-30
Fixed
- Windows compatibility issues in path handling
get_plugin_directory()now used consistently in thevalidatecommandurlopenreplaced withhttp.clientto fix Bandit B310 security warningxmlrpc.clientreplaced withurllibanddefusedxmlinplugin_upload.py__pycache__directories and cache files excluded fromzipoutput
[3.3.0] - 2026-04-29
Added
- MkDocs documentation site
- GitHub Actions publishing workflow
- Badges in README
Changed
- Version now read from package metadata via
importlib.metadatainstead of being hardcoded translatecommand updated for Qt6
Fixed
- Windows compatibility and failing tests
- Debug print statements removed from
translatecommand - PyQt5 import paths updated
[3.2.0] - 2026-04-25
Added
- Processing plugin skeleton template and
pb_tool createcommand --no-docsflag to skip Sphinx build during deployexcluded_filesoption to filter files from deployment- Plugin directory detection for QGIS 3 and 4 profiles
- Qt5/Qt6 fallback for resource compilation
Fixed
TemplatePyFilesnot substituted in generatedpb_tool.cfg- Sphinx build failure on OSGeo4W
pyrcc5compile failure on Windows/OSGeo4W- Deploy failure for UI files in subdirectories
- Create full plugin directory path on fresh profiles (
os.makedirswithexist_ok=True) - Exit with non-zero error code when deployment fails
Changed
- Ported from Python 2 to Python 3
- Updated for QGIS 4 and Qt6
- Modernised packaging (
pyproject.toml) - QGIS 3/4 plugin directory paths updated
[1.9.1] - 2015-10-13
Last release of the original Gary Sherman version.