CHANGES
=======


Copyright (C) 2021, 2022, 2023  Kai Mertens <kmx@posteo.net>  

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License".


Change Log
----------


Change Logs can be created with:

        git shortlog vx.x.x..HEAD | tac | sed -r -e '1d; s/^[ ]*/* /; $d;' -


Changes ...
-----------


* ...


Changes between v0.16.14 and v0.16.15
-------------------------------------


* Update artwork and documentation layout.

    - Update according to: Zerocat Project Template v0.0.24
    - Update according to: Zerocat Artwork v0.0.15


Changes between v0.16.13 and v0.16.14
-------------------------------------


* GRUB2 boot menu: Fix key cap letters for escape key.
* Mainpage file renamed to lower case.
* Tag file renamed.
* Documentation: Apply a basic order of sections.
* Refine comment for X220 and T520 within system configuration templates
* Reduce standard countdown time in GRUB menu from 9 to 5 seconds.
* Reduce set of GNU Guix System configuration template files, refine services.
* Upgrade guix channel information within system configuration templates.


Changes between v0.16.12 and v0.16.13
-------------------------------------


* Refine GNU Guix system configuration templates, provide some more
  kernel command line parameters. Provide settings in case resume
  fails.
* Provide information on how to remove Lenovo’s battery blacklist on
  xx30 machines in full detail. Add photo documentation for T530 and
  X230 Tablet.
* Enrich GNU Guix manifest file to support ThinkPad EC mods.
* doc/Makefile: Drop FIX_MARKDOWN macro, which is not required.


Changes between v0.16.11 and v0.16.12
-------------------------------------


* doc/toolchain.md: Strip white space from trailing backslashes.
* doc/toolchain.md: Escape underscore characters for markdown parser.
* doc/MAINPAGE.md: Escape underscore characters.
* doc/Makefile: Check for ‘ln’ utility.
* doc/CHANGES.md: Remove section: Version Tags
* new file:   doc/version-tags.md
* guix/,doc/: Update according to Zerocat Project Template v0.0.23 ...
* guix/manifest0.scm: Indent comments.
* renamed:    guix/manifest.scm -> guix/manifest0.scm
* doc/CHANGES.md: Keep track of changes.
* templates/zerocat-system-x86_64-encrypted.scm: Add configuration for hibernation modes.
* templates/zerocat-system-x86_64-encrypted.scm: Match icon themes to new guix channel.
* templates/zerocat-system-x86_64-encrypted.scm: Update guix channel.
* templates/zerocat-system-x86_64-encrypted.scm: Refine guix pull command snippet.


Changes between v0.16.10 and v0.16.11
-------------------------------------


* templates/: Remove incorrect system name from GNU Guix system configuration files.
* doc/Makefile: Add new file to LIST_SECTIONS: operating-system.md
* new file:   doc/operating-system.md
* doc/: Remove redundant get-started documents.
* new file:   doc/get-started-unencrypted.md
* new file:   doc/get-started-encrypted.md
* templates/grub@2.02_zerocat.cfg: Take gpt volumes into account.


Changes between v0.16.9 and v0.16.10
------------------------------------


* doc/Makefile: Edit navigation buttons.
* doc/Makefile: Refine navigation: Home, Sections, #top, #tail, Back to Top
* doc/: Fix CSS selectors ...
* doc/CHANGES.md: Provide code snippet for automated change log creation.
* new file:   CHANGES (symbolic link)
* doc/Makefile: Update LIST_SECTIONS with renamed file: CHANGES.md
* doc/CHANGES.md: Edit document title.
* renamed:    doc/NEWS.md -> doc/CHANGES.md
* doc/Makefile: Split git log switches across multiple lines, increase readability.
* doc/Makefile: Avoid duplicated path prefix for Title button.
* doc/{Makefile,project.css}: Fix layout of project brief.
* doc/project.css: Refine position of first navigation bar.
* doc/Makefile: Add tail button to generated output.
* guix/Makefile: Rename target: all -> usage
* {guix/,doc/}: Support environment with UTF8 terminal output ...
* guix/Makefile: Fix white space.


Changes between v0.16.8 and v0.16.9
-----------------------------------


* “Get Started” documents refined for X60-unencrypted, X230, X230t,
  T530.

* GNU Guix System configuration files updated

    According to tests on a Zerocat X230 with activated HPM, the guix
    revision has been updated to
    `a59b981d0d566b87812ba62bf166a28cffd87d94`. This provides system
    generations with kernel linux-libre 5.17.15.

    More recent system configurations have been tried on X230, but
    suffer from freezes of the Xfce desktop environment after resume
    from suspend mode, e.g.:

    * guix revision `347733bcde2edb60bc831d363971c488eb74e3f8`, kernel linux-libre 6.0.8
    * guix revision `bd0ff2d39bc7d3b497d74c3431ef77a1cf2515c4`, kernel linux-libre 6.0.9

* Yet unsupported configuration option removed from
  `../doc/toolchain.md`: `--config-grub`


Changes between v0.16.7 and v0.16.8
-----------------------------------


* Switch shell scripts to POSIX conformant comparison.
* Adjust Makefiles for GNU Make < 4.3.
* Adapt scripts for Trisquel 10.0.1.


Changes between v0.16.6 and v0.16.7
-----------------------------------


* Apply small fixes as of: Zerocat Project Template v0.0.19

* Add a license header to selected configuration files, e.g.:

    `../templates/*.{cfg,set,spec}`

* Update documentation and license notices according to:
  Zerocat Project Template v0.0.18

* Adjust information in respect to artwork origin: Zerocat Artwork v0.0.9

* Update list of supported distros.

* Remove some utilites and ancillary documentation, as these are provided
  by separate projects:

    - File `../util/setup-hyperbola.sh` is now available from new project:

        Zerocat Hyperbola Setup  
        git://zerocat.org/zerocat/projects/zerocat-hyperbola-setup  
        http://www.zerocat.org/projects/zerocat-hyperbola-setup/doc/index.html  

    - File `../util/grub-mkconfig-coreboot-hyperbola.sh` is removed, as it is
      not referenced any more.

    - Files `../util/setup-parabola.sh` and
      `../doc/notes-on-parabola-setup-utility.md`
      are now available from new project:

        Zerocat Parabola Setup  
        git://zerocat.org/zerocat/projects/zerocat-parabola-setup  
        http://www.zerocat.org/projects/zerocat-parabola-setup/doc/index.html  

    - File `../doc/sleeves.md` is now available from new project:

        Zerocat Sleeve  
        git://zerocat.org/zerocat/projects/zerocat-sleeve  
        http://www.zerocat.org/projects/zerocat-sleeve/doc/index.html  


Changes between v0.16.5 and v0.16.6
-----------------------------------


* Update documentation system, icons and logotypes in accordance to:
  Zerocat Project Template v0.0.17


Changes between v0.16.4 and v0.16.5
-----------------------------------


* File `util/setup-hyperbola.sh`:

   - Add initial keymap dropdown to main checklist.

* Update GNU Guix System configuration files:

    - Block Facebook.
    - Disable creation of a normal user.
    - Mark failure for package “ungoogled-chromium”.
    - Update x86_64 files to match guix channel `943d4b775b`.


Changes between v0.16.3 and v0.16.4
-----------------------------------


* Add utility script to ease installation of: Hyperbola Milky Way v0.4
* Refine GbE options for xx20 line of targets.
* Update documentation system according to: Zerocat Project Template v0.0.16


Changes between v0.16.2 and v0.16.3
-----------------------------------


This version comes with an upgraded documentation system,
according to: Zerocat Project Template v0.0.12

* Repair GNU Guix detection.
* Update option names within documentation.
* Improve Makefiles, remove bash specific code.
* Generate a list of authors from `git log` output.
* Repair copyright statements according to suggested pattern.
* Refine copyright statements within suggested license snippets.
* Refine prerequisites in respect to guix profile and guix channels.
* Add a dedicated guix channel description file.


Changes between v0.16.1 and v0.16.2
-----------------------------------


* Documentation system has been upgraded to:

    Zerocat Project Template v0.0.10


Changes between v0.16.0 and v0.16.1
-----------------------------------


* Adapt documentation system according to: Zerocat Project Template v0.0.9

* Provide Get Started Guides for selected Zerocat Guix Machines.

* Success and failure of `../util/setup-parabola.sh` is documented in:

    `../doc/notes-on-parabola-setup-utility.md`

* Fix usage of `patch` in `../src/gen-rom-zerocat.sh`.

* Update footnote for t520 targets in `../doc/MAINPAGE.md`.


Changes between v0.15.0 and v0.16.0
-----------------------------------


* Update `../templates/zerocat-system-i686.scm` to use recent guix
  channel.

* Update image of worked example: X230t with boot menu

* Script `../src/gen-rom-zerocat.sh`: Use shorter target folder name,
  write `specfile.md`.

* GNU Guix System declaration templates provide a new kernel option for
  T520/T520i, yet as a comment.

* Script `../src/gen-payload-grub.sh` now comes with option
  `--config-antifreeze`, which should be used on T520/T520i machines so
  that entry “Search Kernel Linux” passes `intel_idle.max_cstate=2` to
  the kernel.

* **Update for t520i target:** Same machine as tested below freezes with
  Trisquel9 x86_64. This kernel linux-libre boot parameter seems to
  help:

        intel_idle.max_cstate=2

    Please compare to: <https://ticket.coreboot.org/issues/121>

* Perform project cleanup.

    - Add some `patch` files.
    - Refine `../doc/MAINPAGE.md`
    - Move configuration templates to `../templates/`.
    - Sort guix’ declaration templates into `../templates/` as well.
    - Drop superseded templates for coreboot@4.12, grub@grub-2.04,
      seabios@rel-1.12.0 and seabios@rel-1.13.0.

* Apply some small fixes for target w530.

* Review, improve and rename GNU Guix System declaration templates in
  `../util/gnu-guix-system/`.

    - refine license header
    - add channel information
    - improve usage information
    - set up two user accounts: user0 (admin) and user1 (normal user)
    - rewrite comments using markdown syntax
    - mark failing packages for i686 architecture / 32bit CPU mode,
      provide fallback packages

* Fix up `../src/gen-rom-zerocat.sh` for targets t530 and w530.

* Grant more GbE configuration options to targets t520 and t520i.

* Add new target: t520i; status: TESTED with coreboot@4.14

    In general, the T520 machines are known to crash unpredictably with
    coreboot firmware. If you have a T520/T520i available, please try
    the Zerocat ROM with target `t520` and check if it works fine,
    long-term. Any workaround to avoid crashes? Upon success, please
    report! We can then update the `t520` target. Thank You!

    This customer’s T520i seems to work fine with coreboot@4.14. – so
    let’s set up a dedicated target `t520i`. But get prepared for
    _sudden crashes with both RAM slots populated_, for instance!

    **Check your RAM to be properly socketed!!**  
    **Try with top-side slot populated only!**  

    T520i device test conditions:

    - Standard firmware region access permissions
    - ME firmware region drastically shrunk
    - BIOS region augmented, containing coreboot@4.14 and CPU microcode
      updates
    - Default GbE configuration / GbE disabled

    - **One RAM slot populated only (internal, top side)**:

        Samsung 4GB 1Rx8 PC3L–12800S-11-13-B4 (M471B5173EB0–YK0 1545)

    - Fingerprint Reader removed
    - Microphone board removed
    - No CD-ROM
    - No internal Harddisk/SSD
    - No internal WiFi
    - fully encrypted GNU Guix System on external SSD via USB/SATA Adapter
    - powered by simple AC-Adapter
    - TFT-Screen 1920×1080px
    - Xfce4 Desktop, simple use, and terminal with simple process,
      running for hours: `watch date`
    - Terminal, running `find` with different options.
    - Screensaver works fine
    - Suspend/Resume works fine

* Add new targets: x60[st]_32bit; status: UNTESTED

    These targets come with more payloads, e.g.: Tint and Memtest86+

* Add new target x1_carbon_gen1; status: TESTED

* File `../src/setup-toolbox.sh`:

    Help function `retrieve_grub()` to find `freetype2.pc` on x86_64
    architecture.


Changes between v0.14.0 and v0.15.0
-----------------------------------


* Documentation build process comes with well structured screen output.

* Successfully tested with commit 0e1ca794: X230

* Add new target w530; status: UNTESTED

* File `../src/config-templates/grub@2.02_zerocat.cfg`

    In verbose mode, add advisory output about mapped root-partition,
    when searching the kernel linux directly.

    Refine menu entries such that the type of volumes involved is part
    of the title.

    Add menuentry to explicitly test and decrypt LUKS Header on USB
    volumes.

* Migration of the documentation build system has started.

    The doxygen documentation will be dropped in favor of a simpler,
    self made build system as offered by: zerocat-project-template v0.0.1

    The doxygen documentation moved from `../doc/` to `../doc-doxygen`, and
    will be kept until migration has been accomplished.

* Some more ThinkPad targets have been added, e.g.:

    - x220i
    - x230s
    - t420s

    Toolchain status for these machines: UNTESTED

* The toolchain now uses updated project versions, e.g.:

    - coreboot@4.14
    - grub@grub-2.06
    - seabios@rel-1.14.0

    Toolchain testing still is work in progress.
