mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 06:05:24 +00:00
6.7 KiB
6.7 KiB
Changelog
1.0.12
Plugin API 1.4.0.
Added
contributes.layoutsandapp.registerLayout()for a whole-app layout, with theui:layoutcapability. Needsengine.api1.4contributes.themesfor CSS-only themes, with theui:themecapability.termix-plugin validatechecks theme CSS andpackships ituseShell()gives a layout the live shell: tabs, splits, hosts, docks, the command palette and the registries. The shell's home tab is left out until some plugin registers adashboardtab typeTabStageandShellConfirmCapturein@termix-ssh/plugin-sdk/ui, for a layout to place tabsvalidateThemeCss()in@termix-ssh/plugin-sdk/manifest@termix-ssh/plugin-sdk/uialso exports what a whole layout is built from: the API client, shared types, hooks,useShellController()andAPP_VERSION. These reach into core, so they can change with a core release@termix-ssh/plugin-sdk/testing-hostexports the registries and permission seam a layout's own tests fill directly- A plugin that only holds themes needs no source:
termix-plugin buildwrites an empty backend andvalidatedoes not ask for a frontend termix-plugin validateflagsui:layoutorui:themewith nothing contributed, and a layout plugin with no frontend
Fixed
- The manifest JSON schema lists the
notify:hubandplugins:readcapabilities - Plugin tests and type checks work with the SDK linked from a local Termix checkout
1.0.11
Plugin API 1.3.0.
Added
ctx.auth.issueUserToken()mints a short-lived session for a user, for calling Termix's own API as them from background work. Needsusers:impersonateandengine.api1.3ctx.users.getLocale()reads a user's UI language. Needsusers:readandengine.api1.3
1.0.10
Changed
termix-plugin packincludes the plugin'sLICENSEandNOTICEfiles, so third-party notices ship with it
1.0.9
Added
- Worker entries in
package.jsontermix.workers, each bundled on its own intodist/workers/<name>.js - A
.wasm,.ttfor.otfimport gives the file's bytes, intermix-plugin buildand in plugin tests
Fixed
- The plugin guide listed jszip, guacamole-lite and @anthropic-ai/sdk as shared packages, but they are bundled
1.0.8
Added
publicRateLimitonctx.http.router(), for a plugin whose public routes serve a proxied page
1.0.7
Fixed
- A migration file, or a part of one, holding only comments made core fail to start the plugin
1.0.6
Added
PLUGIN-GUIDE.md, a guide to building, testing and releasing a plugin, written so AI coding tools can read it too
1.0.5
Fixed
execCommandtimeout errors no longer include the command, which could hold a sudo passwordtermix-plugin validatefails when a plugin ships migrations for some database engines but not all threetermix-plugin migrationsloads the table definitions from a path with a#or other URL characters in it- Text, json and encrypted columns are
longtexton MySQL in new migrations, so they are no longer capped at 64KB. Existing migrations keeptext i18next,react-dom,react-i18nextandsonnerare optional peer dependencies, so npm stops installing them into backend-only pluginstermix-plugin validateaccepts a beta version like1.1.0-beta.1when the changelog's newest release is1.1.0or older, so beta releases pass
1.0.4
Fixed
termix-plugin buildputs a plugin's own Tailwind classes in core's utilities layer, so responsive, hover and group variants andclassNameoverrides on SDK components work. Plain classes core already ships stay below core's utilities as before, while variants core ships go with the plugin's own somax-h-56 md:max-h-nonekeeps its order. Rebuild a plugin to pick it up
1.0.3
Plugin API 1.2.0.
Added
docsmanifest field: an https link to the plugin's docs. Termix shows it as a Documentation link on the plugin's page and in its settingsenvmanifest field: the environment variables the plugin reads, listed in its docs and on its pageapp.docsanduseDocsUrl()for links into the plugin's own docs, andDocsLinkin@termix-ssh/plugin-sdk/uiPanelShelltakes adocslink and shows it as a book icon in the header@termix-ssh/plugin-sdk/openapiwithbuildOpenApi(), andtermix-plugin openapi, which writesdist/openapi.jsonfrom the@openapiblocks insrc/backend.buildruns it too@termix-ssh/plugin-sdk/docswithpluginDocsUrl(),pluginDocsPage()andpluginEnvVars()termix-plugin validatewarns whendocs/index.mdis missing or the source reads an env var the manifest does not list
1.0.2
Added
featuresmanifest field: up to 20 short lines about what the plugin does, shown on its page.pluginFeatures()reads them
Changed
parseChangelog()andvalidateChangelog()flag a## Unreleasedsection. Notes go under the version they ship in
Removed
Changelog.unreleased
1.0.1
Added
- Plugin API 1.1
app.registerOnboardingStep()adds a step to onboarding, withOnboardingStepPropsandOnboardingStepContribution. Needsengine.api1.1videomanifest field: a YouTube link shown at the top of the plugin's page, read withyoutubeVideoId()@termix-ssh/plugin-sdk/changelogparses and checks a plugin'sCHANGELOG.mdtermix-plugin changelogprints one version's notes fromCHANGELOG.mdtermix-plugin devinstalls a plugin on a running server and reinstalls it on every change. Needs developer mode and an admin API keyrenderOnboardingStep()andregistered.onboardingSteps()inrenderWithApp()AddButton,FormFooter,ListRow,ListRowAction,ListRowFolder,ListBadgeandPanelListin@termix-ssh/plugin-sdk/uiPanelSearchtakesdisabled,title,onEnterandinputRef, andSurfaceScopetakesonClose
Changed
- Release notes moved from
CHANGELOG.jsontoCHANGELOG.md, whichpacknow ships.validateflags a leftoverCHANGELOG.json ConnectionScreendroppederrorMessageandretryLabeland gainedonClose.ConnectionLogPaneldroppedposition- Plugin tests run in worker threads, since forked workers crash now and then on Windows
- The test setup stubs
ResizeObserverfor Radix controls under jsdom onboardingis a reserved plugin id
Deprecated
- The
onboarding.*action slots. UseregisterOnboardingStep()
Removed
schema/changelog.schema.json
1.0.0
Added
- Backend, frontend, database, manifest, capability and settings types for plugin API 1.0
- Testing helpers and a Vitest preset for plugin tests
- The
@termix-ssh/plugin-sdk/uicomponent set - The
termix-pluginCLI to build, validate, test, pack, sign and write migrations