votable 0.7.0

Rust implementation of a VOTable serializer/deserializer with support for format other than XML, such as JSON, TOML or YAML.
Documentation
[package]
name = "votable"
version = "0.7.0"
authors = [
    "F.-X. Pineau <francois-xavier.pineau@astro.unistra.fr>",
    "T. Dumortier <thibault.dumortier@astro.unistra.fr>"
]
description = """
Rust implementation of a VOTable serializer/deserializer with support for
format other than XML, such as JSON, TOML or YAML.
"""
license = "Apache-2.0 OR MIT"
# readme = "README.md"
categories = ["encoding", "science"]
keywords = ["ivoa", "votable", "xml", "json", "toml"]
documentation = "https://docs.rs/votable"
homepage = "https://github.com/cds-astro/cds-votable-rust/"
repository = "https://github.com/cds-astro/cds-votable-rust/"
edition = "2024"
exclude = [
    "resources",
]

[lib]
name = "votable"
path = "src/lib.rs"
test = true
doctest = true
bench = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[workspace]
members = [
    "crates/cli",
]
exclude = ["crates/wasm"]


[dependencies]
# We pin Serde version because with use the internal serde::__private228
serde = { version = "1.0.228", features = ["derive"] }
byteorder = "1.4"
paste = "1.0" # To create new identifier in macro
quick-xml = "0.23"
memchr = "2.7"
once_cell = "1.18"
# quick-xml = { version = "0.23", features = [ "serialize" ] }
serde_json = { version = "1.0", features = ["preserve_order", "float_roundtrip"] }
serde_yaml = "0.9"
toml = "0.8" # In 0.9, None is no more supported!
quick-error = "2.0" # To handke error more easily
base64 = "0.22"
ucs2 = "0.3"
bitvec = { version = "1", features = ["std", "alloc", "serde"] }
bstringify = "0.1"
log = "0.4"

[dev-dependencies]
env_logger = "0.11" # RUST_LOG=TRACE carog test -- --nocapture

[features]
default = []

# Provides MIVOT parsing support 
mivot = []

# Use: 
# > RUSTFLAGS="-C target-cpu=native" cargo build --release --all-features --bin qat2s
# see https://github.com/johnthagen/min-sized-rust
# https://doc.rust-lang.org/cargo/reference/profiles.html#lto
# https://nnethercote.github.io/perf-book/build-configuration.html
[profile.release]
strip = true  # Automatically strip symbols from the binary.
opt-level = 3 # 1,2,3,s,z Optimize for size instead of speed
lto = true
panic = "abort"
codegen-units = 1