Added move_index and swap_indices methods to IndexedEntry,
OccupiedEntry, and RawOccupiedEntryMut, functioning like the existing
methods on IndexMap.
Added shift_insert methods on VacantEntry and RawVacantEntryMut, as
well as shift_insert_hashed_nocheck on the latter, to insert the new entry
at a particular index.
Added shift_insert methods on IndexMap and IndexSet to insert a new
entry at a particular index, or else move an existing entry there.
2.2.2
Added indexing methods to raw entries: RawEntryBuilder::from_hash_full,
RawEntryBuilder::index_from_hash, and RawEntryMut::index.
2.2.1
Corrected the signature of RawOccupiedEntryMut::into_key(self) -> &'a mut K,
This a breaking change from 2.2.0, but that version was published for less
than a day and has now been yanked.
2.2.0
The new IndexMap::get_index_entry method finds an entry by its index for
in-place manipulation.
The Keys iterator now implements Index<usize> for quick access to the
entry's key, compared to indexing the map to get the value.
The new IndexMap::splice and IndexSet::splice methods will drain the
given range as an iterator, and then replace that range with entries from
an input iterator.
The new trait RawEntryApiV1 offers opt-in access to a raw entry API for
IndexMap, corresponding to the unstable API on HashSet as of Rust 1.75.
Many IndexMap and IndexSet methods have relaxed their type constraints,
e.g. removing K: Hash on methods that don't actually need to hash.
Removal methods remove, remove_entry, and take are now deprecated
in favor of their shift_ or swap_ prefixed variants, which are more
explicit about their effect on the index and order of remaining items.
The deprecated methods will remain to guide drop-in replacements from
HashMap and HashSet toward the prefixed methods.
Commits
406bbdb Merge pull request #312 from cuviper/release-2.2.3
The EnumVariantNames macro has been renamed VariantNames. The deprecation warning should steer you in
the right direction for fixing the warning.
The Iterator struct generated by EnumIter now has new bounds on it. This shouldn't break code unless you manually
added the implementation in your code.
Display now supports format strings using named fields in the enum variant. This should be a no-op for most code.
However, if you were outputting a string like "Hello {field}", this will now be interpretted as a format string.
EnumDiscriminant now inherits the repr and discriminant values from your main enum. This makes the discriminant type
closer to a mirror of the original and that's always the goal.
New features
The VariantArray macro has been added. This macro adds an associated constant VARIANTS to your enum. The constant
is a &'static [Self] slice so that you can access all the variants of your enum. This only works on enums that only
have unit variants.
use strum::VariantArray;
#[derive(Debug, VariantArray)]
enum Color {
Red,
Blue,
Green,
}
The EnumTable macro has been experimentally added. This macro adds a new type that stores an item for each variant
of the enum. This is useful for storing a value for each variant of an enum. This is an experimental feature because
I'm not convinced the current api surface area is correct.
use strum::EnumTable;
#[derive(Copy, Clone, Debug, EnumTable)]
enum Color {
Red,
Blue,
The EnumVariantNames macro has been renamed VariantNames. The deprecation warning should steer you in
the right direction for fixing the warning.
The Iterator struct generated by EnumIter now has new bounds on it. This shouldn't break code unless you manually
added the implementation in your code.
Display now supports format strings using named fields in the enum variant. This should be a no-op for most code.
However, if you were outputting a string like "Hello {field}", this will now be interpretted as a format string.
EnumDiscriminant now inherits the repr and discriminant values from your main enum. This makes the discriminant type
closer to a mirror of the original and that's always the goal.
New features
The VariantArray macro has been added. This macro adds an associated constant VARIANTS to your enum. The constant
is a &'static [Self] slice so that you can access all the variants of your enum. This only works on enums that only
have unit variants.
use strum::VariantArray;
#[derive(Debug, VariantArray)]
enum Color {
Red,
Blue,
Green,
}
The EnumTable macro has been experimentally added. This macro adds a new type that stores an item for each variant
of the enum. This is useful for storing a value for each variant of an enum. This is an experimental feature because
I'm not convinced the current api surface area is correct.
use strum::EnumTable;
#[derive(Copy, Clone, Debug, EnumTable)]
enum Color {
Red,
Blue,
Green,
open-telemetry/opentelemetry-rust#1410 Add experimental synchronous gauge. This is behind the feature flag, and can be enabled by enabling the feature otel_unstable for opentelemetry crate.
Modified AnyValue.Map to be backed by HashMap instead of custom OrderMap, which internally used IndexMap. There was no requirement to maintain the order of entries, so moving from IndexMap to HashMap offers slight performance gains, and avoids IndexMap dependency. This affects body and attributes of LogRecord. open-telemetry/opentelemetry-rust#1353
#1471 Configure batch log record processor via OTEL_BLRP_* environment variables and via OtlpLogPipeline::with_batch_config
#1503 Make the documentation for In-Memory exporters visible.
#1526
Performance Improvement : Creating Spans and LogRecords are now faster, by avoiding expensive cloning of Resource for every Span/LogRecord.
Changed
Breaking#1313#1350
Changes how Span links/events are stored to achieve performance gains. See
below for details:
Behavior Change: When enforcing max_links_per_span, max_events_per_span
from SpanLimits, links/events are kept in the first-come order. The previous
"eviction" based approach is no longer performed.
Breaking Change Affecting Exporter authors:
SpanData now stores links as SpanLinks instead of EvictedQueue where
SpanLinks is a struct with a Vec of links and dropped_count.
SpanData now stores events as SpanEvents instead of EvictedQueue where
SpanEvents is a struct with a Vec of events and dropped_count.
Breaking Remove TextMapCompositePropagator#1373. Use TextMapCompositePropagator in opentelemetry API.
... (truncated)
Commits
ab9415a Bump versions to prepare for release v0.22 (#1539)
This release should been seen as 1.0-rc4 following 1.0-rc3 in v0.20.0. Refer to CHANGELOG.md in individual creates for details on changes made in different creates.
BreakingSpanBuilder attributes changed from OrderMap<Key, Value> to Vec<KeyValue> and with_attributes_map method is removed from SpanBuilder. This implies that OpenTelemetry API will no longer perform de-dup of attribute Keys. #1293. Please share feedback here, if you are affected.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the language-server-deps group with 5 updates:
2.1.0
2.2.3
0.25.0
0.26.1
1.35.1
1.36.0
0.21.0
0.22.0
0.20.0
0.21.0
Updates
indexmap
from 2.1.0 to 2.2.3Changelog
Sourced from indexmap's changelog.
Commits
406bbdb
Merge pull request #312 from cuviper/release-2.2.33b79b87
Release 2.2.38e6753c
Merge pull request #310 from cuviper/shift_inserte3ff25b
Merge pull request #311 from cuviper/test_debug2a33977
Fully mask the"test_debug"
code from normal builds8c206ef
Test shift_insert that moves5debe73
IndexSet::swap_indices is O(1) too4572493
AddIndexSet::shift_insert
based on map's method3b217ca
AddIndexMap::shift_insert
based onEntry
209e3e1
Document equivalence of move_index/swap_indicesUpdates
strum
from 0.25.0 to 0.26.1Release notes
Sourced from strum's releases.
... (truncated)
Changelog
Sourced from strum's changelog.
... (truncated)
Commits
Updates
tokio
from 1.35.1 to 1.36.0Release notes
Sourced from tokio's releases.
... (truncated)
Commits
eaf81ed
chore: prepare Tokio v1.36.0 (#6312)53f9e5a
ci: make sure dictionary words are sorted and unique (#6316)9077762
net: expose keepalive option onTcpSocket
(#6311)131e7b4
ci: add spellchecking (#6297)e53b92a
io: clarifyclear_ready
docs (#6304)7536132
sync: use AtomicBool in broadcast channel future (#6298)b6d0c90
macros: fix trait_method breaking change detection (#6308)4846959
runtime: remove obsolete comment (#6303)ec30383
net: addUnixSocket
(#6290)f80bbec
io: simplify check for empty slice (#6293)Updates
opentelemetry
from 0.21.0 to 0.22.0Release notes
Sourced from opentelemetry's releases.
... (truncated)
Commits
ab9415a
Bump versions to prepare for release v0.22 (#1539)6422524
fix: disable workspace default feature (#1562)d88e83d
Fix invalid import paths under "Getting Started" (#1574)27cf653
Deprecate AWS XrayIdGenerator (#1573)188a26c
Switch from the chronoclock
feature tonow
(#1569)47b928e
Disable default features on reqwest (#1570)98cd103
chore: skip coverage check for dependencies update (#1558)36c2a8e
deprecation(opentelemetry-jaeger): Add deprecation notice. (#1560)1169445
opentelemetry-otlp: Default the port correctly. (#1556)4c22cf6
Safer endpoint Uri construction (#1553)Updates
opentelemetry-jaeger
from 0.20.0 to 0.21.0Release notes
Sourced from opentelemetry-jaeger's releases.
Commits
47881b2
Prepare for v0.21.0 release (#1343)4dd54a2
Env over compling time config (#1323)e265d24
fix: specify portable sed arguments (#1332)ed97a1b
Remove opentelemetry-dynatrace source. (#1321)2022ace
Move RuntimeChannel type arg T to associated types (#1314)ad18037
opentelemetry-dynatrace: Release 0.4.0 #1319 (#1319)bcab756
Bump MSRV in Cargo.toml files.dd9ff55
Bump the MSRV to 1.6528d8cf9
Add files to expose the currently used external types. (#1303)aa586cb
Fix semconv template files (#1312)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show