trackparse 0.5.1

Turn messy track names into structured data: artists with roles, remixes and versions, junk, and whole tracklists. One spec, same output as the JavaScript and Python packages.
Documentation
[package]
name = "trackparse"
version = "0.5.1" # x-release-please-version
edition = "2021"
rust-version = "1.74"
description = "Turn messy track names into structured data: artists with roles, remixes and versions, junk, and whole tracklists. One spec, same output as the JavaScript and Python packages."
license = "MIT"
repository = "https://github.com/4matic/trackparse"
homepage = "https://4matic.github.io/trackparse/"
documentation = "https://docs.rs/trackparse"
readme = "README.md"
keywords = ["music", "parser", "tracklist", "artist", "remix"]
categories = ["parser-implementations", "multimedia::audio", "text-processing"]
include = ["src/**", "README.md", "LICENSE"]

[dependencies]
# NFC / NFD follow this crate's Unicode tables (Unicode 18 in 0.1.26). Older releases have older
# tables and normalize some strings differently, so they are not accepted.
unicode-normalization = "0.1.26"
serde = { version = "1", features = ["derive"], optional = true }

[dev-dependencies]
serde_json = "1"

[features]
default = []
# Serialize / Deserialize on the result types, the options and tracklist::Edit.
serde = ["dep:serde"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
indexing_slicing = "deny"