You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _implementors/features.md
+41Lines changed: 41 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -51,6 +51,7 @@ The properties of the file are as follows:
51
51
|`entrypoint`| string | Set if the feature requires an "entrypoint" script that should fire at container start up. |
52
52
|`customizations`| object | Product specific properties, each namespace under `customizations` is treated as a separate set of properties. For each of this sets the object is parsed, values are replaced while arrays are set as a union. |
53
53
|`installsAfter`| array | Array of ID's of Features that should execute before this one. Allows control for feature authors on soft dependencies between different Features. |
54
+
|`legacyIds`| array | Array of old IDs used to publish this Feature. The property is useful for renaming a currently published Feature within a single namespace. |
54
55
|`deprecated`| boolean | Indicates that the Feature is deprecated, and will not receive any further updates/support. This property is intended to be used by the supporting tools for highlighting Feature deprecation. |
55
56
{: .table .table-bordered .table-responsive}
56
57
@@ -362,6 +363,46 @@ Pip? false
362
363
Optimize? true
363
364
```
364
365
366
+
### <ahref="#steps-to-rename-a-feature"name="steps-to-rename-a-feature"class="anchor"> Steps to rename a Feature </a>
367
+
368
+
1. Update the Feature [source code](./features-distribution.md#source-code) folder and the `id` property in the [devcontainer-feature.json properties](#devcontainer-featurejson-properties) to reflect the new `id`. Other properties (`name`, `documentationUrl`, etc.) can optionally be updated during this step.
369
+
2. Add or update the `legacyIds` property to the Feature, including the previously used `id`.
370
+
3. Bump the semantic version of the Feature.
371
+
4. Rerun the `devcontainer features publish` command, or equivalent tool that implements the [Features distribution specification](./features-distribution.md#distribution).
372
+
373
+
#### Example: Renaming a Feature
374
+
375
+
Let's say we currently have a `docker-from-docker` Feature 👇
We'd want to rename this Feature to `docker-outside-of-docker`. The source code folder of the Feature will be updated to `docker-outside-of-docker` and the updated `devcontainer-feature.json` will look like 👇
0 commit comments