tachybase_todo/docs/en-US/welcome/release/v14-changelog.md
2023-09-13 09:22:20 +08:00

83 lines
2.5 KiB
Markdown

# v0.14: New plugin manager, supports adding plugins through UI
This release enables plug-and-play plugins in production environments. You can now add plugins directly through the UI, and support downloading from the npm registry (which can be private), local uploads, and URL downloads.
## New features
### New plugin manager interface
<img src="https://demo-cn.nocobase.com/storage/uploads/6de7c906518b6c6643570292523b06c8.png" />
### Uploaded plugins are located in the storage/plugins directory.
The storage/plugins directory is used to upload plugins, and is organized as npm packages.
```bash
|- /storage/
|- /plugins/
|- /@nocobase/
|- /plugin-hello1/
|- /plugin-hello2/
|- /@foo/
|- /bar/
|- /my-nocobase-plugin-hello/
```
### Plugin updates
Currently, only plugins under storage/plugins can be updated, as shown here:
<img src="https://demo-cn.nocobase.com/storage/uploads/703809b8cd74cc95e1ab2ab766980817.gif" />
Note: In order to facilitate maintenance and upgrading, and to avoid unavailability of the storage plugins due to upgrading, you can put the new plugin directly into storage/plugins and then perform the upgrade operation.
## Incompatible changes
### Changes to plugin names
- PLUGIN_PACKAGE_PREFIX environment variable is no longer provided.
- Plugin names and package names are unified, old plugin names can still exist as aliases.
### Improvements to pm.add
```bash
# Use packageName instead of pluginName, lookup locally, error if not found
pm add packageName
# Download from remote only if registry is provided, can also specify version
pm add packageName --registry=xx --auth-token=yy --version=zz
# You can also provide a local zip, add multiple times and replace it with the last one
pm add /a/plugin.zip
# Remote zip, replace it with the same name
pm add http://url/plugin.zip
```
### Nginx configuration changes
Add `/static/plugins/` location
```conf
server {
location ^~ /static/plugins/ {
proxy_pass http://127.0.0.1:13000/static/plugins/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
}
```
More see full version of [nocobase.conf](https://github.com/nocobase/nocobase/blob/main/docker/nocobase/nocobase.conf)
## Plugin development guide
[Develop the first plugin](/development/your-fisrt-plugin)