sequential-storage 8.0.0

A crate for storing data in flash with minimal erase cycles.
Documentation
[package]

name = "sequential-storage"

version = "8.0.0"

edition = "2024"

license = "MIT OR Apache-2.0"

description = "A crate for storing data in flash with minimal erase cycles."

homepage = "https://github.com/tweedegolf/sequential-storage"

repository = "https://github.com/tweedegolf/sequential-storage"

readme = "README.md"

keywords = ["no_std", "embedded", "flash", "storage"]

rust-version = "1.87"



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



[dependencies]

embedded-storage-async = "0.4.1"

defmt = { version = "1.0.1", optional = true }

futures = { version = "0.3.30", features = ["executor"], optional = true }

approx = { version = "0.5.1", optional = true }

arrayvec = { version = "0.7.4", default-features = false, optional = true }

heapless = { version = "0.8.0", optional = true }

heapless-09 = { package = "heapless", version = "0.9.0", optional = true }

postcard = { version = "1.1.3", optional = true }

serde = { version = "1.0.228", default-features = false, optional = true }

embassy-sync = { version = "0.8.0", optional = true }



[dev-dependencies]

critical-section = { version = "1", features = ["std"]}

approx = "0.5.1"

futures = { version = "0.3.30", features = ["executor"] }

futures-test = "0.3.30"



[features]

# Get defmt format implementations on some types like errors

defmt = ["dep:defmt"]

# Enable some std-only features like debug printing the items in a storage

std = ["alloc"]

# Enable convenience implementations for arrayvec

arrayvec = ["dep:arrayvec"]

# Enable convenience implementations for alloc

alloc = ["defmt?/alloc"]

# Enable convenience implementations for heapless 0.8

heapless = ["dep:heapless"]

# Enable convenience implementations for heapless 0.9

heapless-09 = ["dep:heapless-09"]

# Enable convenience implementations for postcard

postcard = ["dep:postcard", "dep:serde"]

# Enable ISR-safe SharedRamRing (backed by embassy-sync, may change in future)

shared-ram-ring = ["dep:embassy-sync"]



# Internal feature. Do not use. Anything here is semver exempt.

_test = ["dep:futures", "dep:approx", "std", "arrayvec", "alloc", "heapless"]

# Internal feature that adds a test to check if the cache is correct about page states

_check-cache = []



[lints.rust]

unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }



[package.metadata.docs.rs]

features = ["arrayvec", "std", "heapless", "heapless-09", "postcard"]