NGB Platform v3.2.0: Build and Upgrade Apps Outside the Monorepo
NGB Platform v3.2.0 is out.
This is a relatively small technical release. No new business modules or major UI features this time.
Instead, the focus is on something important for developers building applications on top of NGB: independent application development and reliable upgrades.
Until now, NGB already provided published NuGet and npm packages, and CRM demonstrated package-based consumption. But creating a completely independent application outside the NGB repository still involved additional setup.
Version 3.2.0 addresses that.
Create an independent NGB application
The release introduces an official .NET application template.
Install it and create a new project:
dotnet new install NGB.Platform.Templates::3.2.0
dotnet new ngb -n MyApplication
Configure and start the application:
cd MyApplication
node infrastructure/configure.mjs administrator@example.com
node infrastructure/ngb.mjs start
The generated application includes:
- .NET 10 API
- Vue frontend
- PostgreSQL
- Keycloak authentication
- Database Migrator
- Background Jobs
You get a working application with authentication, navigation, user and role management, audit history, and background processing.
The starter does not include demo business modules, unnecessary infrastructure, or empty application layers.
More importantly, it doesn't depend on the NGB source repository.
Backend dependencies come from published NGB.Platform.* NuGet packages, while the frontend consumes @ngbplatform/ui from npm.
This makes it possible to start building your own business application without cloning the entire NGB monorepo.
Extending the platform
NGB applications can introduce their own business definitions, runtime logic, and PostgreSQL persistence.
The architecture remains layered:
- Definitions describe application-specific business objects.
- Runtime contains application behavior and orchestration.
- PostgreSQL projects own SQL, migrations, and provider-specific persistence.
- API, Migrator, and Background Jobs remain composition roots.
The starter doesn't generate empty projects for responsibilities you don't need yet.
You add those layers as your application grows.
Upgrade certification
Creating a new application is one part of the story. Keeping an existing application working across platform releases is another.
Version 3.2.0 introduces automated external application upgrade certification.
Instead of only checking whether new packages compile, the certification process takes an existing application built against an older NGB release and upgrades it.
The process includes:
- Building and running the original application.
- Creating persistent data using the original platform version.
- Updating the application dependencies.
- Applying database migrations to the same database.
- Starting the upgraded application.
- Verifying that data, permissions, audit history, and custom extensions still work.
The first registered and certified upgrade transition is:
NGB 3.1.0 → 3.2.0
There's also migration-aware application tooling for previewing changes before applying them.
For an existing 3.1.0 external application, run the following from an NGB 3.2.0 repository checkout:
# Preview the upgrade
node ngb.mjs upgrade --app ../MyApplication --to 3.2.0
# Apply the dependency changes
node ngb.mjs upgrade --app ../MyApplication --to 3.2.0 --apply
Applying dependency changes is not a substitute for following the database migration and deployment procedure described in the upgrade guide.
API compatibility is a separate guarantee
One important detail: upgrade certification and public API compatibility are not the same thing.
An upgrade test verifies a specific application transition.
API compatibility checks protect the public contracts used by application developers.
In NGB 3.2.0, compatibility validation covers the applicable major-version baseline and the previous published release, helping catch breaking changes to APIs introduced after the original 3.0.0 baseline.
A successful upgrade test doesn't mean breaking public API changes are acceptable in a minor release.
These are independent checks, and both matter.
Frontend improvements
The release also introduces a public Tailwind preset:
@ngbplatform/ui/tailwind-preset
External applications can now use the NGB design tokens without importing shared configuration files from inside the NGB monorepo.
The release also strengthens validation of the published npm package, including its public entry points, TypeScript contracts, CSS, and static assets.
Release certification
Another improvement is the release pipeline.
Candidate NuGet and npm artifacts are validated before publication, including external application consumption and upgrade checks.
After publication, registry verification checks the actual published artifacts.
The goal is straightforward: validate what developers will actually install, not just what happens to build inside the NGB repository.
What's next?
NGB continues to focus on reusable infrastructure for building document-driven business applications.
Version 3.2.0 doesn't add much visible business functionality.
But it makes an important part of the developer experience more practical: creating an independent application, extending it without breaking architectural boundaries, and upgrading it through documented, tested transitions.
That's what this release is about.
NGB Platform is open source and licensed under Apache 2.0.
- GitHub: https://github.com/ngbplatform/NGB
- Release v3.2.0: https://github.com/ngbplatform/NGB/releases/tag/v3.2.0
- External Applications & Upgrades: https://docs.ngbplatform.com/architecture/external-app-upgrades
- Website: https://ngbplatform.com
Top comments (0)