Enterprise Release Notes
- re-enable path style access for s3 buckets
- fix an aggregator migration issue with old CIPE data
Helm package compatibility
When upgrading to this version and anything above it, you will need to use Helm version 0.12.0+:
2306.01.2.patch4 and earlier
2308.22.7 and later
2312.11.7 and later
New UI features and improvements
On the UI, we replaced the runs overview with the new CI Pipeline Executions (CIPE for short) screen:
This screen organises your runs more logically, according to each invocation of your CI pipeline. It provides more data around the committer name and commit message and a full analysis of your CIPE once it is completed. And if you need to run your tasks on multiple environments, you can now switch between them on this page and view the results separately. You can play around with an example on the Nx Repo
There is also a new Analytics screen for your workspaces, to which we'll keep adding new features to better help you optimise your CI pipelines:
Here you can see:
- historical trends of CIPE Average duration
- historical trends of CIPE average daily count
- average daily time saved by DTE
- better overall UI performance (navigating feel much snappier now)
- improved terminal output rendering
- members can now be invited as admins directly
The light runner
Nx Cloud works by using a local Node runner that wraps your Nx tasks and sends information about them to the Nx Cloud API. This is how it knows whether to pull something from the remote cache or run it.
Because they work together, sometimes changes to the API required updates to this local runner. This led to workspaces that did not update their local runner version in
package.json sometimes running into compatibility issues.
We overhauled this mechanism, and the runner is now bundled as part of the API itself, ensuring you get sent the correct runner code when you first start running Nx commands in your workspace. This ensures you will always have the correct local runner version that is compatible with your on-prem Nx Cloud installation.
We've been testing this out on our Public Nx Cloud instance and it is now available for on-prem installations as well.
To enable the light runner feature, make sure you:
useLightClient: falsefrom your
nx.json(if you had it)
- If you are on Nx version > 17, you can remove any
@nrwl/nx-cloudpackage in your
package.jsonand it should just work
- If you are on Nx version < 17, upgrade to
This release is also the first one to support "Nx Agents".
While currently experimental and disabled by default for on-prem users, we are looking for more on-prem workspaces to try it out with so please reach out to your DPE contact or to firstname.lastname@example.org if you are interested in helping us shape this according to your needs!
Breaking changes - MongoDB migration
As a reminder, we now only support MongoDB 6+. If you are running an older version please refer to the upgrade instructions here.
- Allows the frontend container to be ran with
- Fixes a UI issue on the branch when running a task in a DTE context
- Fixes a UI issue when navigating to branches containing slashes
- Updates the frontend image to remove some vulnerability issues
- Fixes a compatibility issue with the latest
- Fix: github member invites
- Feature: self-signed certificate support for aggregator
- This is needed if you are using self-signed certificate for your external Mongo instance
- See here for usage details.
- Fix: aggregator issue when creating text Mongo indexes
In our last big release, we announced a completely new UI, rebuilt from the ground up in React. In this release, the frontend team has continued that effort and wrapped the React app with the Remix framework. This is the same technology that powers our public https://cloud.nx.app/ product. It's faster, it handles resource caching better, and should allow the frontend team to ship features quicker than ever before.
Helm package compatibility
When upgrading to this version and anything above it, you will need to use Helm version 0.11.1:
2306.01.2.patch4 and earlier
2308.22.7 and later
VCS proxy support
- For the GitHub/Bitbucket/Gitlab integrations to work, Nx Cloud needs to make HTTP calls to GitHub/GitLab to post comments
- If are behind a proxy however, these requests might fail
- If you are using our Helm chart, you can now configure this option to unblock the vcs integration and allow it to work with your proxy:
1vcsHttpsProxy: '<your-proxy-address>' 2
- UI enhancements of the run details screen
- UI enhancements of the task details screen
- fixes and better error handling for the DTE screen
- failed runs are now sorted at the top
- web app performance improvements for large workspaces
- more structured NxAPI pod logs (allows for better debugging)
- Fixed an issue with applying licenses on orgs owned by non-installation admin accounts
Breaking changes - MongoDB migration
In the last big release we announced the deprecation of Mongo 4.2 With this release, we have now stopped supporting Mongo 4.2 completely. Please upgrade Mongo to version 6 before installing this new image. You will find instructions here.
- Fixes an issue with new licenses expiring sooner than original end date
- Fixes an issue with multiple admin organizations being created on new installations
- Fixes an issue where Enterprise licenses could not be applied on some new orgs
- Fixes an issue with the
single-imagecontainer where the aggregation would block the API from starting up
- Fixes an issue where admin users were not being created on new installations.
This is one of our biggest Nx Cloud On-Prem releases. It also marks a change in our release process which will be explained at the end.
Brand new UI
A few months ago we announced a complete re-design of the Nx Cloud UI! It's faster, easier to use and pleasant to look at! We're now bringing this to On-Prem users as well:
You can read more about it in our announcement blog post.
While before we provided you with a separate coupon for each workspace, we have now changed to "organization-wide licenses": you receive a single coupon for your whole organization, that gives you unlimited access for the agreed number of workspaces. You are then free to delete, create and re-shuffle your workspaces as often as you want without requiring new coupons for us (as long as you stay within your limit of workspaces).
You will see some updates in the UI to reflect this, however, you don't need to do anything once you update your images! We'll automatically migrate you to this, based on your current number of enabled workspaces!
One of the features of Nx Cloud is its integrations with your repository hosting solution. When you open up a Pull Request, you can configure Nx Cloud to post a comment to it once your CI has finished running, with a summary of all the tasks that succeeded and failed on that code change, and a link to your branch on Nx Cloud so you can further analyse your run. Your developers save time, and allows them to skip digging through long CI logs.
Before, if you had a self-hosted instance of GitHub, Gitlab or Bitbucket, calls from Nx Cloud to your code-hosting provider would fail, because they'd be using a self-signed certificate, which Nx Cloud wouldn't recognise.
We completely re-wrote our Task Distribution engine, which should result in much fewer errors due to agent timeouts, increased performance and more deterministic task distribution.
We've also added a new internal task queueing system, which should further improve the performance of DTE. While this is an implementation detail which will be automatically enabled in future releases, you can test it out today by setting
enableMessageQueue: true in your Helm config.
You can read more about the recent DTE improvements in our Nx Cloud 3.0 blog post.
- We have fixed issues related to OpenShift deployments. Special thanks to minijus for his work on the Helm charts and helping us test the changes.
Nx Cloud uses MongoDB internally as its data store. While we've always used Mongo 4.2, in the latest release we started targeting Mongo 6.0. It's a much lighter process, with improved performance, and quicker reads and writes.
While you can still upgrade to this new image even if you are on Mongo 4.2 (nothing will break), we strongly recommend you upgrade your Database to Mongo 6.0 to make sure nothing breaks in the future. We wrote a full guide on how you can approach the upgrade here. If you need assistance, please get in touch at email@example.com.
Migration from Community Edition to Enterprise
On May 16th, 2023 we announced our plans to sunset the Community Edition of Nx Cloud On-Prem to align with our new pricing plans. If you are on the Community Edition, please follow these steps to migrate:
- Use this image:
- Switch to private Enterprise by setting
mode: 'private-enterprise'if using Helm).
- Reach out to us at firstname.lastname@example.org. You will get a FREE, unlimited-use coupon for the next 3 months so you can trial Nx Enterprise.
New release process
With this update, we are also changing our release process:
- We'll start adding release notes with every new version published
- We switch to using calver versioning for our images
- We stopped publishing the
- We will be emailing Enterprise admins with every new release. If you do not get these emails, please send us an email at email@example.com to get added
Any questions at all or to report issues with the new release please get in touch!
- Feat: Targettable agents for DTE. You can now ask specific agents to pick up specific tasks (via `--targets
- Fix: DTE fixes for 404 not found artefacts errors
- Fix: issue when using GitHub integration with self-hosted GitHub instances
- Misc: Fixes to the Gitlab integration
- Misc: This release contains small bug fixes and UI improvements.
- Feat: IAM Role Auth. We have now deprecated "aws_access_key_id" and "aws_access_key_secret" in favor of service accounts and IAM roles for accessing AWS resources. See the new guide here for details.
- Misc: This release mostly contains improvements that apply to the Public SASS version of Nx Cloud. No significant changes for the On-Prem version.
- Feat: Private Cloud now runs completely as Kubernetes cluster. See the Helm example repo for more details
- Fix: issue with retrieving hashes during reads
- Feat: added route to display container version at
- Misc: forward api errors to stderr so k8s clusters can process them better
- Note: The version naming scheme for the containers was changed to better track date/time of releases and to support embedding of the version inside the web UI
- Feat: view the container version under the
- Feat: BitBucket login (note: does not support self-hosted instances of BitBucket Server)
- Feat: New system-ui font scheme
- Fix: branch screen sorting performance improvements
- Fixes an intermittent container start-up issue when running a self-contained Mongo instance
- Fixes an issue with the self-hosted file-server where it would fail to create the initial directories
- Fix an issue with the admin password not being set correctly
- Align all Nx Cloud images to this version. No new fixes or features included.
The default container mode has changed from
ENTERPRISE. If you are running a Community version of the container, you will need to make sure the
NX_CLOUD_MODE=private-community is explicitly set (otherwise your container will fail to start-up).
- Fix: Web app performance improvements
- Fix: issue with GitHub logged in admins not being able to download logs
- Fix: issue with billing page when multiple access tokens were attached to the same org
- Fix: multiple Mongo DBs used to be created if a default DB was not provided in the connection string. Now it always defaults to the provided
- Misc: performance improvements to DB indexes
- Misc: improvements to hash differ to use regex
- Misc: export more collections for debug purposes (workspaces and organizations)
- Fix: issue with navigating to organizations/workspaces in the web app
- Feat: filters to branch and run list pages
- Fix: improved
MD5cache artifact archiving
- Misc: various UI and UX improvements to the Nx Cloud dashboards
- Fix: Missing artefact retrieval error when using read-tokens
- Fix: Performance improvements to the branch page and run groups sorting
- Fix: better handling of artefact
- Feat: Billing page messaging improvements
- Fix: runs sorting on branch page
- Feat: DTE post-run report
- Feat: Hash Detail tool flow improvements
- Feat: Admins can now easily export debug info for error investigation
- Fix: branch screen run group sorting
- Feat: GitLab Auth Support/private-cloud-gitlab-auth
- Feat: Hash diffing tool improvements
- Feat: show message on branch page if workspace is unclaimed
- Fix: Agent out of memory warning
- Feat: cache inner runs
- Fix: include correct GitHub workflows path
- Fix: default to most recent run group on branch page
- Fix: handle DTEs with no tasks
- Fix: await process checkout sessions
- Feat: Increase file-server default cached artifact limit. If you are not using an external file storage (such as S3), then the cached assets will now be kept by default from 2 weeks to 4 weeks, increasing the chance of cache hits.
- Feat: "Download cache usage" data from the "Time saved" workspace page
- Feat: GitHub Integration - no token is now necessary in "
nx.json" for the GitHub integration to work (you still need to provide as an env var for caching to work). To connect your workspace to GitHub without an access token in "
nx.json" just pass in the "
NX_CLOUD_INTEGRATION_DEFAULT_WORKSPACE_ID=<your-workspace-id>" env var
- Misc: better error handling (report less false positives)
- Fix: Scheduled tasks locking
- Misc: DB performance improvements (old records clean-up aggregator, indexes etc.)
- Feat: Add options to control database load
- Fix: Better exception handling in the API
- Feat: Optimize event processing to increase the throughput of workspaces with a very high number of agents.
- Fix: Gracefully recover when stats aggregation fails
- Feat: Hash diffing tool enhancements
- Feat: DTE visualisation improvements for larger workspaces
- Fix: billing page not displaying subscriptions for Private Community
- Feat: Better error handling for scheduled tasks
- Fix: branch screen not loading
- Feat: Various UI improvements to the Nx Cloud screens
- Feat: Hash detail diff tool
- Feat: GitHub app comment revamp
- Feat: DTE visualisation
- Fix: DTE bug fixes caused by incorrectly batched tasks
- Fix: various DTE bug fixes
- Feat: Add
NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNTenv var for more explicitly optimising DTEs
- Feat: Send GitHub workspace membership invites by email
- Fix: improve container start-up time
- Feat: If Mongo connection fails during container start-up it keeps retrying up to a max number of times (configurable via
- Feat: expose "/ping" endpoint (can be useful for K8s readinessProbe)
curl --fail http://localhost:8081/nx-cloud/ping --header "authorization: your-nx-cloud-access-token"
- Feat: billing estimator (on billing page)
- Fix: ignore ending slash on
NX_CLOUD_APP_URL(in case it's added by mistake)
VERBOSE=1env variable option to output extra information during container initialisation
MONGO_REPAIR=1env variable option to trigger a Mongo Repair if the container data gets corrupted
- Fix: Reset the memory limits to best work on an instance with 8GB of RAM.
- Fix: Set the default