Skip to content

Zenhub Enterprise 4.0.2

Compare
Choose a tag to compare
@SeanEmac SeanEmac released this 26 Oct 22:44
· 20 commits to master since this release
707c374

These release notes are for Zenhub Enterprise for Virtual Machine and Zenhub Enterprise for Kubernetes.

  • For all users using Zenhub on github.com, please check out our new feature announcements on our product changelog.
  • For administrators planning upgrades, please refer to the "Important Upgrade Instructions for Administrators" section.

GitHub Enterprise Server compatibility

Zenhub Enterprise 4.0.2 supports GitHub Enterprise versions: 3.8, 3.9, 3.10

What's new in Zenhub Enterprise 4.0.2

We are thrilled to announce the release of Zenhub Enterprise 4.0.2, packed with a host of exciting new features designed to optimize your workflow, boost productivity, and heighten collaboration.

Features

Zenhub Platform

New authentication providers

To leverage platform features, Zenhub now supports authentication with Email/Password, IBM W3ID, Azure Active Directoryl, LDAP and SAML. Users can sign up using these methods without connecting to a GitHub account, which means you can save costs on unnecessary GitHub seats for non-technical team members.

Zenhub Issues

Zenhub Issues enables teams to work together in Zenhub without a GitHub account. Zenhub Issues function similarly to GitHub Issues but are a separate entity from GitHub. These are great for team members who don’t use GitHub or for tracking non-development tasks.

Converting Zenhub Issues to GitHub Issues

You can now convert Zenhub Issues to GitHub Issues. This enables users not using GitHub to create issues that may later evolve into development tasks.

Disconnecting GitHub Accounts from Zenhub

You can disconnect your GitHub account by going to Account Management > Settings > Connected Accounts.

Classic GitHub Projects Importer for Platform Users

For users migrating from GitHub Projects to Zenhub, we've extended the capabilities of our Classic GitHub Projects Importer. Smoothly import pipelines, repositories, and issues from existing classic GitHub project boards into your Zenhub workspace.

zhe4_platform

Onboarding

Organization access requests for companies and teams

Zenhub Organizations are now visible at the time of onboarding to users signing up with the same email domain as the Zenhub Organization creator. Users associated by domain no longer need to be invited to join a new organization.

“Allowed Domains” for organization access

The “Allowed Domains” feature enables organizations to specify the domains from which they accept requests, providing an extra layer of security and speeding up user onboarding.

New permissions system

Now, in Zenhub, existing GitHub organization admins are automatically granted Zenhub organization admin status. All other teammates will receive “member” status.

Projects flyover

Every project on the roadmap now has a dedicated flyover, which provides a description of the project and shows the contributors who created and closed the project.

zhe4_onboarding

Board enhancements

Milestones support for Board 2.0

Zenhub has brought back milestone support to Board 2.0. You can now filter issues by Milestone or with no Milestones, bulk edit, and multi-select Milestones, add/remove Milestones from issues, and Show/Hide Milestones from issue cards.

Board 2.0 Improvements

Board 2.0 now includes a smoother drag-and-drop functionality, multi-column pipelines, and a warning message when moving issues from normal priority to high priority.

Saved Views

The saved view feature enables you to apply a set of filters to your board and save that board configuration as a Saved View for easy access.

zhe4_board_enhancements

Integrations

Figma, Miro & Loom Embeds

Boost collaboration by embedding Figma, Miro, or Loom files into Zenhub. Miro and Figma embeds in Zenhub display a preview of the content from the file. Loom embeds enable users to watch full videos inside Zenhub – no more tab switching!

Figma & Miro embeds are only available for Zenhub Issues, Zenhub Epics, and Zenhub Comments.

These integrations will not work in an air-gapped environment.

zhe4_integrations

Extras

GitHub Productivity Insights

GitHub Productivity Insights is a new dashboard that gives you quick views of your team’s performance metrics and compares them to the top-performing teams in GitHub. The dashboard also includes tailored suggestions for how to enhance your team’s performance.

zhe4_insights

Security Fixes

  • Package security updates

Bug Fixes

  • Fixed a bug causing the chrome extension url to be incorrectly set

Changes

  • No changes in the 4.0.2 patch release

Known Issues

  • The Chrome Web Store may reject publishing the browser extension due to additional requirements for Manifest V3. This is resolved in Zenhub Enterprise 4.1.
  • In some cases, admin permissions may be lost on upgrade. To restore admin permissions, go to https://<subdomain_suffix>.<domain_tld>:8443/settings and enter the admin username/email
  • When removing "Seats" the available license count doesn't update until a page refresh
  • When using W3ID integration, some users are seeing their name show up as empty
  • In some rare cases, deleting a workspace displays an error message
  • In some rare cases, new users who sign up for Zenhub are taken directly to the board instead of being shown the onboarding form
  • Usage report data from before Zenhub Enterprise v4.0 is not displayed in the admin dashboard
  • When trying to create an account from the login page an 'Account does not exist. Please sign up instead.' error occurs. This is expected behaviour, to create a new account you must use the sign-up page.

VM Embedded Component Versions

Component Version
Ubuntu 22.04.2
K3s v1.24.13+k3s1
Kubernetes v1.24.13
Kustomize v4.5.3
Fluentd v1.16.2-debian-1.0
Postgresql 11.16
MongoDB 4.4.13
RabbitMQ 3.8.31
Redis 7.0.5
PgBouncer 1.17.0

Important Upgrade Instructions for Administrators

Zenhub Enterprise for Virtual Machine

⚠️ NOTE: For the upgrade from ZHE 3.5 -> ZHE 4.0, the regular rollback steps cannot be used. Please perform a machine level snapshot prior to upgrading to use as a backup in case you need to revert back to ZHE 3.5 for any reason.

  • You must be running ZHE 3.5.X, 4.0.0 or 4.0.1 to perform the upgrade to ZHE 4.0.2.

  • For users currently running Zenhub Enterprise, contact our team for a download link for the 4.0.2 upgrade package. The upgrade process is detailed in our documentation.

Zenhub Enterprise for Kubernetes

  • Some extra upgrade instructions have been added specifically for this release due to some database changes that accompany the application updates. Please follow the upgrade instructions below for this release:

⚠️ NOTE: The minimum version of Kubernetes required to run ZHE 4.0 is now v1.24.

1. Prepare

  • Get the kustomization.yaml you configured to setup Zenhub
  • Perform a diff to make sure no outstanding changes are waiting to be applied
kustomize build . | kubectl diff -f-

It should exit 0 and only display a warning of unused variables. If changes are pending, apply them before starting the upgrade process.

  • Make a copy of your existing kustomization.yaml and keep it handy for the next step

2. Update kustomization.yaml

  • Check out the zenhub-enterprise repository at the tag of this release
  • Populate the new kustomization.yaml with your existing configuration values

Be sure to replace any additional customized configuration (such as ingress, TLS configuration) with your original configuration from before as well.

  • In ZHE 4.0, secret_key_base is required to be a 42 byte string, any existing 38 byte string should be updated as described in kustomization.yaml
  • If you are using your own registry and not Zenhub's registry, upload the new images tagged with this release to your registry.

3. Run configmap-generator.sh

Once you have setup all the configurations in your copy of kustomization.yaml and are ready to deploy to your cluster, you must run the configmap-generator.sh script that will fill placeholders in our Kubernetes manifests with your configuration values.

To run the script, navigate to the root of the directory containing your kustomization.yaml file, which also contains the configmap-generator.sh script. Then, run the script with these two commands:

chmod 700 configmap-generator.sh
./configmap-generator.sh

4. Application updates

In your new kustomization.yaml, confirm that the cluster image tags are set to the new images for this release:

If you are using your own registry, ensure that the newName fields are configured for that instead of Zenhub's

images:
  - name: kraken-webapp
    newName: us.gcr.io/zenhub-public/kraken-webapp
    newTag: zhe-4.0.2
  - name: kraken-extension
    newName: us.gcr.io/zenhub-public/kraken-extension
    newTag: zhe-4.0.2
  - name: kraken-zhe-admin
    newName: us.gcr.io/zenhub-public/kraken-zhe-admin
    newTag: zhe-4.0.2
  - name: raptor-backend
    newName: us.gcr.io/zenhub-public/raptor-backend
    newTag: zhe-4.0.2
  - name: toad-backend
    newName: us.gcr.io/zenhub-public/toad-backend
    newTag: zhe-4.0.2
  - name: sanitycheck
    newName: us.gcr.io/zenhub-public/sanitycheck
    newTag: zhe-4.0.2
  - name: devsite
    newName: us.gcr.io/zenhub-public/devsite
    newTag: zhe-4.0.2
  - name: busybox
    newName: docker.io/library/busybox
    newTag: latest
  - name: nginx
    newName: docker.io/library/nginx
    newTag: latest
  • First, delete any raptor-db-migrate and sanitycheck jobs so they may be recreated without errors:

Make sure the status of the jobs are Complete and not Running

kubectl -n <your_dedicated_namespace> delete job/raptor-db-migrate job/sanitycheck
  • Then perform a diff to check what the upgrade will do (this command must be run from the directory that contains your kustomization.yaml
kustomize build . | kubectl diff -f-
  • If everything looks correct and there are no errors, you can deploy to the cluster via:
kustomize build . | kubectl apply -f-

5. Database changes

⚠️ NOTE: Running this script is only required if you are upgrading from ZHE 3.5.

  • Run the script found in k8s-cluster/update/zhe-upgrade.sh via the commands below:

If you use the ZenHub registry

cd update
./zhe-upgrade.sh yourNamespace

If you use your own registry

cd update
./zhe-upgrade.sh yourNamespace yourRegistryName

6. Re Deploy Application

⚠️ NOTE: Running these commands is only required if you are upgrading from ZHE 3.5.

The data migration script run in the previous step will have scaled down the application in order to safely migrate data without active database writes occurring. Now that the migration is complete, the application needs to be deployed to the normal desired operational state:

  • First perform a diff to check what will change (this command must be run from the directory that contains your kustomization.yaml
kustomize build . | kubectl diff -f-
  • If everything looks correct and there are no errors, you can deploy to the cluster via:
kustomize build . | kubectl apply -f-

7. Finalize

  • Securely store the updated kustomization.yaml