# 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0] - 2026-02-24

### Breaking changes

- The `pretty` option is now set when **creating** the `WebServer::DirIndex`
  object, not when calling `to_html`. If you were passing a second argument to
  `to_html`, move it to the constructor:

  ```perl
  # Before
  my $html = $di->to_html('/some/dir/', 1);

  # After
  my $di   = WebServer::DirIndex->new(dir => $dir, dir_url => '/', pretty => 1);
  my $html = $di->to_html('/some/dir/');
  ```

### Changed

- Enabling `pretty` now automatically enables icons as well. If you want the
  enhanced CSS but no icons, pass `icons => 0` explicitly.
- Icons remain enabled by default even when `pretty` is not set.

## [0.0.3] - 2026-02-23

### Added

- **File-type icons** — each entry in the listing now shows a
  [Font Awesome 6](https://fontawesome.com/) icon that matches the file's type
  (document, image, video, archive, etc.). The required stylesheet is loaded
  automatically from the Font Awesome CDN.
- New `icons` parameter on `WebServer::DirIndex->new` (defaults to true).
  Set `icons => 0` to produce a plain listing without icons.

## [0.0.2] - 2026-02-22

### Added

- New `WebServer::DirIndex::File` class representing a single file entry in a
  directory listing, with accessors for `url`, `name`, `size`, `mime_type`,
  `mtime`, and `icon`.

### Changed

- The `Plack` dependency has been removed. The module now uses `MIME::Types`
  for file-type detection and `HTML::Escape` for output escaping.

### Fixed

- Corrected the copyright year.

## [0.0.1] - 2026-02-21

### Added

- Initial release of `WebServer::DirIndex`, `WebServer::DirIndex::HTML`, and
  `WebServer::DirIndex::CSS`.

[Unreleased]: https://github.com/davorg-cpan/webserver-dirindex/compare/v0.0.1...HEAD
[0.0.1]: https://github.com/davorg-cpan/webserver-dirindex/releases/tag/v0.0.1