+

+ The Featureless Linux Library stable version 0.6.0 is released. +

+

+ Several new programs are introduced since the 0.4.0 stable release series: +

+
    +
  • control
  • +
  • controller
  • +
  • fss_embedded_list_read
  • +
  • fss_embedded_list_write
  • +
  • fss_extended_list_write
  • +
  • fss_identify
  • +
  • fss_payload_read
  • +
  • fss_payload_write
  • +
  • iki_write
  • +
  • utf8
  • +
+

+ Most notable of these programs are the controller program and the utf8 program. +

+

+ The controller program is a re-interpretation of the Featureless Make program written in a more generalized fashion that is focused on performing a set of tasks. + This is very similar to a system initialize program such as sysvinit. + Support for running as a system initialize replacement is partially complete. + There is currently no way to send messages to the controller program to start and stop anything. + The control program, which is used to communicate to the controller program is also incomplete. + The next FLL development verrsion, the 0.7.0 series, will heavily focused on network protocols. +

+

+ The utf8 program is a handy tool to convert from UTF-8 characters to their Unicode value or vice-versa. + This can convert entire files. +

+

+ Featureless Make has some major changes. + The fake program now accepts piped data, which must be a valid fakefile. + There are new Objects available for the build settings and the fakefile. +

+

+ The default behavior of Featureless Make is now more similar to the GNU make program. + When running fake with no parameters, it will first search for a fakefile in the current directory before checking for one at data/build/fakefile. + This is analogous to how running make with no parameters will search for a Makefile in the current directory. +

+

+ One major change is the complete rewrite of the printing functionality. + The new design is heavily focused around formatted printing, similar to the printf() family of functions. + Unlike the standard printf() family of functions, the new formatted printing understands the FLL special structures such as dynamic strings. + The new formatted printing is UTF-8 aware and can handle printing raw strings, printing safe strings, and printing NULL characters. + A safe string is a string where control codes or invalid Unicode sequences are replaced with place holders. +

+

+ That standard console options have changed. + All output changing parameters have had their short parameter argument made upper case. + For example, +q is now +Q. +

+

+ A new +E/++error parameter is introduced. + This new parameter acts almost identical to +Q/++Quiet. + The difference is that error messages are still printed. +

+

+ The documentation may be found with the source code. + Much of this website has been updated to also provide most of this documentation as well. + The API is currently only available in the source code via the header files. +

+

+ A major improvement of this release is safer and more stable code. + This is thanks to a massive amount of time and effort spent into writing unit tests. + The unit tests process is performed using the Featureless Make program. + In addition to the unit tests, the static analyzer from GCC has been used to better identify and resolve problems. +

+

+ The following are changes since the 0.5.10 development release. +

+

+ Security Fixes: +

+
    +
  • FLL: Environment value has invalid read in f_environment_set().
  • +
  • FLL: Invalid read for formatted printing using partial ranges on a string.
  • +
  • FLL: Invalid reads on NULL terminated strings with a max width greater than 1.
  • +
  • FLL: Add support for +E/++error and change '+q' to '+Q'.
  • +
  • Featureless Make: Invalid read when using -s/--settings.
  • +
  • Featureless Make: Invalid read when processing not condition minimum value.
  • +
  • Featureless Make: Invalid read when processing an empty fakefile.
  • +
+

+ Features: +

+
    +
  • FLL: Add missing function f_environment_get_all().
  • +
  • FLL: Add missing signal functions f_signal_action(), f_signal_pause(), and f_signal_suspend().
  • +
  • Controller: Expose the "define" and "parameter" at the Entry and Exit level.
  • +
  • Featureless Make: Now supports a piped fakefile.
  • +
  • Featureless Make: Now supports the "write" operation.
  • +
  • Featureless Make: Now supports to the "print" operation for escape sequences just like the "write" operation has.
  • +
  • Featureless Make: Now supports the "top" parameter.
  • +
  • Featureless Make: Now supports the "current" parameter.
  • +
  • Featureless Make: Improve user experience by defaulting specified fakefile and build settings file to present working directory.
  • +
+

+ Bug Fixes: +

+
    +
  • FLL: IKI variables are incorrectly being processed when there is a non-IKI IKI-like string.
  • +
  • FLL: Single quotes are not being properly detected in FSS Extended Read functions.
  • +
  • FLL: private_f_file_open_at() has an incomplete set if ifdef conditions.
  • +
  • Byte Dump: Parameter after either the -N or -W is being processed when it should not be.
  • +
  • Controller: Incorrect information is printed on certain errors.
  • +
  • Controller: Delimits are not being applied for IKI variables.
  • +
  • Controller: "State is now ..." should not be printed when quiet is passed.
  • +
  • Controller: Guarantee that the child processes are terminated.
  • +
  • Controller: IKI substitution is incorrectly applied.
  • +
  • Featureless Make: Condition blocks are still being processed when they should be skipped.
  • +
  • Featureless Make: Empty strings improperly pass validation checks.
  • +
  • Featureless Make: IKI variable substitution results in incorrect parameter structure.
  • +
  • Featureless Make: Error verbosity is not being preserved.
  • +
  • Featureless Make: Text is being incorrectly stripped out.
  • +
  • Featureless Make: The copy operation doesn't work properly with trailing slashes.
  • +
  • Featureless Make: Copy should destination should be the base name rather than the entire path.
  • +
  • Featureless Make: Link operation is incorrect, support new link arguments, and clone, copy, and move operations failure problems.
  • +
  • Featureless Make: Block is incorrectly being reset when an else condition precedes an if condition.
  • +
+

+ Refactors: +

+
    +
  • Controller: Use "settings" instead of "setting" for better consistency between fake program and controller program.
  • +
  • Featureless Make: Rename "script" to "engine" to avoid possible confusion with the different uses of "script".
  • +
  • Featureless Make: "if defined parameter" and similar are simplified into something more like "if define" and "if parameter".
  • +
  • Featureless Make: Rename "exists" to "exist".
  • +
+

+ Updates: +

+
    +
  • FLL: Change execute error code handling to better accommodate standard GNU Bash return codes.
  • +
  • FLL: Further reduce memory allocation pressure by increasing default small allocation.
  • +
  • FLL: Restrict environment to PATH and LD_LIBRARY_PATH by default in all FLL build settings files.
  • +
  • FLL: The standard program setup should explicitly unblock all signals other than the default
  • +
  • FLL: Clarify IKI standard in regards to delimits and improve specification file.
  • +
  • FLL: Improve specification files.
  • +
  • FLL: The f_color needs to follow latest practices with private functions.
  • +
  • Controller: Change default controller settings path to './'.
  • +
  • Controller: Strip out NULL characters after applying delimits.
  • +
  • Controller: Timeout changes.
  • +
  • Featureless Make: Make environment variable handling design consistent between fake and controller programs.
  • +
  • Featureless Make: Ensure first if block is initialized to operate.
  • +
  • Featureless Make: Replace Unicode Terminate escape sequence with Non-printing escape sequence.
  • +
  • Featureless Make: Reduce number of allocations by pre-determining size when easily possible.
  • +
  • Featureless Make: Organize the validate operation into separate type functions and improve error handling logic.
  • +
  • Featureless Make: The example bzip2 now supports running the tests.
  • +
+

+ 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. +

+

+ Kevin Day +

+