All Versions
11
Latest Version
Avg Release Cycle
252 days
Latest Release
112 days ago

Changelog History
Page 1

  • v1.1.0.1 Changes

    April 17, 2026

    ๐Ÿšง I am currently trying to decide on the maintenance mode of spacecookie going forward, especially the included server daemon. It would help me to hear from users of this software, in particular what parts of it they're using. If you count yourself among those users, I'd be grateful if you'd reach out to me at sternenseemann@systemli.org or via the issue tracker.

    • Fix menu responses not being terminated by the Lastline pattern.
    • โž• Add install-daemon Cabal flag (on by default) which controls whether the executable component of the package is built.
  • v1.1.0.0 Changes

    April 07, 2026
    • API BREAKING CHANGE : Remove Network.Gopher.Util.
      Previous users of these utilities are encouraged to copy the utilities
      from 1.0.0.3 into their own code and adapt them to their needs.

    • โœ… Migrate from filepath-bytestring to filepath >= 1.5.2 and
      โœ… os-string >= 2.0.6. These changes have been tested with GHC 9.10.3,
      GHC 9.12.3 and 9.14.1.

    • ๐Ÿ›  Fix crash on malformed port values when parsing a gophermap using
      Network.Gopher.Util.Gophermap.

    • ๐Ÿ›  Fix crashes if encoding assumptions are violated in GopherLogStr
      when converting to String or the Text types.

  • v1.0.0.3 Changes

    May 03, 2025

    Security fix :
    Resolve sanitizePath not eliminating .. from paths. This affects users
    of sanitizePath and sanitizePathIfNotUrl from Network.Gopher.Util.

    This issue only affects the spacecookie library, not the spacecookie server
    daemon since a separate check would prevent it from handling such malicious
    requests (which delayed the discovery of this bug). It is probably wise to
    โฌ†๏ธ upgrade either way.

    ๐Ÿ“œ Note that gophermap parsing behavior is unchanged, i.e. it just normalises
    paths, even though makeGophermapFilePath used to call sanitizePath in
    previous versions. This is due to the assumption that gophermaps come from a
    ๐Ÿ“œ trusted source and/or paths produced from gophermap parsing aren't used to
    access files directly, i.e. those paths are only served to clients (whose later
    requests are subject to selector sanitization) as selectors in menus. If those
    assumptions don't hold for your code, you will need to further sanitize the
    paths returned from gophermapToDirectoryResponse.

  • v1.0.0.1 Changes

    November 29, 2021

    ๐Ÿš€ This release fixes compilation with aeson >= 2.0.

  • v1.0.0.0 Changes

    March 16, 2021

    ๐Ÿ‘€ Read the full CHANGELOG.

    TL;DR:

    • ๐Ÿ”ง Server daemon: Configurable logging, full compatibility with Bucktooth gophermaps, fix networking bug related to curl, DoS migitations, โ€ฆ
    • โœ… Library: Rework request representation, use more efficient and flexible ByteString over String, user-implementable logging, โ€ฆ
  • v0.2.1.2 Changes

    May 13, 2020

    ๐Ÿ›  Fix build by adjusting dependency constraints.

  • v0.2.1.1 Changes

    December 10, 2019
    • Server
      • Make user parameter in config optional. If it is not given or set to null, spacecookie won't attempt to change its UID and GID. This is especially useful, if socket activation is used. In that case it is not necessary to start spacecookie as root since systemd sets up the socket, so spacecookie can be already started by the right user and doesn't need to change UID.
      • Example Systemd config files
      • SocketMode is now 660 instead of default 666.
      • Set User and Group for spacecookie.service as well.
      • Set "user": null in spacecookie.json
    • Library
      • Fixed issue that led to runGopher* trying to change UID even if it wasn't possible (not running as root). This especially affected the spacecookie server, since cRunUserName would always be Just.
      • Made logging related to dropPrivileges clearer.
  • v0.2.1.0 Changes

    October 20, 2019
    • ๐Ÿ‘Œ Improved systemd support.
      • Support for the notify service type
      • Support for socket activation and socket (fd) storage
      • To make use of these new features you'll have to update your service files
    • โž• Added defaultConfig value to prevent future breakage in software using the
      library when the GopherConfig type is extended.
    • ๐Ÿ–จ Pretty print IPv6 addresses in logging
  • v0.2.0.1 Changes

    May 23, 2019

    โž• Added version constraints for base to please hackage.