Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# 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).
## v0.7.0 (2026-07-08)
### Fixed
* Render the cover image `media-type` attribute in the package document;
it was previously always empty.
* Run the CI workflow on the `main` branch (it previously targeted the
removed `master` branch, so CI never ran) and update stale `master`
links in the documentation.
### Changed
* **BUPE.build/3** now returns the output path as a `String.t()` instead of a
charlist.
* Declare an honest minimum Elixir version (`~> 1.17`) and test against a
matrix of Elixir/OTP versions (1.17/OTP 27 through 1.19/OTP 28) in CI.
Erlang/OTP 27+ is required because the builder relies on the `:extra`
option of `:zip.create/3` to produce clean ZIP entries.
* Run Credo, Dialyzer (with a cached PLT), `mix format --check-formatted`,
and `mix deps.unlock --check-unused` in CI.
* Remove the deprecated `build_embedded` project option.
## v0.6.5 (2025-12-31)
### Added
* Extract media type handling into **BUPE.MediaType**.
### Changed
* Refactor builder implementation.
* Refactor publication item normalization.
* Replace **BUPE.Util** with a focused **BUPE.UUID** module.
* Enable `ex_doc` outdated warning checks in dev dependencies.
* Improve documentation and examples.
## v0.6.4 (2025-12-31)
### Fixed
* Avoid adding extra info to ZIP entries. (#98)
## v0.6.3 (2025-09-21)
### Added
* Extract the table of contents (TOC) while parsing EPUB files.
### Fixed
* Fix content extraction from files directly under the root directory.
### Changed
* Update Elixir/OTP version; minor refactoring.
* Use [saxy](https://hex.pm/packages/saxy) to parse EPUB documents.
## v0.6.2 (2025-05-16)
### Added
* Extract content from associated pages, images, styles, and scripts while parsing EPUB document.
## v0.6.1 (2024-09-26)
### Changed
* Update Elixir/OTP version, minor refactoring
* Improve test suite to use `tmp_dir` tag and avoid flaky tests
* Validate modification dates
## v0.6.0 (2019-03-30)
### Added
* Add CLI interface
## v0.5.1 (2019-03-24)
### Fixed
* Provide an alternative description for `BUPE.Item` in case is missing
## v0.5.0 (2019-03-24)
### Added
* Improve documentation
* Refactor EPUB builder
* Introduce `BUPE.Item` definition
* Fix unit tests after moving exception definitions
* Provide an utility module
* Move `BUPE.Config` and exceptions into its own files
* Revert Elixir version bump
## v0.4.1 (2019-03-21)
### Fixed
* Improve backward compatibility
## v0.4.0 (2019-03-20)
### Added
* Allow to parse/create EPUBs in memory
* README: Update sample for the EPUB Parser
* Split parsing of metadata and manifest sections
* Improve EPUB parsing
* Apply `mix format` to parser
* Better support for UTF-8
* Improve mimetype and zip creation
* Remove some options from the default config
* Add more tests for the Builder
* Allow to opt-out of the default cover page
### Fixed
* Fix example in `BUPE.build/3` docs
## v0.3.0 (2016-12-25)
### Added
* Allow BUPE as dependency in escripts projects
### Fixed
* Include reference to images in the OPF manifest
## v0.2.0 (2016-10-11)
### Added
* Allow to include images, JS and CSS custom files.
## v0.1.0 (2016-08-02)
* Initial release