Fix missing description field and incorrect text encoding in SYLT content.
Version 1.0
This is the first stable release of rust-id3! This release adds a few new features but mainly
focusses on forward compatibility to allow for easier maintenance in the future.
Breaking changes
The functions for writing and reading tags in WAV/AIFF containers have been renamed:
The implementation for PartialEq, Eq and Hash has changed for Frame and Content. The new
implementations are implemented by Rust's derive macro.
For errors:
The implementation for Error::description has been removed as it has been deprecated.
Merge ErrorKind::UnsupportedVersion into UnsupportedFeature
The description field changed from a &'static str to String to permit more useful messages
The variant names of the TimestampFormat now adhere to Rust naming conventions.
The majority of the Tag functions for mutating and retrieving frames have been moved to the new
TagLike trait. This trait is implemented for Tag and Chapter, making it possible to use these
functions for both types. As is required by Rust's trait rules, you must now use id3::TagLike to
use the functions in this trait.
It is a common use case to write custom frame content decoders by matching on the Unknown content
type. However, implementing support for such frames in rust-id3 was always a breaking change. This
was due to 2 reasons:
Content gains a new variant which breaks exhaustive match expressions
Frames that previously decoded to Unknown now decode to the new content type, which breaks
custom decoders that expect it to be Unknown
To ensure that new frames can be added in the future without breaking compatibility, Content has
been marked as non_exhaustive and a new Content::to_unknown function has been added. This function
returns the Unknown variant if present or encodes an ad-hoc copy. This way, custom decoders will
not silently break.
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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on id3 to permit the latest version.
Changelog
Sourced from id3's changelog.
... (truncated)
Commits
900e51f
Version 1.0.158b6d05
Fix SYLT (#77)17d07a2
Version 1.07c6852f
Limit Cargo.toml to 5 keywords62a0267
Add changelog for v1.0efdd885
List MLLT support in readme features0ea0a7f
Implement support for MPEG location lookup (MLLT) framesd762f83
Set Rust edition to 2021fb795c8
Add support for Popularimeter (POPM) framesbde03d4
Module v1 can just be a single rust file instead of a dirDependabot 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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)