Release Notes: Codenvy 5.11

User Management, Improved RAM Utilization and Custom CLI.

Stevan Le Meur
Codenvy Blog

--

Codenvy 5.11 has been released with improvements from Eclipse Che 5.11, plus new admin functionality to manage users registered on the system.

This release note covers both 5.11.x and 5.10.x release changes.

  • User Management: Manage users, edit users’ details and manage organization membership.
  • Workspace RAM Optimization: String deduplication has reduced the RAM needed for workspaces to be provisioned.
  • Custom CLI: Create custom CLI for your custom Che and extend it your own properties.

Quick Start

Upgrade to 5.11

You can upgrade from any 5.x version:

docker run codenvy/cli:5.11.2 upgrade

Release Details

User Management (#2139)

Codenvy system administrators can now manage users directly from the dashboard by navigating to the list of users from the left sidebar.

Once on the user list page, you can add a new user by clicking on the button “Add”. A wizard will guide you to provide the user information. Newly added users will receive an email notification.

Add new user into the system.

From the list of users, you can also get details on a particular user and modify the information for existing users, including their membership to an organization.

List of organizations.

Learn more in the documentation.

Improved RAM Utilization (#5074)

We have improved the resource utilization of Codenvy by enabling string deduplication in the workspace agent. As a result, the memory used by workspace agent has been reduced, which improves workspace start time in some cases.

String deduplication is a feature from Java 8 Update 20. Strings usually consume a lot of memory, especially for char[] which consume up to two bytes for each characters. String deduplication takes advantage of the fact that the char arrays are internal to strings and final, so the JVM can optimize them without concern.

Here is how it works:

String class keeps string value in char[] array, next to the hash. The char array is not observable from outside and String class itself doesn’t modify the contents of the array, this means that char array can be used safely by multiple instances of String at the same time.

In order to enable string deduplication we have configured the JVM of the worskpace agent to use the newer G1 garbage collector.

Here is brief comparative result between previous and new Java settings.

All screenshots taken on workspace with an medium-sized Java + Maven project, loaded and idling about 15 mins.

Fig.1 - Difference in total memory consuming right after GC action.
Note used memory value 50 vs 40 Mb.

Previous: used memory = 50 MB.
Now: used memory = 40 MB

Fig.2 - Difference in total memory consuming.
Note that G1GC decreases heap size.

Previous: heap memory 600MB
Now: heap memory 140MB

Fig. 3 - Memory by classes.
Note significant reduction of the char[] objects size.

Previous: 128 00 instances for 15 200KB.
Now: 70 00 instances for 10 613KB.

Learn more in the following issue.

Custom CLI (#5118)

You can create new Codenvy products for re-distribution by generating a custom assembly. An assembly is a binary packaging of IDE extensions (written in Java / JavaScript), Codenvy extensions (deployed in the Codenvy server), workspace extensions (deployed in a workspace agent), custom agents, stacks, templates, custom CLI, and brand elements. When these are packaged together, a complete binary that can be run identically to how you run the standard Codenvy assembly is provided.

If you want to deploy your custom Codenvy binaries in a production mode, i.e. make them packaged and distributable, you may build your own custom Codenvy CLI. Building a custom CLI also makes it possible to setup CI systems that will generate nightly and tagged images.

You can learn more into the documentation.

We also added ways to customize the Codenvy CLI with your own properties by extending codenvy.env from values that you can add in addon.env file. See the following issue.

Other Notable Enhancements

5.11

  • Add new API to allow system admin to search users by names and emails. (#2191)
  • Default C# language server into .Net stack. (#5172)
  • Enabled text selection from command output. (#5171)
  • Extended customization capabilities for dashboard. (#5123)
  • Added ability to analyze maven profiles from pom.xml and applying their configuration to the maven model. (#5122)
  • Refined terminal UI: marging and icons. (#5070)
  • Unified JSON RPC services codebase for client side (IDE) and server side (workspace agent, workspace master). (#5005)

5.10

  • Dashboard: Fixed the redirection when deleting account. (#2161)
  • Fixed the base path for Swagger configuration on the agent. (#2149)
  • Fixed retry operation when failure on interacting with docker registry. (#2144)
  • Apply possibility copy and paste text in the terminal by “Ctrl + C” and “Ctrl + V”. (#5012)
  • Added possibility to access external resources in docker image build phase of workspace start if Che is deployed in environment behind the proxy. (#4948)
  • Improved error logging on ws agent start. (#4937)
  • Improved copy file message when file already exists. (#4926)
  • Close the editor if the file was removed after external operation. (#4911)

Notable Bug Fixes

5.11

  • Dashboard: Fixed bug when bulk operations work wrong after items are filtered. (#2197)
  • Interpolate correctly resource paths in maven project inside maven server implementation. (#5180) (#5173)
  • Fixed PR panel bug — PRs are now correctly created in the origin (not upstream) project. (#5158)
  • CLI: Fixed comparing versions in the check of newer docker CLI versions. (#5141)
  • Dashboard: Fixed project sample sorting in the create workspace view. (#5134)
  • Fixed issue in command editor auto-completion. (#5133)
  • Fixed issue when registering watcher on a non existing resource. (#5119)
  • Dashboard: Fixed “create” button state in factory screen. (#5104)
  • CLI: Fixed using custom properties in Che. (#5103)
  • Fixed md5 calculation for big files. (#5090)
  • Fixed text selection loose of first line of the terminal. (#5063)
  • Dashboard: Fixed authoring a custom stack based on compose file. (#5050)
  • CLI: Fixed wrong Che’s URL displayed in startup output on Windows. (#5045)
  • Fixed issues related to file tracking operation calls. (#5041) (#5016)
  • Fixed issues related to processing of read-only files. (#5003)

5.10

  • Dashboard: Fixed wrong links to docs. (#5033)
  • Dashboard: Fixed “create” button state and display of stack description in the create project flow. (#5010) (#4982)
  • Fixed potential issue when saving commands. (#4955)
  • Dashboard: Fixed text overlapping on configure actions on Factory details page. (#4944)
  • Fixed issue with deleted files still displayed in recent files list. (#4924)

--

--

Product Manager at Red Hat. Eclipse Che commiter. Geek, Design, Architecture and Kite surfing.