Skip to content

v2.21.0

Latest

Choose a tag to compare

@KodrAus KodrAus released this 20 Jun 05:01
0b6c2dc

Major breaking changes

This release is a new major version, bumping from 1.20.1 straight to 2.21.0. The emit_core crate has not had any breaking changes, so is still 1.21.0.

The main breaking changes between emit 1.x and 2.x are:

  • Span and Metric no longer accept their well-known props directly in their new function. They're instead provided as regular props through their P collection.
  • props!, evt!, span_guard!, and metric! macros capture properties by-value instead of by-reference so you can store and pass them around. The underlying codegen in these cases is completely different from before and involves more generic code. This may impact compile times, but is something we'd try mitigate if it becomes an issue.

What's Changed

  • Movable props codegen by @KodrAus in #374
  • Rework Span and Metric event type APIs to treat all well-known props consistently by @KodrAus in #378
  • Update all crates to 2024 by @KodrAus in #379
  • Produce template holes regardless of cfgs by @KodrAus in #381
  • Don't mark user props as unique when custom keys could make them not by @KodrAus in #382
  • Remove deprecated APIs for 2.0 by @KodrAus in #383
  • Add #[nullable] attribute alongside #[optional] by @KodrAus in #384
  • Prepare for 2.21.0 release by @KodrAus in #385

Full Changelog: v1.20.1...v2.21.0