RELEASE.md
RELEASE.md
Prefer using the Fork action on the upstream LM Studio Hub page so the Hub can display provenance. Use a unique, descriptive kebab-case name such as:
email-imap-smtp
Do not publish under altra/email, and do not leave the local development name as email-fixed.
Set manifest.json:
{ "type": "plugin", "runner": "node", "owner": "YOUR_LM_STUDIO_USERNAME_OR_ORG", "name": "email-imap-smtp", "tags": [ "lmstudio", "lmstudio-plugin", "email", "imap", "smtp", "inbox", "privacy", "tool-use" ] }
Omit revision before the first push. lms push --write-revision writes the server-assigned revision afterward.
Expected baseline after applying this release kit:
__tests__.npm test after build remains clean.Run network integration tests separately:
A failure caused solely by Ethereal/network availability is not equivalent to a unit-test failure, but SMTP code changes should still receive a successful integration run before release.
Run:
With a test mailbox or non-critical account:
Test at least one smaller tool-calling model in addition to the strongest model. The safety gates must not depend on model quality.
Confirm:
node_modules is not committed.lms push.Review the confirmation instead of adding -y on the first public push.
Install the public artifact into LM Studio as a normal user would. Confirm that the generated JavaScript files load, settings render, the README is accurate, and the Hub displays the intended owner/name/provenance.
Create a clean clone/install test before announcing the release.
Prefer using the Fork action on the upstream LM Studio Hub page so the Hub can display provenance. Use a unique, descriptive kebab-case name such as:
email-imap-smtp
Do not publish under altra/email, and do not leave the local development name as email-fixed.
Set manifest.json:
{ "type": "plugin", "runner": "node", "owner": "YOUR_LM_STUDIO_USERNAME_OR_ORG", "name": "email-imap-smtp", "tags": [ "lmstudio", "lmstudio-plugin", "email", "imap", "smtp", "inbox", "privacy", "tool-use" ] }
Omit revision before the first push. lms push --write-revision writes the server-assigned revision afterward.
Expected baseline after applying this release kit:
__tests__.npm test after build remains clean.Run network integration tests separately:
A failure caused solely by Ethereal/network availability is not equivalent to a unit-test failure, but SMTP code changes should still receive a successful integration run before release.
Run:
With a test mailbox or non-critical account:
Test at least one smaller tool-calling model in addition to the strongest model. The safety gates must not depend on model quality.
Confirm:
node_modules is not committed.lms push.Review the confirmation instead of adding -y on the first public push.
Install the public artifact into LM Studio as a normal user would. Confirm that the generated JavaScript files load, settings render, the README is accurate, and the Hub displays the intended owner/name/provenance.
Create a clean clone/install test before announcing the release.
email_accounts.email_list(limit=5).uids is not iterable.since="2 weeks ago".since="2026-08-01", before="2026-08-02".README.md, CHANGELOG.md, SECURITY.md, and NOTICE.md are included.manifest.json has the correct owner and name.__tests__ directory exists.npm install
npm run check
npm run test:integration
lms dev
git status --short
Get-ChildItem -Force
git init
git add .
git commit -m "Release hardened email IMAP/SMTP plugin v1.1.0"
git tag v1.1.0
lms login
npm run check
lms push --description "Hardened IMAP email search/read with relative dates, protected credentials, and opt-in send/Trash tools" --write-revision
email_accounts.email_list(limit=5).uids is not iterable.since="2 weeks ago".since="2026-08-01", before="2026-08-02".README.md, CHANGELOG.md, SECURITY.md, and NOTICE.md are included.manifest.json has the correct owner and name.__tests__ directory exists.npm install
npm run check
npm run test:integration
lms dev
git status --short
Get-ChildItem -Force
git init
git add .
git commit -m "Release hardened email IMAP/SMTP plugin v1.1.0"
git tag v1.1.0
lms login
npm run check
lms push --description "Hardened IMAP email search/read with relative dates, protected credentials, and opt-in send/Trash tools" --write-revision