Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is "Module Inspection" misleading? #1066

Closed
wata727 opened this issue Feb 23, 2021 · 6 comments · Fixed by #1918
Closed

Is "Module Inspection" misleading? #1066

wata727 opened this issue Feb 23, 2021 · 6 comments · Fixed by #1918

Comments

@wata727
Copy link
Member

wata727 commented Feb 23, 2021

Recently, I've come to think that Module Inspection is a feature that is easily misunderstood by its name.

This feature does inspect child modules, but discards all but the issues associated with the module call arguments. This is because if it reports all the issues with the child modules, there is no other way to ignore the issue with the third-party modules than to ignore the whole module. Strictly speaking, this behavior appears to be inspecting "Module Call", not "Module".

On the other hand, for users who want to inspect multiple local modules together, "Module Inspection" looks like an option to do just that.

If this hypothesis is right, we may need to change the terminology, option names, etc.

@bendrucker
Copy link
Member

The smallest change I can think of here would be to refer to "Module Attribute Inspection." It's hard to understand the nuance here without reading the docs, but maybe that would be enough to force users to do that rather than assume it has something to do with recursion.

@wata727 wata727 added the pending Wondering if it should be implemented label Dec 28, 2022
@domos4
Copy link

domos4 commented Apr 26, 2023

Hey, thanks for this great tool, I find it super helpful!

From my perspective, Module Inspection feature is very confusing, I understood how it works only after reading this issue. Reading the documentation didn't help, I spent quite a while scratching my head on why running the whole project with --recursive flag checks shared local modules and running tflint in a single module, that calls a child local module with --module flag doesn't lint this shared local module.

I suggest rephrasing the --module flag description and the docs to make it clear, that module inspection checks only child module calls, not the actual child modules.
Ideally, --module flag should make tflint inspect all the local modules that were used in a given module, may I ask whether it doesn't work like that by design or it's just a missing feature? Not having it work like that makes my CI flow much more complex than when working with other linters.

Thanks for your work, it's highly appreciated!

@wata727
Copy link
Member Author

wata727 commented Apr 26, 2023

@domos4 Thank you for your feedback. Do you think your confusion is resolved by renaming the feature to "Module Call Inspection" and changing the flag to --module-call?

Also, although this behavior is documented here, do you think there is something missing or a navigation issue?

Ideally, --module flag should make tflint inspect all the local modules that were used in a given module, may I ask whether it doesn't work like that by design or it's just a missing feature? Not having it work like that makes my CI flow much more complex than when working with other linters.

First, in terms of local module "call" inspection, this is a missing feature. This is tracked in #1502. On the other hand, it's a design issue whether the local module "definition" should be inspected.

When using the --recursive flag, the local module "definitions" are automatically included in the inspection target. Below is an example:

├── main.tf
└── modules
    └── server
        └── main.tf
module "server" {
  source = "./modules/server"
}

In this case, if tflint --module automatically inspects against the module "definition" in ./modules/server, the issues will be reported twice.

Given this background, I now think that in principle a design that inspects only the current module might be simpler and easier to understand. What do you think?

@bendrucker
Copy link
Member

I'm -1 on following any modules and inspecting them as root modules. Terraform doesn't understand the concept of a repository. Even though most local module calls will source something like ./modules/foo, that's not a requirement. Ancestor paths (..) and absolute paths are two obvious potential edge cases. Adding this magic would seem to invite the need to customize it.

+1 to "Module Call" (vs "Module"), but not entirely convinced that it's worth the breaking change to the CLI and config to do that across the board. But a good distinction for docs and help text.

@wata727
Copy link
Member Author

wata727 commented May 2, 2023

Totally agree. Renaming will probably help prevent misunderstandings, but I'm wondering if the --module-call flag immediately makes us imagine what it actually does. There may be other good alternatives.

@wata727
Copy link
Member Author

wata727 commented Dec 3, 2023

I'm working on this issue in addition to fixing #1502. This fix requires a breaking change to the --module flag, so now is a chance to make this change.

Currently, I'm positive about naming this feature "Calling Modules". This naming allows for a clear distinction between inspecting a child module directly as the root module, and to indicate the possibility of additional inspection to module blocks (module calls) in the root module.

@wata727 wata727 removed the pending Wondering if it should be implemented label Dec 7, 2023
renovate bot referenced this issue in Hapag-Lloyd/terraform-aws-bastion-host-ssm Dec 23, 2023
)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[terraform-linters/tflint](https://togithub.com/terraform-linters/tflint)
| minor | `v0.49.0` -> `v0.50.0` |

---

### Release Notes

<details>
<summary>terraform-linters/tflint (terraform-linters/tflint)</summary>

###
[`v0.50.0`](https://togithub.com/terraform-linters/tflint/releases/tag/v0.50.0)

[Compare
Source](https://togithub.com/terraform-linters/tflint/compare/v0.49.0...v0.50.0)

#### What's Changed

##### Breaking Changes

- Call local modules by default by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1918](https://togithub.com/terraform-linters/tflint/pull/1918)
- Module inspection is now enabled by default for modules whose source
is a relative path. Note that "module inspection" will be called
"calling modules" after this change. See also
[https://github.com/terraform-linters/tflint/issues/1066](https://togithub.com/terraform-linters/tflint/issues/1066)
- CLI flag `--module` has been changed to `--call-module-type`. For
backward compatibility, `--module` will continue to work, but it will be
removed in a future version, so we recommend migrating early. The same
applies to the `module` attribute of the configuration file.
- `--module` flag is replaced by `--call-module-type=all` and
`--no-module` (previous default) is replaced by
`--call-module-type=none`
- For modules with many local module calls, this change may result in
performance degradation. If this is not acceptable, you can keep the
previous default by specifying `--call-module-type=none`.
- Make assignments to undeclared variables an error by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1941](https://togithub.com/terraform-linters/tflint/pull/1941)
- In line with Terraform behavior, assignments using the `--var` flag
etc. to undeclared variables now result in an error. To avoid this,
remove unnecessary variable assignments.

##### Enhancements

- Print the working directory on error in recursive inspection by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1933](https://togithub.com/terraform-linters/tflint/pull/1933)
- Enable per-runner parallelism by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1944](https://togithub.com/terraform-linters/tflint/pull/1944)

##### BugFixes

- Exit with an error if the explicitly passed `.tflint.hcl` does not
exist by [@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1940](https://togithub.com/terraform-linters/tflint/pull/1940)

##### Chores

- build(deps): Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1913](https://togithub.com/terraform-linters/tflint/pull/1913)
- build(deps): Bump sigstore/cosign-installer from 3.1.2 to 3.2.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1915](https://togithub.com/terraform-linters/tflint/pull/1915)
- build(deps): Bump github.com/hashicorp/go-plugin from 1.5.2 to 1.6.0
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1917](https://togithub.com/terraform-linters/tflint/pull/1917)
- docs: Remove mention of directory arguments by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1921](https://togithub.com/terraform-linters/tflint/pull/1921)
- build(deps): Bump golang.org/x/crypto from 0.15.0 to 0.16.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1923](https://togithub.com/terraform-linters/tflint/pull/1923)
- build(deps): Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1931](https://togithub.com/terraform-linters/tflint/pull/1931)
- build(deps): Bump github.com/spf13/afero from 1.10.0 to 1.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1932](https://togithub.com/terraform-linters/tflint/pull/1932)
- build(deps): Bump actions/setup-go from 4 to 5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1936](https://togithub.com/terraform-linters/tflint/pull/1936)
- build(deps): Bump sigstore/cosign-installer from 3.2.0 to 3.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1937](https://togithub.com/terraform-linters/tflint/pull/1937)
- build(deps): Bump alpine from 3.18 to 3.19 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1938](https://togithub.com/terraform-linters/tflint/pull/1938)
- Stop using backticks for emphasis by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1934](https://togithub.com/terraform-linters/tflint/pull/1934)
- Avoid escaping newlines by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1942](https://togithub.com/terraform-linters/tflint/pull/1942)
- build(deps): Bump golang.org/x/crypto from 0.16.0 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1945](https://togithub.com/terraform-linters/tflint/pull/1945)
- build(deps): Bump github.com/google/uuid from 1.4.0 to 1.5.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1947](https://togithub.com/terraform-linters/tflint/pull/1947)
- build(deps): Bump google.golang.org/grpc from 1.59.0 to 1.60.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1948](https://togithub.com/terraform-linters/tflint/pull/1948)

**Full Changelog**:
terraform-linters/tflint@v0.49.0...v0.50.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Hapag-Lloyd/terraform-aws-bastion-host-ssm).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in scottames/dots Dec 29, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| minor | `v4.110.0` -> `v4.111.0` |
| [casey/just](https://togithub.com/casey/just) | minor | `1.17.0` ->
`1.19.0` |
| [derailed/k9s](https://togithub.com/derailed/k9s) | minor | `v0.29.1`
-> `v0.30.6` |
| [sigoden/aichat](https://togithub.com/sigoden/aichat) | minor |
`v0.11.0` -> `v0.12.0` |
| [simulot/immich-go](https://togithub.com/simulot/immich-go) | patch |
`0.9.4` -> `0.9.5` |
| [starship/starship](https://togithub.com/starship/starship) | minor |
`v1.16.0` -> `v1.17.0` |
|
[terraform-linters/tflint](https://togithub.com/terraform-linters/tflint)
| minor | `v0.49.0` -> `v0.50.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

###
[`v4.111.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.111.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.110.0...v4.111.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.111.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.111.0)
| aquaproj/aqua-registry@v4.110.0...v4.111.0

#### 🎉 New Packages


[#&#8203;18518](https://togithub.com/aquaproj/aqua-registry/issues/18518)
[rajatjindal/krew-release-bot](https://togithub.com/rajatjindal/krew-release-bot):
bot to bump version of plugin in krew-index on new releases
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

[#&#8203;18470](https://togithub.com/aquaproj/aqua-registry/issues/18470)
[fujiwara/cfft](https://togithub.com/fujiwara/cfft): cfft is a testing
tool for CloudFront Functions

#### Fixes


[#&#8203;18523](https://togithub.com/aquaproj/aqua-registry/issues/18523)
fix(atuinsh/atuin): Use musl builds instead of gnu when available
[@&#8203;ethanjli](https://togithub.com/ethanjli)

#### 🎉 New Contributors

Thank you for your contribution!

[@&#8203;ethanjli](https://togithub.com/ethanjli)
[#&#8203;18523](https://togithub.com/aquaproj/aqua-registry/issues/18523)

</details>

<details>
<summary>casey/just (casey/just)</summary>

###
[`v1.19.0`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1190---2023-12-27)

[Compare
Source](https://togithub.com/casey/just/compare/1.18.1...1.19.0)

##### Added

- Add modules
([#&#8203;1782](https://togithub.com/casey/just/pull/1782))

###
[`v1.18.1`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1181---2023-12-24)

[Compare
Source](https://togithub.com/casey/just/compare/1.18.0...1.18.1)

##### Added

- Display a descriptive error for `!include` directives
([#&#8203;1779](https://togithub.com/casey/just/pull/1779))

###
[`v1.18.0`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1180---2023-12-24)

[Compare
Source](https://togithub.com/casey/just/compare/1.17.0...1.18.0)

##### Added

- Stabilize `!include path` as `import 'path'`
([#&#8203;1771](https://togithub.com/casey/just/pull/1771))

##### Misc

- Tweak readme
([#&#8203;1775](https://togithub.com/casey/just/pull/1775))

</details>

<details>
<summary>derailed/k9s (derailed/k9s)</summary>

### [`v0.30.6`](https://togithub.com/derailed/k9s/releases/tag/v0.30.6)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.5...v0.30.6)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.6
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

Thank you all for pitching in and helping flesh out issues!!

***

#### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2401](https://togithub.com/derailed/k9s/issues/2401) Context
completion broken with mixed case context names
- [#&#8203;2400](https://togithub.com/derailed/k9s/issues/2400) Panic on
start if dns lookup fails
- [#&#8203;2387](https://togithub.com/derailed/k9s/issues/2387) Invalid
namespace xxx - with feelings??

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.5`](https://togithub.com/derailed/k9s/releases/tag/v0.30.5)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.4...v0.30.5)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.5
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

Thank you all for pitching in and helping flesh out issues!!

***

#### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2394](https://togithub.com/derailed/k9s/issues/2394) Allow
setting custom log dir
- [#&#8203;2393](https://togithub.com/derailed/k9s/issues/2393) When
switching contexts k9s does not switching to cluster's
pod/namespaces/other k8s kinds view
- [#&#8203;2387](https://togithub.com/derailed/k9s/issues/2387) Invalid
namespace xxx - with feelings!

***

#### Contributed PRs

Please be sure to give `Big Thanks!` and `ATTA Girls/Boys!` to all the
fine contributors for making K9s better for all of us!!

- [#&#8203;2396](https://togithub.com/derailed/k9s/pull/2396) feat:
allow to customize logs dir through environment variable
- [#&#8203;2395](https://togithub.com/derailed/k9s/pull/2395) fix:
create user tmp directory before the app one

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.4`](https://togithub.com/derailed/k9s/releases/tag/v0.30.4)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.3...v0.30.4)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.4
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

Thank you all for pitching in and helping flesh out issues!!

***

#### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2391](https://togithub.com/derailed/k9s/issues/2391) Version
0.30.\* has issues with : chars in the cluster names from AWS
- [#&#8203;2397](https://togithub.com/derailed/k9s/issues/2387) Error:
invalid namespace xxx
- [#&#8203;2389](https://togithub.com/derailed/k9s/issues/2389)
Mixed-case named contexts cannot be switched to from contexts view
- [#&#8203;2382](https://togithub.com/derailed/k9s/issues/2382) Header
always shows Cluster from kubeconfig current-context

***

#### Contributed PRs

Please be sure to give `Big Thanks!` and `ATTA Girls/Boys!` to all the
fine contributors for making K9s better for all of us!!

- [#&#8203;2390](https://togithub.com/derailed/k9s/pull/2390) case
sensitive for specific command args and flags

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.3`](https://togithub.com/derailed/k9s/releases/tag/v0.30.3)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.2...v0.30.3)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.3
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

🎵 `On The twelfth day of Christmas my true love gave to me... More
Bugs!!` 🎵

Thank you all for pitching in and help flesh out issues!!

***

#### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2379](https://togithub.com/derailed/k9s/issues/2379)
Filtering with equal sign (=) does not work in 0.30.X
- [#&#8203;2378](https://togithub.com/derailed/k9s/issues/2378) Logs
directory not created in the k9s config/home dir 0.30.1
- [#&#8203;2377](https://togithub.com/derailed/k9s/issues/2377) Opening
AWS EKS contexts create two directories per cluster 0.30.1

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.2`](https://togithub.com/derailed/k9s/releases/tag/v0.30.2)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.1...v0.30.2)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.2
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

🎵 `On The eleventh day of Christmas my true love gave to me... More
Bugs!!` 🎵

Thank you all for pitching in and help flesh out bugs!!

***

#### \[!!FEATURE NAME CHANGED!!] Vulnerability Scan Exclusions...

As it seems customary with all k9s new features, folks want to turn them
off ;(
The `Vulscan` feature did not get out unscaped ;(
As it was rightfully so pointed out, you may want to opted out scans for
images that you do not control.
Tho I think it might be a good idea to run wide open once in a while to
see if your cluster has any holes??
For this reason, we've opted to intro an exclusion section under the
image scan configuration to exclude certain images from the scans.

Here is a sample configuration:

```yaml
k9s:
  liveViewAutoRefresh: false
  refreshRate: 2
  ui:
    enableMouse: false
    headless: false
    logoless: false
    crumbsless: false
    noIcons: false
  imageScans:
    enable: true

### MOTE!! Field Name changed!!
    exclusions:

### Skip scans on these namespaces
      namespaces:
        - ns-1
        - ns-2

### Skip scans for pods matching these labels
      labels:
        - app:
          - fred
          - blee
          - duh
        - env:
          - dev
```

***

#### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2374](https://togithub.com/derailed/k9s/issues/2374) The
headless parameter does not function properly (v0.30.1)
- [#&#8203;2372](https://togithub.com/derailed/k9s/issues/2372) Unable
to set default resource to load (v0.30.1)
- [#&#8203;2371](https://togithub.com/derailed/k9s/issues/2371) --write
cli option does not work (0.30.X)
- [#&#8203;2370](https://togithub.com/derailed/k9s/issues/2370) Wrong
list of pods on node (0.30.X)
- [#&#8203;2362](https://togithub.com/derailed/k9s/issues/2362)
blackList: Use inclusive language alternatives

***

#### Contributed PRs

Please be sure to give `Big Thanks!` and `ATTA Girls/Boys!` to all the
fine contributors for making K9s better for all of us!!

- [#&#8203;2375](https://togithub.com/derailed/k9s/pull/2375) get node
filtering params from matching context values
- [#&#8203;2373](https://togithub.com/derailed/k9s/pull/2373) fix
command line flags not working

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.1`](https://togithub.com/derailed/k9s/releases/tag/v0.30.1)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.30.0...v0.30.1)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.1
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

#### 🎄 Maintenance Release! 🎄

🎵 `On The eleventh day of Christmas my true love gave to me... Bugs!!` 🎵

Got to love the aftermath... Thank you all for pitch'in in and help
flesh out bugs!! The gift that keeps on... giving?

🎅 Merry Christmas to all and Best wishes for the new year!!🧑‍🎄

***

##### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

#### Resolved Issues

- [#&#8203;2368](https://togithub.com/derailed/k9s/issues/2368) Pod CPU
and MEM columns are empty in 0.30.0
- [#&#8203;2367](https://togithub.com/derailed/k9s/issues/2367) k9s
0.30.0 issue loading plugins
- [#&#8203;2366](https://togithub.com/derailed/k9s/issues/2366) List
pods of deployment is now impossible
- [#&#8203;2264](https://togithub.com/derailed/k9s/issues/2264) k9s
0.30.0 fields and values missed in action in the "namespace view"
- [#&#8203;2263](https://togithub.com/derailed/k9s/issues/2263) Default
0.30.0 default skin on macOS is no good

***

#### Contributed PRs

Please be sure to give `Big Thanks!` and `ATTA Girls/Boys!` to all the
fine contributors for making K9s better for all of us!!

- [#&#8203;2360](https://togithub.com/derailed/k9s/pull/2360) adding
cancelable launch prompts to NodeShell

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

### [`v0.30.0`](https://togithub.com/derailed/k9s/releases/tag/v0.30.0)

[Compare
Source](https://togithub.com/derailed/k9s/compare/v0.29.1...v0.30.0)

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s-xmas.png"
align="center" width="800" height="auto"/>

### Release v0.30.0
#### Notes

Thank you to all that contributed with flushing out issues and
enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind
grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.

Your support, kindness and awesome suggestions to make K9s better are,
as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others
on both slack and on this repo!!

As you may know, K9s is not pimped out by corps with deep pockets, thus
if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship
program](https://togithub.com/sponsors/derailed) and/or make some noise
on social! [@&#8203;kitesurfer](https://twitter.com/kitesurfer)

On Slack? Please join us
[K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)

***

#### ♫ Sounds Behind The Release ♭

Going back to the classics...

- [Home For Christmas - Fats
Domino](https://www.youtube.com/watch?v=ykAVdPz8o1Q)
-   [Our Love - Al Jarreau](https://www.youtube.com/watch?v=9ztMe6GIwi8)
- [Body And Soul - Louis
Armstrong](https://www.youtube.com/watch?v=2Gnz69TbqHQ)
- [On The Dunes - Donald
Fagen](https://www.youtube.com/watch?v=QoVT3XcMVvk)
-   [Ciao - Lucio Dalla](https://www.youtube.com/watch?v=qcqXcmKu_I4)
- [Basin Street Blues - Louis
Prima](https://www.youtube.com/watch?v=IijXXXpUefM\&list=RDIijXXXpUefM\&start_radio=1)

***

#### A Word From Our Sponsors...

To all the good folks below that opted to `pay it forward` and join our
sponsorship program, I salute you!!

-   [Bojan](https://togithub.com/rbojan)

> Sponsorship cancellations since the last release: **5!** 🥹

***

#### 🎄 Feature Release! 🎄

🎅 Merry Christmas to all and Best wishes for the new year!!🧑‍🎄

***

##### Videos Are In The Can!

Please dial [K9s
Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for
up coming content...

-   [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
-   [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)

***

##### Breaking Bad!

> ☢️ !!Prior to installing v0.30.0!! Please be sure to backup your k9s
configs directories or move them somewhere safe!!

> ☢️ Please watch the v0.30.0 Sneak peek series (links below) for
detailed information.
>
> ☢️ Most K9s configuration files have either split or changed location
or names on this drop!!

> We recommend moving your current k9s config dirs to another location
and start k9s from scratch and let it create and initialize the various
configs
> to their new spec and location. You can then use your existing setup
and patch with the new layout/spec.
> As of v0.30.0 all config files now use the `*.yaml` extension. We did
our best to update all the docs to match the new version.
> If you find doc issues either file an issue or better yet submit a PR!

Some of you might say: `You're on the roll their bud! Two breaking
changes drops in a row!!`
Per the wise words of my beloved Grand mama! `One can't cook a decent
meal without creating a mess!`
Not to mention we're still at v0.x.y so `Open season on breaking
changes` is very much in full effect.

Tho I have tested this drop quite a bit, there is a strong chance that
I've broken some stuff.
The key here is to walk the fine line of improving k9s code base and
features set with minimal impact to you.
As you know by now, I am committed to ease the pain and resolve issues
quickly to get you all back up and running.

From the scope changes in this release, I would caution that this drop
will likely break you!
If so, worry not! We will fix the duds so we are `Happy as a Hippo` once
again.

There was a few issues with the way K9s persists it's configuration and
various artifacts. So we rewrote it!
First and foremost all k9s related YAML resources, will now use the
standard ".yaml" extension.
I think we've bloated the code checking for both extensions with no real
actionable value!

As it stands the main K9s configuration `config.yml` will now be static.
These settings are now readonly! All the dynamic configurations that K9s
manages now live in a new directory aka `clusters`. The clusters
directory manages your k8s cluster/context configurations. So things
like active view, namespace, favorites, etc... now live in this
directory. K9s configurations are still managed using either xdg
`XDG_CONFIG_HOME` or you can set `K9S_CONFIG_DIR` to specify a your
preferred k9s configs location. Also all config files will now use the
".yaml" extension vs ".yml"!!

So the main k9s configuration (static) now looks like this:

```yaml

### $XDG_CONFIG_HOME/k9s/config.yaml
### File will be autogenerated will all the default fixins if not found in the config specification.
k9s:
  liveViewAutoRefresh: false
  refreshRate: 2
  maxConnRetry: 5
  readOnly: false
  noExitOnCtrlC: false
  ui: # NOTE! New level!!
    enableMouse: false
    headless: false
    logoless: false
    crumbsless: false
    noIcons: false
  skipLatestRevCheck: false
  disablePodCounting: false

### ShellPod configuration applies to all your clusters
  shellPod:
    image: busybox:1.35.0
    namespace: default
    limits:
      cpu: 100m
      memory: 100Mi

### ImageScan config changed from v0.29.0!
  imageScans:
    enable: false

### Now figures exclusions ie blacklist namespaces or specific workload labels
    blackList:

### Exclude the following namespaces for image vulscans!
      namespaces:
        - kube-system
        - fred

### Exclude the following labels from image vulscans!
      labels:
        k8s-app:
          - kindnet
          - bozo
        env:
          - dev
  logger:
    tail: 100
    buffer: 5000
    sinceSeconds: -1
    fullScreenLogs: false
    textWrap: false
    showTime: false
  thresholds:
    cpu:
      critical: 90
      warn: 70
    memory:
      critical: 90
      warn: 70
```

Next context specific configurations that are managed by you and k9s
live in the XDG data directory
i.e `$XDG_DATA_HOME/k9s/clusters` or `$K9S_CONFIG_DIR/clusters` if the
env var is set.

```text
$XDG_DATA_HOME/k9s
// Clusters tracks visited kubeconfig cluster/contexts
├── clusters
│   ├── fred
│   │   └── bozo
│   │       └── config.yaml
│   ├── bozorg
│   │   ├── kind-bozo-1
│   │   │   └── config.yaml
│   │   ├── kind-bozo-2
│   │   │   └── config.yaml
│   │   └── kind-bozo-3
│   │       └── config.yaml
│   └── bumblebeetuna
│       └── blee
│           └── config.yaml
└── skins
    ├── black_and_wtf.yaml
    ├── dracula.yaml
    ├── in_the_navy.yml
    ├── ...
```

Now looking at a given context configuration i.e
cluster-1/context-1/config.yaml

```yaml

### $XDG_DATA_HOME/k9s/clusters/bumblebeetuna/blee/config.yaml
k9s:
  cluster: bumblebeetuna
  readOnly: false # [New!] you can now single out a given context and make it readonly. Woof!
  skin: in_the_navy # [NEW!] you can also skin individual contexts. Woof Woof!
  namespace:
    active: all
    lockFavorites: false
    favorites:
    - all
    - kube-system
    - default
  view:
    active: dp
  featureGates:
    nodeShell: false
  portForwardAddress: localhost
```

Transient artifacts ie k9s logs, screen-dumps, benchmarks etc now live
in the state config dir.

```text
$XDG_STATE_HOME/k9s
├── k9s.log # K9s log files
└── screen-dumps
    └── bumblebeetuna # Screen dumps location for context blee
        └── blee
            └── deployments-kube-system-1703018199222861000.csv
```

If you get stuck or if my instructions are just `clear as mud`... `k9s
info` is always your friend!!

I feel this is an improvement (tho I might be unanimous on this!)
especially for folks dealing with multi-clusters or swapping out there
kubeconfigs...

> NOTE! Paint is still fresh on this deal. Proceed with caution and
please help us flush this feature out!

***

### Got Prompt?

In this drop, we've also gave the k9s command prompt aka `:xxx` some
love.
You have the ability to specify filter directly in the prompt.

So for example, you can now run something like `:po /fred` to run pod
view with a filter to just show pods containing `fred`. Likewise `:po
k8s-app=fred,env=blee` to filter by labels.
And now for the`Krampus` special... you can see pods in a different
context all together via `:pod @&#8203;ctx-2`.
Finally you can combo and send the `whole enchilada` via `:po
k8s-app=fred /blee ns-1 @&#8203;ctx-x`
Did I mention with completion where applicable? Yes Please!!
Compliments of [Jayson Wang](https://togithub.com/wjiec). Be sure to
thank him!!

Put these frequent flyers command in an alias and now you can nav your
clusters with `even more style`!

***

### All Is Love?

🎵 `On The twentieth day of Christmas my true love gave to me... Ten
worklords a-leaping??...` 🎵

This is a feature reported by many of you and its (finally!) here. As of
this drop, we intro the `workload` view aka `wk` which is similar to
`kubetcl get all`. I was reluctant to intro it given the potential
hazards on larger clusters but figured why not? YOLO. I think using it
in combo with the prompt updates it could pack a serious punch to
observe workload related artifacts.

***

### The Black List...

As it seems customary with all k9s new features, folks want to turn them
off ;(
The `Vulscan` feature did not get out unscaped ;(
As it was rightfully so pointed out, you may want to opted out scans for
images that you do not control.
Tho I think it might be a good idea to run wide open once in a while to
see if your cluster has any holes??
For this reason, we've opted to intro a blacklist section under the
image scan configuration to exclude certain images from the scans.

Here is a sample configuration:

```yaml
k9s:
  liveViewAutoRefresh: false
  refreshRate: 2
  ui:
    enableMouse: false
    headless: false
    logoless: false
    crumbsless: false
    noIcons: false
  imageScans:
    enable: true
    blackList:

### Skip scans on these namespaces
      namespaces:
        - ns-1
        - ns-2

### Skip scans for pods matching these labels
      labels:
        - app:
          - fred
          - blee
          - duh
        - env:
          - dev
```

This is a bit of a blur now, but I think that it! We hope you guys will
dig this drop or at least the concepts as likely this is going to be
`Open Season` on bugs ;(

🎵 `On The second day of Christmas my true love gave to me... Eleven
buggers bugging??...` 🎵

Lastly looks like the sponsorship stream is down to an alarming trickle
so if you dig this project and find it useful be sure `to give til it
hurts!`

***

🎅 Best wishes to you and yours for good health and happiness this
holiday season!! 🎉

AndJoy!
Fernand

***

#### Resolved Issues

- [#&#8203;2346](https://togithub.com/derailed/k9s/issues/2346) k9s
should not write state to config.yaml
- [#&#8203;2335](https://togithub.com/derailed/k9s/issues/2335) Restore
0.28 column order on pod view bug
- [#&#8203;2331](https://togithub.com/derailed/k9s/issues/2331) Set a
shortcut key to run Vuln Scanning on a resource. Don't scan every
resource at every startup.
- [#&#8203;2283](https://togithub.com/derailed/k9s/issues/2283) Adding
auto complete in search bar

***

#### Contributed PRs

Please be sure to give `Big Thanks!` and `ATTA Girls/Boys!` to all the
fine contributors for making K9s better for all of us!!

- [#&#8203;2357](https://togithub.com/derailed/k9s/pull/2357) Added ln
check for snap
- [#&#8203;2350](https://togithub.com/derailed/k9s/pull/2350) Add
symlink into snap
- [#&#8203;2348](https://togithub.com/derailed/k9s/pull/2348) Fix(misc
plugins): split up multiline commands, use less -K everywhere
- [#&#8203;2343](https://togithub.com/derailed/k9s/pull/2343) Passing on
the correct suggestion parameters
- [#&#8203;2341](https://togithub.com/derailed/k9s/pull/2340) Adding
value, yaml and describe views to helm-history
- [#&#8203;2340](https://togithub.com/derailed/k9s/pull/2340) Add pkgx
to installation section

***

<img
src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png"
width="32" height="auto"/> © 2023 Imhotep Software LLC. All materials
licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

</details>

<details>
<summary>sigoden/aichat (sigoden/aichat)</summary>

###
[`v0.12.0`](https://togithub.com/sigoden/aichat/releases/tag/v0.12.0)

[Compare
Source](https://togithub.com/sigoden/aichat/compare/v0.11.0...v0.12.0)

#### What's Changed

- feat: change REPL indicators
[https://github.com/sigoden/aichat/pull/263](https://togithub.com/sigoden/aichat/pull/263)
- fix: pipe failed on macos
[https://github.com/sigoden/aichat/pull/264](https://togithub.com/sigoden/aichat/pull/264)
- fix: cannot read image with uppercase ext
[https://github.com/sigoden/aichat/pull/270](https://togithub.com/sigoden/aichat/pull/270)
- feat: support gemini
[https://github.com/sigoden/aichat/pull/273](https://togithub.com/sigoden/aichat/pull/273)
- feat: abandon PaLM2
[https://github.com/sigoden/aichat/pull/274](https://togithub.com/sigoden/aichat/pull/274)
- feat: support qianwen:qwen-vl-plus
[https://github.com/sigoden/aichat/pull/275](https://togithub.com/sigoden/aichat/pull/275)
- feat: support ollama
[https://github.com/sigoden/aichat/pull/276](https://togithub.com/sigoden/aichat/pull/276)
- feat: qianwen vision models support embeded images
[https://github.com/sigoden/aichat/pull/277](https://togithub.com/sigoden/aichat/pull/277)
- refactor: remove path existence indicator from info
[https://github.com/sigoden/aichat/pull/282](https://togithub.com/sigoden/aichat/pull/282)
- feat: custom REPL prompt
[https://github.com/sigoden/aichat/pull/283](https://togithub.com/sigoden/aichat/pull/283)

**Full Changelog**:
sigoden/aichat@v0.11.0...v0.12.0

</details>

<details>
<summary>simulot/immich-go (simulot/immich-go)</summary>

###
[`v0.9.5`](https://togithub.com/simulot/immich-go/releases/tag/0.9.5)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.9.4...0.9.5)

#### Changelog

- [`730a2a5`](https://togithub.com/simulot/immich-go/commit/730a2a5)
chore: edit release.md
- [`1b389bc`](https://togithub.com/simulot/immich-go/commit/1b389bc)
fix: panic at cmdupload/upload.go:255

</details>

<details>
<summary>starship/starship (starship/starship)</summary>

###
[`v1.17.0`](https://togithub.com/starship/starship/releases/tag/v1.17.0)

[Compare
Source](https://togithub.com/starship/starship/compare/v1.16.0...v1.17.0)

##### Features

- add additional exit status code meanings from libc
([#&#8203;5412](https://togithub.com/starship/starship/issues/5412))
([81c7d0c](https://togithub.com/starship/starship/commit/81c7d0cc5805dc10018f0589a6671e1b727a0e9c))
- add typst module
([7b21705](https://togithub.com/starship/starship/commit/7b217056bdb8dcb5b328b51fa3b68fe837f9fb3c))
- **aws:** Adding the AWS SSO CLI env variable to profile list
([#&#8203;5640](https://togithub.com/starship/starship/issues/5640))
([6d96df3](https://togithub.com/starship/starship/commit/6d96df3c6828161bb9dc922fe45ef35a1ce33771))
- **direnv:** add new direnv module
([#&#8203;5157](https://togithub.com/starship/starship/issues/5157))
([e47bfba](https://togithub.com/starship/starship/commit/e47bfbabb9b7d6af12a29db9413a6ec03fba174b))
- **fossil_metrics:** add fossil_metrics module
([#&#8203;4874](https://togithub.com/starship/starship/issues/4874))
([e867cda](https://togithub.com/starship/starship/commit/e867cda1eb90ba452768bd2e0738afc2fd0db613))
- **hostname:** add detect_env_vars as option
([#&#8203;5196](https://togithub.com/starship/starship/issues/5196))
([43b2d42](https://togithub.com/starship/starship/commit/43b2d42cd526e34c5f0290e7409fbd6d3a54e908))
- **kubernetes:** Add styling based on current context
([#&#8203;4550](https://togithub.com/starship/starship/issues/4550))
([6b444e0](https://togithub.com/starship/starship/commit/6b444e05c688f9b871d0fe4624cd5559eba1f95c))
- R lang packages version, remove .Rprofile from rlang detection
([#&#8203;5588](https://togithub.com/starship/starship/issues/5588))
([5267c46](https://togithub.com/starship/starship/commit/5267c464eb5e4b23e44cdb7c56919991f4f67ae3))
- **scanner:** add option not to follow symlinks
([#&#8203;5325](https://togithub.com/starship/starship/issues/5325))
([7b851fc](https://togithub.com/starship/starship/commit/7b851fc30e109213e911eec38460315872f1ae59))
- **shell:** allow distinguishing between pwsh and powershell
([#&#8203;5478](https://togithub.com/starship/starship/issues/5478))
([d7a34b4](https://togithub.com/starship/starship/commit/d7a34b45f88ced63bd79a582c14a6b2f8ebd9544))

##### Bug Fixes

- **bash:** unbound variable error with STARSHIP_PREEXEC_READY
([#&#8203;5438](https://togithub.com/starship/starship/issues/5438))
([8168c21](https://togithub.com/starship/starship/commit/8168c21293de8118af1e95778b1eee8f26cd6d6a))
- **docker_context:** ignore unix domain socket path from Docker Context
([#&#8203;5616](https://togithub.com/starship/starship/issues/5616))
([a910e09](https://togithub.com/starship/starship/commit/a910e094f77ba6d67349a561e5e9780becfe823a)),
closes
[#&#8203;5548](https://togithub.com/starship/starship/issues/5548)
- **git_status:** Avoid printing error on missing stash ref
([#&#8203;5434](https://togithub.com/starship/starship/issues/5434))
([00d3dc8](https://togithub.com/starship/starship/commit/00d3dc86a21d11aede96f81ffbe49babe487984e))
- **git:** prevent `core.fsmonitor` from executing external commands
([#&#8203;3981](https://togithub.com/starship/starship/issues/3981))
([03278e4](https://togithub.com/starship/starship/commit/03278e4de4f540cbd0e346e9df878c7e6798d757))
- **install:** do not use curl installed through snap
([#&#8203;5442](https://togithub.com/starship/starship/issues/5442))
([0e73817](https://togithub.com/starship/starship/commit/0e738175c57d5789350b996b69c5713aac03835e))
- **pastel-powerline:** remove `$path` from docker-context module format
string
([#&#8203;5534](https://togithub.com/starship/starship/issues/5534))
([6abc83d](https://togithub.com/starship/starship/commit/6abc83decdf176842985b4daa5b09771c6b93415))

##### Performance Improvements

- **git_status:** avoid running in bare repos
([#&#8203;5581](https://togithub.com/starship/starship/issues/5581))
([ac4a839](https://togithub.com/starship/starship/commit/ac4a83910357d69950ca304a3fb41d1d39bc3592))
- Skip unnecessary indirection in starship init zsh
([#&#8203;5322](https://togithub.com/starship/starship/issues/5322))
([5ca8daa](https://togithub.com/starship/starship/commit/5ca8daacd4ce936f97170f814a780b34bfaa486e))

</details>

<details>
<summary>terraform-linters/tflint (terraform-linters/tflint)</summary>

###
[`v0.50.0`](https://togithub.com/terraform-linters/tflint/releases/tag/v0.50.0)

[Compare
Source](https://togithub.com/terraform-linters/tflint/compare/v0.49.0...v0.50.0)

#### What's Changed

##### Breaking Changes

- Call local modules by default by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1918](https://togithub.com/terraform-linters/tflint/pull/1918)
- Module inspection is now enabled by default for modules whose source
is a relative path. Note that "module inspection" will be called
"calling modules" after this change. See also
[https://github.com/terraform-linters/tflint/issues/1066](https://togithub.com/terraform-linters/tflint/issues/1066)
- CLI flag `--module` has been changed to `--call-module-type`. For
backward compatibility, `--module` will continue to work, but it will be
removed in a future version, so we recommend migrating early. The same
applies to the `module` attribute of the configuration file.
- `--module` flag is replaced by `--call-module-type=all` and
`--no-module` (previous default) is replaced by
`--call-module-type=none`
- For modules with many local module calls, this change may result in
performance degradation. If this is not acceptable, you can keep the
previous default by specifying `--call-module-type=none`.
- Make assignments to undeclared variables an error by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1941](https://togithub.com/terraform-linters/tflint/pull/1941)
- In line with Terraform behavior, assignments using the `--var` flag
etc. to undeclared variables now result in an error. To avoid this,
remove unnecessary variable assignments.

##### Enhancements

- Print the working directory on error in recursive inspection by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1933](https://togithub.com/terraform-linters/tflint/pull/1933)
- Enable per-runner parallelism by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1944](https://togithub.com/terraform-linters/tflint/pull/1944)

##### BugFixes

- Exit with an error if the explicitly passed `.tflint.hcl` does not
exist by [@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1940](https://togithub.com/terraform-linters/tflint/pull/1940)

##### Chores

- build(deps): Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1913](https://togithub.com/terraform-linters/tflint/pull/1913)
- build(deps): Bump sigstore/cosign-installer from 3.1.2 to 3.2.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1915](https://togithub.com/terraform-linters/tflint/pull/1915)
- build(deps): Bump github.com/hashicorp/go-plugin from 1.5.2 to 1.6.0
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1917](https://togithub.com/terraform-linters/tflint/pull/1917)
- docs: Remove mention of directory arguments by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1921](https://togithub.com/terraform-linters/tflint/pull/1921)
- build(deps): Bump golang.org/x/crypto from 0.15.0 to 0.16.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1923](https://togithub.com/terraform-linters/tflint/pull/1923)
- build(deps): Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1931](https://togithub.com/terraform-linters/tflint/pull/1931)
- build(deps): Bump github.com/spf13/afero from 1.10.0 to 1.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1932](https://togithub.com/terraform-linters/tflint/pull/1932)
- build(deps): Bump actions/setup-go from 4 to 5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1936](https://togithub.com/terraform-linters/tflint/pull/1936)
- build(deps): Bump sigstore/cosign-installer from 3.2.0 to 3.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1937](https://togithub.com/terraform-linters/tflint/pull/1937)
- build(deps): Bump alpine from 3.18 to 3.19 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1938](https://togithub.com/terraform-linters/tflint/pull/1938)
- Stop using backticks for emphasis by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1934](https://togithub.com/terraform-linters/tflint/pull/1934)
- Avoid escaping newlines by
[@&#8203;wata727](https://togithub.com/wata727) in
[https://github.com/terraform-linters/tflint/pull/1942](https://togithub.com/terraform-linters/tflint/pull/1942)
- build(deps): Bump golang.org/x/crypto from 0.16.0 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1945](https://togithub.com/terraform-linters/tflint/pull/1945)
- build(deps): Bump github.com/google/uuid from 1.4.0 to 1.5.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1947](https://togithub.com/terraform-linters/tflint/pull/1947)
- build(deps): Bump google.golang.org/grpc from 1.59.0 to 1.60.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/terraform-linters/tflint/pull/1948](https://togithub.com/terraform-linters/tflint/pull/1948)

**Full Changelog**:
terraform-linters/tflint@v0.49.0...v0.50.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone
America/Los_Angeles, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

3 participants