mirror of
https://github.com/immich-app/immich.git
synced 2026-07-25 14:00:45 +03:00
Closed
opened 2026-02-05 16:28:05 +03:00 by OVERLORD
·
0 comments
No Branch/Tag Specified
main
chore/translations
fix/partner-ownership-contention
renovate/machine-learning
renovate/pypi-pillow-vulnerability
renovate/pypi-pydantic-settings-vulnerability
renovate/java-25.x
renovate/mobile
chore/harden-mobile-openapi-gen
renovate/java-21.x
fix/min-faces
refactor/asset-update
feat/merge-people-mobile
chore/face-cluster-abstraction
refactor/search-v3/pr-2a
fcast
fix/android-local-album-date
fix/24545-sync-retry-cx
fix/android-locked-folder-delete
make-sure-memory-widget-render
chore/freezed-example
fix/clamp-local-date-time-to-valid-value
fix/datetime-max-limit
fix/viewer-long-image-aspect
feat/native-core
feat/yucca-integration
refactor/mobile-actions
fix/ws-reconnect-battery
renovate/sharp
renovate/pigeon-27.x
refactor/auto-trash-sync
feat/release-source-branch
refactor/session-repository
fix/library-map-live-bounds-updates
renovate/permission_handler-12.x
renovate/node-24.x
fix/mobile-scroll-velocity-placeholders
fix/library-map-loading-flash
agg23/appbar-experiments
renovate/pep621-lock-file-maintenance-machine-learning
refactor/undo-actions
refactor/actions
feat/restore-action
feat/delete-action
fix/29853-thumbnail-decode-size
bugfix/live-photo-stuck
feature/load-previews
chore/pub-upgrade
custom-app-logo
fix/failed-sync-blocks-resume
feat/ml-hwaccel-testing
feat/workflow-logs
feat/server-chunked-uploads
feat/upload-action
fix-29727
feat/download-tag-action
feat/share-action
feat/album-actions
fix/android-cr3-save
feat/browser-profile-action
feat/cast-slideshow-action
feat/locked-folder-action
fix/unauthorized-memory-creation
feat/context-actions
refactor/action-class
feat/memories-view
refactor/asset-action-filter
feat/archive-action
feat/stack-action
feat/mobile-hls-player
refactor/stack-actions
feat/workflow-asset-tags
fix/timeline-drag-select-stops
fix/featured-photo-thumbnail-cache
fix/album-timeline-date-ordering
chore/album-remove-assets
feat/partner-table-permissions
fix/ocr-after-edit
fix/re-enable-pruning
refactor/delete-restore-actions
apk-build-deployment
edit-photo-stacking
fix/mise-lockfile
feat/web-hls-hover
refactor/store-cleanup
fix/hash-mismatch
refactor/app-metadata
refactor/advanced-settings
refactor/current-user
fix/dedupe-integrity-missing-paths
chore/albums-select
fix/fdroid-meta
refactor/per-asset-backup-flag
fix/av1-threads
fix/pass-secrets
fix/download-progress-stuck
fix/negative-backup-remainder
feat/map-asset-number
test-bump-prerelease
fix/handle-unlinking-motion-photos
fix/date-range-formatting
fix/mobile-album-action-msg
asset-add-to-album-trigger
refactor/face-editor-decoupling
feat/zoom-aware-face-editing
refactor/adaptive-image-dimensions
fix-face-editor-video-preview
fix-stack-face-tag-selection
fix/face-boxes-edit-panel
workflow-webhook-step
feat/hero_view_transitions
fix/map-sidepanel-queries
feat/dart-openapi-generator
claude/share-quality-5d7Gn
drag-drop-ghost-target
refactor/workflow-page
refactor/mobile-upload
fix-scroll-flicker-2
update-mise-lock-file
feat/kysely-0.29
release-candidate-flow-1
fix/mobile-22522-sqlite-2067
fix/job-lock
release-candidate-flow-3
release-candidate-flow-2
show-in-timeline-toggle
fix/mise-windows
plan-local-image-display
fix/remote-thumbnail-fallback
chore/riverpod-update
album-order-per-user
fix/web-timeline-dom-node-retention
chore/svelte-enable-state-referenced-locally
feat/favorite-albums
feat/patch-release-from-branch
fix/oauth-linking
feat/timeline_scroll_buffer
panorama-face-overlay
push-txxyuusptoru
push-zpwsovysllvn
chore/queue-endpoint-migration
fix/remove-from-album
chore/thumbnail-histogram
fix/video-thumbnail-bindthis-regression
fix/scrubber-drag-edge-cases
fix/timeline_layout_row_height
refactor-cancellable-task
uhthomas/fix-mobile-use-timer
uhthomas/fix-mobile-video-controls-key
uhthomas/chore-mobile-search-declarative
owner-role-album-user
feat/livephoto-editing
favorite-albums
uhthomas/fix-mobile-isolate-auth
fix/library-watcher-excludes
chore/library-e2e-to-medium
push-ynllunsvrpxy
fix/dont-delete-offline-library-files
push-zvwwxmvkrspv
push-kywsnvvkwzts
push-xxnxokokzrou
push-voozlrlkxsnu
view-in-timeline-transition
push-uymvmlknxpmx
push-qslzsplnusoz
fix/mobile-video-stall
uhthomas/draft-mobile-image-cache-cancel
push-yquostpqnkxp
feat/vitest-4
claude/offload-icloud-hashing-bI3GZ
midzelis/wip
uhthomas/fix-server-fsync-all
feat/mobile-widget-shared-client
push-lnyuzsutzkqq
push-vqqqxxvkunru
push-wvnmqoswptww
push-nwxlpmyzkyrl
fix/map-webgl-error
fix/mobile-player-fit
feat/panorama-tiles
csp-policy
push-rsywxvptwxuv
refactor/restores-file-interceptor
postgres-socketio
claude/auto-screenshot-web-changes-Y7efI
visual-review/pr-26535
push-lvyturrtwkrq
feat/library-offline-count
fix/mobile-video-aspect-ratio
uhthomas/fix-mobile-search-results
uhthomas/feat-sort-smart-search
uhthomas/chore-mobile-maplibre
uhthomas/mobile-fix-asset-details-album-pop
feat/crawl-wrapper
push-skvzqoozqkpl
feat/edit-filters
feat/pg-queue
refactor/asset-upload
better-project-structure
uhthomas/mobile-feat-asset-viewer-details
fix/ml-rocm-build
feat/asset-file-apis
feature/bottom-buttons-order
sqlite_thumbs
fix-keep-correct-ios-shared-album-asset
push-vpxwmwwxwnvw
fix-migration-width-height
shared-deep-link-handler
feat/thumbnail-native-clients
feat/platform-clients
fix/foreground-cloud-sync
filter-by-person
refactor/sidebar
fix/merged-edited-assets
feat/create-job-with-dto
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
feat/modal-routes
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
chore/originals-in-asset-files
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
refactor/virtualsegment
refactor/rename_daymonth_groups
fix-remote-sync-clean-up
debug/cf-chunked-uploads
feat/search-filter-album/web
feat/session-permissions
feat/mobile-dynamic-thumbnails
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat-no-thumbhash-cache
feat/mobile-hdr-images
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/groups
drift-map-page
feat/add-to-album-action
track-livephotos
feat/maintenance-worker
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
tmp/demo-snapshot-preview
fix/server-migration-file-extension
rknn-toolkit-lite2
feature/Add-rocm-support-for-machine-learning
chore/async-hash-file
feat/shared-link-view-count
feat/graphql
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/local-tileserver
feat/ml-armnn-conversion
chore/handle-output_dims
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
web/automation-ui
object-storage
ml/tflite
feat/ml-export-cli
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-rc.0
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
v1.144.1
v1.144.0
v1.143.1
v1.143.0
v1.142.1
v1.142.0
v1.141.1
v1.141.0
v1.140.1
v1.140.0
v1.139.4
v1.139.3
v1.139.2
v1.139.1
v1.139.0
v1.138.1
v1.138.0
v1.137.3
v1.137.2
v1.137.1
v1.137.0
v1.136.0
v1.135.3
v1.135.2
v1.135.1
v1.135.0
v1.134.0
v1.133.1
v1.133.0
v1.132.3
v1.132.2
v1.132.1
v1.132.0
v1.131.3
v1.131.2
v1.131.1
v1.131.0
v1.130.3
v1.130.2
v1.130.1
v1.130.0
v1.129.0
v1.128.0
v1.127.0
v1.126.1
v1.126.0
v1.125.7
v1.125.6
v1.125.5
v1.125.4
v1.125.3
v1.125.2
v1.125.1
v1.125.0
v1.124.2
v1.124.1
v1.124.0
v1.123.0
v1.122.3
v1.122.2
v1.122.1
v1.122.0
v1.121.0
v1.120.2
v1.120.1
v1.120.0
v1.119.1
v1.119.0
v1.118.2
v1.118.1
v1.118.0
v1.117.0
v1.116.2
v1.116.1
v1.116.0
v1.115.0
v1.114.0
v1.113.1
v1.113.0
v1.112.1
v1.112.0
v1.111.0
v1.110.0
v1.109.2
v1.109.1
v1.109.0
v1.108.0
v1.107.2
v1.107.1
v1.107.0
v1.106.4
v1.106.3
v1.106.2
v1.106.1
v1.106.0
v1.105.1
v1.105.0
v1.104.0
v1.103.1
v1.103.0
v1.102.3
v1.102.2
v1.102.1
v1.102.0
v1.101.0
v1.100.0
v1.99.0
v1.98.2
v1.98.1
v1.98.0
v1.97.0
v1.96.0
v1.95.1
v1.95.0
v1.94.1
v1.94.0
v1.93.3
v1.93.2
v1.93.1
v1.93.0
v1.92.1
v1.92.0
v1.91.4
v1.91.3
v1.91.2
v1.91.1
v1.91.0
v1.90.2
v1.90.1
v1.90.0
v1.89.0
v1.88.2
v1.88.1
v1.88.0
v1.87.0
v1.86.0
v1.85.0
v1.84.0
v1.83.0
v1.82.1
v1.82.0
v1.81.1
v1.81.0
v1.80.0
v1.79.1
v1.79.0
v1.78.1
v1.78.0
v1.77.0
v1.76.1
v1.76.0
v1.75.2
v1.75.1
v1.75.0
v1.74.0
v1.73.0
v1.72.2
v1.72.1
v1.72.0
v1.71.0
v1.70.0
v1.69.0
v1.68.0
v1.67.2
v1.67.1
v1.67.0
v1.66.1
v1.66.0
v1.65.0
v1.64.0
v1.63.2
v1.63.1
v1.63.0
v1.62.1
v1.62.0
v1.61.0
v1.60.0
v1.59.1
v1.59.0
v1.58.0
v1.57.1
v1.57.0
v1.56.2
v1.56.1
v1.56.0
v1.55.1
v1.55.0
v1.54.1
v1.54.0
v1.53.0
v1.52.1
v1.52.0
v1.51.2
v1.51.1
v1.51.0
v1.50.1
v1.50.0
v1.49.0
v1.48.1
v1.48.0
v1.47.3
v1.47.2
v1.47.1
v1.47.0
v1.46.1
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.0_65-dev
v1.41.1_64-dev
v1.41.0_64-dev
v1.40.1_63-dev
v1.40.0_63-dev
v1.39.0_61-dev
v1.38.2_60-dev
v1.38.1_60-dev
v1.38.0_60-dev
v1.37.0_58-dev
v1.36.2_56-dev
v1.36.1_55-dev
v1.36.0_55-dev
v1.35.0_54-dev
v1.34.0_53-dev
v1.33.1_52-dev
v1.33.0_52-dev
v1.32.1_51-dev
v1.32.0_50-dev
v1.31.1_49-dev
v1.31.0_49-dev
v1.30.2_48-dev
v1.30.0_46-dev
v1.29.6_45-dev
v1.29.6_44-dev
v1.29.5_44-dev
v1.29.4_44-dev
v1.29.3_43-dev
v1.29.2_43-dev
v1.29.1_43-dev
v1.29.0_42-dev
v1.28.4_41-dev
v1.28.4_42-dev
v1.28.3_41-dev
v1.28.2_40-dev
v1.28.1_39-dev
v1.28.0_38-dev
v1.27.0_37-dev
v1.26.0_36-dev
v1.25.0_35-dev
v1.24.0_34-dev
v1.23.0_33-dev
v1.22.0_32-dev
v1.21.1_31-dev
v1.21.0_31-dev
v1.20.3_30-dev
v1.20.2_30-dev
v1.20.1_30-dev
v1.20.0_30-dev
v1.19.1_29-dev
v1.19.0_29-dev
v1.18.0_27-dev
v1.17.0_25-dev
v1.16.0_23-dev
v1.15.1_21-dev
v1.15.0_21-dev
v1.14.0_21-dev
v1.13.0_20-dev
v1.12.0_18-dev
v1.11.0_17-dev
v1.10.0_15-dev
v1.9.1_14-dev
v1.9.0_13-dev
v1.8.0_12-dev
v1.7.0_11-dev
v1.6.0_10-dev
v1.5.1+9-dev
v1.5.0+8-dev
v1.4.0+7-dev
v1.4.0+6-dev
v1.4.0-dev
v1.3.0-dev
v1.3.1-dev
v0.6-dev
v0.5-dev
v0.4-dev
v0.3-dev
v0.2-dev
first-android-release
Labels
Clear labels
accessibility
changelog:enhancement
changelog:security
changelog:skip
changelog:translation
cli
date-time
dependencies
documentation
external-library
format
good first issue
mobile-beta
mobile-beta
mobile-beta
needs-answer
nice to have
pull-request
sharing
tech-debt
📱mobile
🖥️web
🗄️server
🧠machine-learning
Mirrored from GitHub Pull Request
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: immich-app/immich#17819
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/immich-app/immich/pull/24328
Author: @renovate[bot]
Created: 12/2/2025
Status: ✅ Merged
Merged: 1/29/2026
Merged by: @jrasm91
Base:
main← Head:renovate/terragrunt-0.x📝 Commits (1)
5639c5achore(deps): update dependency terragrunt to v0.98.0📊 Changes
2 files changed (+2 additions, -2 deletions)
View changed files
📝
deployment/mise.toml(+1 -1)📝
mise.toml(+1 -1)📄 Description
This PR contains the following updates:
0.93.10→0.98.00.99.0Release Notes
gruntwork-io/terragrunt (terragrunt)
v0.98.0Compare Source
✨ New Features
The
--filterflag now implies--allWhen using the
--filterflag, it is now optional to also supply--all. Terragrunt will automatically set the--allflag when you use the--filterflag.🐛 Bug Fixes
Plan files are now correctly passed as CLI arguments for destroy operations
A bug in the logic used for injecting plan files as arguments to the
apply -destroycommand resulted in the plan file argument being injected prior to the-auto-approveflag, which is disallowed in OpenTofu/Terraform. That bug has been fixed.GCS bootstrap authentication fixed
A bug in the authentication logic for GCS backends prevented successful bootstrapping of backends when using the
--auth-provider-cmdflag. That bug has been fixed.Git-based and Graph-based combinations fixed
A bug in the discovery logic for Git worktrees prevented using a combination of Git-based and Graph-based filter expressions in the same filter from working correctly.
e.g.
That bug has been fixed.
Proper exit codes returned from
-detailed-exitcodeA bug in the logic for handling retries combined with the OpenTofu/Terraform
plan -detailed-exitcodeand the Terragrunt--allflag resulted in the wrong exit code being returned when a failed run succeeded on a subsequent retry with a status code related to drift (exit code 2).That logic has been corrected, and properly follows the rules outlined under the
--allflag:When not using
-detailed-exitcode:When using
-detailed-exitcode:run --allwill return the highest exit code.run --allwill return an exit code of 2.run --allwill return an exit code of 0.OpenTelemetry traces in console mode fixed
A bug in OpenTelemetry trace exporting prevented traces from being exported when in console mode. That bug has been fixed.
Negation logic fixed
A bug in how negation logic was handled in filter expressions prevented successful exclusion of stacks from generation and over excluded units in runs when users only supplied negative filters.
⚙️ Process Improvements
GPG Signing
Release artifacts are now signed using both GPG and Cosign.
To start performing signature validation on assets, in addition to the asset you’re downloading from the GitHub releases page, you’ll want to download some of the following files:
To verify with GPG:
To verify with Cosign:
Terragrunt installation documentation will be updated soon to recommend this on every installation, the Gruntwork maintained
asdfplugin will be updated to do this automatically, and all Gruntwork recommended mechanisms for installing Terragrunt will support this going forward.Upgrade to Go 1.25.5
The Golang toolchain used to build Terragrunt has been upgraded to
v1.25.5.Package reorganization
All top-level Golang packages in the Terragrunt project have been migrated to either
internalorpkg. The distinction between the two indicates maintainer expectations as to whether either are being actively being consumed as libraries by third parties (withinternalbeing impossible to import without vendoring in go modules).Note that this does not indicate any backwards compatibility guarantee for usage of the Terragrunt as a library. It will remain unstable, and can change at any time.
What's Changed
-allwhen using-filterby @yhakbar in #5265detailed-exitcodeby @yhakbar in #5362RunTargetfromoptionsby @yhakbar in #5264-alland-graphwrap by @yhakbar in #5257Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.97.2...v0.98
v0.97.2Compare Source
🏎️ Performance Improvements
Partial parse used for
get_working_dir()To assess where Terragrunt is going to run OpenTofu, it needs partially parsed information from the relevant
terragrunt.hclfile of the unit running the HCLget_working_dir()function. The function was performing a full parse of theterragrunt.hclfile, which can be slow for users with large HCL configurations.Given that the parse only requires access to the value of
sourcein theterraformblock, a partial parse is now performed by the function, only looking at the contents of theterraformblock, improving performance significantly.🐛 Bug Fixes
False positive parsing errors suppressed
When parsing an include that defined dependencies, the HCL parser used by Terragrunt would emit spurious errors that are internally ignored. Those messages are now suppressed.
Signal propagation for interrupts fixed
A bug in how Terragrunt forwarded signals to processes it spawned (like running
tofu) resulted in underlying processes receivingSIGKILLsignals rather than the original signal (e.g.SIGINT) sent to the Terragrunt process. That has been fixed.🧹 Chores
Avoiding
contextchecksuppressionWhile not changing much functionally in Terragrunt, this release did involve quite a lot of changes to Terragrunt internals. The majority of these changes related to better propagation of the Golang [context](https://pkg.go.dev/context) object to better obey Golang best practices. These issues were reported by the
contextchecklinter in the codebase, but the findings were suppressed due to the scope of work required to address them.These changes should make it so that context is propagated correctly more reliably in the codebase, increasing the usefulness of things like OpenTelemetry tracing and reduced resource usage.
Note that some public function signatures have changed in the Terragrunt codebase, which may be a breaking change to users consuming Terragrunt as a library. Given that we do not offer any stability guarantees for usage of Terragrunt as a library, these changes are still to be included in a patch release.
What's Changed
get_working_dir()by @yhakbar in #5318contextchecksuppression by @yhakbar in #5320Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.97.1...v0.97.2
v0.97.1Compare Source
✨ New Features
All HCL functions instrumented with OpenTelemetry
All Terragrunt HCL functions now emit OpenTelemetry spans when they run, making it easier to understand HCL function usage and performance.
HCL parsing telemetry improved
Additional fidelity has been added to traces emitted during parsing to give insight as to why configuration parsing is being performed, and how.
🐛 Bug Fixes
plan -destroycalled correctly for--filter-affectedA bug in the logic for
--filter-affectedresulted in removed units getting planned/applied instead of being destroyed when users supplied--filter-allow-destroy. That bug has been fixed.Nested spans in track parents appropriately even when the
TRACEPARENTenvironment variable is used.A bug in the logic for propagating
TRACEPARENTas the ultimate parent of traces started in Terragrunt prevented child traces from properly tracking parent spans. That bug has been fixed.Reports on runs in worktrees now use relative directories to worktree root
Instead of displaying runs of units in Git worktrees during Git-based filter expression runs with the absolute path of their directories in a temporary directory, they now display with the path to the unit relative to the root of the worktree.
Unnecessary relationship discovery prevented
Discovery of relationships between units has been made opt-in in the discovery process. This will result in no changes to usage of commands like
run --all, but will significantly improve the performance of commands likelistandstack generate.What's Changed
plan -destroyfor--filter-affectedby @yhakbar in #5295MapToSliceandStringListInsertby @yhakbar in #5297Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.97.0...v0.97.1
v0.97.0Compare Source
⚒️ Breaking Changes
The
--queue-strict-includeflag is deprecatedTerragrunt no longer automatically includes dependencies of included units. As such the
--queue-strict-includeflag is no longer useful in the Terragrunt CLI.The flag has been deprecated, and no longer does anything. This flag will not be removed before 2.0.
Run report no longer reports
--queue-exclude-diras a reason for exclusionRun reports no longer report on units excluded from runs as a consequence of the
--queue-exclude-dirflag.The
--units-that-includeflag is deprecatedThe
--units-that-includeflag is now an alias for thereading=attribute filter, just like the--queue-include-units-readingflag.Given that the two flags no longer differ in functionality, and that the functionality of the
--units-that-includeis no longer strictly including units that are included, the flag has been deprecated.The
double-starstrict control is completeThe globbing behavior of Terragrunt in CLI flags has been updated to match all paths when ending with a trailing
**.🧪 Experiments Completed
The
filter-flagexperiment is completedThe
filter-flagexperiment is completed, and the--filterflag is now generally available.You can use filter expressions as a single unified API for controlling the Run Queue, replacing the need to use the following CLI flags:
—-queue-include-dir=path—-filter='{./path}'—-queue-exclude-dir=path—-filter='!{./path}'--queue-include-units-reading=root.hcl--filter='reading=root.hcl'--units-that-include=root.hcl--filter='reading=root.hcl'--queue-include-external-dependencies--filter='{./**}...'--queue-excludes-file=excludes.txt--filters-file='filters.txt'*--graph--filter='...{.}'--queue-excludes-filedoes not directly translate to the kind of file you can use for a--filters-file. To learn more, see the documentation.The table above also explains the aliasing that has been done internally to replace queue flags with their filter equivalents. The aliasing for these queue flags is present purely for backwards compatibility purposes, but they are not going to emit deprecation warnings, and will not be removed before the Terragrunt 1.0 release.
You are heavily encouraged to adopt the new
--filterflag for your infrastructure targeting needs as soon as feasible in your workflows. It will offer a significantly more flexible and powerful experience.To learn more see the Filters feature documentation.
🐛 Bug Fixes
The
get_original_terragrunt_dir()function is now supported interragrunt.stack.hclfilesWhen authoring explicit stacks, using the
get_original_terragrunt_dir()HCL function interragrunt.stack.hclfiles will now return the directory where theterragrunt.stack.hclfile lives, even when the configuration is read from another stack/unit usingread_terragrunt_config().Using Git-based expressions with the
--out-dirflag is fixedWhen using Git-based expressions using the
--filterflag, the relative path of units relative to their respective Git worktree roots is used for determining where the plan file will be saved, rather than a path in the relevant Git worktree.Color for output fetching is suppressed more reliably
Terragrunt will use
tofu output -json/terraform output -jsonmore reliably when users expect a lack of colors (like when colors are suppressed for Terragrunt).What's Changed
testing/synctestto makeTestWriteUnitLevelSummarymore reliable by @yhakbar in #5253get_original_terragrunt_dirduring stack generate by @philipmckenna-symphony in #5176ListContainsandListEqualsand using standard library instead by @yhakbar in #5221New Contributors
Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.96.1..v.0.97.0
v0.96.1Compare Source
🧪 Experiments Updated
The
--filter-affectedflag has more robust determination of the default branch in a Git repositoryThe
--filter-affectedflag will now use Git plumbing to interrogate the default branch as considered by the remote repository before falling back to interrogating local configurations for determination of a default branch (remember that you must use the filter-flag experiment to try this out).Git-based filter expressions now warn users when using local state
Usage of
--filterGit-based expressions in combination with local state will now emit a warning, recommending usage of remote states (remember that you must use the filter-flag experiment to try this out).See the warning at the bottom of Git-based expressions documentation for more information.
OpenTelemetry traces added for filter evaluation
Filter evaluation now emits OpenTelemetry spans and metrics, including filter resolution details, evaluation duration, and filtering scope. This helps teams analyze performance and pinpoint bottlenecks in filtering with large Terragrunt repositories.
🐛 Bug Fixes
Path-based filters targeting external paths fixed
A bug in the parsing of path-based filter expressions in the
--filterflag of the filter-flag experiment prevented parsing of path-based filters for external paths (e.g.--filter ../external-dir). This bug has been fixed.HTTPS Git CAS URLs fixed
A bug in the parsing of source URLs with forced usage of the Git protocol (e.g.
git::https://github.com/acme/catalog) prevented using the cas experiment with HTTPS Git URLs with forced usage of the Git protocol. This bug has been fixed.Regression of support for root
terragrunt.hclfixedA bug in the processing of
--queue-exclude-dirresulted in prefix based matching of non-glob expressions in--queue-exclude-dirvalues. This broke backwards compatibility for users with a rootterragrunt.hclfile instead of a differently named file for the root include (e.g.root.hcl). This bug has been fixed.Note that you are still advised to migrate away from using a root terragrunt.hcl as soon as possible for your team. We will maintain backwards compatibility until at least 2.0, however.
What's Changed
terragrunt.hclby @yhakbar in #5249--queue-include-externalisn't necessary when using the--filterflag by @yhakbar in #5216--filterresults in minimal parsing by @yhakbar in #5229util.JoinPathby @yhakbar in #5219Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.96.0...v0.96.1
v0.96.0Compare Source
🛠️ Breaking Changes
The
--no-destroy-dependencies-checkflag has been deprecatedThe default behavior of Terragrunt with respect to checking dependents during destroys has been inverted. As a consequence the
--no-destroy-dependencies-checkhas been deprecated, and a new--destroy-dependencies-checkflag has been introduced.Previously, Terragrunt would automatically parse all configurations that might depend on a unit being destroyed to warn users that the destroyed configuration might orphan other units that depend on it. This was frequently undesirable behavior due to the fact that it introduced additional unnecessary work (parsing all HCL configurations unnecessarily), and could introduce errors if users had unrelated invalid HCL configurations.
Terragrunt now requires that users opt-in to this behavior via the new
--destroy-dependencies-checkflag, which enables the destroy check, and will not perform the destroy check by default.To learn more, see the no-destroy-dependencies-check strict control.
The
--disable-command-validationflag has been deprecatedTerragrunt no longer performs command name validation when passing commands to OpenTofu/Terraform from Terragrunt when using the
runcommand. This makes the--disable-command-validationflag unnecessary, as the lack of validation is now the default behavior.Previously, Terragrunt had no way to explicitly indicate that a command being used on the Terragrunt CLI was intended as a passthrough to the OpenTofu/Terraform CLI, so it was important that validation be done on the command being supplied on the Terragrunt CLI.
Since completion of the CLI Redesign, this has changed significantly. Users now have explicit shortcuts on the Terragrunt CLI for common OpenTofu/Terraform commands and an explicit interface for passing through OpenTofu/Terraform commands to the OpenTofu/Terraform CLIs using the
runcommand. By removing this validation, Terragrunt will now automatically support new OpenTofu/Terraform commands in future versions of the tools and allow for greater flexibility in IaC Engines, as novel commands can be introduced.To learn more, see the disable-command-validation strict control.
The
--experimental-engineflag now enables theiac-engineexperimentThe experimental IaC Engine feature was introduced in Terragrunt prior to the introduction of the experiment system. As such, it wasn’t enabled when users enabled experiment mode, and didn’t have a dedicated section in the experiments docs.
The
--experimental-engineflag is now an alias for explicitly enabling theiac-engineexperiment, and using IaC Engines will be allowed when using Terragrunt in experiment mode. This increases consistency with how experimental features are managed in Terragrunt, and reduces the surface area users have to be aware of in the Terragrunt CLI.Note that you can explicitly disable usage of engines now with the
--no-engineflag, even when the experiment is active.To learn more, see the iac-engine experiment.
The
--dependency-fetch-output-from-stateflag now enables thedependency-fetch-output-from-stateexperimentThe experimental —dependency-fetch-output-from-state flag was introduced in Terragrunt prior to the introduction of the experiment system. As such, it wasn’t enabled when users enabled experiment mode, and didn’t have a dedicated section in the experiments docs.
The
--dependency-fetch-output-from-stateflag is now an alias for explicitly enabling thedependency-fetch-output-from-stateexperiment, and Terragrunt will automatically attempt to fetch outputs from backend state when in experiment mode. This increases consistency with how experimental features are managed in Terragrunt, and reduces the surface area users have to be aware of in the Terragrunt CLI.Note that you can explicitly disable fetching output from state with the
--no-dependency-fetch-output-from-stateflag, even when the experiment is active.To learn more, see the dependency-fetch-output-from-state experiment.
🧪 Experiments Updated
The
filter-flagexperiment now supports the--filters-fileflagThe
--filters-fileflag has been introduced to allow for the application of multiple filters as defined in a newline-delimited text file, similar to the existing--excludes-fileflag (remember that you must use the filter-flag experiment to try this).When the
filter-flagexperiment is active, Terragrunt will automatically parse and apply filters found in a.terragrunt-filtersfile, similar to how it automatically parses and applies excludes found in a.terragrunt-excludesfile.To explicitly disable usage of filter files (including the automatic
.terragrunt-filtersfile), use the--no-filters-fileflag.Unlike the
--excludes-file, usage of the--filters-fileflag also allows for always filtering for particular configurations.To learn more, see the filters file documentation.
🐛 Bug Fixes
Unnecessary
.terragrunt-cachedirectory no longer generated inrun --allrunsFixed a regression where
run --allwould create empty.terragrunt-cachedirectories in the current working directory, even when not needed.What's Changed
--destroy-dependencies-checkby @yhakbar in #5204--filters-fileflag by @yhakbar in #5111--disable-command-validationby @yhakbar in #5189iac-engineexperiment by @yhakbar in #5203dependency-fetch-output-from-stateexperiment by @yhakbar in #5201.terragrunt-cachedir at the stack level by @yhakbar in #5231--filters-fileflag by @yhakbar in #5112New Contributors
Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.95.1...v0.96.0
v0.95.1Compare Source
🧪 Experiments Updated
The
filter-flagexperiment now supports the--filter-affectedflagThe
--filter-affectedflag has been introduced as an convenience alias for--filter [main...HEAD](remember that you must use the filter-flag experiment to try this).Note that if you have local Git configurations that results in a different branch being your default branch, that branch will be used instead of
main.🐛 Bug Fixes
Integration of
--queue-strict-includewith--queue-include-units-readingfixedA regression in
--queue-strict-includeresulted in empty run queues when using a combination of--queue-strict-includewith--queue-include-units-reading. That bug has been resolved.Integration of
--sourcewithrun --allfixedA regression in
--sourceprevented it from working correctly in combination withrun --all, resulting in empty run queues. That bug has been resolved.Integration of Git-expressions with explicit stacks
A bug in the implementation of explicit stack generation for Git-expressions prevented stacks from being generated in Git worktrees when using Git-expressions in the
filter-flagexperiment. That bug has been resolved.🧹 Chores
Dependencies updates
What's Changed
--filter-affectedflag by @yhakbar in #5109TestExcludeDirstests by @yhakbar in #5215TestAwsDocsTerralithToTerragruntGuidetest by @yhakbar in #5220run --allwith--sourceby @yhakbar in #5209--queue-strict-includeintegration with--queue-include-units-readingby @yhakbar in #5222--filter-affectedby @yhakbar in #5110Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.95.0...v0.95.1
v0.95.0Compare Source
🛠️ Breaking Changes
The
--queue-exclude-externalflag has been deprecatedPreviously, Terragrunt would automatically pull in external dependencies (dependencies outside the current working directory when running
terragrunt run --all) into the run queue.To prevent this behavior, users had to manually supply the
--queue-exclude-externalflag. This has caused significant confusion and unexpected behavior for users over the duration of it’s existence in the Terragrunt CLI. To prevent this unexpected behavior for users and follow the principle of least surprise, this flag has been deprecated and its behavior is now the default in Terragrunt.To explicitly request inclusion of external dependencies in the run queue, use the —queue-include-external flag.
⚙️ Process Updates
OpenTofu 1.11.x added to compatibility matrix
We are now continuously testing against OpenTofu 1.11.1 in our Continuous Integration testing, and have updated the compatibility matrix to reflect that.
🧪 Updated Experiments
The
filter-flagexperiment now supports Git-based expressionsThe
--filterflag can now be used to filter units based on changes in Git history (remember that you must use the filter-flag experiment to try this).For more information, see the dedicated documentation on Git-Based Filtering.
🐛 Bug Fixes
Units now properly flush stdout in
run --allA regression in unit stdout flushing caused stdout for unit logs to hang pending resolution of
run --allruns. This regression has been fixed to ensure that logs are streamed in real time again.Queue entries now properly run, even if dependent units are excluded
A bug in run queue optimization made it so that excluding the dependent of a unit within a multi-unit run queue would incorrectly exclude the dependency unit from the run queue. This bug has been resolved, and units are now properly included, even if their dependents are excluded.
Provider cache server only contacts relevant registries
The provider cache server was incorrectly establishing a connection with multiple registries even though only one registry for a given IaC tool run by Terragrunt. For users with network-restricted environments, this could cause problems. Terragrunt will now only contact the relevant registry for a given IaC tool unless users explicitly request for usage of multiple registries.
📖 Documentation Updates
Provider cache server no longer documented as experimental
The Provider Cache Server has been used in production by a good portion of the Terragrunt community based on voluntary community reporting. The need for the feature is also mitigated by advances in OpenTofu that makes the Automatic Provider Cache Dir the default solution all Terragrunt users using OpenTofu ≥ v1.10.0.
As such, the Provider Cache Server has been promoted to a generally available feature that is exclusively opt-in for users that cannot benefit from the Automatic Provider Cache Dir feature, or are better served by the Provider Cache Server due to scale or platform limitations.
What's Changed
--filter-allow-destroyflag by @yhakbar in #5210TestAwsDocsTerralithToTerragruntGuideuntil we get a new release by @yhakbar in #5208--filterGit support by @yhakbar in #5108--queue-exclude-dir/--filterequivalence test by @yhakbar in #5078Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.94.0...v0.95.0
v0.94.0Compare Source
✨ Features
NOTE: Although this release is marked as backward incompatible, it is functionally compatible as nothing has been changed in Terragrunt internals. The minor version release is useful to mark the change in Terraform version that is being tested.
What's Changed
Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.93.13...v0.94.0
v0.93.13Compare Source
🐛 Bug Fixes
Catalog module source URL construction
Fixed malformed version-pinned catalog module URLs where
TerraformSourcePath()incorrectly placed//moduleDirafter?ref=, ensuring correct root and submodule URL formatting.What's Changed
Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.93.12...v0.93.13
v0.93.12Compare Source
🐛 Bug Fixes
False positive errors during dependent units discovery
Reduced false-positive log messages emitted while discovering dependent units during destroy operations.
What's Changed
Configuration
📅 Schedule: Branch creation - "before 9am on tuesday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.