diff --git a/.changeset/2051-inline-logo.md b/.changeset/2051-inline-logo.md deleted file mode 100644 index 1cbf6e7b0..000000000 --- a/.changeset/2051-inline-logo.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'hotcrm': patch ---- - -The sidebar logo and favicon now show on hosted installs. diff --git a/.changeset/2053-publish-flat-bundle.md b/.changeset/2053-publish-flat-bundle.md deleted file mode 100644 index e4d409c96..000000000 --- a/.changeset/2053-publish-flat-bundle.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'hotcrm': patch ---- - -The marketplace now receives the whole app - -HotCRM 4.0.0's marketplace publish carried an empty app: no objects, views, -dashboards, flows or sample data reached the marketplace, so a hosted install -of 4.0.0 had nothing to show. 4.0.1 publishes the whole app, including the -Cases, Knowledge and Service Overview entries in the app's navigation, and the -publish now stops with an error instead of uploading an app that is missing -any of its objects. diff --git a/CHANGELOG.md b/CHANGELOG.md index 68b6381a5..763b76ef5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 4.0.1 + +### Patch Changes + +- 4547858: The sidebar logo and favicon now show on hosted installs. +- d7decd4: **4.0.1 is the first 4.x release that installs whole.** HotCRM 4.0.0's marketplace publish + carried an empty app and was withdrawn, so an installer upgrades from 3.x straight to 4.0.1. + That upgrade still carries 4.0.0's one-time step: convert the contact mailing addresses with + `scripts/backfill-contact-mailing-address.ts` before `os migrate apply --allow-destructive`. + The 4.0.0 entry of `CHANGELOG.md` holds the commands. + + 4.0.0's empty app had no objects, views, dashboards, flows or sample data, so a hosted + install of it had nothing to show. 4.0.1 publishes the whole app, including the Cases, + Knowledge and Service Overview entries in the app's navigation, and the publish now stops + with an error instead of uploading an app that is missing any of its objects. + ## 4.0.0 ### Major Changes diff --git a/README.md b/README.md index a30d5024e..238d8b091 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Manifest](https://img.shields.io/badge/manifest-app.objectstack.hotcrm-blueviolet)](src/sales/index.ts) -[![Version](https://img.shields.io/badge/version-4.0.0-brightgreen)](CHANGELOG.md) +[![Version](https://img.shields.io/badge/version-4.0.1-brightgreen)](CHANGELOG.md) [![Marketplace](https://img.shields.io/badge/marketplace-cloud.objectos.app-orange)](https://cloud.objectos.app) HotCRM is a complete, opinionated CRM built as the **first official application** on the [ObjectStack](https://cloud.objectos.app) marketplace. Install it into any ObjectStack environment in one click and get a working CRM in 30 seconds — or fork it as the canonical example of how to build your own marketplace app. diff --git a/content/docs/whats-new.mdx b/content/docs/whats-new.mdx index 8a1e0fb55..5faf95e1e 100644 --- a/content/docs/whats-new.mdx +++ b/content/docs/whats-new.mdx @@ -63,9 +63,9 @@ http://localhost:4001 and create the first admin account. --- -## v4.0.0 — Latest release +## v4.0.1 — Latest release -**HotCRM 4.0.0**, running on **ObjectStack 17.7.0** across every +**HotCRM 4.0.1**, running on **ObjectStack 17.7.0** across every `@objectstack/*` package. The app manifest declares the matching `^17.7.0` protocol range, so a runtime on a different protocol major refuses the load up front with a structured diagnostic instead of failing deep @@ -73,11 +73,16 @@ in a schema parse. > **This page does not keep a second release table.** The release-by-release > history is `CHANGELOG.md` in the repository, compiled from the `.changeset/` -> entry every pull request adds. The versions between v1.0 and 4.0.0 are +> entry every pull request adds. The versions between v1.0 and 4.0.1 are > recorded there and are deliberately not re-listed here — a hand-maintained > copy of that history is exactly how this section came to advertise a "v5.0" > that was never an app version, on a platform major that never shipped it. +**4.0.1 is the first 4.x release that installs from the marketplace.** 4.0.0's marketplace +publish carried an empty app and was withdrawn, so a deployment on 3.x upgrades straight to +4.0.1, and everything under "What 4.0.0 adds" below, the checks before upgrading included, +applies to it. 4.0.1 also makes the sidebar logo and favicon show on hosted installs. + ### What 4.0.0 adds **4.0.0 is a major because a contact's mailing address becomes one field.** The five diff --git a/content/docs/whats-new.zh-Hans.mdx b/content/docs/whats-new.zh-Hans.mdx index 27d671c23..f4c163486 100644 --- a/content/docs/whats-new.zh-Hans.mdx +++ b/content/docs/whats-new.zh-Hans.mdx @@ -45,17 +45,21 @@ HOTCRM_TOKEN=... ./scripts/wow1-live-schema.sh --- -## v4.0.0 —— 最新发布 +## v4.0.1 —— 最新发布 -**HotCRM 4.0.0**,全线 `@objectstack/*` 包运行在 **ObjectStack 17.7.0** 上。 +**HotCRM 4.0.1**,全线 `@objectstack/*` 包运行在 **ObjectStack 17.7.0** 上。 应用清单声明了与之匹配的 `^17.7.0` 协议区间,因此协议大版本不同的运行时会在 装载之初就带着结构化诊断拒绝加载,而不是在某次 schema 解析的深处才失败。 > **这一页不维护第二张发布表。** 逐版本的发布历史在仓库的 `CHANGELOG.md` 里,由每个 -> 拉取请求补充的 `.changeset/` 条目编译而成。v1.0 与 4.0.0 之间的各个版本都记录在那里, +> 拉取请求补充的 `.changeset/` 条目编译而成。v1.0 与 4.0.1 之间的各个版本都记录在那里, > 这里刻意不再重列一遍 —— 手工誊抄那份历史,正是这一节最终会宣称一个从来不曾存在过的 > 应用版本「v5.0」、并把它挂在一个从未发布过它的平台大版本上的原因。 +**4.0.1 是第一个能从应用市场安装的 4.x 版本。** 4.0.0 发布到应用市场的是一个空应用,已被撤下, +因此停留在 3.x 的部署会直接升级到 4.0.1,下方「4.0.0 新增了什么」连同其中的升级前检查都适用于 +这次升级。4.0.1 还让侧边栏徽标和网站图标在托管安装上正常显示。 + ### 4.0.0 新增了什么 **4.0.0 之所以是大版本,是因为联系人的邮寄地址合并成了一个字段。** 原来五个独立的地址字段被移除, diff --git a/content/docs/whats-new.zh-Hant.mdx b/content/docs/whats-new.zh-Hant.mdx index 122104953..4ed3b2199 100644 --- a/content/docs/whats-new.zh-Hant.mdx +++ b/content/docs/whats-new.zh-Hant.mdx @@ -47,17 +47,21 @@ HOTCRM_TOKEN=... ./scripts/wow1-live-schema.sh --- -## v4.0.0 —— 最新發行 +## v4.0.1 —— 最新發行 -**HotCRM 4.0.0**,全線 `@objectstack/*` 套件執行在 **ObjectStack 17.7.0** 上。 +**HotCRM 4.0.1**,全線 `@objectstack/*` 套件執行在 **ObjectStack 17.7.0** 上。 應用清單宣告了與之相符的 `^17.7.0` 協定區間,因此協定大版本不同的執行時會在 載入之初就帶著結構化診斷拒絕載入,而不是在某次 schema 解析的深處才失敗。 > **這一頁不維護第二張發行表。** 逐版本的發行歷史在儲存庫的 `CHANGELOG.md` 裡,由每個 -> 拉取請求補上的 `.changeset/` 條目編譯而成。v1.0 與 4.0.0 之間的各個版本都記錄在那裡, +> 拉取請求補上的 `.changeset/` 條目編譯而成。v1.0 與 4.0.1 之間的各個版本都記錄在那裡, > 這裡刻意不再重列一遍 —— 手工謄抄那份歷史,正是這一節最終會宣稱一個從來不曾存在過的 > 應用版本「v5.0」、並把它掛在一個從未發行過它的平台大版本上的原因。 +**4.0.1 是第一個能從應用市集安裝的 4.x 版本。** 4.0.0 發行到應用市集的是一個空應用,已被撤下, +因此停留在 3.x 的部署會直接升級到 4.0.1,下方「4.0.0 新增了什麼」連同其中的升級前檢查都適用於 +這次升級。4.0.1 也讓側邊欄標誌與網站圖示在託管安裝上正常顯示。 + ### 4.0.0 新增了什麼 **4.0.0 之所以是大版本,是因為聯絡人的郵寄地址合併成了一個欄位。** 原來五個獨立的地址欄位被移除, diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 4400662d5..143e54bd2 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -52,7 +52,7 @@ installs (ADR-0019 D1): | --- | --- | --- | | id | `app.objectstack.hotcrm` | `app.objectstack.hotcrm.service` | | namespace | `crm` | `crm` | -| version | `4.0.0` | `4.0.0` | +| version | `4.0.1` | `4.0.1` | | type | `app` | `module` | | name | `HotCRM` | `HotCRM Service` | diff --git a/docs/RELEASE_STRATEGY.md b/docs/RELEASE_STRATEGY.md index 228d1c40b..7a2c7f117 100644 --- a/docs/RELEASE_STRATEGY.md +++ b/docs/RELEASE_STRATEGY.md @@ -13,7 +13,7 @@ carrying the service module beside it (ADR-0130 D4; one artifact, one version | ObjectStack manifest id | `app.objectstack.hotcrm` | | Packages in the artifact | `app.objectstack.hotcrm` (`type: app`), `app.objectstack.hotcrm.service` (`type: module`) | | Namespace | `crm` | -| Current version | `4.0.0` | +| Current version | `4.0.1` | | Publish artifact | output from `pnpm build` | The active repository is not released as separate scoped npm packages. diff --git a/docs/STATUS.md b/docs/STATUS.md index 816909c58..b2228de85 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -10,7 +10,7 @@ ## Summary -HotCRM is a single ObjectStack marketplace app at version `4.0.0`, shipped as one release artifact carrying two packages in the namespace `crm` (ADR-0130 D4). The app manifest — id `app.objectstack.hotcrm`, the artifact's own identity — is defined in [`src/sales/index.ts`](../src/sales/index.ts); the service module `app.objectstack.hotcrm.service` in [`src/service/index.ts`](../src/service/index.ts); [`objectstack.config.ts`](../objectstack.config.ts) composes the two. +HotCRM is a single ObjectStack marketplace app at version `4.0.1`, shipped as one release artifact carrying two packages in the namespace `crm` (ADR-0130 D4). The app manifest — id `app.objectstack.hotcrm`, the artifact's own identity — is defined in [`src/sales/index.ts`](../src/sales/index.ts); the service module `app.objectstack.hotcrm.service` in [`src/service/index.ts`](../src/service/index.ts); [`objectstack.config.ts`](../objectstack.config.ts) composes the two. ## ObjectStack Validation @@ -18,7 +18,7 @@ The summary `pnpm validate` prints — every figure read straight off the stack loader registers: ```text -HotCRM v4.0.0 +HotCRM v4.0.1 Data: 18 Objects 358 Fields UI: 1 Apps 14 Views 8 Pages 5 Dashboards 10 Reports 31 Actions Logic: 32 Flows diff --git a/package.json b/package.json index 4867f171e..8c1931b9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hotcrm", - "version": "4.0.0", + "version": "4.0.1", "description": "HotCRM - Production CRM built on ObjectStack", "license": "Apache-2.0", "private": true, diff --git a/src/sales/index.ts b/src/sales/index.ts index 1ab5cb5e8..a7947bf7f 100644 --- a/src/sales/index.ts +++ b/src/sales/index.ts @@ -74,7 +74,7 @@ export const createHotCrmAppStack = ( manifest: { id: 'app.objectstack.hotcrm', namespace: 'crm', - version: '4.0.0', + version: '4.0.1', type: 'app', name: 'HotCRM', description: 'AI-Native CRM for the ObjectStack marketplace — Accounts, Contacts, Leads, Opportunities, Cases, Knowledge, Forecasts, Campaigns, Contracts.', diff --git a/src/service/index.ts b/src/service/index.ts index 96d417277..2e5d33306 100644 --- a/src/service/index.ts +++ b/src/service/index.ts @@ -130,14 +130,14 @@ export const createHotCrmServiceStack = ( // own. Bump it with the app package's and `package.json` — // `test/docs-declared-versions.test.ts` holds all three, and the range // below, to one value. - version: '4.0.0', + version: '4.0.1', type: 'module', description: 'HotCRM support module — cases, knowledge articles, and the SLA surface.', // The same protocol as the app package (ADR-0087 handshake); bump it with // `specVersion` on every platform upgrade, exactly as the app's is. engines: { protocol: '^17.7.0' }, // The App package this module extends. - dependencies: { 'app.objectstack.hotcrm': '^4.0.0' }, + dependencies: { 'app.objectstack.hotcrm': '^4.0.1' }, /** * The five navigation entries this module puts into the app's menu