Skip to content

Commit

Permalink
chore(releasing): Prepare v0.43.1 release (#21993)
Browse files Browse the repository at this point in the history
* bump Vector minor and VRL version

* fix(reduce transform): enable quoting for invalid fields (#21989)

* fix(reduce transform): enable quoting for invalid fields

* changelog

* fix

* cargo fmt

* fix(internal_metrics source): Emit `build_info` gauge on an interval (#21991)

* fix(internal_metrics source): Emit build_info on an interval

Signed-off-by: Jesse Szwedko <[email protected]>

* Add changelog entry

Signed-off-by: Jesse Szwedko <[email protected]>

* Fix imports

Signed-off-by: Jesse Szwedko <[email protected]>

* fix: add import

---------

Signed-off-by: Jesse Szwedko <[email protected]>
Co-authored-by: Pavlos Rontidis <[email protected]>

* more bumps and md

* cargo vdev build release-cue

* add 0.43.1.cue

* add description

* change date

---------

Signed-off-by: Jesse Szwedko <[email protected]>
Co-authored-by: Jesse Szwedko <[email protected]>
  • Loading branch information
pront and jszwedko authored Dec 10, 2024
1 parent 200d135 commit 8ee1f31
Show file tree
Hide file tree
Showing 10 changed files with 105 additions and 23 deletions.
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "vector"
version = "0.43.0"
version = "0.43.1"
authors = ["Vector Contributors <[email protected]>"]
edition = "2021"
description = "A lightweight and ultra-fast tool for building observability pipelines"
Expand Down Expand Up @@ -164,7 +164,7 @@ vector-lib = { path = "lib/vector-lib", default-features = false, features = ["v
vector-config = { path = "lib/vector-config" }
vector-config-common = { path = "lib/vector-config-common" }
vector-config-macros = { path = "lib/vector-config-macros" }
vrl = { version = "0.20.0", features = ["arbitrary", "cli", "test", "test_framework"] }
vrl = { version = "0.20.1", features = ["arbitrary", "cli", "test", "test_framework"] }

[dependencies]
pin-project.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion distribution/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ set -u
# If PACKAGE_ROOT is unset or empty, default it.
PACKAGE_ROOT="${PACKAGE_ROOT:-"https://packages.timber.io/vector"}"
# If VECTOR_VERSION is unset or empty, default it.
VECTOR_VERSION="${VECTOR_VERSION:-"0.43.0"}"
VECTOR_VERSION="${VECTOR_VERSION:-"0.43.1"}"
_divider="--------------------------------------------------------------------------------"
_prompt=">>>"
_indent=" "
Expand Down
14 changes: 7 additions & 7 deletions lib/vector-core/src/event/util/log/all_fields.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,22 +64,22 @@ pub struct FieldsIter<'a> {
path: Vec<PathComponent<'a>>,
/// Treat array as a single value and don't traverse each element.
skip_array_elements: bool,
/// Add quoting to field names containing periods.
quote_meta: bool,
/// Surround invalid fields with quotes to make them parsable.
quote_invalid_fields: bool,
}

impl<'a> FieldsIter<'a> {
fn new(
path_prefix: Option<PathPrefix>,
fields: &'a ObjectMap,
quote_meta: bool,
quote_invalid_fields: bool,
) -> FieldsIter<'a> {
FieldsIter {
path_prefix,
stack: vec![LeafIter::Map(fields.iter())],
path: vec![],
skip_array_elements: false,
quote_meta,
quote_invalid_fields,
}
}

Expand All @@ -91,7 +91,7 @@ impl<'a> FieldsIter<'a> {
stack: vec![LeafIter::Root((value, false))],
path: vec![],
skip_array_elements: false,
quote_meta: false,
quote_invalid_fields: true,
}
}

Expand All @@ -101,7 +101,7 @@ impl<'a> FieldsIter<'a> {
stack: vec![LeafIter::Map(fields.iter())],
path: vec![],
skip_array_elements: true,
quote_meta: false,
quote_invalid_fields: true,
}
}

Expand Down Expand Up @@ -143,7 +143,7 @@ impl<'a> FieldsIter<'a> {
match path_iter.next() {
None => break res.into(),
Some(PathComponent::Key(key)) => {
if self.quote_meta && !IS_VALID_PATH_SEGMENT.is_match(key) {
if self.quote_invalid_fields && !IS_VALID_PATH_SEGMENT.is_match(key) {
res.push_str(&format!("\"{key}\""));
} else {
res.push_str(key);
Expand Down
10 changes: 10 additions & 0 deletions src/internal_events/heartbeat.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use std::time::Instant;

use crate::built_info;
use metrics::gauge;
use vector_lib::internal_event::InternalEvent;

Expand All @@ -12,5 +13,14 @@ impl InternalEvent for Heartbeat {
fn emit(self) {
trace!(target: "vector", message = "Beep.");
gauge!("uptime_seconds").set(self.since.elapsed().as_secs() as f64);
gauge!(
"build_info",
"debug" => built_info::DEBUG,
"version" => built_info::PKG_VERSION,
"rust_version" => built_info::RUST_VERSION,
"arch" => built_info::TARGET_ARCH,
"revision" => built_info::VECTOR_BUILD_DESC.unwrap_or("")
)
.set(1.0);
}
}
10 changes: 0 additions & 10 deletions src/internal_events/process.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use metrics::counter;
use metrics::gauge;
use vector_lib::internal_event::InternalEvent;
use vector_lib::internal_event::{error_stage, error_type};

Expand All @@ -18,15 +17,6 @@ impl InternalEvent for VectorStarted {
arch = built_info::TARGET_ARCH,
revision = built_info::VECTOR_BUILD_DESC.unwrap_or(""),
);
gauge!(
"build_info",
"debug" => built_info::DEBUG,
"version" => built_info::PKG_VERSION,
"rust_version" => built_info::RUST_VERSION,
"arch" => built_info::TARGET_ARCH,
"revision" => built_info::VECTOR_BUILD_DESC.unwrap_or("")
)
.set(1.0);
counter!("started_total").increment(1);
}
}
Expand Down
36 changes: 36 additions & 0 deletions src/transforms/reduce/transform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -995,4 +995,40 @@ merge_strategies.bar = "concat"
})
.await
}

#[tokio::test]
async fn merged_quoted_path() {
let config = toml::from_str::<ReduceConfig>(indoc!(
r#"
[ends_when]
type = "vrl"
source = "exists(.test_end)"
"#,
))
.unwrap();

assert_transform_compliance(async move {
let (tx, rx) = mpsc::channel(1);

let (topology, mut out) = create_topology(ReceiverStream::new(rx), config).await;

let e_1 = LogEvent::from(Value::from(btreemap! {"a b" => 1}));
tx.send(e_1.into()).await.unwrap();

let e_2 = LogEvent::from(Value::from(btreemap! {"a b" => 2, "test_end" => "done"}));
tx.send(e_2.into()).await.unwrap();

let output = out.recv().await.unwrap().into_log();
let expected_value = Value::from(btreemap! {
"a b" => 3,
"test_end" => "done"
});
assert_eq!(*output.value(), expected_value);

drop(tx);
topology.stop().await;
assert_eq!(out.recv().await, None);
})
.await
}
}
4 changes: 4 additions & 0 deletions website/content/en/releases/0.43.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Vector v0.43.1 release notes
weight: 21
---
41 changes: 41 additions & 0 deletions website/cue/reference/releases/0.43.1.cue
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package metadata

releases: "0.43.1": {
date: "2024-12-10"
codename: ""

whats_next: []

description: """
This patch release contains fixes for regressions in 0.43.0.
"""

changelog: [
{
type: "fix"
description: """
Update to VRL v0.20.1 which a reverts to previous `to_float` behavior for non-normal floats.
"""
contributors: ["pront"]
},
{
type: "fix"
description: """
Emit `build_info` gauge on an interval to avoid expiration.
"""
contributors: ["jszwedko"]
},
{
type: "fix"
description: """
Fix `reduce` transform to quote invalid paths by default. Quoting make those paths valid.
"""
contributors: ["pront"]
},
]

commits: [
{sha: "ca3abef14605dfbdca6060bbcd038fd7abfec6f0", date: "2024-12-09 23:11:21 UTC", description: "enable quoting for invalid fields", pr_number: 21989, scopes: ["reduce transform"], type: "fix", breaking_change: false, author: "Pavlos Rontidis", files_count: 3, insertions_count: 46, deletions_count: 7},
{sha: "43b8916fa5b381cc90a22c787a574c8fc75550b5", date: "2024-12-10 08:25:25 UTC", description: "Emit `build_info` gauge on an interval", pr_number: 21991, scopes: ["internal_metrics source"], type: "fix", breaking_change: false, author: "Jesse Szwedko", files_count: 3, insertions_count: 13, deletions_count: 10},
]
}
1 change: 1 addition & 0 deletions website/cue/reference/versions.cue
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package metadata

// This has to be maintained manually because there's currently no way to sort versions programmatically
versions: [string, ...string] & [
"0.43.1",
"0.43.0",
"0.42.0",
"0.41.1",
Expand Down

0 comments on commit 8ee1f31

Please sign in to comment.