.changes/v0.12.0.md
This release is significant. All details (including videos & code examples) are captured in this blog post.
Container.withNewFile signature with Directory.withNewFile by @helderco in https://github.com/dagger/dagger/pull/7293 Container.withNewFile will need to change contents from optional to required argument.withExec by @helderco in https://github.com/dagger/dagger/pull/7136 Container's entrypoint will need to be updated
to opt-in with useEntrypoint.Container.stdout and Container.stderr by @helderco in https://github.com/dagger/dagger/pull/7857 stdout and stderr without a previous withExec will need to
insert an explicit empty withExec.Container.terminal now returns a Container by @aluzzardi in https://github.com/dagger/dagger/pull/7586 terminal will need be updated to handle the updated type.sshAuthSocket and sshKnownHosts args from GitRef.tree by @jedevc in https://github.com/dagger/dagger/pull/6934 git call.id parameters for container, directory and socket by @jedevc in https://github.com/dagger/dagger/pull/6934 loadContainerFromID, loadDirectoryFromID and loadSocketFromID
respectively.checkVersionCompatibility field (versioning checks are now automatically performed on all connections) by @jedevc in https://github.com/dagger/dagger/pull/7751 Thanks to the new compatibility mode feature, these breaking changes should not
impact any existing Modules immediately. dagger call should still work on
v0.12.0 without any changes to your Module code (any compat issues for modules
are likely a bug, please report!)
After upgrading to Engine v0.12.0, you can upgrade your Module to use the
latest v0.12.0 APIs by running dagger develop. That will update the
engineVersion field of your module's dagger.json configuration file to
v0.12.0 and enable the new APIs.
After that, if your code is impacted by any of the breaking changes, you will
see errors when running dagger call. Once the errors are fixed, dagger call
will work again and your module can be updated in Daggerverse if desired.
More detailed instructions on addressing the individual API incompatible changes can be found in the PR descriptions linked above.
terminal can be inserted into the middle of Container and Directory pipelines to pop an interactive shell by @aluzzardi in https://github.com/dagger/dagger/pull/7586-q flag and DAGGER_QUIET=1 to restore previous verbosity default by @vito in https://github.com/dagger/dagger/pull/7822~) in file, directory and secret file argument by @wingyplus in https://github.com/dagger/dagger/pull/7818dagger call by @helderco in https://github.com/dagger/dagger/pull/7479LICENSE only if --sdk is set on dagger develop by @TomChv in https://github.com/dagger/dagger/pull/7719