Changelog
=========

A history of what happened before, and a taste of what’s to come…


Planned Future Enhancements
---------------------------

* Bring back multi-threaded support
* Cache time limit (force forget if a file isn’t accessed)
* Don’t break backwards compatibility (again)!
* Start using ECC


stegfs - 2015.08.1                                        21st July 2016

* Fix FUSE initialisation bug (caused by update to FUSE library that was
  stricter than before)
* Update documentation and man pages


stegfs - 2015.08                                        13th August 2015
----------------

* Complete rewrite **NOT BACKWARDS COMPATIBLE**
  - Stores block locations (and other vales) as big endian
  - Change key/IV processing
  - If you see the error message “Previous version of stegfs!” download
    version 2010.01 and recover your data, before creating a new stegfs
    and transferring your data to it
  - Block size is 2,048 bytes
    * 32 indicate the path
    * 1,976 are file data
    * 32 are a data checksum
    * 8 indicate the next block
    * All except the first 32 are encrypted; the cipher can have a block
      length of:
      - 128 bits
      - 192 bits
      - 256 bits
* Allow user configured algorithm (select during mkfs)
* Remove multi-threaded capability (we’ll bring it back soon)
* Files are:
  - Read when they’re opened
  - Written when they’re closed
  - Cached until the file system is unmounted; if could be argued that
    keeping file contents in memory is dangerous but if you’ve mounted
    the file system and accessed files then this is where an attacker is
    likely to strike
* Directories:
  - Still not stored
  - Are cached while mounted
  - Do not need + prefix
  - Do require creating on each mount (if you want to access your files)
* Provide an extreme paranoia mode, where by the standard stegfs header
  block isn’t written, thus disguising the partition.
