Releases: Ramilito/kubectl.nvim
v1.1.0
Release Notes: kubectl.nvim v1.1.0
Another fantastic release packed with powerful features! 🚀
Although this is a minor version update, don't be misled—major enhancements have been added, and soon, version numbers will automatically increment to better reflect feature additions.
Enjoy all the new tools at your disposal, and a big shoutout to @mosheavni for the outstanding work! 🙌
What's Changed
🚀 Highlights
🔍 Negative and multi filter by @mosheavni
Advanced filtering with options to exclude specific text while including others for more precise search results.
🌳 Lineage by @Ramilito
A feature inspired by kube-lineage that displays resources in a tree structure!
This feature is in beta, with known issues still under review and is therefore disabled by default.
🛠️ Action view by @Ramilito
A new view for composing various parameters before executing commands, giving you greater control and flexibility.
###🐛 Debug containers by @Ramilito
Easily attach to and view debug containers through the container view.
📌 Multi select by @mosheavni
Support for selecting multiple resources simultaneously, making batch actions more convenient. (Default binding: <Tab>
)
🔖 Togglable header by @mosheavni
The header offers a wealth of contextual information but can be toggled off when not needed. (Default binding: <M-h>
).
Enhancements 🔥
- feat: drain node with flags by @Ramilito in #473
- feat: add debug command to container by @Ramilito in #471
- feat: generic action view by @Ramilito in #480
- feat: enhanced debug for containers by @Ramilito in #481
- feat: action view enum by @mosheavni in #483
- feat: logger by @mosheavni in #404
- feat: add close keymaps by @Ramilito in #419
- feat: negative-and-multi-filter by @mosheavni in #403
- feat: livez prope by @Ramilito in #425
- feat: add fetchAllAsync to builder by @Ramilito in #429
- feat: kubectl versions by @mosheavni in #427
- feat: save-state-on-context-switch by @mosheavni in #414
- feat: toggle headers by @mosheavni in #441
- feat: log options configurable by @mosheavni in #446
- feat: show previous logs for containers by @Ramilito in #456
- feat: use builder and add wrap by @Ramilito in #457
- feat: replicasets view by @mosheavni in #451
- feat: lineage by @Ramilito in #430
- feat: multi select by @mosheavni in #465
- feat: add refresh to describe view by @Ramilito in #472
Fixes 🔧
- fix: reduce informer complexity by @Ramilito in #408
- fix: hints not visible on first load for floats by @Ramilito in #416
- fix: pod logs reload by @Ramilito in #420
- fix: tail logs stopping on toggle by @Ramilito in #423
- fix: node-def by @mosheavni in #426
- fix: unload event on winclose by @Ramilito in #436
- fix: use name instead of cluster for header by @Ramilito in #437
- fix: dont display global hints on floats by @Ramilito in #448
- fix: add check for str in capitalize func by @paulbrittain in #447
- fix: versions on heartbeat by @mosheavni in #442
- fix: definition validations by @mosheavni in #453
- fix: invert ready coloring logic for jobs by @Ramilito in #461
- fix: stop the livez heartbeat timer on close by @Ramilito in #475
Chores
- docs: update gifs by @Ramilito in #396
- docs: version 1.0.0 by @mosheavni in #399
- chore: label-filter-removes-filter by @mosheavni in #401
- chore: Improve command executions: by @tony-sol in #405
- chore: further informer improvements by @mosheavni in #411
- chore: separate-top-pods-nodes by @mosheavni in #400
- chore: fail-safes-for-defs by @mosheavni in #412
- chore: cpu-based-on-allocatable by @mosheavni in #413
- chore: pod-container-count by @mosheavni in #415
- chore: use-plug-on-refresh by @mosheavni in #417
- chore: refactor versions to use max width by @Ramilito in #440
- chore: misc doc updates and remove unused
exact
param from is_in_table by @paulbrittain in #439 - chore: remove unused view edits by @mosheavni in #452
- chore: add k8s logo by @Ramilito in #455
- chore: update docs for lineage by @Ramilito in #459
- chore: fresh and status nodes by @mosheavni in #466
- chore: remove create job from job by @mosheavni in #484
- chore: workflows by @Ramilito in #486
- chore: add release workflow by @Ramilito in #487
New Contributors
- @tony-sol made their first contribution in #405
- @paulbrittain made their first contribution in #439
Full Changelog: 1.0.0...v1.1.0
v1.0.0
Release Notes: kubectl.nvim v1.0.0
We are thrilled to announce the release of kubectl.nvim v1.0.0! This major update brings a host of new features, enhancements, and bug fixes to improve your Kubernetes experience within Neovim. A huge thank you to @mosheavni, whose hard work and dedication has made this release possible. Your contributions are greatly appreciated!
What's Changed
🚀 Highlights
🎉 Custom Resource Support
Manage Custom Resource Definitions (CRDs) directly within Neovim. Interact seamlessly with custom Kubernetes resources as you would with standard ones.
🌐 Session Per Context
Maintain separate sessions for different Kubernetes contexts, simplifying cluster management. Switch between clusters without losing your workflow state.
📝 Enhanced Logging with History Navigation
Navigate through your log history effortlessly with improved logging functionality. Revisit previous logs without hassle.
📊 Real-Time Resource Monitoring
Introducing the new Top View for real-time monitoring of resource usage. Keep track of your cluster's performance at a glance.
🎛️ Configurable Keymaps
Customize your workflow with fully configurable keymaps. Set up shortcuts that fit your preferences and enhance productivity.
🗂️ Improved Namespace Management
Efficiently switch and filter namespaces with enhanced completion and management features. Work across different namespaces with ease.
🚀 Ingress and Helm Integration
New views for Ingress resources and Helm releases expand the range of resources you can manage directly from Neovim.
🔍 Label Selector Filtering
Filter resources based on labels for precise control and management. Easily narrow down resources to those that matter most.
🧠 Fuzzy Completion and Enhanced Navigation
Experience improved resource selection with fuzzy completion. Navigate your Kubernetes resources more intuitively and quickly.
🖥️ Customizable Overview Dashboard
Get a comprehensive view of your cluster with the new Overview Dashboard, featuring grid layout that will be customizable in the future.
Enhancements 🔥
- feat: use informer to update state by @Ramilito in #171
- feat: custom resources by @mosheavni in #187
- feat: style headers by @Ramilito in #196
- feat: use the full width of the column to sort on by @Ramilito in #197
- feat: completion-and-namespace by @mosheavni in #198
- feat: generic completion util by @Ramilito in #215
- feat: add extra padding if window allows for it by @Ramilito in #219
- feat: notify-refresh by @mosheavni in #220
- feat: keep namespace filter by @mosheavni in #204
- feat: view-or-fallback by @mosheavni in #230
- feat: namespace-completion-All by @mosheavni in #236
- feat: colorize-svc-type by @mosheavni in #243
- feat: add-days-to-years by @mosheavni in #231
- feat: sort-by-ready by @mosheavni in #241
- feat: deployment-go-to-pods by @mosheavni in #225
- feat: fallback-for-vim-nil by @mosheavni in #237
- feat: wrap-log-lines by @mosheavni in #234
- feat: add jobs and cronjobs by @mosheavni in #226
- feat: native kubectl edit by @mosheavni in #218
- feat: capitalize-events by @mosheavni in #238
- feat: add-some-views-to-root by @mosheavni in #245
- feat: add-pvc-status-symbols by @mosheavni in #246
- feat: crd-to-fallback by @mosheavni in #252
- feat: move error statuses by @mosheavni in #256
- feat: pvc-to-pv by @mosheavni in #251
- feat: toggle-suspend-cronjob by @mosheavni in #257
- feat: out-of-pods-event by @mosheavni in #261
- feat: session per context by @mosheavni in #233
- feat: namespace-view-or-switch by @mosheavni in #254
- feat: scale workloads by @mosheavni in #265
- feat: top view by @mosheavni in #272
- feat: configurable keymaps by @Ramilito in #273
- feat: allocatable on top node view by @mosheavni in #278
- feat: toggle follow by @mosheavni in #276
- feat: add toggleable_timestamps_in_logs by @Ramilito in #284
- feat: add completion to filter by @Ramilito in #287
- feat: reuse float window by @Ramilito in #298
- feat: add event handler by @Ramilito in #297
- feat: keymap-shift-tab by @mosheavni in #301
- feat: port-forward-keymaps by @mosheavni in #302
- feat: enhanced log with history value by @Ramilito in #310
- feat: pod-ip by @mosheavni in #311
- feat: configurable kubectl command by @Ramilito in #309
- feat: overview view by @Ramilito in #300
- feat: add ingress view by @Ramilito in #314
- feat: alias history by @Ramilito in #318
- feat: allow overriding theme by @Ramilito in #324
- feat: refresh float by @Ramilito in #322
- feat: enhance kubectl apply by @Ramilito in #326
- feat: filter visual selection by @mosheavni in #327
- feat: svc-go-to-pods by @mosheavni in #334
- feat: go-up-history by @mosheavni in #348
- feat: api resources view by @mosheavni in #346
- feat: kubectx-menu by @mosheavni in #352
- feat: add-fuzzy-completion by @mosheavni in #355
- feat: completion-pum by @mosheavni in #363
- feat: configurable auto search by @Ramilito in #367
- feat: configurable max history by @Ramilito in #370
- feat: use-data-for-resource by @mosheavni in #374
- feat: remove-strings-trim by @mosheavni in #376
- feat: label selector by @mosheavni in #375
- feat: helm view by @mosheavni in #385
- feat: apply_on_select_from_history-alias by @mosheavni in #384
- feat: config overview column size by @Ramilito in #389
- feat: add events to overview by @Ramilito in #390
- feat: overview grid layout customization by @Ramilito in #394
- feat: keymap view names by @mosheavni in #395
Fixes 🔧
- fix: reinitialize builder for fallback by @Ramilito in #193
- fix: filter by @mosheavni in #199
- fix: remove root mapping since it interferes with vim binding by @Ramilito in #207
- fix: graceful shutdown of informer by @Ramilito in #210
- fix: revert the exact filter method by @Ramilito in #211
- fix: decrease refresh timer, don't refresh view when state updates by @Ramilito in #212
- fix: dashboard.nvim conflicting floating buffers by @Ramilito in #213
- fix: age-sort by @mosheavni in #205
- fix: sort icon overlap by @Ramilito in #222
- fix: describe-on-fallback by @mosheavni in #229
- fix: fallback-before-cached-resources by @mosheavni in #232
- fix: use exact match for checking buffer by @Ramilito in #255
- fix: n...
0.3.0
Creating this release before merging #171 which is a big change and not sure what problems that will cause, so if it doesn't work properly just pin the config to this release! ping:@mosheavni, @idelice
What's Changed
- feat: node cordon, uncordon and drain actions by @Ramilito in #132
- feat: generic desc mapping by @Ramilito in #133
- refactor: move some code around/rename and fix small issues by @Ramilito in #134
- feat: aliases view by @Ramilito in #136
- feat: previous search history by @Ramilito in #137
- feat: cache api-resources by @Ramilito in #140
- feat: use api-resources and fallback view in user_cmd by @Ramilito in #141
- fix: filter ignore our symbol key by @Ramilito in #142
- feat: separate buffer and content creation by @Ramilito in #145
- feat: decode base64 secrets by @Ramilito in #146
- feat: updated all views to use load buffer then set content by @Ramilito in #147
- feat: replace encoded with decoded value by @Ramilito in #148
- feat: limited access by @Ramilito in #149
- feat: prompt for text when no namespace available by @Ramilito in #150
- feat: use view lookup table for aliases by @Ramilito in #152
- feat: add daemonset view by @Ramilito in #153
- feat: add crds view by @Ramilito in #154
- fix: describe resource right name by @mosheavni in #156
- feat: use viewstable
:Kubectl get
by @mosheavni in #157 - feat: move-to-definition by @mosheavni in #158
- fix: manipulate copy instead of original by @Ramilito in #159
- feat: add pv view by @Ramilito in #155
- feat: add pvc view by @Ramilito in #161
- feat: add sa view by @Ramilito in #162
- feat: allow spaces and dash in column header by @Ramilito in #163
- feat: recover state by @Ramilito in #164
- fix: only stop proxy if main buffer by @Ramilito in #166
- refactor: move pod hints to definition by @Ramilito in #167
- feat: use vim time parser by @Ramilito in #168
- fix: update-context-on-kubectx by @mosheavni in #169
- feat: add clusterrolebinding view by @Ramilito in #173
- fix: no ports on svc by @mosheavni in #175
- fix: sort when filtering by @Ramilito in #177
- feat: add more aliases to viewsTable by @mosheavni in #181
- feat: expand pod statuses by @Ramilito in #179
- feat: different close and open strategy by @Ramilito in #183
- chore: rename-kill by @mosheavni in #184
- fix: Remove unnecessary nil-values in deployments table by @Elyviere in #186
- fix: make ns popup great again by @Ramilito in #185
New Contributors
Full Changelog: 0.2.0...0.3.0
0.2.0
What's Changed
- feat: use kubectl proxy by @Ramilito in #55
- fix: use a root window that we create on toggle by @Ramilito in #61
- feat: loading indicator by @Ramilito in #63
- feat: Add more notifications and general improvements by @Ramilito in #64
- feat: use extmarks instead of match by @Ramilito in #65
- feat: Use virtual_text to highlight sorting by @Ramilito in #67
- feat: usemarks to highlight notifications by @Ramilito in #68
- feat: non verbose loading indicator by @Ramilito in #69
- bugfix: vim.notify now correctly notifies if error on executing async command by @idelice in #71
- feat: edit resources by @Ramilito in #72
- fix: moved filter to process step, removed build step to add filter by @Ramilito in #74
- if notification not verbose, only open a 1X1 window by @Ramilito in #79
- fix port forward when multiple ports by @mosheavni in #81
- refactor: Rename actions module to buffers by @Ramilito in #82
- refactor: lazy load modules by @Ramilito in #83
- fix: mappings trigger on header content by @Ramilito in #84
- feat: add luacheck and make it pass by @Ramilito in #85
- fix: disable e in floats by @Ramilito in #88
- fix: edit incorrectly close by @Ramilito in #89
- fix: update services to use kubectl proxy by @Ramilito in #91
- feat: Add types by @Ramilito in #92
- remove gifs by @mosheavni in #94
- feat: add kubectx command by @Ramilito in #95
- fix incorrect params for async call, added types to commands by @Ramilito in #98
- feat: kubediff by @Ramilito in #96
- doc: Add kube diff demo by @Ramilito in #99
- feat: better integration with kubediff by @Ramilito in #100
- feat: Add resource name and count to divider by @Ramilito in #101
- doc: add types to buffer module by @Ramilito in #102
- fix: async tailing logs by @Ramilito in #103
- fix: decrease header size and other ui details by @Ramilito in #104
- feat: always show divider by @Ramilito in #105
- feat: add colors to different parts of the divider by @Ramilito in #106
- fix: divider length, preload buffer before async call by @Ramilito in #107
- fix: floats close not working by @Ramilito in #108
- fix: incorrect age calculation caused by timezone by @Ramilito in #109
- feat: asc and desc sorting by @Ramilito in #110
- feat: apply current buffer by @Ramilito in #113
- docs: update features by @Ramilito in #114
- fix(deprecations): use
nvim_set_option_value
by @mosheavni in #117 - feat: better keymaps by @Ramilito in #119
- feat: port forward mark and stop by @Ramilito in #122
- feat: improved port forward by @Ramilito in #123
- fix: divider width and stale pf views by @Ramilito in #125
Full Changelog: 0.1.0...0.2.0
0.1.0
What's Changed
- feat: grep like filter by @Ramilito in #4
- feat: ex-command, stylua and q to close by @mosheavni in #5
- refactor: structure and reusability by @Ramilito in #6
- refactor: swap views.lua file to init.lua by @Ramilito in #7
- refactor: move completion code into own file by @Ramilito in #8
- feat: sortby columns by @Ramilito in #9
- feat: implement ability to tail logs by @Ramilito in #16
- feat: namespace view by @Ramilito in #24
- feat: container logs view by @Ramilito in #28
- feat: async loop by @Ramilito in #29
- feat: use cancellationtokens by @Ramilito in #32
- feat: add toggle keymap by @Ramilito in #33
- feat: handle no context by @Ramilito in #34
- feat: add colors by @Ramilito in #35
- feat: add internal ip and external ip column to node by @Ramilito in #36
- perf: optimize loading by @Ramilito in #39
- refactor: breakout mappings by @Ramilito in #43
- feat: view shortcuts + fix error callback by @idelice in #42
- feat: appending global hints to buffer specific ones by @Ramilito in #47
- feat: close filter view with q by @Ramilito in #48
- feat: restart deployment by @Ramilito in #49
- feat: exiting plugin keymap by @idelice in #51
- bug: use nvim buf delete instead to keep autocmd a live on toggle by @Ramilito in #52
- bug: filter exclude headers by @Ramilito in #53
- feat: set image with "i" keybinding by @idelice in #54
- feat: confirm before set image by @idelice in #57
- feat: kill pod by @idelice in #60
- feat: port-forward pod by @idelice in #59
New Contributors
- @Ramilito made their first contribution in #4
- @mosheavni made their first contribution in #5
- @idelice made their first contribution in #42
Full Changelog: https://github.com/Ramilito/kubectl.nvim/commits/0.1.0