This is a complete rewrite of the Fossil SOAP API, improves CMake support, and adds new file stream functions to the Fossil I/O Stream sub-library.
Key Enhancements in Fossil SOAP:
✅ Improved Long Sentence Handling – Dynamically allocated buffers prevent truncation and ensure seamless text processing.
✅ Fuzzy Matching for Typos – Levenshtein-based matching allows detection of misspelled words for better filtering.
✅ Auto Tone Detection – Recognizes formal, casual, and sarcastic tones based on context.
✅ Expanded Rot-Brain & Grammar Lookup – Includes more meme terms, grammar corrections, and abbreviations for better text sanitization.
New File Stream Functions in Fossil I/O Stream Library
The Fossil I/O Stream sub-library has been extended with new file management functions, improving stream handling and file operations:
- 🔄
fossil_fstream_freopen
– Reopen a file stream with a new file. - ✏️
fossil_fstream_rename
– Rename a file or directory. - 💾
fossil_fstream_flush
– Flush an open file stream. - 📍
fossil_fstream_setpos
– Move the file pointer to a specific position. - 🔍
fossil_fstream_getpos
– Retrieve the current file pointer position. - 🔃
fossil_fstream_rotate
– Rotate a file (e.g., for log file rotation).
These additions improve file handling flexibility, making Fossil I/O more robust for logging, file management, and streaming tasks.
Experimental CMake Support
Initial CMake support has been added, but it is currently experimental. Feedback on build issues or integration problems would be valuable for future improvements. The goal is to provide better cross-platform support and simplify integration with CMake-based projects, but testing across different environments is needed.
CMake Usage Example
To include Fossil SOAP in a CMake project, use:
# Fetch Fossil SOAP and add as a dependency
FetchContent_Declare(
fossil_io
GIT_REPOSITORY https://github.com/fossillogic/fossil-io.git
GIT_TAG v0.1.6
)
FetchContent_MakeAvailable(fossil_io)
# Link Fossil SOAP to your target
target_link_libraries(your_project PRIVATE fossil_io)
Ensure FetchContent
is available (requires CMake 3.11+).
Meson Wrap
For projects using Meson, Fossil SOAP is available as a Git Wrap package, making it easier to integrate:
Git-Wrap definition
# ======================
# Git Wrap package definition
# ======================
[wrap-git]
url = https://github.com/fossillogic/fossil-io.git
revision = v0.1.6
[provide]
fossil-io = fossil_io_dep
Using this, Meson projects can include Fossil SOAP as a dependency through:
fossil_io_dep = dependency('fossil-io')
Feedback & Testing
This update significantly enhances Fossil SOAP and Fossil I/O Stream. 🚀 Testing and feedback on the new file stream functions and CMake integration are highly encouraged to ensure stability for the next release.