The following commands were run to prepare this release:
- make chlog-update VERSION=v1.34.0/v0.128.0
- make prepare-release PREVIOUS_VERSION=1[.]33[.]0
RELEASE_CANDIDATE=1.34.0 MODSET=stable
- make prepare-release PREVIOUS_VERSION=0[.]127[.]0
RELEASE_CANDIDATE=0.128.0 MODSET=beta
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Amends `ToStringMap` so that it returns `map[string]any(nil)` if the map
used to create this `Conf` was nil. Currently it returns an empty map.
I consider this a bug since, while not explicitly undocumented, I would
expect the following two properties to be true, and they were not before
this change:
1. For any map `m` without `expandedValue`s,
`NewFromStringMap(m).ToStringMap() == m`
2. For any map `m` without `expandedValue`s and any `path` referencing
an existing key in `m` with a `map[string]any` value,
`NewFromStringMap(m).Sub(path) == m[path[0]][path[1]][...][path[N]]`
<!-- Issue number if applicable -->
#### Link to tracking issue
I need this to be able to distinguish between
```
foo:
bar:
```
and
```
foo:
bar: {}
```
which currently have different behaviors when mapping to pointers.
The goal is to be able to do #13168
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Uses valid pseudoversion so that contrib update-otel works
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
<!-- Issue number if applicable -->
Uses `configoptional.Optional` for fields in `protocols` section.
Removes `Unmarshal` method since it is no longer needed.
These are both breaking changes, I think it would be a bit difficult to
do this in two steps, I am happy to work on fixing contrib after this is
merged.
#### Link to tracking issue
Fixes#12980
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR introduces two new components
* `Partitioner` - an interface for fetching batch key. A partitioner
type should implement the function `GetKey()` which returns the batching
key. `Partitioner` should be provided to the `queue_bacher` along with
`sizer` in `queue_batch::Settings`.
* `multi_batcher`. It supports key-based batching by routing the
requests to a corresponding `shard_batcher`. Each `shard_batcher`
corresponds to a shard described in
https://github.com/open-telemetry/opentelemetry-collector/issues/12473.
<!-- Issue number if applicable -->
#### Link to tracking issue
https://github.com/open-telemetry/opentelemetry-collector/issues/12795
<!--Describe what testing was performed and which tests were added.-->
#### Testing
<!--Describe the documentation added.-->
#### Documentation
<!--Please delete paragraphs that you did not use before submitting.-->
---------
Co-authored-by: Dmitry Anoshin <anoshindx@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
#### Description
This PR adds missing logic to process `event_name` field when
unmarshaling LogRecords from JSON.
#### Testing
Added `eventName` to json (un)marshal tests.
Fixes#13127
Embed QueueMetadata directly into persistentQueue, replacing the
scattered metadata fields.
1. Add QueueMetadata as a member of persistentQueue.
2. Delete redundant fields (queueSize, readIdx, writeIdx, …).
Relates to #13126
…tadata file
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Currently, resourceAttributeIncludeFilter and
resourceAttributeExcludeFilter are only applicable when event
configurations are defined.
This PR removes them from the generated code when no events are added in
the metadata.
<!-- Issue number if applicable -->
#### Link to tracking issue
n/a
<!--Describe what testing was performed and which tests were added.-->
#### Testing
Covered in `samplescraper`
<!--Describe the documentation added.-->
#### Documentation
Added
<!--Please delete paragraphs that you did not use before submitting.-->
---------
Co-authored-by: Dmitry Anoshin <anoshindx@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Add documentation template for optional events.
<!-- Issue number if applicable -->
#### Link to tracking issue
Part of #12571
<!--Describe what testing was performed and which tests were added.-->
#### Testing
n/a
<!--Describe the documentation added.-->
#### Documentation
Added
<!--Please delete paragraphs that you did not use before submitting.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
pdata primitive slices are missing `MoveAndAppendTo`, and we're going to
start needing it with the profiles proto upgrade (which has a dictionary
object with primitive type slices that we will need to merge at some
point)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Renames `TLSSetting` fields to `TLS`. The name is a historical artifact
since the `configtls` had `Setting` in the name before. This is more
consistent with the rest.
I think if we do this change we should do it alongside other changes to
confighttp, to avoid breaking our users multiple times.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Do not panic on assigning nil maps to non-nil maps
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes#13117
<!--Describe what testing was performed and which tests were added.-->
#### Testing
unit tests
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Remove duplicated "will be"s.
<!-- Issue number if applicable -->
#### Link to tracking issue
n/a
<!--Describe what testing was performed and which tests were added.-->
#### Testing
n/a
<!--Describe the documentation added.-->
#### Documentation
n/a
<!--Please delete paragraphs that you did not use before submitting.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Sets `TLSSetting` to nil on `ServerConfig` since any non-nil value with
no certificates would fail at runtime.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR adds a guideline about how metrics'/attributes' addition should
take place in (some) coordination with the Semantic Conventions project.
This addition does not introduce a hard requirement for now but rather
suggests how such coordination with Semantic Conventions can be
achieved.
If this gets merged I plan to extend Contrib's guidelines as well (i.e.
84f1030339/CONTRIBUTING.md (adding-metrics-to-existing-receivers))
to link back to this guideline.
<!-- Issue number if applicable -->
#### Link to tracking issue
Part of
https://github.com/open-telemetry/opentelemetry-collector/issues/13076
/cc @open-telemetry/collector-contrib-approvers
@open-telemetry/collector-approvers
Note: It's still to be defined how Semantic Conventions will affect
components' stability as described at
https://github.com/open-telemetry/opentelemetry-collector/issues/11878,
however prior to the stability concern this PR suggests to update our
contribution guidelines to cover for this treating it as a "soft"
requirement already.
---------
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This upgrades protobuf/pdata to
[v1.7.0](https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v1.7.0).
Note: due to the move of the lookup tables, merging profiles required
more non-trivial work.
In order to facilitate this review, merging is therefore currently
disabled for profiles. We will bring it back in a separate PR.
Note: this needs its contrib counterpart before it can be moved out of
draft.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Removes pointer to `CookiesConfig` field. Since the struct already has
an `enabled` field, it is unnecessary for it to be a pointer.
This is a breaking change, contrib tests show that it does not affect
any contrib component, and it would be hard to do in two steps.
<!-- Issue number if applicable -->
#### Link to tracking issue
Updates #9478
…y default
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Sometimes, we want all events to be disabled by default, allowing users
to enable them manually. This approach can be helpful in such cases.
<!--Please delete paragraphs that you did not use before submitting.-->
#### Description
Now that `otelzap` has been bumped up to 0.11.0 (#13103), this PR
follows up on a TODO comment to use
https://github.com/open-telemetry/opentelemetry-go-contrib/pull/6962 to
set instrumentation scope attributes on the Logger created by otelzap,
instead of a workaround (`LoggerProviderWithAttributes`).
This is an internal change, and the new code should be functionally
equivalent, so I don't think this needs a changelog.
#### Testing
I believe this is already covered by existing tests.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
<!-- Issue number if applicable -->
Adds new `configoptional` module.
I left `GetOrInsertDefault` out of this first PR so we can get agreement
on the basics first.
#### Link to tracking issue
Fixes#12981Fixes#10266
<!--Describe what testing was performed and which tests were added.-->
#### Testing
<!--Describe the documentation added.-->
See #13018 for usage and testing of the package on `confighttp` and
`otlpreceiver`.
#### Description
I was using the supervised collector today and ran into an issue where
the agent (collector) was crashing on startup and I wasn't seeing the
logs exported via the configured logger, but I knew it existed bc I was
getting the `Setting up own telemetry...` log.
Turns out in `service.New`, once we've created the logger, we aren't
using it to log and following errors. Instead, they are being returned
by `service.New` and handled by the fallbackLogger.
I propose that, since we have a logger, we use it.
As a followup it would be nice if any confmap errors could be reported
using the instantiated logger, but that would be a bigger refactor.
#### Testing
Tested locally with the following config:
```yaml
receivers:
nop:
exporters:
nop:
otlphttp:
endpoint: "${MISSING_ENV_VAR}:4318"
service:
pipelines:
traces:
receivers: [nop]
processors: []
exporters: [otlphttp]
telemetry:
logs:
processors:
- batch:
exporter:
otlp:
endpoint: https://api.honeycomb.io:443
headers:
- name: x-honeycomb-team
value: `[READACTED]`
protocol: http/protobuf
```
console output:
```
2025-05-22T17:25:30.764-0600 info service/service.go:200 Setting up own telemetry... {"resource": {}}
2025-05-22T17:25:30.764-0600 error service/service.go:223 failed to initialize service graph {"resource": {}, "error": "failed to build pipelines: failed to create \"otlphttp\" exporter for data type \"traces\": endpoint must be a valid URL"}
go.opentelemetry.io/collector/service.New
/Users/tylerhelmuth/projects/opentelemetry-collector/service/service.go:223
go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents
/Users/tylerhelmuth/projects/opentelemetry-collector/otelcol/collector.go:197
go.opentelemetry.io/collector/otelcol.(*Collector).Run
/Users/tylerhelmuth/projects/opentelemetry-collector/otelcol/collector.go:312
go.opentelemetry.io/collector/otelcol.NewCommand.func1
/Users/tylerhelmuth/projects/opentelemetry-collector/otelcol/command.go:39
github.com/spf13/cobra.(*Command).execute
/Users/tylerhelmuth/go/1.24.0/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1015
github.com/spf13/cobra.(*Command).ExecuteC
/Users/tylerhelmuth/go/1.24.0/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148
github.com/spf13/cobra.(*Command).Execute
/Users/tylerhelmuth/go/1.24.0/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071
main.runInteractive
/Users/tylerhelmuth/projects/opentelemetry-collector/cmd/otelcorecol/main.go:57
main.run
/Users/tylerhelmuth/projects/opentelemetry-collector/cmd/otelcorecol/main_others.go:10
main.main
/Users/tylerhelmuth/projects/opentelemetry-collector/cmd/otelcorecol/main.go:50
runtime.main
/Users/tylerhelmuth/go/1.24.0/pkg/mod/golang.org/toolchain@v0.0.1-go1.24.1.darwin-arm64/src/runtime/proc.go:283
2025-05-22T17:25:30.758-0600 warn envprovider/provider.go:61 Configuration references unset environment variable {"name": "MISSING_ENV_VAR"}
Error: failed to build pipelines: failed to create "otlphttp" exporter for data type "traces": endpoint must be a valid URL
2025/05/22 17:25:30 collector server run finished with error: failed to build pipelines: failed to create "otlphttp" exporter for data type "traces": endpoint must be a valid URL
```
Proof that the error log exported:

Also added a link to the workflow in the releases repo.
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This is my first contribution to OpenTelemetry Collector. I am learning
the contribution process and wanted to start with a simple documentation
improvement.
- Clarified the GoDoc comment for the NewFactory function in
exporter/debugexporter/factory.go.
Thank you for the opportunity to contribute!
The following commands were run to prepare this release:
- make chlog-update VERSION=v1.33.0/v0.127.0
- make prepare-release PREVIOUS_VERSION=1[.]32[.]0
RELEASE_CANDIDATE=1.33.0 MODSET=stable
- make prepare-release PREVIOUS_VERSION=0[.]126[.]0
RELEASE_CANDIDATE=0.127.0 MODSET=beta
We introduced cspell in #12671 and generated a cspell.json file for
customized spelling. However, this configuration was automatically
generated based on the state of the repo at the time. As a result, the
file still contains several typos. It's advisable to review the
configuration and remove any incorrect spellings.
examples: #12892 , #12897 , #13049
#### Description
Deleted multiple typos in the cspell.json configuration file that were
incorrectly marked as valid spellings.
Also fixed these typos in the corresponding code and documentation files
where they appeared.
The corrections include:
- Jaegar → Jaeger
- cofig → config
- componentest → component test
- consumereerrorprofiles → consumer error profiles
- enadled → enabled
- fluentfoward → fluentforward
- htttp → http
- identfier → identifier
- jaegar → jaeger
- lables → labels
- mininum → minimum
- repeate → repeat
#### Link to tracking issue
Fixes#13054
#### Testing
1. All corrected spellings are now properly flagged by cspell
2. The changes don't break any existing functionality
3. Special attention should be paid to changes in:
- receiver/otlpreceiver/testdata/typo_default_proto_config.yaml
- receiver/otlpreceiver/config_test.go
where "htttp" was corrected to "http"
#### Documentation
Updated relevant documentation where these terms appeared with incorrect
spelling.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Add definition of `events` to `metadata-schema.yaml`
<!-- Issue number if applicable -->
#### Link to tracking issue
Part of #12571
<!--Describe what testing was performed and which tests were added.-->
#### Testing
n/a
<!--Describe the documentation added.-->
#### Documentation
Added
<!--Please delete paragraphs that you did not use before submitting.-->
---------
Co-authored-by: Dmitry Anoshin <anoshindx@gmail.com>