Enterprise Release Notes
- 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:
|Chart Version||Compatible Images|
VCS proxy support
- For the GitHub/Bitbucket/Gitlab integrations to work, NxCloud 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 NxCloud 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 NxCloud 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 NxCloud is its integrations with your repository hosting solution. When you open up a Pull Request, you can configure NxCloud 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 NxCloud 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 NxCloud to your code-hosting provider would fail, because they'd be using a self-signed certificate, which NxCloud 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 NxCloud 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.
NxCloud uses MongoDB internally as its data store. While we've always used Mongo 4.2, in the latest release we started targetting 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 firstname.lastname@example.org.
Migration from Community Edition to Enterprise
On May 16th, 2023 we announced our plans to sunset the Community Edition of NxCloud 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 email@example.com. 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 firstname.lastname@example.org 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 NxCloud. 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 NxCloud 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 NxCloud 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 NxCloud 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