@nocobase/app-plugin-releases 0.1.0-beta.2 → 0.1.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +341 -0
- package/LICENSE.txt +129 -0
- package/README.md +91 -16
- package/dist/client/components/environment-form.d.ts +1 -1
- package/dist/client/components/environment-form.d.ts.map +1 -1
- package/dist/client/components/environment-form.js +9 -2
- package/dist/client/components/environment-form.js.map +1 -1
- package/dist/client/components/page-header.d.ts.map +1 -1
- package/dist/client/components/page-header.js +1 -1
- package/dist/client/components/page-header.js.map +1 -1
- package/dist/client/components/release-badges.d.ts.map +1 -1
- package/dist/client/components/release-badges.js +13 -1
- package/dist/client/components/release-badges.js.map +1 -1
- package/dist/client/components/route-overlay.d.ts +4 -1
- package/dist/client/components/route-overlay.d.ts.map +1 -1
- package/dist/client/components/route-overlay.js +32 -3
- package/dist/client/components/route-overlay.js.map +1 -1
- package/dist/client/components/runtime-policy-fields.d.ts +7 -1
- package/dist/client/components/runtime-policy-fields.d.ts.map +1 -1
- package/dist/client/components/runtime-policy-fields.js +19 -5
- package/dist/client/components/runtime-policy-fields.js.map +1 -1
- package/dist/client/components/runtime-state.d.ts +6 -0
- package/dist/client/components/runtime-state.d.ts.map +1 -0
- package/dist/client/components/runtime-state.js +67 -0
- package/dist/client/components/runtime-state.js.map +1 -0
- package/dist/client/components/shared-host.d.ts +20 -0
- package/dist/client/components/shared-host.d.ts.map +1 -0
- package/dist/client/components/shared-host.js +88 -0
- package/dist/client/components/shared-host.js.map +1 -0
- package/dist/client/components/ui/progress.d.ts +9 -0
- package/dist/client/components/ui/progress.d.ts.map +1 -0
- package/dist/client/components/ui/progress.js +20 -0
- package/dist/client/components/ui/progress.js.map +1 -0
- package/dist/client/components/use-route-overlay.d.ts +2 -9
- package/dist/client/components/use-route-overlay.d.ts.map +1 -1
- package/dist/client/components/use-route-overlay.js +5 -3
- package/dist/client/components/use-route-overlay.js.map +1 -1
- package/dist/client/components/variable-alerts.d.ts.map +1 -1
- package/dist/client/components/variable-alerts.js +6 -18
- package/dist/client/components/variable-alerts.js.map +1 -1
- package/dist/client/hooks/use-app-summary.d.ts +1 -1
- package/dist/client/hooks/use-app-summary.d.ts.map +1 -1
- package/dist/client/hooks/use-app-summary.js +4 -1
- package/dist/client/hooks/use-app-summary.js.map +1 -1
- package/dist/client/hooks/use-releases.d.ts +4 -1
- package/dist/client/hooks/use-releases.d.ts.map +1 -1
- package/dist/client/hooks/use-releases.js +6 -2
- package/dist/client/hooks/use-releases.js.map +1 -1
- package/dist/client/lib/app-state.d.ts +2 -2
- package/dist/client/lib/app-state.d.ts.map +1 -1
- package/dist/client/lib/app-state.js +10 -3
- package/dist/client/lib/app-state.js.map +1 -1
- package/dist/client/lib/errors.d.ts.map +1 -1
- package/dist/client/lib/errors.js +7 -0
- package/dist/client/lib/errors.js.map +1 -1
- package/dist/client/lib/format.d.ts +2 -0
- package/dist/client/lib/format.d.ts.map +1 -1
- package/dist/client/lib/format.js +7 -0
- package/dist/client/lib/format.js.map +1 -1
- package/dist/client/lib/paths.d.ts +5 -0
- package/dist/client/lib/paths.d.ts.map +1 -1
- package/dist/client/lib/paths.js +10 -0
- package/dist/client/lib/paths.js.map +1 -1
- package/dist/client/lib/permissions.d.ts +5 -0
- package/dist/client/lib/permissions.d.ts.map +1 -1
- package/dist/client/lib/permissions.js +8 -0
- package/dist/client/lib/permissions.js.map +1 -1
- package/dist/client/lib/runtime-state.d.ts +25 -0
- package/dist/client/lib/runtime-state.d.ts.map +1 -0
- package/dist/client/lib/runtime-state.js +58 -0
- package/dist/client/lib/runtime-state.js.map +1 -0
- package/dist/client/locales/de-DE.d.ts +5 -0
- package/dist/client/locales/de-DE.d.ts.map +1 -0
- package/dist/client/locales/de-DE.js +876 -0
- package/dist/client/locales/de-DE.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +83 -9
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +80 -9
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/es-ES.d.ts +5 -0
- package/dist/client/locales/es-ES.d.ts.map +1 -0
- package/dist/client/locales/es-ES.js +882 -0
- package/dist/client/locales/es-ES.js.map +1 -0
- package/dist/client/locales/fr-FR.d.ts +5 -0
- package/dist/client/locales/fr-FR.d.ts.map +1 -0
- package/dist/client/locales/fr-FR.js +882 -0
- package/dist/client/locales/fr-FR.js.map +1 -0
- package/dist/client/locales/id-ID.d.ts +5 -0
- package/dist/client/locales/id-ID.d.ts.map +1 -0
- package/dist/client/locales/id-ID.js +876 -0
- package/dist/client/locales/id-ID.js.map +1 -0
- package/dist/client/locales/index.d.ts.map +1 -1
- package/dist/client/locales/index.js +10 -0
- package/dist/client/locales/index.js.map +1 -1
- package/dist/client/locales/ja-JP.d.ts +5 -0
- package/dist/client/locales/ja-JP.d.ts.map +1 -0
- package/dist/client/locales/ja-JP.js +876 -0
- package/dist/client/locales/ja-JP.js.map +1 -0
- package/dist/client/locales/ko-KR.d.ts +5 -0
- package/dist/client/locales/ko-KR.d.ts.map +1 -0
- package/dist/client/locales/ko-KR.js +879 -0
- package/dist/client/locales/ko-KR.js.map +1 -0
- package/dist/client/locales/pt-BR.d.ts +5 -0
- package/dist/client/locales/pt-BR.d.ts.map +1 -0
- package/dist/client/locales/pt-BR.js +882 -0
- package/dist/client/locales/pt-BR.js.map +1 -0
- package/dist/client/locales/ru-RU.d.ts +5 -0
- package/dist/client/locales/ru-RU.d.ts.map +1 -0
- package/dist/client/locales/ru-RU.js +891 -0
- package/dist/client/locales/ru-RU.js.map +1 -0
- package/dist/client/locales/vi-VN.d.ts +5 -0
- package/dist/client/locales/vi-VN.d.ts.map +1 -0
- package/dist/client/locales/vi-VN.js +876 -0
- package/dist/client/locales/vi-VN.js.map +1 -0
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +83 -9
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/locales/zh-TW.d.ts +5 -0
- package/dist/client/locales/zh-TW.d.ts.map +1 -0
- package/dist/client/locales/zh-TW.js +876 -0
- package/dist/client/locales/zh-TW.js.map +1 -0
- package/dist/client/pages/app-page.d.ts.map +1 -1
- package/dist/client/pages/app-page.js +14 -8
- package/dist/client/pages/app-page.js.map +1 -1
- package/dist/client/pages/apps-outlet.d.ts +8 -0
- package/dist/client/pages/apps-outlet.d.ts.map +1 -0
- package/dist/client/pages/apps-outlet.js +9 -0
- package/dist/client/pages/apps-outlet.js.map +1 -0
- package/dist/client/pages/environment-page.d.ts.map +1 -1
- package/dist/client/pages/environment-page.js +112 -24
- package/dist/client/pages/environment-page.js.map +1 -1
- package/dist/client/pages/environments-page.d.ts +8 -3
- package/dist/client/pages/environments-page.d.ts.map +1 -1
- package/dist/client/pages/environments-page.js +58 -10
- package/dist/client/pages/environments-page.js.map +1 -1
- package/dist/client/pages/new-app-page.d.ts +2 -4
- package/dist/client/pages/new-app-page.d.ts.map +1 -1
- package/dist/client/pages/new-app-page.js +29 -19
- package/dist/client/pages/new-app-page.js.map +1 -1
- package/dist/client/pages/new-app-redirect.d.ts +7 -0
- package/dist/client/pages/new-app-redirect.d.ts.map +1 -0
- package/dist/client/pages/new-app-redirect.js +8 -0
- package/dist/client/pages/new-app-redirect.js.map +1 -0
- package/dist/client/pages/request-page.js +1 -1
- package/dist/client/pages.d.ts +6 -2
- package/dist/client/pages.d.ts.map +1 -1
- package/dist/client/pages.js +8 -4
- package/dist/client/pages.js.map +1 -1
- package/dist/client/routes.d.ts.map +1 -1
- package/dist/client/routes.js +37 -10
- package/dist/client/routes.js.map +1 -1
- package/dist/database/migrations/.manifest.json +10 -2
- package/dist/database/migrations/202610020001_rel_create_tables.js +1 -1
- package/dist/database/migrations/202610020001_rel_create_tables.js.map +1 -1
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts +4 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts.map +1 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js +51 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js.map +1 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts +8 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts.map +1 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.js +30 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.js.map +1 -0
- package/dist/server/access/caller.d.ts +6 -0
- package/dist/server/access/caller.d.ts.map +1 -1
- package/dist/server/access/caller.js +36 -0
- package/dist/server/access/caller.js.map +1 -1
- package/dist/server/artifact-config.d.ts +9 -0
- package/dist/server/artifact-config.d.ts.map +1 -0
- package/dist/server/artifact-config.js +49 -0
- package/dist/server/artifact-config.js.map +1 -0
- package/dist/server/composition.d.ts +6 -0
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +7 -1
- package/dist/server/composition.js.map +1 -1
- package/dist/server/config.d.ts +18 -2
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/drivers/host/driver.d.ts +13 -2
- package/dist/server/drivers/host/driver.d.ts.map +1 -1
- package/dist/server/drivers/host/driver.js +427 -81
- package/dist/server/drivers/host/driver.js.map +1 -1
- package/dist/server/drivers/types.d.ts +79 -1
- package/dist/server/drivers/types.d.ts.map +1 -1
- package/dist/server/drivers/types.js +6 -0
- package/dist/server/drivers/types.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/locales/de-DE.d.ts +5 -0
- package/dist/server/locales/de-DE.d.ts.map +1 -0
- package/dist/server/locales/de-DE.js +133 -0
- package/dist/server/locales/de-DE.js.map +1 -0
- package/dist/server/locales/es-ES.d.ts +5 -0
- package/dist/server/locales/es-ES.d.ts.map +1 -0
- package/dist/server/locales/es-ES.js +133 -0
- package/dist/server/locales/es-ES.js.map +1 -0
- package/dist/server/locales/fr-FR.d.ts +5 -0
- package/dist/server/locales/fr-FR.d.ts.map +1 -0
- package/dist/server/locales/fr-FR.js +133 -0
- package/dist/server/locales/fr-FR.js.map +1 -0
- package/dist/server/locales/id-ID.d.ts +5 -0
- package/dist/server/locales/id-ID.d.ts.map +1 -0
- package/dist/server/locales/id-ID.js +133 -0
- package/dist/server/locales/id-ID.js.map +1 -0
- package/dist/server/locales/index.d.ts.map +1 -1
- package/dist/server/locales/index.js +10 -0
- package/dist/server/locales/index.js.map +1 -1
- package/dist/server/locales/ja-JP.d.ts +5 -0
- package/dist/server/locales/ja-JP.d.ts.map +1 -0
- package/dist/server/locales/ja-JP.js +133 -0
- package/dist/server/locales/ja-JP.js.map +1 -0
- package/dist/server/locales/ko-KR.d.ts +5 -0
- package/dist/server/locales/ko-KR.d.ts.map +1 -0
- package/dist/server/locales/ko-KR.js +133 -0
- package/dist/server/locales/ko-KR.js.map +1 -0
- package/dist/server/locales/pt-BR.d.ts +5 -0
- package/dist/server/locales/pt-BR.d.ts.map +1 -0
- package/dist/server/locales/pt-BR.js +133 -0
- package/dist/server/locales/pt-BR.js.map +1 -0
- package/dist/server/locales/ru-RU.d.ts +5 -0
- package/dist/server/locales/ru-RU.d.ts.map +1 -0
- package/dist/server/locales/ru-RU.js +133 -0
- package/dist/server/locales/ru-RU.js.map +1 -0
- package/dist/server/locales/vi-VN.d.ts +5 -0
- package/dist/server/locales/vi-VN.d.ts.map +1 -0
- package/dist/server/locales/vi-VN.js +133 -0
- package/dist/server/locales/vi-VN.js.map +1 -0
- package/dist/server/locales/zh-TW.d.ts +5 -0
- package/dist/server/locales/zh-TW.d.ts.map +1 -0
- package/dist/server/locales/zh-TW.js +133 -0
- package/dist/server/locales/zh-TW.js.map +1 -0
- package/dist/server/providers/releases.d.ts.map +1 -1
- package/dist/server/providers/releases.js +12 -5
- package/dist/server/providers/releases.js.map +1 -1
- package/dist/server/routes/api.d.ts +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +120 -20
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/index.d.ts.map +1 -1
- package/dist/server/routes/index.js +10 -2
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +7 -2
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +320 -89
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/services/environments.d.ts +2 -2
- package/dist/server/services/environments.d.ts.map +1 -1
- package/dist/server/services/environments.js +21 -1
- package/dist/server/services/environments.js.map +1 -1
- package/dist/server/services/releases.d.ts +69 -8
- package/dist/server/services/releases.d.ts.map +1 -1
- package/dist/server/services/releases.js +574 -128
- package/dist/server/services/releases.js.map +1 -1
- package/dist/server/services/validation.d.ts +2 -0
- package/dist/server/services/validation.d.ts.map +1 -1
- package/dist/server/services/validation.js +8 -0
- package/dist/server/services/validation.js.map +1 -1
- package/dist/server/tokens.d.ts +15 -2
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/releases.d.ts +94 -3
- package/dist/shared/releases.d.ts.map +1 -1
- package/dist/shared/releases.js +37 -0
- package/dist/shared/releases.js.map +1 -1
- package/package.json +18 -18
- package/dist/client/pages/apps-page.d.ts +0 -4
- package/dist/client/pages/apps-page.d.ts.map +0 -1
- package/dist/client/pages/apps-page.js +0 -116
- package/dist/client/pages/apps-page.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,346 @@
|
|
|
1
1
|
# @nocobase/app-plugin-releases
|
|
2
2
|
|
|
3
|
+
## 0.1.0-beta.20
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- f8bbdf9: Apps are listed and created on their environment's page; there is no separate apps list or menu entry, and the apps path alone (`/releases` by default) leads to the environments. An environment's apps show each app's runtime state (why on hover or a tap), filter by it and page through 100 at a time, kept in the address (`?runtimeState=`, `?page=`). The environments pages open to either the `rel.environments` `read` setting or the apps page grant (`page:rel-apps`), so environment readers and app readers both keep an entry: the route declares no grant (`authz: 'skip'`, its menu entry shown to every signed-in user) and the page turns away anyone with neither. An environment's apps and Create App need the apps grants; the Variables tab, the connection check, managing environments and the capacity card still need the setting. Create App opens there (`<environments>/:environmentId/apps/new`, for those with `rel.apps/create`) with the environment fixed; the old `<apps>/new` address leads to the environment its `?environmentId=` names, or to the environments (`ReleasesNewAppRedirect`), and Create App no longer fails when the page under it hands no outlet context. A shared host's capacity card splits its running apps by environment (`environments[].running` in `GET /api/releases/hosts`), each linking to that environment filtered to its running and starting apps. `ReleasesAppsPage` is removed.
|
|
8
|
+
- 437f24f: Show each shared app host once on the environments page as a capacity card — apps running against its limit, heap and process memory, restart state — linking to its running apps in the apps list (`GET /api/releases/hosts`, which needs the `rel.environments` `read` setting). The apps list shows each app's runtime state, with why on hover or a tap, and filters by environment and runtime state (`environmentId` and `runtimeState`, repeatable, applied before paging). An app's page says in one line why the host affects it — waiting for a slot or memory, not restored after the host restarted (`runtime.unrestored`), or the host restarting — instead of repeating the whole host. The App Host reports its `maxActiveApps` limit in its status counters.
|
|
9
|
+
- a2a6385: Add Russian (ru-RU) and Korean (ko-KR) to the plugins Studio uses, and correct terminology in their existing translations: an issue is a task (it was translated as a magazine issue or a problem in several languages), a runtime is an execution environment, Agent and My Agent stay consistent, and an issue's executor and the backlog status read correctly. The remaining English strings in the agents plugin's translations are translated. Calendars follow Russian and Korean, and a browser asking for Traditional Chinese (zh-HK, zh-Hant-TW) now lands on zh-TW instead of zh-CN.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 8b82537: Admit preview applications by fixed capacity slots without rejecting transient heap usage, and force Host rotation through a single maximum-wait timer.
|
|
14
|
+
- fb4659d: Use live memory headroom and serialized bounded cold starts instead of static application slots, and recycle shared Hosts under memory pressure with whole-Host busy protection, atomic ingress handoff, bounded request drain after the maximum wait, background recovery that keeps management available, one retry for capacity-rejected deployments, status-aware idle activity and retryable proxy responses during Host restart/recovery.
|
|
15
|
+
- b2fd67a: Let page descriptions use the available header width while preserving space for actions.
|
|
16
|
+
- fb4659d: Show who shares an App's app host: a section on the App page lists the Apps of every environment running, starting, waiting or failed on it, why each holds a slot or waits (requests, connections, always running, recent use; not enough memory, the active App limit, a pending host restart), the shared process's memory as one total, a pending or running host restart, and environments whose Apps could not be restored. App badges show a refused start as waiting for a free slot, memory or the host restart.
|
|
17
|
+
- Updated dependencies [fb4659d]
|
|
18
|
+
- Updated dependencies [7508a76]
|
|
19
|
+
- Updated dependencies [8b82537]
|
|
20
|
+
- Updated dependencies [fb4659d]
|
|
21
|
+
- Updated dependencies [fb4659d]
|
|
22
|
+
- Updated dependencies [6fbf389]
|
|
23
|
+
- Updated dependencies [1cda4c3]
|
|
24
|
+
- Updated dependencies [7d970d6]
|
|
25
|
+
- Updated dependencies [fb4659d]
|
|
26
|
+
- Updated dependencies [437f24f]
|
|
27
|
+
- Updated dependencies [bb1dff2]
|
|
28
|
+
- Updated dependencies [a2a6385]
|
|
29
|
+
- @nocobase/app-host@0.1.0-beta.21
|
|
30
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.20
|
|
31
|
+
- @nocobase/app-server@5.0.0-beta.2
|
|
32
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.37
|
|
33
|
+
- @nocobase/db@1.0.0-beta.26
|
|
34
|
+
- @nocobase/i18n@2.0.0-beta.2
|
|
35
|
+
- @nocobase/app-client@4.0.0-beta.9
|
|
36
|
+
|
|
37
|
+
## 0.1.0-beta.19
|
|
38
|
+
|
|
39
|
+
### Minor Changes
|
|
40
|
+
|
|
41
|
+
- 9417357: Cancel deployments before switching, replace older queued deployments of the same application, show live queue positions, and isolate archive verification and extraction from the application Host process.
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- 7c25f88: Bind plugin peers to the shared client runtime version at release time and keep generated application session and draft-protection tests aligned with permission rechecks.
|
|
46
|
+
- 7c25f88: Preserve unsaved forms during permission rechecks by blocking departures and invalidating pending closes until authorization settles. Conceal disconnected confirmation portals and keep Projects rich-text editor effects safe when hidden content reconnects.
|
|
47
|
+
- 3597c1e: Allow applications to include authenticated diagnostic context in artifact operation security logs and correlate legacy ticket uploads with their issuing log.
|
|
48
|
+
- 7c25f88: Share the route container contexts through `@nocobase/app-client/route-containers` so plugin dialogs, drawers and child pages open in the container the application shows while they load, keep a hosted child page's layout classes, and declare presentations for the remaining Examples and plugin overlays.
|
|
49
|
+
- 215795d: Keep active preview connections alive, suspend hidden tabs after ten minutes, limit shared applications by heap budget without reclaiming applications used in the last minute, and rotate busy hosts within a bounded wait.
|
|
50
|
+
- Updated dependencies [9417357]
|
|
51
|
+
- Updated dependencies [7c25f88]
|
|
52
|
+
- Updated dependencies [7c25f88]
|
|
53
|
+
- Updated dependencies [7c25f88]
|
|
54
|
+
- Updated dependencies [215795d]
|
|
55
|
+
- @nocobase/app-host@0.1.0-beta.20
|
|
56
|
+
- @nocobase/app-client@4.0.0-beta.9
|
|
57
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.19
|
|
58
|
+
|
|
59
|
+
## 0.1.0-beta.18
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- 0c485af: Keep environment App inputs aligned when their labels wrap onto multiple lines.
|
|
64
|
+
|
|
65
|
+
## 0.1.0-beta.17
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- 9933a9a: Allow applications to define issued-credential admission consistently with their command policies. Support run-authenticated project creation, activity and label reads, issue uploads and project resources. Restrict comment edits and deletions to the authenticated originating run, and accept run credentials when reading a release.
|
|
70
|
+
|
|
71
|
+
Apply the same trusted application admission to knowledge and owner-checked conversation routes without bypassing their business permissions or ownership checks.
|
|
72
|
+
|
|
73
|
+
Check issue visibility before collecting plan rehearsal baselines so a refused row cannot disclose hidden issue fields or dependency identifiers.
|
|
74
|
+
|
|
75
|
+
- cf23bfe: **Breaking:** Remove the deprecated `@nocobase/app-server/mailer` entry and its `Mailer`, `mailerToken`, `createMailer`, `MailerProvider`, and notification configuration exports. Replace `MailExecutions.close(waitMs)` and `drain()` with `stop()` and `wait()`; transport `close()` now cancels supported network work and waits for its original completion without a nested timeout. Application owners must apply the outer shutdown budget. Create exclusive senders with `@nocobase/app-server/mailers` and declare notification config with `@nocobase/app-plugin-notification-providers/config`. Existing inline SMTP/Resend YAML, environment mappings, and provider/channel APIs remain supported.
|
|
76
|
+
|
|
77
|
+
Default and Examples now show `mailers.default: system` and explicitly map `MAILERS_SYSTEM_*`; the example configuration remains empty at runtime. The previous `MAILERS_TRANSACTIONAL_*` sample prefix was not published. Applications may still choose any valid mailer name and custom environment prefix.
|
|
78
|
+
|
|
79
|
+
- Updated dependencies [6cc8acf]
|
|
80
|
+
- Updated dependencies [9933a9a]
|
|
81
|
+
- Updated dependencies [1e018f1]
|
|
82
|
+
- Updated dependencies [cf23bfe]
|
|
83
|
+
- Updated dependencies [4411984]
|
|
84
|
+
- @nocobase/app-client@4.0.0-beta.7
|
|
85
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.18
|
|
86
|
+
- @nocobase/db@1.0.0-beta.25
|
|
87
|
+
- @nocobase/app-server@5.0.0-beta.0
|
|
88
|
+
- @nocobase/app-host@0.1.0-beta.19
|
|
89
|
+
- @nocobase/app-host-docker@0.1.0-beta.4
|
|
90
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.35
|
|
91
|
+
|
|
92
|
+
## 0.1.0-beta.16
|
|
93
|
+
|
|
94
|
+
### Patch Changes
|
|
95
|
+
|
|
96
|
+
- cf23bfe: Move Redis realtime broadcasting to the commercial Realtime Redis plugin. Register its Server plugin before selecting Redis in an application, or import the standalone broker from its `/broker` entry. Preserve the Memory default, service identity, authorization and recovery protocol, and republish runtime consumers against the new host and realtime major versions. Install the compatible commercial cohort before deploying the final removal.
|
|
97
|
+
- Updated dependencies [88d35b8]
|
|
98
|
+
- Updated dependencies [83f28b1]
|
|
99
|
+
- Updated dependencies [88d35b8]
|
|
100
|
+
- Updated dependencies [88d35b8]
|
|
101
|
+
- Updated dependencies [83f28b1]
|
|
102
|
+
- Updated dependencies [cf23bfe]
|
|
103
|
+
- Updated dependencies [b29a336]
|
|
104
|
+
- @nocobase/app-client@4.0.0-beta.6
|
|
105
|
+
- @nocobase/authorization@1.0.0-beta.16
|
|
106
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.34
|
|
107
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.17
|
|
108
|
+
- @nocobase/app-server@4.0.0-beta.0
|
|
109
|
+
- @nocobase/app-host@0.1.0-beta.18
|
|
110
|
+
- @nocobase/app-host-docker@0.1.0-beta.3
|
|
111
|
+
|
|
112
|
+
## 0.1.0-beta.15
|
|
113
|
+
|
|
114
|
+
### Patch Changes
|
|
115
|
+
|
|
116
|
+
- 2b8a30e: Retain generated first administrator credentials until they are manually dismissed or the app is removed.
|
|
117
|
+
- Updated dependencies [b6934ad]
|
|
118
|
+
- Updated dependencies [d3f0c92]
|
|
119
|
+
- Updated dependencies [a0b4568]
|
|
120
|
+
- Updated dependencies [12b1f64]
|
|
121
|
+
- Updated dependencies [b6934ad]
|
|
122
|
+
- Updated dependencies [5ce4a7c]
|
|
123
|
+
- Updated dependencies [b6934ad]
|
|
124
|
+
- Updated dependencies [171f7fb]
|
|
125
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.16
|
|
126
|
+
- @nocobase/app-client@4.0.0-beta.5
|
|
127
|
+
- @nocobase/app-server@3.0.0-beta.5
|
|
128
|
+
- @nocobase/db@1.0.0-beta.24
|
|
129
|
+
|
|
130
|
+
## 0.1.0-beta.14
|
|
131
|
+
|
|
132
|
+
### Minor Changes
|
|
133
|
+
|
|
134
|
+
- 07b14c0: Allow applications to initialize their own App-linked records atomically during App creation.
|
|
135
|
+
|
|
136
|
+
Environments have a `purpose`, `preview` or `test`, chosen when one is created and editable later; the migration `202611020001_rel_environment_purpose` sets it for existing environments, `preview` for those holding pull request preview Apps (`previewOf`). The environments list and an environment's page show it, and `EnvironmentsSettings` takes an optional `title` and `description`.
|
|
137
|
+
|
|
138
|
+
- 07b14c0: The environments list answers each environment's `appCount`, and the Environments page shows it in an Apps column.
|
|
139
|
+
- 07b14c0: Download an archive release's `.tar.gz` with `GET /api/releases/apps/:appId/releases/:releaseId/archive` (`release download`), and read several Apps' summaries in one batched read with `releases.summarizeApps(appIds)`.
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- 07b14c0: Downloading a release whose archive is missing from the artifact storage answers `404` with reason `RELEASE_ARCHIVE_NOT_FOUND` before any response headers are sent, instead of failing the stream mid-response. `EnvironmentsSettings` takes any `ReactNode` as its `title` and `description`.
|
|
144
|
+
- Updated dependencies [451bf75]
|
|
145
|
+
- Updated dependencies [e3d9a52]
|
|
146
|
+
- Updated dependencies [22748f7]
|
|
147
|
+
- @nocobase/app-client@4.0.0-beta.4
|
|
148
|
+
- @nocobase/app-server@3.0.0-beta.4
|
|
149
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.33
|
|
150
|
+
- @nocobase/db@1.0.0-beta.23
|
|
151
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.15
|
|
152
|
+
|
|
153
|
+
## 0.1.0-beta.13
|
|
154
|
+
|
|
155
|
+
### Patch Changes
|
|
156
|
+
|
|
157
|
+
- 05f800a: Publish editable file upload/preview and notification delivery-log UI through the UI Library. Install `@nocobase/file-component-ui` or `@nocobase/notification-logs-ui` with shadcn, and merge their bundled locale resources into the consuming application. Existing application-owned copies remain usable; reconcile upstream changes while preserving customizations. The default template keeps its File UI installation path and now tracks the UI Library source.
|
|
158
|
+
|
|
159
|
+
Remove plugin-owned Registry recipes, their build/materialize commands, the Registry example plugin, and the `registry` capability from the plugin scaffold. Plugins can continue to install UI Library items into their own client source. Update plugin development guidance to use this single source distribution channel.
|
|
160
|
+
|
|
161
|
+
Preserve custom file download callbacks for images opened from FileList, including preview toolbar and fallback downloads.
|
|
162
|
+
|
|
163
|
+
## 0.1.0-beta.12
|
|
164
|
+
|
|
165
|
+
### Patch Changes
|
|
166
|
+
|
|
167
|
+
- e5e7498: Normalize shared client imports in session, invitation and release components without changing their behavior.
|
|
168
|
+
- Updated dependencies [756f3df]
|
|
169
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.14
|
|
170
|
+
|
|
171
|
+
## 0.1.0-beta.11
|
|
172
|
+
|
|
173
|
+
### Patch Changes
|
|
174
|
+
|
|
175
|
+
- 58531da: Support plain HTTP origins when creating session and upload identifiers or copying text. Provide shared browser UUID and clipboard helpers so draft, submission and invitation actions work without secure-context APIs.
|
|
176
|
+
|
|
177
|
+
Document capability checks and user-facing explanations for secure-context browser features, require HTTP-compatible UUID and copy actions, and return an explicit copy result for localized recovery UI.
|
|
178
|
+
|
|
179
|
+
- Updated dependencies [58531da]
|
|
180
|
+
- @nocobase/app-client@4.0.0-beta.3
|
|
181
|
+
- @nocobase/app-host-docker@0.1.0-beta.2
|
|
182
|
+
- @nocobase/app-server@3.0.0-beta.3
|
|
183
|
+
- @nocobase/authorization@1.0.0-beta.15
|
|
184
|
+
- @nocobase/config@0.1.0-beta.3
|
|
185
|
+
- @nocobase/db@1.0.0-beta.22
|
|
186
|
+
- @nocobase/i18n@2.0.0-beta.1
|
|
187
|
+
- @nocobase/service-provider@0.0.2-beta.2
|
|
188
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.13
|
|
189
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.31
|
|
190
|
+
|
|
191
|
+
## 0.1.0-beta.10
|
|
192
|
+
|
|
193
|
+
### Patch Changes
|
|
194
|
+
|
|
195
|
+
- 4b36a3d: Complete runtime timer inheritance labels in every supported client locale so the release management package builds and the settings remain translated.
|
|
196
|
+
- 10120a1: Let newly created apps inherit environment runtime timer defaults until a timer is explicitly customized.
|
|
197
|
+
- Updated dependencies [62da032]
|
|
198
|
+
- @nocobase/app-client@4.0.0-beta.1
|
|
199
|
+
- @nocobase/app-server@3.0.0-beta.1
|
|
200
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.12
|
|
201
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.30
|
|
202
|
+
|
|
203
|
+
## 0.1.0-beta.9
|
|
204
|
+
|
|
205
|
+
### Patch Changes
|
|
206
|
+
|
|
207
|
+
- 1952789: Complete all ten supported languages in plugin and example plugin catalogues, including model suggestions and test Web Push notifications. Align calendars and invitation emails, support locale-specific plural forms, and validate resource loading and formatting.
|
|
208
|
+
|
|
209
|
+
Correct joined translation text and distinguish configuration save actions, refund stages, and domain-specific operation labels.
|
|
210
|
+
|
|
211
|
+
- Updated dependencies [1952789]
|
|
212
|
+
- Updated dependencies [06e53be]
|
|
213
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.12
|
|
214
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.30
|
|
215
|
+
- @nocobase/i18n@2.0.0-beta.1
|
|
216
|
+
- @nocobase/authorization@1.0.0-beta.15
|
|
217
|
+
- @nocobase/app-client@4.0.0-beta.0
|
|
218
|
+
|
|
219
|
+
## 0.1.0-beta.8
|
|
220
|
+
|
|
221
|
+
### Patch Changes
|
|
222
|
+
|
|
223
|
+
- 1952789: Require explicitly declared realtime topics and authorize dynamic resources before subscription and delivery. Isolate the server core behind a broker contract, retain the application adapter and service tokens, and handle asynchronous publication throughout plugins and examples. Add acknowledged browser subscriptions, bounded recovery and heartbeat handling, shared React refresh helpers, original-session revalidation, transport limits, and usage documentation. The included adapter remains in-process; events are transient and clients recover by refetching after acknowledgement.
|
|
224
|
+
- 7afd595: Remove Refine from the client runtime
|
|
225
|
+
|
|
226
|
+
The application shell no longer mounts Refine. `@nocobase/app-client` drops `app.refine`, `app.refineConfig`, `AppClientRefineConfig`, `AppClientRefineRegistry`, `AppClientRefineSetters`, `AppClientRefineSetterValue` and the provider-context methods `runWithProviderContext` and `runWithProviderContextAsync`, which existed only to attribute Refine settings to the provider that made them. Nothing in the repository read what was registered there: a title set through `app.refine.setOptions` never reached the page, and Refine resources never produced a menu entry.
|
|
227
|
+
|
|
228
|
+
Refine also created the TanStack Query cache that pages read through `useQueryClient()`; `AppClientProviders` now creates it in the same place, the same way, so pages and plugins behave as before. `@tanstack/react-query` becomes a peer dependency of `@nocobase/app-client` and joins the identity-sensitive packages that plugins must declare as peers.
|
|
229
|
+
|
|
230
|
+
`@nocobase/i18n/client` drops `createRefineI18nProvider`, `CreateRefineI18nProviderOptions` and `RefineI18nProvider`. `@nocobase/app-plugin-repository-example` drops its Client ServiceProvider and the `./client/providers` export, which only registered Refine resources.
|
|
231
|
+
|
|
232
|
+
`nocobase build` builds the client with `vite build` instead of `refine build`, and `@nocobase/app-cli` no longer lists `@refinedev/cli` as an optional peer. The Default and Examples templates remove every `@refinedev/*` development dependency. The development and plugin Skills no longer mention Refine, and the upgrade Skill explains how an existing application removes its `this.app.refine` calls and Refine packages.
|
|
233
|
+
|
|
234
|
+
- Updated dependencies [1952789]
|
|
235
|
+
- Updated dependencies [1952789]
|
|
236
|
+
- Updated dependencies [1952789]
|
|
237
|
+
- Updated dependencies [1952789]
|
|
238
|
+
- Updated dependencies [1952789]
|
|
239
|
+
- Updated dependencies [7afd595]
|
|
240
|
+
- @nocobase/app-client@4.0.0-beta.0
|
|
241
|
+
- @nocobase/app-host@0.1.0-beta.17
|
|
242
|
+
- @nocobase/app-host-docker@0.1.0-beta.2
|
|
243
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.11
|
|
244
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.29
|
|
245
|
+
- @nocobase/app-server@3.0.0-beta.0
|
|
246
|
+
- @nocobase/i18n@2.0.0-beta.0
|
|
247
|
+
- @nocobase/authorization@1.0.0-beta.14
|
|
248
|
+
- @nocobase/config@0.1.0-beta.3
|
|
249
|
+
- @nocobase/db@1.0.0-beta.21
|
|
250
|
+
- @nocobase/service-provider@0.0.2-beta.2
|
|
251
|
+
|
|
252
|
+
## 0.1.0-beta.7
|
|
253
|
+
|
|
254
|
+
### Patch Changes
|
|
255
|
+
|
|
256
|
+
- 22717d7: Support synchronous custom driver factories alongside existing configuration objects in `drive.disks`. Create drivers lazily through the shared application Drive provider, preserve Flydrive caching and fakes, and reject factory references where release artifacts require serializable Host configuration. Ship the `nocobase-drive` Skill with filesystem, S3, native Aliyun OSS, and custom driver guides, and direct application guidance to that shared documentation. Consumers reading disk configuration fields must narrow out factory functions first.
|
|
257
|
+
- Updated dependencies [22717d7]
|
|
258
|
+
- @nocobase/drive@0.1.0-beta.7
|
|
259
|
+
- @nocobase/app-server@2.0.0-beta.9
|
|
260
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.10
|
|
261
|
+
|
|
262
|
+
## 0.1.0-beta.6
|
|
263
|
+
|
|
264
|
+
### Minor Changes
|
|
265
|
+
|
|
266
|
+
- fe81e4b: Allow releases.artifact to reference a named drive disk with an optional relative artifact key prefix. The referenced disk is validated with the drive's own rules and must be private. Repeated slashes in the prefix are collapsed. Preserve full disk configurations and existing artifact keys when changing the prefix.
|
|
267
|
+
|
|
268
|
+
### Patch Changes
|
|
269
|
+
|
|
270
|
+
- 49f61b9: Show optional settings permissions separately from business actions in CLI identity output, and explain run-token-only permissions. Add available-command typo suggestions, a hint for truncated text, and clean shutdown when a pipe closes early. Describe route schema inputs so generated CLI help and reference tables explain their parameters. The manifest identity and whoami JSON result gain an optional settings list; command admission and authorization are unchanged.
|
|
271
|
+
- Updated dependencies [98b3862]
|
|
272
|
+
- Updated dependencies [89648ee]
|
|
273
|
+
- Updated dependencies [fe81e4b]
|
|
274
|
+
- Updated dependencies [1cdbaf4]
|
|
275
|
+
- Updated dependencies [5fe8773]
|
|
276
|
+
- Updated dependencies [b22d999]
|
|
277
|
+
- Updated dependencies [0037dd2]
|
|
278
|
+
- Updated dependencies [c0b7537]
|
|
279
|
+
- Updated dependencies [eb4b081]
|
|
280
|
+
- Updated dependencies [14b7aec]
|
|
281
|
+
- Updated dependencies [49f61b9]
|
|
282
|
+
- Updated dependencies [0037dd2]
|
|
283
|
+
- @nocobase/db@1.0.0-beta.21
|
|
284
|
+
- @nocobase/drive@0.1.0-beta.6
|
|
285
|
+
- @nocobase/app-host@0.1.0-beta.16
|
|
286
|
+
- @nocobase/app-client@3.0.0-beta.2
|
|
287
|
+
- @nocobase/app-server@2.0.0-beta.8
|
|
288
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.10
|
|
289
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.28
|
|
290
|
+
- @nocobase/authorization@1.0.0-beta.14
|
|
291
|
+
- @nocobase/app-host-docker@0.1.0-beta.1
|
|
292
|
+
- @nocobase/config@0.1.0-beta.3
|
|
293
|
+
- @nocobase/i18n@1.0.0-beta.7
|
|
294
|
+
- @nocobase/service-provider@0.0.2-beta.2
|
|
295
|
+
|
|
296
|
+
## 0.1.0-beta.5
|
|
297
|
+
|
|
298
|
+
### Patch Changes
|
|
299
|
+
|
|
300
|
+
- 943a9a8: Fix MySQL installation of the agents and releases plugins by removing the unused directory/status index and limiting archive artifact keys to 172 characters while preserving full-value uniqueness. Add a Collection builder inspection method and forward migrations to converge existing installations without truncating data; oversized legacy artifact keys stop the upgrade before any column or index change. Rebuild the existing artifact-key unique index within the migration transaction on SQL Server so indexed legacy columns can be shortened while retaining uniqueness, nullable behavior and the actual index name under custom naming configurations.
|
|
301
|
+
|
|
302
|
+
This fix edits the released migrations `202610020003_ag_create_runs` and `202610020001_rel_create_tables` because their oversized indexes prevent fresh MySQL installations from reaching a later repair migration. Existing installations should expect checksum warnings on the next `nocobase db apply`; installations using `onChecksumMismatch: error` stop instead. After reviewing these exact changes, use `nocobase db repair --dry-run` and then `nocobase db repair` to acknowledge the new checksums, followed by `nocobase db apply` to perform the forward schema changes. Repairing checksums alone does not upgrade the schema. The forward corrections are irreversible because restoring the old indexes would make MySQL installations invalid again. See the plugins' `docs/mysql-installation-upgrade.md` for the upgrade and failed-installation recovery procedure.
|
|
303
|
+
|
|
304
|
+
- Updated dependencies [69e212c]
|
|
305
|
+
- Updated dependencies [943a9a8]
|
|
306
|
+
- Updated dependencies [943a9a8]
|
|
307
|
+
- Updated dependencies [1cd749c]
|
|
308
|
+
- Updated dependencies [bdb0581]
|
|
309
|
+
- Updated dependencies [9b946f4]
|
|
310
|
+
- @nocobase/app-server@2.0.0-beta.7
|
|
311
|
+
- @nocobase/db@1.0.0-beta.20
|
|
312
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.9
|
|
313
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.27
|
|
314
|
+
|
|
315
|
+
## 0.1.0-beta.4
|
|
316
|
+
|
|
317
|
+
### Patch Changes
|
|
318
|
+
|
|
319
|
+
- 693e43d: Update agent guidance to refer to the renamed `nocobase-app-plugin-development` Skill.
|
|
320
|
+
- Updated dependencies [d54dd59]
|
|
321
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.7
|
|
322
|
+
|
|
323
|
+
## 0.1.0-beta.3
|
|
324
|
+
|
|
325
|
+
### Patch Changes
|
|
326
|
+
|
|
327
|
+
- cf23bfe: Republish every package so the `latest` dist-tag points at its current beta release, matching `beta`.
|
|
328
|
+
- Updated dependencies [cf23bfe]
|
|
329
|
+
- @nocobase/app-client@3.0.0-beta.1
|
|
330
|
+
- @nocobase/app-host@0.1.0-beta.15
|
|
331
|
+
- @nocobase/app-host-docker@0.1.0-beta.1
|
|
332
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.6
|
|
333
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.27
|
|
334
|
+
- @nocobase/app-server@2.0.0-beta.4
|
|
335
|
+
- @nocobase/authorization@1.0.0-beta.13
|
|
336
|
+
- @nocobase/config@0.1.0-beta.3
|
|
337
|
+
- @nocobase/db@1.0.0-beta.19
|
|
338
|
+
- @nocobase/drive@0.1.0-beta.5
|
|
339
|
+
- @nocobase/i18n@1.0.0-beta.7
|
|
340
|
+
- @nocobase/logging@0.1.0-beta.7
|
|
341
|
+
- @nocobase/secrets@0.1.0-beta.1
|
|
342
|
+
- @nocobase/service-provider@0.0.2-beta.2
|
|
343
|
+
|
|
3
344
|
## 0.1.0-beta.2
|
|
4
345
|
|
|
5
346
|
### Minor Changes
|
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
Updated Date: November 7, 2026
|
|
2
|
+
|
|
3
|
+
NocoBase License Agreement
|
|
4
|
+
|
|
5
|
+
NOCOBASE PTE. LTD., a Singaporean Exempt Private Company Limited by Shares with its principal place of business located at 112 ROBINSON ROAD, #03-01, SINGAPORE ("The Company") https://www.nocobase.com/ issues this License Agreement ("Agreement") to you. You, as an individual or a company ("The User"), will be deemed to voluntarily accept all terms of this Agreement by using NocoBase (including but not limited to obtaining NocoBase source code, installation package, or image in any form, installing and using NocoBase, developing Applications with NocoBase, purchasing NocoBase commercial license and services). If the User does not agree to any term of this Agreement, or cannot accurately understand our interpretation of the relevant terms, please stop using it immediately.
|
|
6
|
+
|
|
7
|
+
This Agreement applies to any use, quotation, contract, invoice, and all software delivered by the Company. The User and the Company or NocoBase's agents need not sign a separate license agreement for the sale and delivery of the software.
|
|
8
|
+
|
|
9
|
+
This Agreement applies to NocoBase 3 and later versions. NocoBase 2 and earlier versions are independent products and remain subject to their original license agreement. Where a NocoBase 2 Commercial Edition user uses NocoBase 3 or later versions under a policy announced by the Company, that use is subject to this Agreement.
|
|
10
|
+
|
|
11
|
+
The Company reserves the right to formulate and modify this Agreement from time to time as needed. If there are changes, the Company will announce them in the form of website announcements, without further individual notification. The changed Agreement will automatically take effect once it is announced, becoming part of this Agreement.
|
|
12
|
+
|
|
13
|
+
==============
|
|
14
|
+
1. Definitions
|
|
15
|
+
==============
|
|
16
|
+
|
|
17
|
+
1.1 "Software" refers to NocoBase, consisting of Core, Studio, and Commercial Plugins, including their source code, installation packages, images, and all their modifications, updates, and upgrades.
|
|
18
|
+
|
|
19
|
+
1.2 "Core" refers to NocoBase Core, the open source application foundation released by the Company, including the runtime, plugins, application templates, development standards, and development skills placed in the same code repository.
|
|
20
|
+
|
|
21
|
+
1.3 "Studio" refers to NocoBase Studio, the governance platform for people and agents building software together, provided in the Commercial Edition.
|
|
22
|
+
|
|
23
|
+
1.4 "Commercial Plugins" refers to the plugins provided in the Commercial Edition that extend the capabilities of Core, such as advanced approvals and enterprise SSO.
|
|
24
|
+
|
|
25
|
+
1.5 "Community Edition" refers to the free version of the Software provided to the User through public channels, namely Core.
|
|
26
|
+
|
|
27
|
+
1.6 "Commercial Edition" refers to the paid version of the Software purchased by the User from the Company or its agents, downloaded through exclusive channels, and includes additional benefits. In addition to Core, it includes Studio and Commercial Plugins, and consists of two versions: Professional Edition and Enterprise Edition.
|
|
28
|
+
|
|
29
|
+
1.7 "Application" refers to a specific business use case application serving internal or external customers of the User, developed based on the Software, such as ERP/CRM. Studio is a development tool and is not part of any Application.
|
|
30
|
+
|
|
31
|
+
1.8 "Customer" refers to the clients who commission the User to develop Applications or purchase the User's Applications.
|
|
32
|
+
|
|
33
|
+
1.9 "Agent" refers to an AI agent that works with the Software, including the coding agents the User uses to develop Applications and the business agents in Applications.
|
|
34
|
+
|
|
35
|
+
1.10 "Third-Party Services" refers to the large models, coding agents, cloud services, and other third-party products and services that the User chooses to use with the Software.
|
|
36
|
+
|
|
37
|
+
1.11 "Third-Party Open Source Software" refers to open source software provided with the Software. They are licensed through various published open source software licenses or copyright notices accompanying such software.
|
|
38
|
+
|
|
39
|
+
===================================
|
|
40
|
+
2. Intellectual Property Protection
|
|
41
|
+
===================================
|
|
42
|
+
|
|
43
|
+
Except for Third-Party Open Source Software, the Company owns all copyrights, trademark rights, patent rights, trade secrets, and other intellectual property rights of the Software, and has registered and protected them in relevant countries and regions according to the "Paris Convention" or "TRIPS Agreement", ensuring that the intellectual property rights of the Software are internationally recognized and protected.
|
|
44
|
+
|
|
45
|
+
The Company claims no intellectual property rights in the business code written by the User or by Agents when developing Applications, or in the User's business data, skills, and knowledge bases. The parts of the Software contained in an Application remain the intellectual property of the Company and are subject to this Agreement.
|
|
46
|
+
|
|
47
|
+
=============
|
|
48
|
+
3. Disclaimer
|
|
49
|
+
=============
|
|
50
|
+
|
|
51
|
+
3.1 The User shall not use the Software to engage in activities that contravene applicable laws and regulations or offend against public order or religious prohibitions. All legal liabilities and consequences arising from the User's use shall be borne by the User.
|
|
52
|
+
|
|
53
|
+
3.2 The Company shall not be liable for any direct, indirect, special, incidental, or consequential damages (including but not limited to loss of profits, business interruption, data loss, or business information disclosure) caused by the User's use of the Software, even if it has been previously informed of the possibility of such damages.
|
|
54
|
+
|
|
55
|
+
3.3 Code written, content generated, and actions taken by Agents shall be reviewed and accepted by the User before being used in production. All consequences arising from the use of the work of Agents shall be borne by the User.
|
|
56
|
+
|
|
57
|
+
3.4 Third-Party Services are chosen and paid for by the User and are subject to their own terms. The Company shall not be liable for the availability, output, or data handling of Third-Party Services.
|
|
58
|
+
|
|
59
|
+
===============
|
|
60
|
+
4. License Type
|
|
61
|
+
===============
|
|
62
|
+
|
|
63
|
+
4.1 This Agreement serves as the unified license agreement for NocoBase Software, applying to both the Community Edition and the Commercial Editions.
|
|
64
|
+
|
|
65
|
+
4.2 Core is open source software. This Agreement incorporates and references the full text of the Apache License, Version 2.0 ("Apache-2.0", available at: https://www.apache.org/licenses/LICENSE-2.0 ). Users of Core must comply with the Apache-2.0 License as well as the supplementary terms set forth in this Agreement. In case of any inconsistency between Apache-2.0 and this Agreement, the supplementary terms of this Agreement shall prevail.
|
|
66
|
+
|
|
67
|
+
4.3 Studio and Commercial Plugins are commercial software of the Company and are not licensed under Apache-2.0. They can only be used under the Commercial License and in accordance with this Agreement.
|
|
68
|
+
|
|
69
|
+
================================================
|
|
70
|
+
5. Rights and Obligations of Open Source License
|
|
71
|
+
================================================
|
|
72
|
+
|
|
73
|
+
5.1 The Community Edition can be used for commercial purposes, including developing Applications for Customers.
|
|
74
|
+
|
|
75
|
+
5.2 It is not allowed to remove or change the NocoBase statement "AI + NocoBase" and "Build reliable business systems", or its link to https://www.nocobase.com/, at the bottom left of the interface of any Application, including Applications delivered to Customers, even though the code that displays the statement is part of the Application. If the default layout is replaced, the statement shall be kept at an equally visible position on the main interface of the Application. Pages that can be accessed without signing in and pages embedded in other systems are not subject to this requirement. When the sidebar is collapsed, showing the statement as an icon with a tooltip, as provided by default, meets this requirement. The main LOGO in the upper left corner of the page, the version number, and other information on the interface can be changed.
|
|
76
|
+
|
|
77
|
+
5.3 It is not allowed to remove or change all intellectual property statements about NocoBase in the code.
|
|
78
|
+
|
|
79
|
+
5.4 It is not allowed to provide to the public any form of AI application development platform or agent development platform SaaS/PaaS products using the original or modified Software.
|
|
80
|
+
|
|
81
|
+
===============================
|
|
82
|
+
6. Rights of Commercial License
|
|
83
|
+
===============================
|
|
84
|
+
|
|
85
|
+
6.1 Obtain a permanent commercial license of the Software.
|
|
86
|
+
|
|
87
|
+
6.2 Can develop Applications for Customers, deploy the completed Applications, including the Commercial Plugins they use, on Customers' servers, or host them and provide them to Customers as a service. This does not include Studio.
|
|
88
|
+
|
|
89
|
+
6.3 Customers can use the Commercial Plugins in the Applications delivered to them, within those Applications only, and can continue to develop those Applications on their own or through others.
|
|
90
|
+
|
|
91
|
+
6.4 Get software upgrades and exclusive technical support during the upgrade validity period. Upgrades and technical support are provided to the User only, and the User can upgrade the Commercial Plugins in Applications delivered to Customers during this period.
|
|
92
|
+
|
|
93
|
+
6.5 The licensed Software can be used for commercial purposes with no restrictions on the number of Applications, Customers, users, and Agents.
|
|
94
|
+
|
|
95
|
+
6.6 Can remove or change the NocoBase statement described in 5.2, and the brand, name, link, and other information about NocoBase on the interface of Applications.
|
|
96
|
+
|
|
97
|
+
6.7 If there are other agreements in the contract for the above rights, the contract agreement shall prevail.
|
|
98
|
+
|
|
99
|
+
====================================
|
|
100
|
+
7. Obligations of Commercial License
|
|
101
|
+
====================================
|
|
102
|
+
|
|
103
|
+
7.1 It is not allowed to remove or change all intellectual property statements about NocoBase in the code.
|
|
104
|
+
|
|
105
|
+
7.2 It is not allowed to sell, transfer, lease, share, gift, or distribute the Commercial License. Deploying Applications for Customers under 6.2 is not considered sharing the Commercial License, but the license key, access token, or other credentials of the Commercial License shall not be provided to Customers for any purpose other than deploying and running the Applications delivered to them.
|
|
106
|
+
|
|
107
|
+
7.3 It is not allowed to sell, transfer, lease, share, or distribute any form of AI application development platform, agent development platform, or developer tools developed based on Software.
|
|
108
|
+
|
|
109
|
+
7.4 It is not allowed to provide any form of AI application development platform or agent development platform SaaS/PaaS products to the public using the original or modified Software.
|
|
110
|
+
|
|
111
|
+
7.5 Studio can only be used by the User holding the Commercial License, on servers owned or rented by the User. It is not allowed to deploy Studio for Customers, or to provide Studio to Customers or any third party in any form, including as a hosted service. Customers that need Studio shall purchase their own Commercial License.
|
|
112
|
+
|
|
113
|
+
7.6 Customer personnel can take part in requirement confirmation, acceptance, and release approval in the User's Studio for the Applications the User develops for them. This is not considered providing Studio to Customers, but it is not allowed to let Customers use Studio to develop their own projects.
|
|
114
|
+
|
|
115
|
+
7.7 If there is a violation of the above obligations or the terms of this Agreement, the rights owned by the User will be immediately terminated, the paid fees will not be refunded, and the Company reserves the right to pursue the User's legal responsibility.
|
|
116
|
+
|
|
117
|
+
7.8 If there are other agreements in the contract for the above obligations, the contract agreement shall prevail.
|
|
118
|
+
|
|
119
|
+
=============================================================
|
|
120
|
+
8. Legal Jurisdiction, Interpretation, and Dispute Resolution
|
|
121
|
+
=============================================================
|
|
122
|
+
|
|
123
|
+
8.1 Except for Mainland China, the interpretation, application, and all matters related to this agreement are subject to the jurisdiction of Singapore law.
|
|
124
|
+
|
|
125
|
+
8.2 Any dispute related to this Agreement should first be resolved through friendly negotiation. If the negotiation fails to resolve the dispute, the dispute should be submitted to the International Chamber of Commerce (ICC) for arbitration. The arbitration venue should be Singapore, conducted in English.
|
|
126
|
+
|
|
127
|
+
8.3 All terms and conditions of this Agreement shall be deemed enforceable to the maximum extent permitted by applicable law. If any term of this Agreement is deemed invalid by any applicable law, the invalidity of that term does not affect the validity of any other term of this Agreement, and it should be deemed that the invalid term has been modified as much as possible to make it valid and enforceable, or if the term cannot be modified, it should be deemed to have been deleted from this Agreement.
|
|
128
|
+
|
|
129
|
+
8.4 The arbitration award is final, binding on both parties, and can be enforced in any court with jurisdiction.
|