Skip to content

DOCS-3693: Update module and namespace renaming #4418

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/dev/reference/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ date: "2024-09-18"
# updated: "" # When the content was last entirely checked
---

{{% changelog color="added" title="Module and namespace renaming" date="2025-06-09" %}}

You can now rename modules and organization namespaces through the web UI.
For more information, see [Rename a module](/operate/get-started/other-hardware/manage-modules/#rename-a-module) and [Update a namespace for your organization](/operate/reference/naming-modules/#update-a-namespace-for-your-organization).

{{% /changelog %}}

{{% changelog color="added" title="Move machines between locations" date="2025-06-10" %}}

Organization owners and location owners can now move machines between locations within their organization using the web UI.
Expand Down
19 changes: 16 additions & 3 deletions docs/operate/get-started/other-hardware/manage-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -412,11 +412,23 @@ To transfer ownership of a module from one organization to another:
1. Publish a new version of the module to the registry by following either set of update steps on this page.
This ensures that the model names in the module code match the registered model names in the registry.

1. Update the `model` field in the configuration of any machines that use the module to use the new organization's namespace.
1. (Recommended) Update the `model` field in the configuration of any machines that use the module to use the new organization's namespace.
Viam maintains backwards compatibility with the old namespace, but you should update the configuration to use the new namespace to avoid confusion.

## Rename a module

If you need to change the name of a module, please reach out to the Viam team at [[email protected]](mailto:[email protected]).
You can rename a module that your organization owns through the Viam web interface.
To rename a module:

1. Navigate to your module page at `app.viam.com/module/<namespace>/<module-name>`.
1. Click the **...** menu in the top right corner of the module page.
1. Select **Rename** from the dropdown menu.
1. Enter the new module name in the modal that appears.
1. Click **Rename** to confirm the change.

When you rename a module, Viam reserves the old module name for backwards compatibility and you cannot reuse it.

Existing machine configurations containing the old module name will continue to work.

{{% hiddencontent %}}

Expand All @@ -432,6 +444,7 @@ If you need to change the name of a model that a module implements, do the follo

1. Publish a new version of the module to the registry by following either set of update steps on this page.

1. Update the configuration of any machines that use the module to use the new model name.
1. (Recommended) Update the configuration of any machines that use the module to use the new model name.
Viam maintains backwards compatibility with the old model name, but updating the configuration is recommended to avoid confusion.

{{% /hiddencontent %}}
14 changes: 14 additions & 0 deletions docs/operate/reference/naming-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,17 @@ When uploading modules to the Viam Registry, you must set a unique namespace for
To create a new namespace for your organization, click on the org's **Settings** in the top right of the navigation bar, then click the **Set a public namespace** button.
Enter a name or use the suggested name for your namespace, and then click **Set namespace**.
A namespace may only contain letters, numbers, and the dash (`-`) character.

## Update a namespace for your organization

You can change your organization's namespace on your organization settings page:

1. Navigate to your organization settings page using the dropdown in the upper right corner of the web UI.
1. Click the **Rename** button next to your current namespace.
1. Enter the new namespace name in the modal that appears.
1. Click **Set namespace** to confirm the change.
1. For each module your organization owns, update the module code and <file>meta.json</file> to reflect the new namespace.
Copy link
Collaborator

@JessamyT JessamyT Jul 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaellee1019 questions:

  1. If this is recommended (per scope) but not required, why not?
    a. If you push updates to a module without updating namespace, does it break things?
  2. Scope doc only mentions public modules. What about private modules?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you answered 1 in the scope google doc convo. For Nathan/other reviewer transparency:
Yes it breaks things if you make changes to the module code w/o updating the namespace, so it's better to just update it when you change the namespace so you don't run into weird problems later

1. (Recommended) Update the `model` field in the configuration of any machines that use the module to use the new organization's namespace.
Machine configurations that reference the old namespace will continue to work, but we recommend updating them to use the new namespace to avoid confusion.

When you rename a namespace, Viam reserves the old namespace for backwards compatibility and you cannot reuse it.
Loading