- **Enhancement:** Improved in-memory caching performance.
- **Enhancement:** `idelib.importer.importFile()` and `idelib.importer.readData()` now have `startTime`, `endTime`, and `channels` arguments for selectively importing only specific time ranges or channels.
- **Enhancement:** `repr` for `idelib.dataset.Channel`, `idelib.dataset.SubChannel`, and `idelib.dataset.EventArray` has been improved to show more information.
- **Enhancement:** New Utility Functions:
- `idelib.util.extractTime()`: saves a portion of an IDE to another IDE.
- `idelib.util.getLength()`: Efficiently gets the estimated start and end times of an IDE file without importing it. Replaces the previous, less accurate version in `idelib.importer`.
- `idelib.util.getExitCondition()`: Gets the 'exit condition' of a file (what caused the device to stop recording). Replaces the less effective version in `idelib.importer`.
- **Maintenance:** Consolidated class `EventList` into `EventArray`.
- **Maintenance:** Refactored tests.
- **Deprecation:** Removed rolling-mean-removal.
- **Documentation:** Added Sphinx documentation with doctests.