Release Overview:
This release introduces major improvements and new features, focusing on enhancing functionality, code structure, and logging capabilities across the project. It includes the integration of the liblogger
library, refactoring of connection handlers and MQTT processing, and the implementation of a simple TCP client for testing.
Key Features and Enhancements:
1. Library Addition and Logging Enhancements:
- New
liblogger
Library:- Integrated a comprehensive logging library to standardize log messages and support dynamic log level control.
- Increased
logMessage
buffer size to 1024 bytes, enabling more detailed logging.
- API Enhancements:
- Updated the Logger API to handle message sources and extended
AppConfig
to includesiteId
andpinCode
.
- Updated the Logger API to handle message sources and extended
2. New Utilities and Features:
- TCP Client Implementation:
- Added a simple TCP client for sending messages to
localhost
on port 1111, facilitating local testing.
- Added a simple TCP client for sending messages to
- Environment Handlers:
- Introduced handlers for
DOZOR_SITE_KEY
andDOZOR_SITE_ID
environment variables for better socket configuration.
- Introduced handlers for
- Command Line Options:
- Developed robust command line options processing for more flexible application configuration.
Code Refactoring:
- Simplified Socket Service:
- Migrated message handlers to
main.c
for clearer structure. - Removed unused fields from
SocketConfig
andConnectionPayload
structs and cleaned up MQTT-related code.
- Migrated message handlers to
- Modular Configuration:
- Extracted application configuration logic into a new module,
app-config.c
, for better maintainability.
- Extracted application configuration logic into a new module,
Bug Fixes and Stability Improvements:
- Memory Management:
- Fixed issues with memory leaks and stalled threads in the message handling code.
- Build Process:
- Resolved build process errors and updated Automake configurations, ensuring smoother builds.
- Improved Logging:
- Enhanced logging features, adding debug functionality and tracking incoming packet data.
Cleanup and Maintenance:
- Conducted extensive code cleanup, reorganizing project files and focusing on code maintainability and efficiency.
This release sets a strong foundation for future updates by introducing a reliable logging mechanism, simplifying the codebase, and enhancing the overall stability of the application.