# CHANGELOG

## [1.0.0] - 2026-02-13
### Added
- Initial public release of diffstep
- Expression validation and normalization
- Tokenization engine
- AST parser
- Symbolic differentiation
- AST to string printer
- Expression simplification

## [1.1.0] - 2026-03-02
### Added
- New lowercase `diffstep()` public API function

### Deprecated
- `DiffStep()` function is now deprecated and will be removed in a future major version
- Users should migrate to `diffstep()`

### Internal
- Improved API consistency (PEP8 naming conventions)

## [1.1.1] - 2026-03-03
### Bugfix
- Fixed bug where you could not import diffstep from terminal

## [1.2.0] - 2026-03-13

### Added
- Layered API design to support both beginner and advanced users
- Simple entry-point function `diffstep()` for quick differentiation
- Additional public functions for more granular control of the differentiation pipeline
- Support for accessing lower-level functions through `import diffstep` (e.g. `diffstep.differentiate()`)

### Changed
- Improved package structure to expose both high-level and low-level APIs
- Updated `__init__.py` to limit wildcard imports (`from diffstep import *`) to the beginner-friendly `diffstep()` function

### Developer
- Refactored internal pipeline to support multiple public entry points

