Skip to content

v2.0.0-rc.10

Pre-release
Pre-release

Choose a tag to compare

@christianalfoni christianalfoni released this 20 Jun 13:20
· 92 commits to main since this release

📝 DOCS

You can find the 2.0.0 RC docs at: https://fsnpxp-3000.csb.app/sdk

⚠️ These changes are additional to the previous rc.9 release!

🔥 Hot resizing incident

So we identified an issue with what we call "hot resizing sandboxes". This was experienced as VMs not hibernating and also not being able to get them back up. The reason this happened is because Sandboxes where being hot resized below their parent Sandbox tier. Basically the Sandbox goes out of memory.

We have measures in place for both the SDK and our API. The SDK now has:

csb build . --vm-tier=Micro --vm-build-tier=Medium
  • The vm-tier represents the tier given to Sandboxes created from the template
  • The vm-build-tier represents the tier used when building the template
  • There is no risk of "hot downsizing" the Universal Template to a bad state anymore

Shortly the API will also give an error if you try to create a Sandbox with a Tier that causes a "hot downsize" from its parent.

💰 Compensation 💰 We are running a job to identify customers affected by this for automatic compensation, but please reach out to us if this compensation has not been applied by end of next week 🙏

🏗️ Infra

  • Fixed a race condition where Sandbox Agent was throwing a false error. Typically happened during template building
  • We should now send a proper error response from the API, so no more Internal Server Error
  • We have a new debug dashboard which allows to more easily debug VM ids across the stack
  • We have a new status page https://status2.codesandbox.io/. Currently it only displays health of API, but we are adding clusters and other infra related health checks ASAP

🚨 Breaking

  • You now have to pass expireAt when creating host tokens. We noticed nobody really persists host tokens, but rather creates new ones for every session. Since tokens does not expire by default, this results in a lot of active tokens. We wanted to make sure you make a conscious choice about the behavior you want here

⚠️ Deprecations

  • git.checkout now has a deprecated isBranch second argument in favor of the new git.createBranch method

🚀 Features

  • git.createBranch to create a branch. git.checkout is explicitly used for checking out any reference
  • The template builder now uses a new API endpoint which selects 3 clusters to schedule the template to. This removes some logic from the SDK and gets us closer to better scheduling management
  • The SDK now gives sentry error reports to help us debug any issues related to API calls. We'll extend this soon to interactions with the Sandbox as well
  • The CLI now has --vm-tier to indicate the tier to use when creating Sandboxes from the template and --vm-build-tier for the tier to use for building the template
  • The CLI will now dump logs if errors occurs during setup. Use --log-path parameter to configure where to dump the logs

🐛 Fixes

  • Our Dashboard search now properly searches ids etc. If you have a lot of Sandboxes it will still be slow, but there will be a new Dashboard coming in the future
  • There was a race condition with commands where we try to name it after it has been discarded
  • The --alias param in the CLI had an issue with parsing