8 releases (5 breaking)
0.6.0 | Feb 4, 2025 |
---|---|
0.5.0 | Jan 11, 2023 |
0.4.0 | Jan 13, 2022 |
0.3.0 | Mar 29, 2020 |
0.1.1 | Jan 21, 2016 |
#69 in Audio
438 downloads per month
42KB
812 lines
APE
A library for reading and writing APEv2 tags.
Changelog
0.6.0 (04.02.2025)
Fixed multiple values support.
You may need to overwrite your tags if you have called the Tag::add_item
method with the same key multiple times,
since the spec states that
"Every Tag Item Key can only occures (at most) once".
- Updated byteorder to 1.5.
- Added
TryFrom<&Item>
trait implementation forVec<&str>
and&str
. - Added
TryFrom<Item>
trait implementation forVec<String>
andString
. - Removed
ItemValue
enum andItem.value
field; useTryFrom
instead. - Added
ItemType { Binary, Locator, Text }
enum. - Added
Item::new(key, type, value)
method. - Removed
Item::from_binary
,Item::from_locator
andItem::from_text
methods; useItem::new
method instead. - Added
Item.add_value
method. - Removed
Tag::add_item
method; useItem.add_value
instead. - Added
Item::with_type
method. - Added
Item::with_value
method. - Added
Item.get_type
method. - Changed
Error
enum:- Removed:
FromUtf8
,ParseInt
- Added:
ParseItemKey
,ParseItemBinary
,ParseItemValue
,ParseLyrics3V2SizeStr
,ParseLyrics3V2SizeInt
. - Changed:
BadItemType
->InvalidItemType(u32)
.BadTagSize
->InvalidTagSize
.
- Removed:
0.5.0 (11.01.2023)
- Added support for multiple values under same key:
- Added
Tag::items
method. - Added
Tag::add_item
method. - Replaced
Tag::remove_item
byTag::remove_items
method.Tag::item
method returns a first found item.Tag::set_item
removes all items under the given key and adds a new one.
- Added
- Added derive
Clone
forItem
andItemValue
structs.
0.4.0 (13.01.2022)
- Switched to 2021 edition.
- Updated byteorder to 1.4
- Support reading/writing/removing tags from opened files.
- Case-insensitive key comparison.
- Support writing an empty tag.
0.3.0 (29.03.2020)
- Switched to 2018 edition.
- Updated byteorder to 1.3
- Fixed type parameters in
Item::from_locator
andItem::from_text
. - Removed use of deprecated
Error::description
. - Lowercase error description.
Item::to_vec
method is private now.- Removed
items
field from theTag
struct. - Added
Tag::iter()
method. - Added
IntoIterator
implementation forTag
struct. Tag::write
method replaced bywrite
function.
0.2.0 (10.12.2017)
- Use byteorder 1.0.0.
0.1.2 (18.05.2016)
- Small internal improvements.
0.1.1 (21.01.2016)
- Use
Result<()>
instead ofOption<Error>
.
0.1.0 (16.01.2016)
- First release.
LICENSE
The MIT License (MIT)
Dependencies
~115KB