API / ABI break in 0.3.64: PW_KEY_NODE_TARGET no longer defined (at least in header files)
I'm co-maintaining the PipeWire Rust bindings on Fedora, and they started to fail to build since the update to PipeWire 0.3.64 with this error:
error[E0425]: cannot find value `PW_KEY_NODE_TARGET` in crate `pw_sys`
--> src/auto/keys.rs:164:28
|
164 | key_constant!(NODE_TARGET, PW_KEY_NODE_TARGET,
| ^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `PW_KEY_NODE_NAME`
|
::: /builddir/build/BUILD/pipewire-0.5.0/target/release/build/pipewire-sys-7764d7a430245b6f/out/bindings.rs:5:8276
|
5 | ... b"node.id\0" ; pub const PW_KEY_NODE_NAME : & [u8 ; 10usize] = b"node.name\0" ; pub const PW_KEY_NODE_NICK : & [u8 ; 10usize] = b"nod...
| --------------------------------------------- similarly named constant `PW_KEY_NODE_NAME` defined here
For more information about this error, try `rustc --explain E0425`.
error: could not compile `pipewire` due to previous error
It might not break the ABI if this constant is still there but just not exported in header files, but it's still a breaking change. The release highlights for 0.3.64 mention that the NODE_TARGET
has been deprecated (but not that it has been removed).