********************************************************************************
*                            CHANGELOG SECTION                                 *
********************************************************************************

v.4.56 [May 26, 2025]
    (*) [fsck] Implement logic of detection a heavily corrupted
               SSDFS volume.

v.4.55 [May 25, 2025]
    (*) [fsck] Implement logic of SSDFS volume detection.

v.4.54 [April 16, 2025]
    (*) Implement functionality of supporting not erasing the whole volume
        during mkfs phase.

v.4.53 [April 06, 2025]
    (*) [fsck] Implement initial "skeleton" recovery logic of SSDFS metadata
               on the unmounted volume.

v.4.52 [March 30, 2025]
    (*) [fsck] Implement initial "skeleton" logic of detection
               and checking SSDFS metadata on the unmounted volume.

v.4.51 [March 02, 2025]
    (*) [fsck] Implement initial "skeleton" logic of FSCK tool.

v.4.50 [February 22, 2025]
    (*) [dumpfs] Implement dumping logic of mapping table cache.

v.4.49 [December 30, 2024]
    (*) [tunefs] Implement function of explaining configuration failure.

v.4.48 [December 29, 2024]
    (*) [tunefs] Implement initial set of supported options.

v.4.47 [December 29, 2024]
    (*) [mkfs] Saving segment ID and PEB ID into segment header.

v.4.46 [October 05, 2024]
    (*) [mkfs] Fix issue of wrong distribution of segment bitmap's fragments
               among segments and erase blocks.

v.4.45 [September 27, 2024]
    (*) [mkfs] Fix issue of defining erase block's page index in offset
               translation table for the case of multiple erase blocks
               in segment.

v.4.44 [September 23, 2024]
    (*) [mkfs] Add logic of alignment the erase blocks per stripe
               for the case of latest fragment.

v.4.43 [September 07, 2024]
    (*) [mkfs] Fix issue of wrong calculating of erase blocks number
               per stripe during mapping table initialization.

v.4.42 [September 01, 2024]
    (*) [mkfs] Fix issue with trying to erase out of volume.

v.4.41 [July 20, 2024]
    (*) Keep knowledge about segment ID, LEB ID and relation PEB ID
        in segment header.

v.4.40 [May 04, 2024]
    (*) [mkfs] Show the progress of erasing segments.

v.4.39 [March 03, 2024]
    (*) [mkfs] Prevent creating volume with 32KB logical block size
               for 128KB erase block size.

v.4.38 [January 27, 2024]
    (*) [dumpfs] Fix issue with parsing block descriptors array.

v.4.37 [December 12, 2023]
    (*) Fix bugs in supporting multiple erase blocks in segment.

v.4.36 [November 27, 2023]
    (*) Fix bugs in supporting logical block size bigger than 4KB.

v.4.35 [September 21, 2023]
    (*) [recoverfs] Implement logic of inline files extraction.

v.4.34 [September 07, 2023]
    (*) [dumpfs] Fix issue with maximum logs number calculation.

v.4.33 [September 04, 2023]
    (*) [recoverfs] Implement logic of block synthesis into files.

v.4.32 [August 28, 2023]
    (*) [testfs] Introduce unit-tests for memory primitives.

v.4.31 [August 01, 2023]
    (*) [recoverfs] Implement log parsing and data extraction.

v.4.30 [July 18, 2023]
    (*) [dumpfs] Fix issue with creation of output folder.

v.4.29 [July 18, 2023]
    (*) [dumpfs] Fix bugs in dumping logic.

v.4.28 [July 08, 2023]
    (*) Correct maximal threshold of default full log size.

v.4.27 [June 11, 2023]
    (*) [resizefs] Implement parse options logic.

v.4.26 [June 09, 2023]
    (*) Support saving the whole offsets table in every log.

v.4.25 [May 25, 2023]
    (*) Rework erase logic (BLKSECDISCARD + BLKZEROOUT).

v.4.24 [May 19, 2023]
    (*) [dumpfs] Implement decompression of blk2off table.

v.4.23 [March 06, 2023]
    (*) Introduce blk2off table compression support.

v.4.22 [February 20, 2023]
    (*) [dumpfs] Fix issue with showing the raw dump only.

v.4.21 [January 03, 2023]
    (*) Fix bugs in functionality of supporting multiple PEBs in segment.

v.4.20 [January 02, 2023]
    (*) Implement support PEB creation and last log timestamps.

v.4.19 [December 31, 2022]
    (*) [mkfs] Fix bugs with support 8K - 32K logical block size.

v.4.18 [December 28, 2022]
    (*) On-disk layout has version 1.13.

v.4.17 [December 26, 2022]
    (*) [recoverfs] Implement initial logic of PEBs traversing.

v.4.16 [December 25, 2022]
    (*) [dumpfs] Fix issue with calculating maximum number of logs.

v.4.15 [November 22, 2022]
    (*) Fix issue with open zones accounting.

v.4.14 [October 25, 2022]
    (*) [mkfs] Fix issue with mapping table creation.

v.4.13 [October 19, 2022]
    (*) Fix bugs in ZNS SSD support implementation.

v.4.12 [October 18, 2022]
    (*) [mkfs] Introduce invalidated extents btree.

v.4.11 [October 14, 2022]
    (*) [mkfs] Introduce zlib compression support.

v.4.10 [October 13, 2022]
    (*) Prepare block bitmap to support 2GB zone size.

v.4.09 [August 15, 2022]
    (*) Fix bugs in ZNS SSD support implementation.

v.4.08 [July 16, 2022]
    (*) Implement support block descriptor table compression.

v.4.07 [June 02, 2022]
    (*) Implement ZNS SSD support.
    (*) On-disk layout has version 1.9.

v.4.06 [February 18, 2022]
    (*) [testfs] add snapshots tree test-case.

v.4.05 [February 04, 2022]
    (*) [dumpfs] correct logic of block state parsing.

v.4.04 [February 04, 2022]
    (*) [testfs] add shared extents tree test-case.

v.4.03 [December 31, 2021]
    (*) Fix bugs in on-dick layout.

v.4.02 [December 02, 2021]
    (*) [snapshotfs] fix bugs in snapshot requests support.

v.4.01 [November 21, 2021]
    (*) [mkfs] fix bugs in setting compression option.

v.4.00 [November 11, 2021]
    (*) [snapshotfs] implement snapshot requests support.

v.3.12 [November 08, 2021]
    (*) [snapshotfs] implement basic logic of the tool.

v.3.11 [September 14, 2021]
    (*) [testfs] add test cases (block bitmap, offset translation table,
                 PEB mapping table, segment bitmap, shared dictionary,
                 xattr tree).

v.3.10 [August 29, 2021]
    (*) [mkfs] fix bugs in segment bitmap creation logic.

v.3.09 [August 08, 2021]
    (*) On-disk layout has version 1.4.

v.3.08 [June 13, 2021]
    (*) [testfs] implement test.ssdfs tool.

v.3.07 [February 15, 2021]
    (*) Fix bugs in PEB mapping table's creation logic (step 2).

v.3.06 [January 31, 2021]
    (*) Fix bugs in PEB mapping table's creation logic.

v.3.05 [May 16, 2020]
    (*) Fix bug with btree's index size setting.

v.3.04 [March 18, 2020]
    (*) On-disk layout has version 1.3.

v.3.03 [December 20, 2019]
    (*) On-disk layout has version 1.2.

v.3.02 [October 13, 2019]
    (*) [mkfs] fix bug of PEB mapping table creation.

v.3.01 [October 12, 2019]
    (*) [mkfs] correct available granularities set.

v.3.00 [September 11, 2019]
    (*) The partial logs support has been implemented.

v.2.02 [July 15, 2019]
    (*) Release of ssdfs-utils v.2.02.

v.2.01 [July 10, 2019]
    (*) On-disk layout has version 1.0.

v.2.00 [July 01, 2019]
    (*) [mkfs] fix bugs in offset translation table creation (step 2).

v.1.08 [June 30, 2019]
    (*) [mkfs] fix bugs in offset translation table creation.

v.1.07 [June 29, 2019]
    (*) [dumpfs] implement PEB's dump functionality (step 4).

v.1.06 [June 28, 2019]
    (*) [dumpfs] implement PEB's dump functionality (step 3).

v.1.05 [June 27, 2019]
    (*) [dumpfs] implement PEB's dump functionality (step 2).

v.1.04 [June 26, 2019]
    (*) [dumpfs] implement PEB's dump functionality (step 1).

v.1.03 [June 24, 2019]
    (*) [mkfs] fix bugs in mapping table creation functionality.

v.1.02 [May 28, 2019]
    (*) Successful compilation - SSDFS declarations has been reimplemented.

v.1.01 [May 27, 2019]
    (*) Fix compilation errors - reimplement SSDFS constants (step 1).

v.1.00 [May 26, 2019]
    (*) WDC has released incomplete source code.

v.0.30 [August 01, 2018]
    (*) [mkfs] Fix bugs in btree creation (step 2).

v.0.29 [May 25, 2018]
    (*) [mkfs] Fix bugs in btree creation (step 1).

v.0.28 [March 09, 2018]
    (*) [mkfs] Implement btree support.

v.0.27 [October 05, 2016]
    (*) [mkfs] Fix bugs in block bitmap creation.

v.0.26 [June 22, 2016]
    (*) [mkfs] Fix bugs in PEB migration scheme support.

v.0.25 [June 02, 2016]
    (*) [mkfs] Support of reworked block bitmap on-disk layout.
    (*) [mkfs] Add compression options.
    (*) [mkfs] Support PEBs migration scheme.

v.0.24 [January 14, 2016]
    (*) [mkfs] Support of reworked offset translation table.

v.0.23 [December 02, 2015]
    (*) [dumpfs] Implement header parsing functionality.

v.0.22 [November 18, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 6).
    (*) [dumpfs] Add option of raw dump show.

v.0.21 [November 11, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 5).
    (*) [dumpfs] Implement operation of extraction the main
                 file system info.

v.0.20 [October 14, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 4).

v.0.19 [October 07, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 3).

v.0.18 [September 30, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 2).

v.0.17 [September 23, 2015]
    (*) [mkfs] Fix bugs in mount operation (step 1).

v.0.16 [September 16, 2015]
    (*) [mkfs] Fix found bugs during testing different page, erase block
               and segment sizes.

v.0.15 [September 09, 2015]
    (*) [mkfs] Compilation errors have been fixed.

v.0.14 [September 02, 2015]  (**not compilable**)
    (*) [mkfs] Creation of mapping table object has been implemented.

v.0.12 [August 26, 2015]  (**not compilable**)
    (*) [mkfs] Partial implementation of mapping table object creation.

v.0.11 [August 19, 2015]  (**not compilable**)
    (*) [mkfs] Implement offsets table creation.
    (*) [mkfs] Implement block descriptors table creation.
    (*) [mkfs] Reorganize mkfs utility structure.

v.0.10 [August 12, 2015]  (**not compilable**)
    (*) [mkfs] Implement block bitmap creation.

v.0.9 [May 27, 2015]
    (*) [mkfs] Fix bugs in segment bitmap creation functionality.

v.0.8 [May 20, 2015]
    (*) [mkfs] Implement segment bitmap creation.
    (*) [mkfs] Fix compilation errors.

v.0.7 [May 13, 2015]  (**not compilable**)
    (*) [mkfs] Implement preparation of segment bitmap's structures.
    (*) [lib] Add segment bitmap's common functionality.
    (*) [include] Add on-disk layout declarations.
    (*) Correct HGST copyright.

v.0.6 [November 12, 2014]
    (*) [include] Correct header with on-disk layout declarations.
    (*) [mkfs] Correct logic of log creation.

v.0.5 [June 25, 2014]
    (*) [lib] Fix issue with CRC32 calculation.
    (*) [mkfs] Calculate creation time in nanoseconds.
    (*) [mkfs] Fix issue with segment header and log footer commit.

v.0.4 [June 18, 2014]
    (*) [mkfs] Add 128KB as possible erase block size.

v.0.3 [May 07, 2014]
    (*) [mkfs] It was fixed bugs in ssdfs-utils-v.0.2.
    (*) [mkfs] It was made preliminary testing.

v.0.2 [April 30, 2014] (*NOT COMPILABLE*)
    (*) [mkfs] It was defined segment header structure.
    (*) [mkfs] It was defined superblock structure.
    (*) [mkfs] It was defined log footer structure.
    (*) [mkfs] It was implemented write/erase operations.
    (*) [mkfs] It was implemented superblock creation.
    (*) [mkfs] It was implemented segment preparation.
    (*) [mkfs] It was implemented writing prepared volume on device.

v.0.1 [April 23, 2014]
    (*) [mkfs] It was adopted functionality of checking formated partition.
    (*) [mkfs] It was adopted functionality of device mount state checking.
    (*) [mkfs] It was implemented open_device() method.
    (*) [mkfs] It was implemented options parsing functionality.
    (*) It was prepared building framework (autoconf, automake).
