# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.5.0](https://codeberg.org/quendimax/bump-stack/compare/v0.4.0...v0.5.0) - 2026-01-24
### Added
- [**breaking**] remove lifetime from `Graph` declaration
## [0.4.0](https://codeberg.org/quendimax/bump-stack/compare/v0.3.0...v0.4.0) - 2026-01-24
### Added
- [**breaking**] add lifetime to Stack that is invariant over `T` (this fixes a
bug described [there](https://gist.github.com/quendimax/ff6e8888acd3b333b4039d5e16e58c6a))
- implement `Clone` trait
## [0.3.0](https://codeberg.org/quendimax/bump-stack/compare/v0.2.0...v0.3.0) - 2026-01-07
### Added
- implement `FromIterator` trait
- implement `Stack::to_vec` method
- implement `Stack::contains` method
- implement `Send` trait
### Other
- [**breaking**] rename `slice` into `chunk` in public API methods and types
- allow using stdlib in unit tests
## [0.2.0](https://codeberg.org/quendimax/bump-stack/compare/v0.1.0...v0.2.0) - 2025-12-28
The main change is that now the stack grows downwards. It also means that
iterators run over elements in reverse order of their insertion.
### Added
- [**breaking**] make stack grow downwards
- implement `push_mut*`/`pop_if` methods
- implement iterator consuming the stack
- implement mutable iterator over elements
- implement mutable iterator over chunks' slices
- implement iterator over chunks' slices
- implement double ended eterator
### Other
- move to codeberg.org (update links)
- improve documentation
- improve clarity of code
- optimize an element deallocation
- reimplement `Iterator::last`
- simplify iterator for ZST
- update repo link to codeberg
- make `clear` drop elements with `drop_in_place`; order of dropping is not
defined now
## [0.1.0](https://github.com/quendimax/bump-stack/releases/tag/v0.1.0) - 2025-11-20
### Added
- implement `Stack` structure
- implement `Iterator` for `Stack`