Hi all, i’m looking for ways to help other developers improve their plugins
Is there any interest in letting your users know when there’s a newer version of your plugin available, like by showing the github release notes in the plugin’s settings?
If so I could create a small library that would make this simple to add to any plugin. The API would be something like this:
fetchNewPluginVersions("dataview", (newVersions) => { //let the user know about the new versions })
The backend for this is already built and being used by Plugin Update Tracker, and it returns information like:
{
"obsidianPluginId": "dataview",
"pluginName": "Dataview",
"pluginRepositoryUrl": "https://github.com/blacksmithgu/obsidian-dataview",
"pluginRepoPath": "blacksmithgu/obsidian-dataview",
"newVersions": [
{
"releaseId": 79493021,
"versionName": "0.5.47",
"versionNumber": "0.5.47",
"minObsidianAppVersion": "0.13.11",
"notes": "# 0.5.47\n\nImproves `date + duration` behavior when either the date or duration are null.\n",
"areNotesTruncated": false,
"downloads": 45232,
"fileAssetIds": {
"manifestJson": 80616557,
"mainJs": 80616558
},
"publishedAt": "2022-10-11T06:24:26Z",
"updatedAt": "2022-10-11T06:24:26Z"
},
{
"releaseId": 76774596,
"versionName": "0.5.46",
"versionNumber": "0.5.46",
"minObsidianAppVersion": "0.13.11",
"notes": "# 0.5.46\n\n- Fix #1412: Fix bad `file.cday` and `file.ctime` comparisons due to wrong timezone being set. Ugh.\n",
"areNotesTruncated": false,
"downloads": 43628,
"fileAssetIds": {
"manifestJson": 77407853,
"mainJs": 77407852
},
"publishedAt": "2022-09-10T00:17:38Z",
"updatedAt": "2022-09-10T00:17:38Z"
},
{
"releaseId": 76553504,
"versionName": "0.5.45",
"versionNumber": "0.5.45",
"minObsidianAppVersion": "0.13.11",
"notes": "# 0.5.45\n\n- #1400: Properly use the group by field for the group name.\n- Fix bad table highlighting in some themes.\n",
"areNotesTruncated": false,
"downloads": 4199,
"fileAssetIds": {
"manifestJson": 77205985,
"mainJs": 77205984
},
"publishedAt": "2022-09-08T05:24:23Z",
"updatedAt": "2022-09-08T05:24:23Z"
}
]
}
There could also be some pre-made UI components that safely render the release note markdown, so using the library could be just copy-pasting a few lines.
Here’s what it looks like in the Plugin Update Tracker plugin:
Let me know if this or something similar would be useful