v29.0.0-rc.3 #51434
vvoland
announced in
Announcements
v29.0.0-rc.3
#51434
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
29.0.0-rc.3
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Caution
This release includes several breaking changes and deprecations. Review the release notes carefully before upgrading.
firewall-backendoption tonftables. For more information, see Docker Engine docs.userns-remap(see moby#47377).Breaking Changes
github.com/docker/dockeris deprecated in favor ofgithub.com/moby/moby/clientandgithub.com/moby/moby/api. Thegithub.com/moby/mobymodule is considered an internal implementation detail - the only supported public modules areclientandapi.Starting with v29, releases are tagged with the
docker-prefix (e.g.,docker-v29.0.0). This only affects Go module users and package maintainers.v1.44or later (Docker v25.0+).New
docker image loadanddocker image savenow supports multiple platform selection via--platformflag (e.g.,docker image load --platform linux/amd64,linux/arm64 -i image.tar). docker/cli#6126docker image lsnow uses the new view (like--treebut collapsed) by default. docker/cli#6566docker run --runtime <...>is now supported on Windows. moby/moby#50546GET /containers/jsonnow includes aHealthfield describing container healthcheck status. moby/moby#50281deviceentitlement to builder configuration. moby/moby#50386memory-swapandmemory-swappinessflags todocker service createanddocker service updatecommands. docker/cli#6619memswap_limitandmem_swappinesstodocker stackcompose files. docker/cli#6619GODEBUGenvironment variable when the key-value pair ("GODEBUG":"...") exists inside the docker context metadata. docker/cli#6371Bug fixes and enhancements
docker image ls --treenow sorts images alphabetically by name instead of by creation date. docker/cli#6595docker image lsno longer shows untagged images by default if no--allflag is provided. docker/cli#6574docker save: Fixed inconsistent tar member timestamps when exporting images with the overlay2 storage driver. moby/moby#51365fluentd-read-timeout), which enables specifying read timeouts for reading acks from fluentd connections. moby/moby#50249docker images. docker/cli#6452docker inspectif a--typeis set. docker/cli#6444docker pluginsubcommands. docker/cli#6445--dnsoption and corresponding"dns"field indaemon.json. moby/moby#50600--mount type=imagefailure when mounting the same image multiple times to a different destinations. moby/moby#50268docker stats <container>not exiting gracefully. docker/cli#6582--log-level=trace. moby/moby#50986docker secretanddocker configsubcommands. docker/cli#6446docker run --gpus. moby/moby#50717Packaging updates
editorconfigas it was unmaintained. moby/moby#50607nanoand TextMate (tmbundle) as they were unmaintained and outdated. moby/moby#50606--dns. moby/moby#51229--subnet 0.0.0.0/24 --subnet ::/96. moby/moby#50114Networking
--bridge-accept-fwmark. Packets with this firewall mark will accepted by bridge networks, overriding Docker's iptables or nftables "drop" rules. moby/moby#50476DiskUsagefields for type specific fields. moby/moby#51235DOCKER_KEEP_DEPRECATED_LEGACY_LINKS_ENV_VARS=1to get them backdocker infonow reports the firewall backend if available. docker/cli#6191--gatewayis explicitly included in IPAM configuration. This addresses an issue which could cause container startup to fail in networks with IPv6 auto-configuration enabled. moby/moby#50929--ip-forward=falseto disable the check, but some bridge network functionality including port forwarding may not work. See Engine Docs for more information about migration from iptables to nftables. moby/moby#50646iptablesmangle rule for checksumming SCTP was only added if environment variableDOCKER_IPTABLES_SCTP_CHECKSUM=1was set. The rule has now been removed, the environment variable now has no effect. moby/moby#50539DOCKER-ISOLATION-STAGE-1andDOCKER-ISOLATION-STAGE-2chains. With these changes:. moby/moby#49981network inspect: the HNS network name is now reported in optioncom.docker.network.windowsshim.networknamerather than the Docker network name, which was only reported after a daemon restart. moby/moby#50961API
eventsAPI now reports content-type asapplication/x-ndjsonfor newline-delimited JSON event stream. moby/moby#50953GET /images/{name}/getandPOST /images/loadnow accept multipleplatformquery parameters, allowing export and load of images for multiple platforms. moby/moby#50166GET /images/{name}/jsonnow omits the following fields if their value is empty:Parent,Comment,DockerVersion,Author. moby/moby#51072GET /images/{name}/json: omit emptyConfigfields when not set. moby/moby#50915POST /images/{name:}/push: remove compatibility with API v1.4 auth-config in body. moby/moby#50371GET /servicesnow returnsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsGET /services/{id}now returnsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsPOST /services/createnow acceptsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsPOST /services/{id}/updatenow acceptsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsGET /tasksnow returnsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsGET /tasks/{id}now returnsSwapBytesandMemorySwappinessfields as part of theResourcerequirementsCachePruneOptionstype toclient.BuildCachePruneOptions. moby/moby#50772OnBuildwill now be omitted if its value is empty or zero. moby/moby#51154MacAddressobsolete for v1.52 and onwards. Use network endpoint settings instead. moby/moby#51189ResizeOptionstype toContainerResizeOptionsin the client. moby/moby#50773ListOptionstype to the clientEventsListOptions. moby/moby#50774CreateOptions,ConnectOptionsandDisconnectOptionsto the client module. moby/moby#50817ListOptionsandInspectOptionstypes to the client. moby/moby#50786SearchOptionstoImageSearchOptionsin the client. moby/moby#50787ServiceConfiglegacy field marshaling support into daemon backend. moby/moby#50826Storagetype and integrate in container inspect. moby/moby#50857PortConfigProtocol; usenetwork.IPProtocolinstead. moby/moby#51094SecretListOptionstype to the client module. moby/moby#50816DiskUsageOptionsto the client. moby/moby#50788SecurityOptandDecodeSecurityOptionsto client module. moby/moby#50825ListOptionstype to the client module. moby/moby#50789UpdateOptionsinto client module. moby/moby#51205GraphDriverfield inimage.InspectResponseoptional. This field will continue to be emitted when using the legacy graph drivers and will be omitted when using the containerd image backend. moby/moby#50893NetworkSummaryandNetworkInspecthave been added to the Swagger spec describing the Engine API. moby/moby#50855Go SDK
api/pkg/progressandapi/pkg/streamformatterhave been removed. moby/moby#51153api/types/registry:EncodeAuthConfig: use empty string for zero value. moby/moby#50426api/types/versionshas moved to the client and daemon. moby/moby#51284client.ConfigCreate,client.ConfigList,client.ConfigInspectWithRaw,client.ConfigUpdate, andclient.ConfigRemovemethods now accept option structs instead of positional arguments, and return dedicated result structs. moby/moby#51078client.ImageBuild,client.BuildCancel,client.ImageList,client.ImageRemove,client.ImageTag, andclient.ImageSearchmethods now accept option structs instead of positional arguments, and return dedicated result structs. moby/moby#51227client:ContainerExec...methods were renamed toExec.... moby/moby#51262client: Wrap return values ofImageInspect,ImageHistory,ImageLoadandImageSavein a struct. moby/moby#51236ImagePullnow returns an object withJSONMessagesmethod returning iterator over the message objects. moby/moby#50935ImagePushnow returns an object withJSONMessagesmethod returning iterator over the message objects. moby/moby#51148StatsResponseReadertoclientpackage. moby/moby#50521PorttoPortSummary. moby/moby#50711DefaultVersion,MinSupportedAPIVersionconsts. moby/moby#50587WithUserAgentoption. docker/cli#4574ContainerCommitOptions: removePausefield in favor ofNoPause. moby/moby#51019DefaultAPIVersionconst, which defines the default (and maximum) API version supported by the client. moby/moby#50433ExecAPIClientinterface for exec methods provided by the client. moby/moby#50997DefaultAPIVersionconst, which defines the default (and maximum) API version supported by the daemon. moby/moby#50436ContainerExecStart,ContainerList, andEvents. moby/moby#50448netip.Addrandnetip.Prefix, respectively. moby/moby#50956NetworkSettingsBaseandDefaultNetworkSettings. Fields inNetworkSettingsBasethat were not deprecated are now directly inNetworkSettings. moby/moby#50846client.Filterstype for filtering API requests, with a more ergonomic interface. Users of thegithub.com/docker/docker/api/types/filterspackage will need to refactor when they upgrade to the v29 client. moby/moby#51115"github.com/moby/moby/api/types/network".Summaryand"github.com/moby/moby/api/types/network".Inspectare no longer aliases, and most of their fields have been moved into an embedded struct. Engine API clients may require some source-level changes when migrating to the new github.com/moby/moby/api module. moby/moby#50878Deprecations
client/pkg/jsonmessage: remove deprecatedProgressMessage,ErrorMessage,DisplayJSONMessagesToStreamandStreaminterface. moby/moby#49264GET /eventsno longer includes the deprecatedstatus,id, andfromfields. These fields were removed in API v1.22, but still included in the response. These fields are now omitted when using API v1.52 or higher. moby/moby#50832Config.DockerVersionfield. moby/moby#51109[]string. moby/moby#50292DiskUsage.BuilderSize. moby/moby#51180PortBindingslists with a PortBinding with an empty HostIP and HostPort when starting a container. This behavior is deprecated for API 1.52, and will be dropped in API 1.53. moby/moby#50874ResolveDefaultContext. docker/cli#6555ImageCreatemethod - useImagePullorImageImportinstead. moby/moby#51366ImageListOptions.ContainerCount. moby/moby#51006Client.HTTPClient()method. moby/moby#51011GetDriver(). moby/moby#50377--pauseflag on docker commit in favor of--no-pause. docker/cli#6460Commit.Expectedfield. moby/moby#51127cli-plugins/manager: deprecate metadata aliases in favor of their equivalent incli-plugins/manager/metadata. docker/cli#6237cli-plugins/manager: removeCandidateinterface, which was only for internal use. docker/cli#6237cli-plugins/manager: removeNewPluginErrorfunction, which was only for internal use. docker/cli#6237cli-plugins/manager: remove deprecatedResourceAttributesEnvvarconst. docker/cli#6237cli/command: remove theErrPromptTerminated,DisableInputEcho,PromptForInput, andPromptForConfirmationutilities. These utilities were for internal use and are no longer used. docker/cli#6243cli/registry/client: remove deprecatedRepoNameForReference. docker/cli#6206ContainerTopOKBodyalias. moby/moby#50400ContainerUpdateOKBodyalias. moby/moby#50400Statstype. moby/moby#50492ToParamWithVersion. moby/moby#50561InspectResponse: remove deprecatedVirtualSize,Container,ContainerConfig,Parent, andDockerVersionfields. moby/moby#51103ServiceConfig.AllowNondistributableArtifactsCIDRsandServiceConfig.AllowNondistributableArtifactsHostnamesfields. moby/moby#50375NoBaseImageSpecifierconst. This const is no longer used and will be removed in the next release. moby/moby#50437NoBaseImageSpecifier. moby/moby#50574CachePrune(), which was no longer used. docker/cli#6236NewBuilderCommandandNewBakeStubCommand. docker/cli#6335NewCheckpointCommand. docker/cli#6335NewFormat,FormatWrite. docker/cli#6339NoComplete. docker/cli#6408NewConfigCommand. docker/cli#6335NewFormat,FormatWrite,InspectFormatWrite. docker/cli#6339RunConfigCreate,CreateOptions,RunConfigInspect,InspectOptions,RunConfigList,ListOptions,RunConfigRemove, andRemoveOptions. docker/cli#6370NewDiffFormat,DiffFormatWrite. These functions were only used internally and will be removed in the next release. docker/cli#6187NewBuildCommand,NewPullCommand,NewPushCommand,NewImagesCommand,NewImageCommand,NewHistoryCommand,NewImportCommand,NewLoadCommand,NewRemoveCommand,NewSaveCommand,NewTagCommand,NewPruneCommand. docker/cli#6335NewRunCommand,NewExecCommand,NewPsCommand,NewContainerCommand,NewAttachCommand,NewCommitCommand,NewCopyCommand,NewCreateCommand,NewDiffCommand,NewExportCommand,NewKillCommand,NewLogsCommand,NewPauseCommand,NewPortCommand,NewRenameCommand,NewRestartCommand,NewRmCommand,NewStartCommand,NewStatsCommand,NewStopCommand,NewTopCommand,NewUnpauseCommand,NewUpdateCommand,NewWaitCommand,NewPruneCommand. docker/cli#6335RunPrune(), which was no longer used. docker/cli#6236NewDiffFormat,DiffFormatWrite. docker/cli#6339NewContextCommand. docker/cli#6335RunCreateandCreateOptions. docker/cli#6407RunExportandExportOptions. docker/cli#6407RunImport. docker/cli#6407RunRemoveandRemoveOptions. docker/cli#6407RunUpdateandUpdateOptions. docker/cli#6407RunUse. docker/cli#6407GetStacksfunction. docker/cli#6406DefaultDockerfileName,DetectArchiveReader,WriteTempDockerfile,ResolveAndValidateContextPath. These utilities were only used internally and will be removed in the next release. docker/cli#6561RunPrune(), which was no longer used. docker/cli#6236AuthResolverutility. docker/cli#6373NewHistoryFormat,HistoryWrite. docker/cli#6339, docker/cli#6339NewManifestCommand. docker/cli#6335NewNetworkCommand. docker/cli#6335RunPrune(), which was no longer used. docker/cli#6236NewFormat,FormatWrite. docker/cli#6339NewNodeCommand. docker/cli#6335NewFormat,FormatWrite,InspectFormatWrite. docker/cli#6339NewPluginCommand. docker/cli#6335NewFormat,FormatWrite. docker/cli#6339NewLoginCommand,NewLogoutCommand,NewSearchCommand. docker/cli#6335NewSearchFormat,SearchWrite. docker/cli#6339OauthLoginEscapeHatchEnvVarconst. docker/cli#6463NewSecretCommand. docker/cli#6335NewFormat,FormatWrite,InspectFormatWrite. docker/cli#6339NewServiceCommand. docker/cli#6335NewFormat,InspectFormatWrite. docker/cli#6339NewStackCommand. docker/cli#6335NewSwarmCommand. docker/cli#6335NewVersionCommand,NewInfoCommand,NewSystemCommand,NewEventsCommand,NewInspectCommand. docker/cli#6335NewTaskFormat,FormatWrite. docker/cli#6339NewTrustCommand. docker/cli#6335NewPruneCommand. docker/cli#6344SignedTagInfo,SignerInfo,NewTrustTagFormat,NewSignerInfoFormat,TagWrite,SignerInfoWrite. docker/cli#6339NewVolumeCommand,NewPruneCommand. docker/cli#6335RunPrune(), which was no longer used. docker/cli#6236AddTrustSigningFlags,AddTrustVerificationFlags, andAddPlatformFlagutilities, which were only used internally. docker/cli#6244DockerCli.Apply. docker/cli#6503DockerCli.ContentTrustEnabled. docker/cli#6502DockerCli.DefaultVersion. docker/cli#6502RegistryAuthenticationPrivilegedFunc. docker/cli#6349WithContentTrustFromEnv,WithContentTrustoptions. docker/cli#6502ConfigFile.Experimentalfield. docker/cli#6464AuthConfig.Emailfield. docker/cli#6515IsNotFound. docker/cli#6523VisitAll,DisableFlagsInUseLineutilities. docker/cli#6296APIClient.ImageInspectWithRawfrom theAPIClientinterface. moby/moby#50485ImageAPIClient.ImageInspectWithRawfrom theImageAPIClientinterface. moby/moby#50485ImageAPIClientDeprecated.ImageInspectWithRawfrom theImageAPIClientDeprecated. moby/moby#50485ErrorConnectionFailedandIsErrNotFoundfunctions. moby/moby#50485NewClientandNewEnvClientfunctions. moby/moby#50485CommonAPIClientinterface. moby/moby#50485ImageAPIClientDeprecatedinterface. moby/moby#50485Client.ImageInspectWithRawmethod. moby/moby#50485IsValidHealthString. moby/moby#50378IsValidStateString. moby/moby#50378StateStatus,WaitCondition, and the relatedWaitConditionNotRunning,WaitConditionNextExit, andWaitConditionRemovedconsts. moby/moby#50378pkg/stdcopy, which was moved toapi/stdcopy. moby/moby#50462NetworkSettingsBase.Bridge, structNetworkSettingsBase, all the fields ofDefaultNetworkSettings, and structDefaultNetworkSettings. moby/moby#50848ListOpts.GetAll. It's no longer used and replaced byListOpts.GetSlice. docker/cli#6293NewNamedListOptsRef,NewNamedMapOpts,NamedListOpts,NamedMapOpts, andNamedOption. These types and functions are no longer used and will be removed in the next release. docker/cli#6293ParseEnvFilein favour ofkvfile.Parse. docker/cli#6382QuotedString. docker/cli#6293ValidateHost. docker/cli#6293EscapeArgs()andIsAbs. These functions were only used internally and will be removed in the next release. moby/moby#50399APIEndpoint.TrimHostName,APIEndpoint.Official, andAPIEndpoint.AllowNondistributableArtifactsfields. moby/moby#50376HostCertsDir()andSetCertsDir()functions. moby/moby#50373RepositoryInfo.OfficialandRepositoryInfo.Classfield. moby/moby#50498Service.ResolveRepository(). moby/moby#50374buildkit.ClientOpts. moby/moby#50318pkg/fileutils. moby/moby#50558IsNotFound,CommandAnnotationPlugin,CommandAnnotationPluginVendor,CommandAnnotationPluginVersion,CommandAnnotationPluginInvalid,CommandAnnotationPluginCommandPath,NamePrefix,MetadataSubcommandName,HookSubcommandName,Metadata, andReexecEnvvarfromcli-plugins/managerin favor of theircli-plugins/manager/metadataequivalents. docker/cli#6414types/plugins/logdriverandtypes/swarm/runtimepackages; plugin-runtime spec is now exposed astypes/swarm.RuntimeSpecandtypes/swarm.RuntimePrivilege. moby/moby#50554NewParsefunction. docker/cli#6453--kernel-memoryoption ondocker runanddocker create, and produce a warning when used as it's no longer supported by the daemon and kernel. docker/cli#6455VirtualSizefield fromdocker image lsoutput when using JSON format. docker/cli#6524VirtualSizeformatting options and output. docker/cli#6524bind-nonrecursiveoption for--mount. docker/cli#6241pkg/archive,pkg/chrootarchive,pkg/atomicwriter,pkg/reexec,pkg/platform,pkg/parsers),pkg/system.MkdirAll. For replacements, seegithub.com/moby/go-archive,github.com/moby/sysand the standard library. moby/moby#50208--tlscacert,--tlscert, and--tlskeycommand-line flags. docker/cli#6306--rm) on API < 1.30. docker/cli#6525This discussion was created from the release v29.0.0-rc.3.
Beta Was this translation helpful? Give feedback.
All reactions