Repository navigation
chore(release): v6.0.0 - #2252
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
Ruling: batch #4 item 3 · letter B · maintainer 「同意」 2026-10-23T11:29:31Z Recorded by the director ruling thread 「待决策汇总」 (Claude Code project "Objectstack", account Ruled: re-cut as 6.0.0 (B). Workload (seat, ≈1–2 h): flip the bump in those three changesets to Maintainer steps after the re-cut: review, mark ready and merge; push tag Generated by Claude Code |
Re-cut of the 5.2.0 version PR as a major, per the maintainer ruling recorded in hotcrm#2252 comment 6363876622 (batch #4 item 3, letter B), which amends the number in director batch #1 item 4A. Three consumed changesets now declare `major`, as their own text crosses RELEASE_STRATEGY's Compatibility Policy line: 2202 (ObjectStack 18.0.0, `os migrate organization-ownership` required), 2200 (Service Manager profile retired) and 2167 (campaign action API shape). Only their frontmatter bump changed. `changeset version` consumes the 38 pending changesets (3 major, 14 minor, 17 patch, 4 empty-frontmatter) and cuts 6.0.0: package.json and CHANGELOG.md, with `### Major Changes` first. The tail from `## 5.1.2` down is byte-for-byte unchanged. The hand surfaces follow: the README badge, docs/ARCHITECTURE.md, docs/RELEASE_STRATEGY.md, docs/STATUS.md, both package manifests (the service module's `^6.0.0` range on the app included), and whats-new in all three locales, whose latest-release section is now v6.0.0 on ObjectStack 18.0.0 with "What 6.0.0 changes" and its checks before and after upgrading. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014xanhPEmGTMTfVH4UokwJT
521457b to
f7044fd
Compare
|
Re-cut as 6.0.0 is done, per ruling 6363876622 above. Recorded 2026-10-23T11:46Z.
The title and body are updated. The PR is still a draft, with no tag pushed, no workflow run and no auto-merge. The maintainer steps are in the body. |
Description
The HotCRM 6.0.0 version PR. Director decision batch #1, item 4A, said that after #2233, #2235, #2236 and #2237 landed, the seat opens the version-cut PR (
changeset:versionand manifest sync), and the maintainer merges, tags and triggers the production publish. The PR was first cut as 5.2.0. The maintainer then ruled it a major (ruling 6363876622 on this PR, batch #4 item 3, letter B). That ruling changes the version number in 4A; 4A's instruction to cut now still stands.The re-cut. Three changesets that this PR consumes now declare
major, because their own text crosses the Major line indocs/RELEASE_STRATEGY.md§Compatibility Policy ("permission changes that break users, migration-required behavior"):2202-objectstack-18-0-0.mdos migrate organization-ownership, or ObjectStack 18.0.0 refuses to start2200-position-permission-sets.md(#2229)2167-enrollment-enforces-profile.mdparams.crm_campaignbecomesparams.campaignId, the old key is refused with 400, and the answer bodies are newOnly the frontmatter bump changed in those three files. I ran
pnpm changeset:versionagain onmain1e71d5e. It consumed all 38 pending changesets (3 major, 14 minor, 17 patch, and 4 empty-frontmatter ones that are tests or tooling only) and wrote 6.0.0. This PR consumes changesets and adds none, so it carriesskip-changeset, as #2164, #2170 and #2172 did.What 6.0.0 changes for customers
These change behaviour on environments that already have HotCRM installed. They are listed first.
os migrate organization-ownershipbefore 18.0.0 will serve it. A front-end on another origin needsOS_CORS_ORIGIN, and a productionos serveneedsOS_AUTH_SECRET.crm_user) (feat(profiles): crm_user is the package's one anchor-safe default permission set (#2231) #2232). The Marketplace package page suggests granting it to every signed-in member (the Everyone position) with one Grant. Permission sets add up, so once CRM User is granted, a Marketing User or Service Agent can also create and edit their own accounts and opportunities. On a self-hostedobjectstack serve, every member holds it from the start.Other changes: a Reports sidebar group with all ten reports, Convert Lead naming the account the lead will join, Pipeline by Stage shown as a bar chart, New forms that no longer ask for values the app fills in, closing a case completing its escalation task, and private deals kept out of task titles. The rest are wording, docs and seed fixes. Each has its own entry in
CHANGELOG.md.Type of Change
Related Issues
Related to #2232, #2233, #2235, #2236, #2237, and every PR whose changeset this release consumes.
Changes Made
changeset versionoutput. It wrotepackage.json(5.1.2 → 6.0.0) andCHANGELOG.md. In the new## 6.0.0section,### Major Changescomes first (8daa492 enrollment, c8a7a70 positions, 16c2866 ObjectStack 18.0.0), then Minor, then Patch.CHANGELOG.mdis untouched. Everything from## 5.1.2down is byte-identical to the file before the cut (same sha256c65c5353…). I read the new section in full: it contains the 34 consumed changesets and nothing else.docs/ARCHITECTURE.mddocs/RELEASE_STRATEGY.md(Current version)docs/STATUS.md(two places)src/sales/index.tssrc/service/index.ts(version, and the^6.0.0dependency on the app)whats-newin en, zh-Hans and zh-Hant:v6.0.0, and the intro states ObjectStack 18.0.0.os migrate organization-ownershiprequirement, the Service Manager profile retirement, the change to the campaign action API (params.campaignId, the old key refused with 400, new answers), what granting CRM User adds to each profile, and theOS_CORS_ORIGIN/OS_AUTH_SECRETrequirements.Testing
Run locally on this branch (head
f7044fd):pnpm verifyvalidate: HotCRM v6.0.0, 18 Objects, 362 Fields, 7 Permissions, 12 Positions ·build:dist/objectstack.json2,429.1 KB ·test: 213 files, 4186 passed, 1 skippedpnpm publish:marketplace:dry-runapp.objectstack.hotcrm @ 6.0.0, bundle flattened from 2 packages, permissions 7, objects 18,✓ published version 6.0.0(dry-run, no HTTP); release notes 8,073 charsThe marketplace excerpt. Because the release now has a Major block,
scripts/publish-marketplace.mjssends that block and nothing else, capped at 8,000 characters. The block is 8,841 characters long, so the end of it is cut.params.campaignId)os migrate organization-ownership, with both commandsOS_CORS_ORIGINnoteOS_AUTH_SECRET, mail-body permission, flow-resume400, "No app data changes"CHANGELOG.mdand the whats-new checksChecklist
skip-changeset, the repo's convention for release PRs)Additional Notes
Some entries say "the previous release" about a change that ships in this same release: 01808c3 refers to f22dfa5, and d723f6f refers to c16c0bb. The 18.0.0-next.5 entry says that next.5 is a prerelease, which the 18.0.0 entry beside it supersedes. I left these as written, because
changeset versionowns the file.Maintainer steps
v6.0.0on the merge commit. That runsrelease.ymlandpublish-staging.yml.publish-production.yml.This PR pushes no tag and runs no workflow.
🤖 Generated with Claude Code
https://claude.ai/code/session_014xanhPEmGTMTfVH4UokwJT