@@ -221,6 +221,7 @@ Crossplane v2 makes the following breaking changes:
221
221
* It removes native patch and transform composition.
222
222
* It removes the `ControllerConfig` type.
223
223
* It removes support for external secret stores.
224
+ * It removes the default registry for Crossplane Packages.
224
225
225
226
Crossplane deprecated native patch and transform composition in Crossplane
226
227
v1.17. It's replaced by composition functions.
@@ -231,11 +232,26 @@ Crossplane deprecated the `ControllerConfig` type in v1.11. It's replaced by the
231
232
Crossplane added external secret stores in v1.7. External secret stores have
232
233
remained in alpha for over two years and are now unmaintained.
233
234
235
+ Crossplane v2 drops the `--registry` flag that allowed users to specify a default
236
+ registry value and now requires users to always specify a fully qualified URL when
237
+ installing packages, both directly via `spec.package` and indirectly as dependencies.
238
+ Using fully qualified images was already a best practice, but it's now enforced
239
+ to avoid confusion and unexpected behavior, to ensure users are aware of the
240
+ registry used by their packages.
241
+
234
242
{{<hint "important">}}
235
243
As long as you're not using these deprecated or alpha features, Crossplane v2 is
236
244
backward compatible with Crossplane v1.x.
237
245
{{</hint>}}
238
246
247
+ {{<hint "important">}}
248
+ Before upgrading to Crossplane v2, please ensure all your Packages are using fully
249
+ qualified images that explicitly specify a registry (`registry.example.com/repo/package:tag`).
250
+
251
+ Run `kubectl get pkg` to look for any packages that aren't fully qualified, then
252
+ update or rebuild any Packages to use fully qualified images as needed.
253
+ {{</hint>}}
254
+
239
255
<!-- vale gitlab.FutureTense = NO -->
240
256
Crossplane v2 supports legacy v1-style XRs and MRs. Most users will be able to
241
257
upgrade from v1.x to Crossplane v2 without breaking changes.
0 commit comments