Packages

A publishing engine with metadata, markdown and code highlighting support.

Current section

Files

Jump to
poly_post CHANGELOG.md
Raw

CHANGELOG.md

# Changelog

All changes worthy of mention are noted here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.0] - 2026-09-11

### Added

- Added ability to configure and select markdown parser (`MDEx` officially supported).
- Added ability to configure `JSON` or `Jason` decoder.
- Added syntax highlighing support via `Lumis` through `MDEx native`.
- Added `PolyPost.fetch/1` to retrieve markdown content from git and then a path.
- Added `PolyPost.fetch_from_path/1` to retrieve markdown content from a path only. Fallback if git fails.
- Added `PolyPost.build/1` to convert markdown content into html.
- Added `PolyPost.store/2` to store content in a process connected to ETS.
- Added `PolyPost.clear/1` to clear content for a specific resource in a process connected to ETS.
- Added `PolyPost.clear_all/0` to clear all content in all processes connected to ETS.
- Added `PolyPost.list_resources/0` to list all resource keys and their metadata.
- Added `PolyPost.Depot.count/1` to count number of items of content under a specific resource.
- Added `PolyPost.Depot.exists?/1` to determine if the key for a specific resource exists

### Changed

- Elixir 1.19 or greater is now required.
- Erlang 28 or greater is now required.

### Removed

- Direct support for `Makeup` is no longer included.

### Deprecated

- Deprecated `PolyPost.build_and_store!/1`. Instead use `PolyPost.fetch/1`, `PolyPost.build/1` and `PolyPost.store/2`.
- Deprecated `PolyPost.build_and_store_all!/1`. Instead use `PolyPost.fetch/1`, `PolyPost.build/1` and `PolyPost.store/2`.

### Security

- Switched from `Earmark` to `MDEx` because of maintenance and security issues.

## [0.1.0] - 2024-08-17

### Added

- Added inline docs + typespec public functions.
- Added tests for `PolyPost.Builder` and `PolyPost.Depot` modules.
- Added support for code highlighting using `makeup` in `code` blocks.
- Added storage of content into ETS tables accessible via the `PolyPost.Depot` processes.
- Added support to load files directly from configured, splattable paths.
- Added `PolyPost.Resource` behaviour to specify `build/3` function callbacks for managing parsed markdown + metadata.
- Added `README` with documentation for basic installing and usage of this library.
- Added license (Apache 2.0) to project.