NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4289 most downloaded on crates.io
FFI bindings for the PulseAudio libpulse system library.
Last release 1 years ago
18 Apr 2025
Release timing varies
gaps range from 2 weeks to 1.6 years
Nearly every release is documented
notes for 43 of 47 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
48 releases · first in 2016
Dropped long-deprecated pa_check_version() function.
pa_check_version() function.Bumped MSRV from 1.56 to 1.63 per libc dependency.
num-derive dependency.num-derive from 0.3 to 0.4.One column per quarter.
Fixed warning from clashing namespace exports.
Fixed broken build status badge in readme.
Added rust-version (MSRV) attribute to cargo.toml file.
rust-version (MSRV) attribute to cargo.toml file.Fixed handling of pkg-config failure handling due to change in pkg-config crate. Thanks to @fredszaq on github for the initial patch.
pkg-config crate. Thanks to
@fredszaq on github for the initial patch.Marked pa_check_version and pa_clamp_volume as const fn.
pa_check_version and pa_clamp_volume as const fn.Fixed feature guard mistake in version mod causing docs.rs build to fail.
version mod causing docs.rs build to fail.Added PA v15 support (API additions).
Now using intra-doc-linking introduced in Rust 1.48. The MSRV remains unchanged at 1.41; this is too great a simplification to maintaining documentati
* Tweaked version constants. * Deprecated pa_check_version().
pa_check_version().* Nothing notable.
Fixed mistake made trying to conditionally enable #[cfg(doc)] for docs.rs.
#[cfg(doc)] for docs.rs.Made some changes to cargo features:
dox cargo feature.pa_latest and pa_latest_common cargo features.pa_v8.PA_CHANNELS_MAX from usize to u8.#[cfg(doc)] to always include stuff behind PA version feature guards in generated
documentation. (Required bump of minimum supported Rust version from 1.40 to 1.41).version::Compatibility as #[non_exhaustive].Fixed incorrect PA_SOURCE_DYNAMIC_LATENCY flag value. Was mistakenly 0x42 instead of 0x40 (thus combined with PA_SOURCE_LATENCY).
PA_SOURCE_DYNAMIC_LATENCY flag value. Was mistakenly 0x42 instead of 0x40
(thus combined with PA_SOURCE_LATENCY).Added missing Default implementation for channelmap::pa_channel_map_def_t.
Default implementation for channelmap::pa_channel_map_def_t.pa_check_version(). If you use it, please double check that it actually
does what you think it does. It does not involve talking to the client library.Fixed deprecated license attribute syntax.
Marked pa_encoding_t as #[non_exhaustive].
pa_encoding_t as #[non_exhaustive].FromPrimitive and ToPrimitive from the num-derive crate on enums.num-traits 0.2 now required.num-derive 0.3 now required.Fixed missing rename of pa_error_code_t::Io to pa_error_code_t::IO to match change in binding.
pa_error_code_t::Io to pa_error_code_t::IO to match change in
binding.Added PA v14 support (API additions).
* Trivial documentation fixes.
Bumped pa_latest_common feature to target PA v13.
pa_latest_common feature to target PA v13.Fixed output of build script warning when pkg-config is missing (thanks to @cole-h on github!).
Removed deprecated Cargo features.
Improved the non-pkg-config fallback for lib linking.
Now using pkg-config in build script for more than just Linux.
Fixed an issue compiling on Windows (needed to reference a different pollfd definition). Thanks to @allquixotic on github for reporting.
pollfd definition).
Thanks to @allquixotic on github for reporting.Changed the license model from LGPL to dual MIT and Apache-2.0. See [here][issue26] for details.
Implemented PA v13 enhancements.
Fixed broken doc.rs documentation generation.
Extended support to even older versions of PA, specifically up to and including v4.
version::Compatibility variants to make more sense.dox feature flag, for use with cargo doc.
It enables the very latest PA version compatibility, while bypassing the pkg-config check, thus
is useful for generating documentation that includes information on features from versions of PA
that may be newer than the version you have installed.Version: Improved mod documentation.
Version: purged deprecated items.
use conventions to that of Rust 1.30/1.31.const:
version::get_compatibility().channelmap::pa_channel_position_mask().volume::pa_volume_is_valid().context::subscribe::pa_subscription_match_flags().Note: version 1.7 skipped, used only for libpulse-mainloop-glib-sys crate changes.
Replaced use of empty enums for opaque types with a struct based alternative. According to the Rust nomicon ([here][nomicon-ros]) the use of the empty
latest_pa_common_compatibility feature flag, used by default now instead of
latest_pa_compatibility.Added the new latest_pa_compatibility and pa_v12_compatibility feature flags, and deprecated pa_encoding_from_string in favour of pa_v12_compatibility…
latest_pa_compatibility and pa_v12_compatibility feature flags, and deprecated
pa_encoding_from_string in favour of pa_v12_compatibility.Introduced TARGET_VERSION and deprecated PA_MAJOR, PA_MINOR and PA_MICRO.
version mod:
Compatibility enum and get_compatibility() function.LINK_TARGET_VERSION to TARGET_VERSION_STRING.TARGET_VERSION and deprecated PA_MAJOR, PA_MINOR and PA_MICRO.get_headers_version().version mod.pa_encoding_from_string feature purpose.Fixed broken attempt to include license file in bundled package.
Added dedicated changelog, split off from the old single project overview one.
.gitignore file.Note, version number 1.3.2 skipped, bumping number into line with the other crates.
Added homepage and repo links, thanks to @berkus on github for the patch.
Nothing published for this version
Updated declared PA version compatibility (11.0 → 12.0).
Nothing published for this version
Nothing published for this version
Minor, non-functional consistency fix only.
Note, some version numbers skipped, bumping number into line with the other crates.
* Added travis badge.
Fixed toml file license string LGPL-2.1 → LGPL-2.1+.
LGPL-2.1 → LGPL-2.1+.Nothing published for this version
This was the original version available on crates.io, built by a different author in a different code repository. Version 1.0 above represents the fir
This was the original version available on crates.io, built by a different author in a different code repository. Version 1.0 above represents the first published version from the replacement codebase. (To be clear, version 0.0.0 cannot be found in the current repository).
Your coding agent can read these notes before it upgrades. Set up the MCP server →