Version and Release History
Shumoul.Framework.MultiTenancy.Api is the package every SaaS-side template/orchestration service in
this guide ships in. This table is built only from version numbers explicitly stated in the source
phase documents (or, for Phase 6C, explicitly confirmed by the engineering team) — a gap means the
number was not stated in the available source, not that nothing happened.
Package version progression
| Version | Phase | What changed |
|---|---|---|
| 1.0.92 → 1.0.93 | Phase 3 — Feature Settings Groups Onboarding Guard | SubscriptionFeature → SettingsGroups entitlement link |
| 1.0.93 → 1.0.94 | Phase 3.2 — Feature Settings Groups Ownership | Features.ProjectManagement/Features.MarketingManagement created; ProjectSettings/SalesmanSettings/MarketerSettings given real owners |
| 1.0.94 → 1.0.95 | Phase 4 — Business Activities Master Data | Saas.BusinessActivities |
| 1.0.95 → 1.0.96 | Phase 5A — Accounting Chart Templates | Saas.AccountingChartTemplates/…Accounts/…Mappings |
| 1.0.96 → 1.0.97 | Phase 5A.1 — Excel Import | Excel front door onto the Phase 5A pipeline |
| 1.0.97 → 1.0.98 | Phase 5B.1 — Apply Chart Accounts | dbo.Accounts apply |
| 1.0.98 → 1.0.99 | Phase 5B.1.1 — Accounting Feature Ownership | Real Features.AccountManagement |
| 1.0.99 → 1.0.101 | Phase 5B.2 — Template Mappings Apply | dbo.InventoryAccountCategory mapping fill (version jump to 101 as stated in source; 1.0.100 not attributed to any reviewed phase doc) |
| 1.0.101 → 1.0.102 | Phase 5B.3 — Inventory Account Category Templates | Closes the "zero rows" gap |
| 1.0.102 → 1.0.103 | Schema Convention Cleanup | Name/FName rename on BusinessActivity/AccountingChartTemplate* |
| 1.0.103 → 1.0.104 | Phase 5D — Activity-Specific Chart Templates | _Saudi_USStyle_COA_v1 defaults |
| (not explicitly stated) | Phase 5C — Cost Center Templates | Saas.CostCenterTemplates/…Items — occurred after Phase 5D per its own dating, exact before/after version not given in its source doc |
| (not explicitly stated) | Phase 5E — Tenant Starter Kit Orchestration (accounting chain) | — |
| (not explicitly stated) | Phase 5F — Live E2E Verification | Configuration-surface hardening, no source-version stated |
| 1.0.107 → 1.0.108 | Phase 5G — SaaS Admin Authorization | TenantAccessGuardBehavior, Swagger grouping fixes |
| → 1.0.111 | Phase 6 — Product Catalog Templates (categories) | Saas.ProductCatalogTemplates/…Categories |
| 1.0.111 → 1.0.112 | Phase 6A.1 — Product Catalog Prerequisites | Saas.ProductCatalogPrerequisiteTemplates + children |
| 1.0.112 → 1.0.113 | Phase 6B — Product Catalog Items | Saas.ProductCatalogTemplateItems/…ItemUnits |
| 1.0.113 → 1.0.114 | Phase 6C — Tenant Starter Kit Product Catalog Integration | Product chain composed into TenantStarterKitService |
Phase 6C — confirmed release record
The most recent release, documented here in full because it doubles as the worked example for the release-discipline rule below.
| Field | Value |
|---|---|
| Package | Shumoul.Framework.MultiTenancy.Api |
| Previous version | 1.0.113 |
| New version | 1.0.114 |
| MultiTenancyApi — Phase 6C source commit | 502d9b2 |
| MultiTenancyApi — package bump commit | 7899934 |
| BackEnd — docs commit | 164d13e |
| BackEnd — package reference update commit | 9cdce79 |
| BackEnd — release note commit | beb3dbf |
BackEnd PackageReference | Confirmed updated to 1.0.114 in Shumoul.Application.csproj |
| Restore | OK |
| Build | OK |
| Tests | 722 passed / 35 pre-existing baseline failures (unrelated) |
| Build warnings | 1017 pre-existing, unchanged |
| Push | Both Shumoul.Saas.MultiTenancyApi and Shumoul.Saas.Api pushed to main |
This release was initially missed — Phase 6C's source change to Shumoul.MultiTenancyApi was
committed and pushed without the accompanying package release, and was only caught and corrected after
the fact. See the release-discipline rule below, written specifically because of this incident.
Release discipline — mandatory, not optional
Any phase that changes Shumoul.Framework.MultiTenancy.Api source is not complete until all five of
these have happened, in order:
- Package version is bumped (patch segment only — read the current version from the
.csprojat runtime, never hardcode an assumed prior value). - Package is built, packed, and copied to both the developer-machine staging store and the CI restore
source (
local-packages/inside the BackEnd repo). - BackEnd's
PackageReferenceis updated to the new version. - BackEnd
dotnet restore+dotnet build+dotnet testall pass (zero new build errors; only pre-existing baseline test failures). - Both repositories (
Shumoul.Saas.MultiTenancyApiandShumoul.Saas.Api) are committed and pushed.
A commit to MultiTenancyApi source without a corresponding package release leaves BackEnd silently pinned to a stale package — the exact failure mode this rule exists to prevent, and the exact thing that happened (and was corrected) in Phase 6C above.
