News - 2023/03/16 - FLL 0.6.4 Release
Author: Kevin Day
Description: News post on 2023/03/16.
Keywords: Kevin Day, Kevux, FLL, Featureless, Linux, Library, Distribution, Open-Source, News, 2023

# 2023 / 03 / 16 - FLL 0.6.4 Release

The Featureless Linux Library stable version `0.6.4` is released.

This release contains numerous bug fixes and code clean ups. There are also some features implemented as either a solution to a bug or to accommodate changes to a specification. This change also revisits some of the copyrights and further clarifies them.

Adds the following stand alone programs:

- `controller`
- `fss_identify`
- `iki_read`
- `iki_write`

Copyrights are now displayed when the programs are passed the `+C/++copyright` standardized parameter.

The build and package scripts are improved to better automate stand alone package building.

This preemptively adds Kevux specific path global support to easy the package build process for Turtle Kevux. This is done in a non-API and a non-ABI breaking manner.

The IKI standard is found to be slightly lacking. There is a strong need for IKI variables immediately after word-characters that are not part of the variable name. The IKI standard and specification is now updated to utilize open bracket '`[`' (`U+005B`) and close bracket '`]`' (`U+005D`), commonly referred to as "wrap" or "wrapping". Such an IKI variable looks like `[vocabulary]:"content"` (as opposed to `vocabulary:"content"`). New functionality is provided to keep this project compliant with the recent changes to the IKI standard and specifications.

A major behavioral bug has been found in the Controller program regarding the "program" operation mode. Solving this the simple way would then break other behavior. To avoid this, a new feature is implemented, called the "helper" operation mode. The "helper" operation mode provides an alternative to "program" operation mode to allow for starting tasks.

The recent work involving Featureless Make in the 0.7.x development branches has exposed a number of problems whose fixes have been back ported.

The Controller program has now be successfully tested and run under a SystemD system using "cgroups". A quick and simple SystemD "cgroup" example Controller is now provided.

The following are changes since the 0.6.3 stable release.

Security Fixes:

- Featureless Make: Invalid read or write while expanding operations.
- Featureless Make: Add extra check range checks in Featureless Make build skeleton.
- Multiple Programs: NULL pointer dereference in writer due to pipe function result handling.

Features:

- FLL: Provide program parameter for displaying copyright.
- FLL: Enable support for stand_alone packaging with 'all'.
- FLL: Implement wrap support for IKI standard to be compliant with recent changes.
- Controller: The content action cache, comments, and delimits are not being properly cleared.
- Controller: Add support for 'helper' mode to compliment the 'program' mode.

Bug Fixes:

- FLL: Status Code stand alone has incorrect files added.
- FLL: Stand alone build file problems and bad define macros.
- FLL: Incorrect dependencies for individual build modes.
- FLL: Fix unterminated quote handling issue addressed by specifications clarification.
- FLL: Miscellaneous problems in file functions and Featureless Make related code.
- FLL: Control group function is partially outdated and uses incorrect integer.
- FLL: The bootstrap script "`-d/--define`" command does not match the Fake command.
- FLL: Short console arguments should not match when a single invalid exists.
- Controller: The control read only option is not being loaded.
- Controller: Remove out of place single quote in print.
- Controller: The Entry is not printing on simulate and validate combined mode.
- Controller: Multiple cancellations may occur, use mutex lock to prevent.
- Controller: Consistently use the same color context for the entry name.
- Featureless Make: Dead code in return status handling.
- Featureless Make: Number too large error should be returned as an error.
- Featureless Make: Add missing "extern" to functions in header.
- Featureless Make: Return result lost in Featureless Make for f_string_dynamic_append_nulless() call.
- Featureless Make: Set error status when link target is an empty string.
- Featureless Make: Printed error message is not utilize verbosity quite mode.
- Featureless Make: Print message is missing the percent before the 'Q' causing invalid printing.
- Featureless Make: Argument variable passed is a pointer, print the value not the pointer.
- Featureless Make: Fix typo in 'original' word.
- Featureless Make: Multiple single-valued Objects should used last instead of first Object.
- Featureless Make: Incorrect and confusing warning message in Featureless Make.
- Featureless Make: Invalid defines, incorrect comments, missing flags, and missing dependencies.
- Featureless Make: The build settings 'path_sources' is incorrectly added.
- Featureless Make: The -S/--sources parameter is not being correctly used.
- Featureless Make: Incorrect documentation in fakefile.txt.
- Featureless Make: Fakefile processing with color context is producing extra spaces when unquoted.
- Featureless Make: Incorrect stream used when printing output in verbose directory recursion.
- Featureless Make: The stream is locked again rather than unlocked after being locked.
- Multiple Programs: FSS Write programs don't correctly handle multi-Content per Object situations.

Refactors:

- None.

Updates:

- FLL: Add unit tests for `fll_path`.
- FLL: Further clarify quoting in FSS specifications.
- FLL: Clarify FSS specifications in regards to quote behavior.
- FLL: Style guide documentation.
- FLL: Program man pages, adding copyright, fixing help, and adding missing period.
- FLL: Open Standard License to be 1.0 or later rather than just 1.0.
- FLL: Fakefile specification.
- FLL: Add fanalyzer build mode.
- FLL: Add locale environment variable support, install, and help support in fakefiles.
- FLL: Add new standard global type, "`_g`".
- Controller: Man page for controller specification changes regarding "helper" mode.
- Controller: Add example controller script for running under SystemD using cgroups.
- Controller: Add stand alone controller build.
- Controller: Controller and Control man page documentation.
- Featureless Make: Further Fakefile processing with IKI replacement space problems.
- Featureless Make: Use the signal check counter more consistently in Featureless Make.
- Featureless Make: Print message rather than an error when termination signal is received.
- Featureless Make: Allocate extra space for the terminating NULL.
- Featureless Make: Use `f_string_dynamic_append_nulless()` instead of `f_string_dynamic_append()`.
- Featureless Make: Featureless Make stand alone build now needs `f_file_stream_read` instead of `f_file_read`.
- Featureless Make: Use `f_file_stream_read()` instead of `f_file_read()` after opening as a stream.
- Featureless Make: Use pre-existing cache rather than using a new variable.
- Firewall: Add additional sanity checks.
- Multiple Programs: Change man page year and month from January 2023 to March 2023.
- Multiple Programs: Add stand alone `fss_identify`, `iki_read`, ad `iki_write` builds.
- Multiple Programs: Program man pages, adding copyright, fixing help, and adding missing period.

Check out the project on the FLL release page.

The project is built like a tool chest. Individuals who are unfamiliar with the project should have an easier time trying out the pre-packaged monolithic sources. These programs, by default, are designed to build against a library built using the monolithic source tree.

The stand alone sources for the several programs can be found pre-packaged at Sourceforge.

Kevin Day