The Featureless Linux Library stable version 0.8.0 is released.
I'm starting the year off with the 0.8.0 stable release.
This release marks a major milestone for the FLL project.
Expect to see a lot more development in the programs and software that utilizes this stable release all year long.
This release represents approximately three years of off and on programming while simultaneously using the software in its developmental state.
The official release date is intended to be some time after the UTC (time zone 0) reaches January 1, 2026.
This is being done explicitly because the project and its source code is available to the whole world and I am trying to make all of my times based on UTC.
Following UTC to make released and represent dates and times makes more sense than using some local or regional time zone.
The most significant changes from the previous stable releases, the 0.6.x versions are:
- Many programs have been merged into a single program using a shared code base.
- The programs now follow a new signal threading and interrupt process.
- This interrupt process is extended down to all of the different level project to better allow for the use of call backs and interrupt handling.
- Several of the different level projects have been flattened down to a lower level.
- The memory allocation logic has been changed to utilize more general structures, reducing the need for as many delete and destroy functions.
- The console handling code supports additional features for disabling and enabling as well as the ability to more easily mimic common POSIX style parameters.
- More functionality is added to better facilitate writing network oriented code.
- More functionality is added for process and scheduler interaction.
- A new example project is provided to help make learning how to write programs using this project easier.
- Unicode 15.0 is now supported.
- Experimental support for using ZSH for many of the projects scripts.
- Provide new standard structure for programs data, especially with regard to printing.
- Many of the programs now follow a new structure design that separates, call backs, caches, and other data via different structures.
- Many static strings are now more centrally stored and some are in an array to better allow for different written languages to more easily replace strings where possible.
- The FSS and IKI standards and specifications now support the use of back ticks.
- The
control program has been move out of the FLL project and into its own separate project.
- The
controller program has been move out of the FLL project and into its own separate project.
- The
firewall program has been move out of the FLL project and into its own separate project.
- This has been tested to compile and run on Android (using something like Termux).
- This has been tested to compile and run on the Pinephone (using PostmarketOS).
- The Go programming language is now supported in the build settings files.
- Introduction of the Open Standard License 1.0 for the standards and the related specifications.
- Add
fll.c.tags file.
- Explicitly define
IFS in scripts to prevent misuse.
- Add a lot of status codes for various purposes and uses.
- Implement new debug printing methods in programs that prints the source code file and line number instead of just a function name.
- Switch to using newer initializer style of
{ .a = b }.
- Provide more build settings defaults, such as defaulting
build_language to c.
- A new level 0 project,
f_abstruse.
- A new level 0 project,
f_compare.
- A new level 0 project,
f_network.
- A new level 0 project,
f_parse.
- A new level 0 project,
f_process.
- A new level 0 project,
f_random.
- A new level 0 project,
f_rip.
- A new level 0 project,
f_schedule.
- A new level 0 project,
f_time.
- A new level 1 project,
fl_path (relocated from level 2).
- A new level 1 project,
fl_status_string (relocated from level 2).
A complete log of changes can be done by comparing the 0.6.0 tag to the 0.8.0 tag.
For example: git log --graph --decorate --pretty=oneline --abbrev-commit --abbrev=12 0.6.0...0.8.0.
The migration from the previous 0.6 stable release series to the 0.8 stable release series is straight forward.
Just build and install the new releases.
There may be problems when using older versions of the 0.6 Featureless Make when compiling the new 0.8 stable release.
If this happens then just use the bootstrap.sh script to build and install the FLL and the respective programs.
The stable 0.8 release sets the foundation that is needed to begin focusing on writing various programs and functionality.
There is expected to be a lot of work on existing programs like the controller program.
New programs, like furl, are expected to be developed.
Stale programs, like firewall, are expected to be updated and refreshed to work with the latest firewall networking functionality.
There is expected to be a notable amount of networking related programs and functionality to be written.
The networking functionality shall be implemented in individual programs but might eventually get merged into the 0.9 development branch.
Along with this release comes some changes to the Kevux website.
The Projects and the Documentation pages have been re-organized.
Many of the programs are moved out of the Documentation and into the Projects pages.
The top-level of the Projects pages now has only simple listing of the programs and their pages.
There may be future work in the Projects and the Documentation pages, but for now many of the new pages are sparse.
Kevin Day