Skip to content

Releases: newsnowlabs/dockside

New IDE upgrade command

19 Dec 22:39

Choose a tag to compare

Starting from this version of Dockside, upgrading the IDE within existing devtainers is now a simple matter of running this one command:

docker exec <dockside-container> upgrade

N.B. Any newer IDE will be launched only after devtainers have been stopped and restarted.

Doing the above step is recommended before upgrading the running Dockside container (which will upgrade, where available, the version of the Dockside IDE running within subsequently-launched devtainers).

This release also refactors and simplifies the instructions for upgrading Dockside, which detail the new two-step upgrade process in full.

Refactored in-app documentation

08 Dec 12:49

Choose a tag to compare

This release purely improves the in-app documentation:

  • Documentation refactored into separate markdown files for improved readability/navigation
  • Promo added reflecting support of principal sponsor
  • Added night-mode-capable logo and in-app documentation night-mode toggle
  • Improved rendering of the in-app documentation through improved mkdocs-material config

Upgrade to use Theia v1.20.0

04 Dec 15:38

Choose a tag to compare

This release upgrades Dockside to use Theia v1.20.0 (from Theia v1.19.0).

For details of the Theia v1.20.0 release, please see https://github.com/eclipse-theia/theia/releases/tag/v1.20.0.

IDE modularisation

04 Dec 15:32

Choose a tag to compare

This release completes a significant round of IDE modularity improvements, which should make Dockside IDEs more self-contained and easier to upgrade, downgrade, and run different versions of within different devtainers.

As part of this release, launch-ide.sh is now a versioned IDE components, meaning it is built as part of the IDE distribution, so that if the interface to a version of the Theia IDE changes, or a completely different launch process is needed for a future alternative IDE (like VS Code), then the launch-ide.sh script stored with the IDE build will always be able to launch the IDE.

Add Ubuntu profile and fix Google Cloud Deployment Manager example

02 Dec 22:31

Choose a tag to compare

This release adds an Ubuntu profile, with support for a range of Ubuntu Docker images.

It also fixes the Google Cloud Deployment Manager example, which would fail due to wrongly hardcoding a test project name, and could also fail due to the project's default firewall rules being insufficient to allow incoming DNS requests to the instance. The fix specifies dedicated custom firewall rules which will be installed for the instance during launch.

Fix devtainer launch logs not updating in client

28 Nov 15:07

Choose a tag to compare

This release fixes a minor issue whereby container launch logs would not update in the client until the container had launched. Now the tail of container logs is updated every 2 seconds, as expected.

Upgrade to use Theia v1.19.0

22 Nov 22:51

Choose a tag to compare

This release upgrades Dockside to use Theia v1.19.0 (from Theia v1.17.0).

For details of the Theia v1.19.0 release, please see https://github.com/eclipse-theia/theia/releases/tag/v1.19.0.

Resolve race-condition whereby IDE launch could fail in new devtainers

22 Nov 22:40

Choose a tag to compare

Following efficiency improvements to the docker-event-daemon, a rare race-condition whereby the IDE could sometimes fail to launch in newly-created devtainers became more common.

Investigations found that, should docker-event-daemon be too quick in responding to the container start event, the server could sometimes not yet have enough time to update the reservation database with the new container's ID; in turn, this would lead to the docker-event-daemon not identifying the container as its responsibility for an IDE launch.

Now instead, the server first creates the container, second updates the reservation database, and third starts the container. Since the reservation database is always locked when being read and written, this way when the start event comes, the daemon is sure to be able to identify the container from its ID.

Reimplement docker-event-daemon container list using docker API call

21 Nov 21:45

Choose a tag to compare

This release reimplements the docker-event-daemon container list function using the docker API, instead of subprocess call to the docker command.

By doing so, it works around a Docker regression, whereby some newer Docker versions running docker container ls --format='{{json .}}' appear to request container sizes when they shouldn't, resulting in a major deterioration of UI responsiveness to container state changes.

This also makes a start on the job of eliminating calls to the docker command.

Initial public release

21 Nov 21:24

Choose a tag to compare

This is the initial public release of Dockside.

However, a Docker regression has been identified that causes updates to container state on the UI to run slow, and a fix for this is expected shortly.