Skip to content

Latest commit

 

History

History
896 lines (581 loc) · 37.6 KB

CHANGELOG.md

File metadata and controls

896 lines (581 loc) · 37.6 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.

v0.12.5 - 2024-08-15

Added

  • cli: allow calling core functions directly by @helderco in dagger#7310
    Usage: dagger core <function>
    Example: dagger core container from --address=alpine terminal

    Works the same as dagger call, but instead of loading a user module, it only uses functions from the core API.

    Run dagger core --help for available functions.

    Note that this command is experimental and the DX for calling core functions in the CLI may change in the future.

  • New SDK aliases for elixir and php by @jedevc in dagger#8067
    SDKs with experimental module support (elixir and php) can now be accessed using --sdk=<sdk> (such as --sdk=elixir and --sdk=php respectively) instead of the full form --sdk=github.com/dagger/dagger/sdk/<sdk>@<version>.

  • Add File.digest method by @TomChv in dagger#8114
    This method provides an efficient way to compute a file's digest, which unlock optimized file comparison or check for file changes.

  • Bundle CLI in the Engine image so that both parts of Dagger (CLI+Engine) ship as a single artefact by @gerhard in dagger#8147

Changed

  • Reimplemented the OpenTelemetry data pipeline to avoid hangs and other complications by @vito in dagger#7996

Fixed

  • Fix Directory.glob to correctly handle globs with subdir prefixes by @jedevc in dagger#8110
    Previously, attempting to glob with a prefix subdir in a pattern like <subdir>/* would not match any files. This should now be fixed, and files in <subdir> will now be correctly matched.
  • Fix failed to collect IDs from parent fields error when module objects contain fields with nil values by @jedevc/@sipsma in dagger#8132
  • Fixed enum lists in modules by @helderco in dagger#8096
  • Fixed referring to module's own objects/interfaces/enums in constructor signature by @jedevc in dagger#8115
    Previously, modules would fail to launch if they declared a constructor that contained a reference to a type from it's own module in it's args.
  • Fixed using custom enum types as optional arguments by @jedevc in dagger#8148
    Previously, function calls that defined an optional argument would not be callable.
  • Make retrieving secret from command works on Windows by @wingyplus in dagger#8121

What to do next?

v0.12.4 - 2024-08-01

Changed

  • Deprecate old pipeline APIs by @jedevc in dagger#8064
    These operations have been no-ops since v0.11.0, and will be removed in v0.13.0.

Fixed

  • Fix errors when using Dockerfile builds from module functions that have secrets by @sipsma in dagger#8049
  • Fix dagger terminal prompt with debian-based images by @vmaffet in dagger#7960
  • Fix occasional leaks in secret scrubbing algorithm by @jedevc in dagger#8047
  • Fix frequent context switches in --progress=plain output by @jedevc in dagger#7956
  • Extend multi git server support to Azure devOps by @grouville in dagger#8063
    Our support for Azure refs was broken on monorepos. We special-case Azure DevOps since it doesn't work with the go standard convention of discovering the root of a git repository

What to do next?

v0.12.3 - 2024-07-25

Added

  • cli: propagate exit code from function by @helderco in dagger#8019

Fixed

  • Fix rare condition in which clients could use wrong files in filesync by @sipsma in dagger#7900
  • Fix missing secret errors when secrets are set in objects fields during chained function calls by @sipsma in dagger#8011

What to do next?

v0.12.2 - 2024-07-22

Changed

  • dagger init now generates files in the current directory by default and no longer in ./dagger by @TomChv in dagger#7824

Fixed

  • cli: fix handling of enum default values by @helderco in dagger#8000
  • cli: fix Cloud traces and GitHub checks always being succeeded by @vito in dagger#8001
    • note: this only affects telemetry; the command itself still fails.

What to do next?

v0.12.1 - 2024-07-18

Added

  • cli: add support for passing Sockets as arguments from the CLI to Functions by @sipsma in dagger#7804
  • cli: new --compat flag for develop to target a specific api version by @jedevc in dagger#7948

Changed

  • cloud: traces are not uploaded for dagger version/dagger login/dagger logout/etc by @jedevc in dagger#7928

Fixed

  • core: allow @ in local module name by @grouville in dagger#7891
  • cli: fix dagger version sometimes disappearing by @jedevc in dagger#7919
  • cli: avoid api errors when calling modules in compat mode by @jedevc in dagger#7924

What to do next?

v0.12.0 - 2024-07-12

This release is significant. All details (including videos & code examples) are captured in this blog post.

🔥 Breaking Changes

  • sdk: Various breaking changes to the Go SDK
    See the SDK-specific release notes for more information.
  • api: Align Container.withNewFile signature with Directory.withNewFile by @helderco in dagger#7293
    Callers of Container.withNewFile will need to change contents from optional to required argument.
  • api: Skip entrypoint by default in withExec by @helderco in dagger#7136
    Callers relying on a Container's entrypoint will need to be updated to opt-in with useEntrypoint.
  • api: Don't fallback to the default command on Container.stdout and Container.stderr by @helderco in dagger#7857
    Callers of stdout and stderr without a previous withExec will need to insert an explicit empty withExec.
  • api: Container.terminal now returns a Container by @aluzzardi in dagger#7586
    Callers of terminal will need be updated to handle the updated type.
  • api: Return absolute path on export instead of boolean by @helderco in dagger#7500
    Callers expecting a boolean return will need to be updated to instead handle a string path.
  • api: Removed deprecated sshAuthSocket and sshKnownHosts args from GitRef.tree by @jedevc in dagger#6934
    Callers should instead attach these arguments onto the top-level git call.
  • api: Removed id parameters for container, directory and socket by @jedevc in dagger#6934
    Users of these parameters should instead use the standalone loadContainerFromID, loadDirectoryFromID and loadSocketFromID respectively.
  • api: Removed checkVersionCompatibility field (versioning checks are now automatically performed on all connections) by @jedevc in dagger#7751
    Versioning checks are now all automatically performed on all connections, and never need to be manually performed through the API.

Upgrade Instructions

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.

Added

  • api: terminal can be inserted into the middle of Container and Directory pipelines to pop an interactive shell by @aluzzardi in dagger#7586
  • api: Introduced module versioning compatibility by @jedevc in dagger#7759
  • tui: Improved progress navigation and verbosity settings by @vito in dagger#7671
  • cli: Add -q flag and DAGGER_QUIET=1 to restore previous verbosity default by @vito in dagger#7822
  • cli: Expand tilde (~) in file, directory and secret file argument by @wingyplus in dagger#7818
  • api: Add git tags API by @grouville in dagger#7742
  • api: Add core APIs for local cache state by @sipsma in dagger#7767

Changed

  • cli: Print module object fields with dagger call by @helderco in dagger#7479

Fixed

  • cli: Allow absolute paths for local module paths by @Michael Albers in dagger#7476
  • cli: Generate LICENSE only if --sdk is set on dagger develop by @TomChv in dagger#7719
  • core: Correctly set new engine gc policy defaults by @jedevc in dagger#7749
  • tui: plain progress output updated to not use hyperlinks by @jedevc in dagger#7754
  • core: Prevent service healthchecks from using too long a retry interval by @sipsma in dagger#7848

What to do next?

v0.11.9 - 2024-06-24

Fixed

  • Fix engine local disk cache growing indefinitely by @sipsma in dagger#7738

What to do next?

v0.11.8 - 2024-06-18

🔥Breaking Changes

  • core: when manually connecting cli and engine, versions must be at least v0.11.8 by @sipsma in dagger#7643

Added

  • core: allow hosting modules outside of GitHub by @grouville in dagger#7511

Changed

Fixed

  • core: fixed telemetry draining when clients exit uncleanly by @vito in dagger#7660
  • cli: fixed infinite loop when simplifying on high verbosity levels by @jedevc in dagger#7679
  • cli: improve chunking of plain progress logs by @jedevc in dagger#7653

Dependencies

  • core: revert iptables to legacy to avoid use of nftables by @marcosnils in dagger#7670

What to do next?

v0.11.7 - 2024-06-11

🔥 Breaking Changes

  • core: when manually connecting cli and engine, versions must be at least v0.11.7 by @jedevc in dagger#7031
  • sdk: runtime module interface accepts schema as File instead of string for improved performance by @sipsma in dagger#7549

Changed

  • core: engine gc policy is less aggressive by @marcosnils in dagger#7563
  • cli: minor improvements to progress viewer by @jedevc in dagger#7474
  • cli: decrease connect timeout in gRPC dial by @marcosnils in dagger#7612

Fixed

  • core: fix File.export to local Windows client by @wingyplus in dagger#7564
  • core: handle secrets in dockerfile builds with syntax directives by @jedevc in dagger#7595
  • core: improved telemetry draining and prevents hangs by @vito in dagger#7452

What to do next?

v0.11.6 - 2024-05-30

Added

  • Add withName method to File by @TomChv in dagger#7491

Fixed

  • cli: don't validate flags when requesting --help by @helderco in dagger#7417
  • fix container init being wrong platform in arm image by @sipsma in dagger#7497
  • fix container DNS resolution when host has no search domains by @sipsma in dagger#7501
  • honor system proxy config during git operations by @sipsma in dagger#7504
  • fix windows-style paths used as file+directory arg values in dagger call by @sipsma in dagger#7506

What to do next?

v0.11.5 - 2024-05-27

Added

  • cli: dagger login cloud traces support by @aluzzardi in dagger#7125
  • cli: improved --progress=plain implementation for better visibility by @jedevc in dagger#7272

Changed

Fixed

  • core: fixed custom CA certs in modules by @sipsma in dagger#7356
  • cli: don't validate flags when requesting --help by @helderco in dagger#7417

What to do next?

v0.11.4 - 2024-05-09

Fixed

  • cli: Fix panic when calling function with list of scalars by @jedevc in dagger#7322
  • Avoid hang caused by client id conflicts by @sipsma in dagger#7335
  • Avoid unneccessary module cache invalidation from internal plumbing values by @sipsma in dagger#7336

What to do next?

v0.11.3 - 2024-05-08

🔥 Breaking Changes

  • cli: remove space stripping from secret arguments by @marcosnils in dagger#7271

Added

  • Added support for custom scalars and enums in function arguments by @jedevc in dagger#7158
  • Added support for propagating system proxy settings by @sipsma in dagger#7255
  • api: Added Container.withoutSecretVariable by @helderco in dagger#7291
  • api: Added Container.withoutDirectory and Container.withoutFile by @helderco in dagger#7292

Changed

  • cli: Added a visual cue for required flags in --help by @grouville in dagger#7262
  • cli: Conventionalized usage syntax in --help by @grouville in dagger#7143
  • cli: Use "functions" and "arguments" in dagger call --help by @helderco in dagger#7286

Fixed

  • api: Set Container.platform correctly when using Container.from by @marcosnils in dagger#7298
  • Avoid intermittent failed to get state for index errors by @sipsma in dagger#7295 dagger#7309
  • Avoid panic when masked parent is missing by @vito in dagger#7227
  • Fix terminal broken on Windows by @wingyplus in dagger#7305

What to do next?

v0.11.2 - 2024-04-25

Added

  • New version field to get engine version details by @jedevc in dagger#7029

Changed

  • cli: style headings in BOLD UPPERCASE to help break sections visually by @grouville in dagger#7126
  • cli: remove discrepancy in usage between dagger query and the rest of the commands by @grouville in dagger#7124
  • cli: move arguments section below functions/commands in usage, for better readability by @grouville in dagger#7134
  • cli: adopt options terminology instead of flags by @grouville in dagger#7170

Fixed

  • Fixed more windows path issues by @jedevc in dagger#7118
  • cli: Fixed using --help after arguments in dagger functions by @helderco in dagger#7187

What to do next?

v0.11.1 - 2024-04-16

Added

  • Add withAuthToken and withAuthHeader fields to GitRepository by @jedevc in dagger#6992

Fixed

What to do next?

v0.11.0 - 2024-04-03

🔥 Breaking Changes

  • Old clients <=0.10.3 cannot connect to a new >=v0.11.0 engine
  • Old progress interfaces removed by @vito in dagger#6835
  • --focus CLI flag removed by @vito in dagger#6835

Added

  • Add OTEL trace exports by @vito in dagger#6835
  • Add Head field to GitRepository to get the default branch by @jedevc in dagger#6994

Fixed

  • Fix DOCKER_HOST not working when DAGGER_CLOUD_TOKEN set by @sipsma in dagger#7006

What to do next?

v0.10.3 - 2024-03-26

Added

  • Add support for wipe arg to Directory.export by @sipsma in dagger#6909
  • Add new Secret.Name field by @jedevc in dagger#6924
  • Support directory arg filtering via views by @sipsma in dagger#6857
  • Make automatic .gitignore creation for modules configurable by @sipsma in dagger#6888

Changed

  • Allow id as argument name to functions by @sipsma in dagger#6912

Fixed

  • Fix Container.withFiles not respecting absolute paths by @helderco in dagger#6879
  • Fix Directory.glob on directories with a sub path by @helderco in dagger#6904
  • Allow unicode parent path components by @jedevc in dagger#6925

What to do next?

v0.10.2 - 2024-03-12

Fixed

  • Fix panic on unset default terminal arg by @TomChv in dagger#6838
  • Trim spaces on file and command secret source inputs by @kpenfound in dagger#6845
  • Fix name conflicts with Query by @jedevc in dagger#6849
  • Propagate GraphQL client to child clients by @jedevc in dagger#6851
  • Prevent glob from returning duplicate directories by @jedevc in dagger#6852
  • Do find-up of dagger.json for all relevant commands (works from subdirs) by @sipsma in dagger#6860

What to do next?

v0.10.1 - 2024-03-05

Added

  • Allow passing git URLs to dagger call file type args by @jedevc in dagger#6769
  • Support privileges and nesting in default terminal command by @TomChv in dagger#6805

Fixed

  • Fix panic in Contents for massive files by @jedevc in dagger#6772
  • Dagger go modules default to the module name instead of "main" by @jedevc in dagger#6774
  • Fix a regression where secrets used with dockerBuild could error out by @jedevc in dagger#6809
  • Fix goroutine and memory leaks in engine by @sipsma in dagger#6760
  • Fix potential name clash with "Client" in Go functions by @jedevc in dagger#6716

What to do next?

v0.10.0 - 2024-02-27

Added

  • New Dagger functions and modules
    • Modules allow bundling up and sharing reuable pipeline functions in a cross-language way.
    • New CLI commands (such as dagger call) provide a consistent interface to easily invoke functions inside modules.
    • A new TUI interface allows easily following along with what's going on.

What to do next?

v0.9.11 - 2024-02-20

Fixed

  • Improve docker error logging by @jedevc in dagger#6676

What to do next?

v0.9.10 - 2024-02-12

Added

  • Add new Directory.WithFiles and Container.WithFiles by @tomasmota in dagger#6556

Fixed

  • Avoid panic in secret scrubber caused by similar secret names @jedevc in dagger#6641

What to do next?

v0.9.9 - 2024-02-08

Added

What to do next?

v0.9.8 - 2024-02-01

🔥 Breaking Changes

  • Service.Stop now uses SIGTERM instead of SIGKILL by default by @jedevc in dagger#6354

Added

  • Add option to skip healthcheck on exposed ports by @KGB33 in dagger#6214
  • New kill option for Service.Stop by @jedevc in dagger#6354

What to do next?

v0.9.7 - 2024-01-18

Added

What to do next?

v0.9.6 - 2024-01-11

🔥 Breaking Changes

  • Argument to withDefaultArgs is now required by @helderco in dagger#6281

Fixed

  • Fix shim panic when exec-ing an unknown command by @Juneezee in dagger#6356
  • Fix potential panic when exporting cache by @jedevc in dagger#6378
  • Fix concurrent map access in api server by @jedevc in dagger#6388

What to do next?

v0.9.5 - 2023-12-21

Added

  • New withoutEntryoint and withoutDefaultArgs fields by @helderco in dagger#6278

Fixed

  • Clear defaultArgs on withEntrypoint by default by @helderco in dagger#6280

What to do next?

v0.9.4 - 2023-12-08

Added

  • New secret scrubbing implementation for more responsive logs by @jedevc in dagger#6034
  • Improved logging during engine startup by @jedevc in dagger#6075

Fixed

  • Fix WithMountedDirectory invalidating cache by @jedevc in dagger#6211

What to do next?

v0.9.3 - 2023-11-03

Fixed

  • Fixes + performance improvements to experimental features

What to do next?

v0.9.2 - 2023-10-30

Added

  • experimental Nvidia GPU support by @matiasinsaurralde in dagger#5605

What to do next?

v0.9.1 - 2023-10-26

Added

  • Implement new commit resolver for GitRef by @jedevc in dagger#5910
  • Directory supports Glob method by @TomChv in dagger#5824

What to do next?

v0.9.0 - 2023-10-20

🔥 Breaking Changes

  • engine: new services API with container <=> host networking, explicit start/stop by @vito in dagger#5557
  • implement new conventions for IDable objects by @vito in dagger#5881

Added

  • engine: support multiple cache configs for upstream remote cache by @sipsma in dagger#5730

Changed

  • engine: reduce connection retry noise by @sipsma in dagger#5918

Fixed

  • engine: fix missing descriptor handlers for lazy blobs error w/ cloud cache by @sipsma in dagger#5885

What to do next?

v0.8.8 - 2023-10-11

Added

  • core: use BuildKit's own readiness implementation instead of our custom logic by @jedevc in dagger#5808
  • core: add Engine logs for failed queries in debug mode by @jedevc in dagger#5827

Fixed

  • cli: restart manually stopped engine containers by @jedevc in dagger#5811
  • cli: fix process hang when running certain command with dagger run by @wingyplus in dagger#5712

What to do next?

v0.8.7 - 2023-09-18

Added

  • core: remove syncedCacheMount check for cache manager by @marcosnils in dagger#5797

What to do next?

v0.8.6 - 2023-09-18

Added

  • core: record seen cache volumes at resolver level by @marcosnils in dagger#5786

What to do next?

v0.8.5 - 2023-09-13

Added

  • cli: add DAGGER_SESSION_TOKEN env var support in listen command by @marcosnils in dagger#5704
  • core: Extends mounted secret API to support mode and optional arguments by @TomChv in dagger#5707
  • engine: add DAGGER_CLOUD_TOKEN env var support by @marcosnils in dagger#5773

Fixed

  • engine: fix panic if _EXPERIMENTAL_DAGGER_SERVICES_DNS is disabled by @vbehar in dagger#5760
  • services: refactor to per-client instances that stop on client close by @vito in dagger#5764
  • cli: fix interactive TUI nil panic by @vito in dagger#5681

What to do next?

v0.8.4 - 2023-08-17

Fixed

  • Default container tar export permissions to 0600 by @sipsma in dagger#5649

What to do next?

v0.8.3 - 2023-08-16

Added

  • Include details during Dagger Engine loading by @TomChv in dagger#5436
  • Show host target on directory or file export by @TomChv in dagger#5632

Changed

  • Hide merge vertexes from output by @sipsma in dagger#5630

Fixed

  • Fix Engine connection hang when UTF8 characters present in labels by @vito in dagger#5628
  • Export files with same permissions as source by @sipsma in dagger#5629

What to do next?

v0.8.2 - 2023-08-10

Added

  • remote cache: improve http error checking by @aluzzardi in dagger#5506

Fixed

  • engine: fix combined cache manager to query local cache too by @sipsma in dagger#5585
  • telemetry: fix labels not being included by @vito in dagger#5602

What to do next?

v0.8.1 - 2023-08-04

Fixed

  • cli: fix dagger run not showing command progress by @vito in dagger#5564
  • core: fix setting image config during multiplatform export+publish by @sipsma in dagger#5574
  • core: fix exports of files larger than default grpc max message size by @sipsma in dagger#5570
  • engine: report correct engine version by stamping engine image too by @sipsma in dagger#5578
  • core: handle v prefix in version compatibility check by @sipsma in dagger#5578

What to do next?

v0.8.0 - 2023-08-03

🔥 Breaking Changes

  • engine: remove API deprecations by @helderco in dagger#5512
  • engine: Rename id argument in Container.withRootfs by @helderco in dagger#5513

Added

  • engine: implement Host.setSecretFile to securely set binary files as secrets by @grouville in dagger#5500

Fixed

  • engine: Bump Alpine version to fix service DNS resolution by @marcosnils in dagger#5470

What to do next?

v0.6.4 - 2023-07-19

Added

  • cli: show total duration at the end of a run by @vito in dagger#5476
  • engine: add Directory.Sync by @helderco in dagger#5414
  • engine: add File.Sync by @helderco in dagger#5416
  • engine: add Container.WithFocus & Container.WithoutFocus by @vito in dagger#5364
  • engine: add include & exclude to host dir copy name by @sipsma in dagger#5469

Deprecated

  • engine: deprecate exitCode by @helderco in dagger#5481

Fixed

  • engine: prevent session id from busting caches everywhere by @vito in dagger#5474
  • engine: optimize WithDirectory & WithFile via MergeOp by @sipsma in dagger#5400
  • engine: remove unimplemented git fields by @helderco in dagger#5410
  • engine: support optionally setting explicit OCI mediatypes by @sipsma in dagger#5467

What to do next?

v0.6.3 - 2023-07-04

Added

  • cache: Set default Cloud Cache URL by @marcosnils in dagger#5343
  • engine: Add Cloud Cache token env var by @marcosnils in dagger#5356
  • core: Improve image publish/export format compatibility by @sipsma in dagger#5365
  • core: Send Progrock updates to Cloud by @vito in dagger#5297

Fixed

  • core: Use include filter in host.file by @sipsma in dagger#5345
  • cli: Fix incorrect subcommand being called by @sipsma in dagger#5344
  • engine: Remove old Cache config env from autoprovision by @sipsma in dagger#5355

What to do next?