Changelog for waffle-0.3.0.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.3.0.0-rc.1] - 2020-05-17
This release is preparing for uploading to Hackage. On the non-code side we switch from Stack to Cabal and start using GitHub actions.
Add
- Tests, namely doctests
Fix
-
Fix going up a directory, which in some cases could result in new history with the same page.
-
Fix get parent directory which in some edge cases would return the same path as it was given. Also fix the leading/root slash being omitted in all cases. Simply start using System.FilePath to get the parent directory in a path.
[0.2.0] - 2020-05-09
This release is dedicated to Adrian Cochrane's Rhapsode, as these features were requested, which also happened to benefit this project as well.
Interpret Gopher URI item types based on their selector/path.
Bonus: make everything align nicely by simply putting item type descriptors in gophermaps/menus at the end of the line.
Add
The high level:
- Item type guessing based on selector, allowing you to goto and startup URIs that require any RenderMode (namely: text files, menus, downloads).
The nitty-gritty:
GopherNet.hs
: modularize things further by starting a networking module, whichwriteAllBytes
was moved to.- ItemType type, which unifies both canonical and noncanonical item types
selectorExtToItemType
for determining an item type based off of a selector's file extensionselectorPrefixItemType
for determining an item type based off a selector's prefix according to RFC 4266.selectorItemType
for determining a selector's item type by first preferring to use RFC 4266, but if that fails determine based off of file extension (using the two functions named above).counterMutator
for the new higher order version of thewriteAllBytes
function.
Fix
The high level:
- Goto breaking if not going to a menu/gophermap as URI destination
- Startup args breaking if not specifying a gophermap as URI destination
Change
The nitty-gritty:
- All
Either GopherCanonicalItemType GopherNonCanonicalItemType
instances to simply use the newItemType
type. writeAllBytes
to be agnostic of UI stuff; made into a higher order function.
[0.1.0] - 2020-05-03
This is the first release. It is in alpha. All the basic features required to browse Gopherspace!