1
1
Changelog
2
2
---
3
3
4
+ ## v0.15.0 (Feb 4, 2022)
5
+
6
+ * ` apply ` now waits for ` batch/job ` objects (thanks @kvaps )
7
+ * Improved error message includes helpful hints on operations requiring exactly one qbec environment as input (thanks @kalhanreddy )
8
+ * ` eval ` now supports inline datasources without the need to specify a qbec environment
9
+ * Kubernetes list operations now use a page size of ` 1000 ` by default. ` --k8s:list-page-size ` can be used to adjust the size
10
+ Setting this value too low can impact performance when dealing with large lists
11
+ * Update jsonnet library to ` v0.18.0 ` , k8s client libs to ` v1.23.1 ` and golang version to ` 1.17 `
12
+ * Misc. housekeeping improvements
13
+
14
+ Backward incompatibilities:
15
+ * ` apply ` now waits for ` batch/job ` objects. To disable waiting for all objects ` --wait-all=false `
16
+ can be used.
17
+ * Adjustments to the internal behaviour around listing Kubernetes objects. Use ` --k8s:list-page-size `
18
+ with appropriate values.
19
+ * Any corner-case behavior from updating k8s client, jsonnet libraries or golang version
20
+
4
21
## v0.14.8 (Sep 11, 2021)
5
22
6
23
* Expose data source creation in the VM implementation for public use
@@ -24,7 +41,7 @@ Changelog
24
41
25
42
* ` fmt ` and ` alpha lint ` commands now accept exclusion patterns using which vendored files, intentionally bad test
26
43
data etc. can be filtered out. Pattern matching of exlcudes is done using the [ doublestar library] ( https://github.com/bmatcuk/doublestar ) .
27
- * ` qbec.yaml ` can now contain examples of data source outputs. These are returned by the mock linter implementation
44
+ * ` qbec.yaml ` can now contain examples of data source outputs. These are returned by the mock linter implementation
28
45
when data source imports are found. This allows you to correctly lint files that use data source imports.
29
46
30
47
## v0.14.3 (Jun 27, 2021)
@@ -52,7 +69,7 @@ Changelog
52
69
53
70
## v0.14.1 (Mar 2, 2021)
54
71
55
- There are no changes in this release. The previous release used a jsonnet version
72
+ There are no changes in this release. The previous release used a jsonnet version
56
73
[ that had a regression] ( https://github.com/google/go-jsonnet/issues/515 ) in the ` std.manifestJson[Ex] ` functions.
57
74
This version [ uses a commit] ( https://github.com/google/go-jsonnet/commit/9b6cbef4caf7ceeff7ab2086d80df7dd63466556 )
58
75
that fixes this issue.
@@ -64,31 +81,31 @@ that fixes this issue.
64
81
* qbec now allows data to be imported from external data sources. The current implementation allows you to run
65
82
a command whose standard output may be included in your jsonnet component code.
66
83
The [ reference page] ( https://qbec.io/reference/jsonnet-external-data/ ) has more details.
67
- At this point, the ` expandHelmTemplate ` native function should be considered deprecated and will be removed
68
- in a future release. There is nothing that this function could do that cannot be accomplished using an
84
+ At this point, the ` expandHelmTemplate ` native function should be considered deprecated and will be removed
85
+ in a future release. There is nothing that this function could do that cannot be accomplished using an
69
86
external data source.
70
-
87
+
71
88
* A new command ` qbec eval ` can now evaluate a single jsonnet file similar to ` jsonnet eval ` . This can also
72
89
be run in the context of a qbec environment to be able to access environment specific properties.
73
90
See ` qbec eval --help ` for more details. This deprecates the ` jsonnet-qbec ` executable that is packaged in the
74
91
release. This executable may no longer be packaged in a future release.
75
92
76
- * qbec now allows computed variables to be defined in qbec.yaml. This works especially well with external
93
+ * qbec now allows computed variables to be defined in qbec.yaml. This works especially well with external
77
94
data sources and also allow you to cache complex calculations.
78
95
The [ reference page for qbec.yaml] ( https://qbec.io/reference/qbec-yaml/ ) has more details.
79
96
80
97
* Environment files for a qbec environment may now be specified as a glob pattern. qbec will load all matching
81
98
files in sorted alphabetical order.
82
-
99
+
83
100
* Miscellaneous improvements and optimizations for jsonnet evaluation. Most users, unless they are generating
84
101
hundreds of objects or using complex jsonnet libraries will not see any significant performance improvements.
85
-
102
+
86
103
### Incompatibilities
87
104
88
105
* Preprocessors introduced in ` v0.13.4 ` have now been removed. These had awkward semantics and were honestly
89
106
not ready for prime-time. No one was probably using this. The replacement functionality is more general
90
- and allows you to define computed vaiables in qbec.yaml.
91
-
107
+ and allows you to define computed vaiables in qbec.yaml.
108
+
92
109
* Qbec no longer sets the ` qbec.io/component ` variable when evaluating components. This was also introduced in
93
110
` v0.13.4 ` and had dodgy semantics. There is no replacement for this functionality. If you started using this
94
111
and are now stuck, please raise an issue where we can discuss this.
@@ -141,7 +158,7 @@ This release has no backwards-incompatible changes.
141
158
* Update jsonnet library to ` v0.17.0 ` and k8s client libs to ` v1.17.13 `
142
159
* Add json formatter to the ` qbec alpha fmt ` command
143
160
* Fix diff commands to show skipped updates and deletes based on qbec directives specified for existing objects.
144
- This will no longer show spurious diffs for deletes and updates if those have been turned off.
161
+ This will no longer show spurious diffs for deletes and updates if those have been turned off.
145
162
* Use per-namespace queries by default when multiple namespaces are present, allow using cluster-scoped queries
146
163
using an opt-in flag.
147
164
* The ` --env-file ` option now allows http(s) URLs in addition to local files. In addition, the ` envFiles ` attribute
@@ -161,7 +178,7 @@ This release is incompatible from previous minor versions in the following ways:
161
178
* The command line syntax of the ` qbec alpha fmt ` command has changed in incompatible ways. Instead of options like
162
179
` --jsonnet ` , ` --yaml ` etc. you need to specify options as ` --type=jsonnet ` , ` --type=yaml ` and so on.
163
180
* YAML formatter now follows ` prettier ` conventions requiring arrays to be indented under the parent key.
164
- * Any corner-case behavior from updating k8s client and jsonnet libraries.
181
+ * Any corner-case behavior from updating k8s client and jsonnet libraries.
165
182
166
183
## v0.12.5 (Oct 2, 2020)
167
184
@@ -203,7 +220,7 @@ inadvertent incompatibilities introduced by the jsonnet library upgrade.
203
220
204
221
* Add ` alpha fmt ` command to format jsonnet/ libsonnet files and, optionally, yaml files (thanks to @harsimranmaan ).
205
222
This also has facilities to only check if all files are well-formatted. Type ` qbec alpha fmt --help ` for details.
206
-
223
+
207
224
## v0.11.2 (May 27, 2020)
208
225
209
226
* Fix regression in previous release where ` LD_FLAGS ` were not set correctly causing qbec to report a wrong version.
@@ -221,7 +238,7 @@ Please avoid using `v0.11.1` as a result.
221
238
* Add ability to force namespace to the current value in the kubeconfig using the keywork ` __current__ ` . This can
222
239
only be done only if the context is also similarly forced.
223
240
* Reduce verbosity of ` apply ` output. By default, dry-run works as before and actual apply only shows a single
224
- line per object added/ updated/ deleted. This behavior can be explicitly controlled by the ` --show-details ` flag
241
+ line per object added/ updated/ deleted. This behavior can be explicitly controlled by the ` --show-details ` flag
225
242
for the apply command.
226
243
227
244
## v0.11.0 (Mar 26, 2020)
@@ -236,23 +253,23 @@ inadvertent incompatibilities introduced by the jsonnet library upgrade.
236
253
## v0.10.5 (Feb 1, 2020)
237
254
238
255
* change alogirthm of merging environment properties with base properties to not use a merge patch. This means that
239
- ` null ` s in property values will be retained.
256
+ ` null ` s in property values will be retained.
240
257
241
258
## v0.10.4 (Jan 21, 2020)
242
259
243
- * no code changes in this release. This version will be the first to be published as a brew tap thanks to
260
+ * no code changes in this release. This version will be the first to be published as a brew tap thanks to
244
261
@harsimranmaan and @aaqel-s
245
262
246
263
## v0.10.3 (Dec 19, 2019)
247
264
248
265
* when returning environment properties introduced in the previous release, first
249
- apply a JSON merge-patch on to base properties before returning it.
266
+ apply a JSON merge-patch on to base properties before returning it.
250
267
251
268
## v0.10.2 (Dec 11, 2019)
252
269
253
270
* Provide the ability to load environment definitions from external files in addition to defining them inline.
254
271
* Add the ability to associate a properties object with every environment and also define baseline properties.
255
- These are exposed as the ` qbec.io/envProperties ` external variable.
272
+ These are exposed as the ` qbec.io/envProperties ` external variable.
256
273
257
274
The test app under ` examples ` demonstrates both of these features.
258
275
@@ -267,8 +284,8 @@ and labels were being reported as an error, when they shouldn't have.
267
284
268
285
* better support for custom types that are created lazily, for example, by an operator.
269
286
* qbec now waits for custom types to be available in discovery for up to 2 minutes before applying their instances.
270
- * [ support for annotations] ( https://qbec.io/userguide/usage/directives/ ) to control qbec processing. This includes the
271
- ability to lock objects for updates and deletes, and to specify a custom apply order for objects. This includes
287
+ * [ support for annotations] ( https://qbec.io/userguide/usage/directives/ ) to control qbec processing. This includes the
288
+ ability to lock objects for updates and deletes, and to specify a custom apply order for objects. This includes
272
289
standard rules to ensure that the default and system namespaces are never deleted.
273
290
* various internal CI and release process fixes (thanks @harsimranmaan )
274
291
@@ -285,7 +302,7 @@ Previously metadata having non-string values were dropped in their entirety.
285
302
* add ` --force:* ` options to be able to override K8s context and namespace from command line (thanks @abhide ).
286
303
This allows for new use-cases like in-cluster applies. ` qbec options ` shows the available options and special values.
287
304
Note that using these options suppresses qbec safety checks. Use with care.
288
- * add ` QBEC_YES ` environment variable as default for the ` --yes ` option.
305
+ * add ` QBEC_YES ` environment variable as default for the ` --yes ` option.
289
306
Provide better messages when a non-interactive build needs confirmation (thanks @harsimranmaan )
290
307
* update ` client-go ` version to ` kubernetes-1.15.5 ` . Add client-go version to the list of versions displayed by the
291
308
` qbec version ` command.
@@ -326,23 +343,23 @@ library upgrade.
326
343
from evaliating jsonnet components and has the ability to decorate it, typically with additional annotations
327
344
and labels. This allows common metadata to be set in one place.
328
345
* add a ` --clean ` option to the ` show ` command that strips qbec metadata from the output. This reduces the noise
329
- when inspecting objects for debugging. Introduce a standard external variable called ` qbec.io/cleanMode ` that is
346
+ when inspecting objects for debugging. Introduce a standard external variable called ` qbec.io/cleanMode ` that is
330
347
` off ` by default for all commands and only turned ` on ` for the ` show --clean ` command.
331
348
* the above means that the post processor can use the value of the external variable to add annotations or not.
332
349
This provides for a "real clean" experience.
333
350
334
351
## v0.7.2 (Jul 19, 2019)
335
352
336
- * add a ` --wait ` option to the ` apply ` command to automatically wait for deployments, daemonsets and
353
+ * add a ` --wait ` option to the ` apply ` command to automatically wait for deployments, daemonsets and
337
354
statefulsets to be rolled out before the command exits.
338
355
339
356
## v0.7.1 (Jul 7, 2019)
340
357
341
358
* update ` jsonnet ` version to ` v0.13 `
342
359
* add ` env list ` and ` env vars ` command to enable arbitrary scripts to iterate over and get cluster information
343
360
from qbec environments.
344
- * add [ support for transient objects] ( https://github.com/splunk/qbec/commit/78e778b19e5761c2a530917bd5bba9b7abb6fabf )
345
- that do not have a name but have ` generateName ` set. Always create such objects and garbage collect the versions of
361
+ * add [ support for transient objects] ( https://github.com/splunk/qbec/commit/78e778b19e5761c2a530917bd5bba9b7abb6fabf )
362
+ that do not have a name but have ` generateName ` set. Always create such objects and garbage collect the versions of
346
363
the object created in previous runs.
347
364
348
365
## v0.7.0 (Jun 20, 2019)
0 commit comments