# decodeme `decodeme` holds the decoding definitions of the profiling event data from `measureme`. This makes it easy in the future to keep supporting old file formats by making `analyzeme` depend on multiple versions of decodeme and always have it convert data to the current format. As an example, this is what the crate graph would look like for `analyzeme@17.0.0` if we want it to support a couple of older file formats. ```text measureme_15_0_0 <--- decodeme_15_0_0 <----+ | measureme_16_0_0 <--- decodeme_16_0_0 <----+ | measureme_17_0_0 <--- decodeme_17_0_0 <----+---- analyzeme_17_0_0 ``` See [analyzeme/src/file_formats/v7.rs](../analyzeme/src/file_formats/v7.rs) for an example of what it looks like to implement support for an old file format.