diff --git a/source/addonHandler/__init__.py b/source/addonHandler/__init__.py index d28257281e5..a630d58ff0f 100644 --- a/source/addonHandler/__init__.py +++ b/source/addonHandler/__init__.py @@ -720,15 +720,17 @@ def createAddonBundleFromPath(path, destDir=None): def _report_manifest_errors(manifest): log.warning("Error loading manifest:\n%s", manifest.errors) + class AddonManifest(ConfigObj): """ Add-on manifest file. It contains metadata about an NVDA add-on package. """ configspec = ConfigObj(StringIO( """ # NVDA Add-on Manifest configuration specification # Add-on unique name +# Suggested convention is lowerCamelCase. name = string() -# short summary (label) of the add-on to show to users. +# short summary (label) of the add-on to show to users. summary = string() # Long description with further information and instructions @@ -737,7 +739,8 @@ class AddonManifest(ConfigObj): # Name of the author or entity that created the add-on author = string() -# Version of the add-on. Should preferably in some standard format such as x.y.z +# Version of the add-on. +# Suggested convention is .. format. version = string() # The minimum required NVDA version for this add-on to work correctly. @@ -747,8 +750,9 @@ class AddonManifest(ConfigObj): # Must be greater than or equal to minimumNVDAVersion lastTestedNVDAVersion = apiVersion(default="0.0.0") -# URL for more information about the add-on. New versions and such. -url= string(default=None) +# URL for more information about the add-on, e.g. a homepage. +# Should begin with https:// +url = string(default=None) # Name of default documentation file for the add-on. docFileName = string(default=None) diff --git a/user_docs/en/changes.t2t b/user_docs/en/changes.t2t index efcdb379bbd..a7ebd3d1f91 100644 --- a/user_docs/en/changes.t2t +++ b/user_docs/en/changes.t2t @@ -62,6 +62,14 @@ Instead NVDA reports that the link has no destination. (#14723) == Changes for Developers == Please refer to [the developer guide https://www.nvaccess.org/files/nvda/documentation/developerGuide.html#API] for information on NVDA's API deprecation and removal process. + +- Suggested conventions have been added to the add-on manifest specification. +These are optional for NVDA compatibility, but are encouraged or required for submitting to the add-on store. +The new suggested conventions are: + - Using ``lowerCamelCase`` for the name field. + - Using ``..`` format for the version field (required for add-on datastore). + - Using ``https://`` as the schema for the url field (required for add-on datastore). + - - Added a new extension point type called ``Chain``, which can be used to iterate over iterables returned by registered handlers. (#14531) - Added the ``bdDetect.scanForDevices`` extension point. Handlers can be registered that yield ``BrailleDisplayDriver/DeviceMatch`` pairs that don't fit in existing categories, like USB or Bluetooth. (#14531)