async-esp-fs-webserver 3.0.0
This major release introduces significant architectural changes to improve flexibility and reduce dependencies.
The most notable change is the removal of ArduinoJson as a required dependency, which has been replaced with a lightweight, custom JSON handling implementation based on cJSON.
Custom JSON Handler Implementation:
- Introduced a new lightweight
AsyncFSWebServer::Jsonclass that wraps thecJSONlibrary - Provides a simplified API for JSON serialization and deserialization without external heavy libraries
- Reduced memory footprint and improved performance on resource-constrained ESP devices
- Users no longer need to include
#include <ArduinoJson.h>in their sketches
Class Organization & Restructuring
- Reorganized core library classes for better maintainability and logical separation of concerns
- Improved namespace organization within
AsyncFSWebServernamespace - Enhanced code modularity to support cleaner integrations
API Updates
- JSON operations now use the new
AsyncFSWebServer::Jsonclass instead of ArduinoJson'sJsonDocument,JsonArray, andJsonObjecttypes - Internal JSON handling methods have been updated throughout the library
- WebSocket and API response generation now utilize the custom JSON implementation
Migration Guide for Users
- Update imports to remove
#include <ArduinoJson.h>from existing code
Examples have been updated to demonstrate the new API.
Benefits:
✅ Reduced library dependencies and firmware size
✅ Faster compilation times
✅ Better compatibility with lean/minimal builds
✅ Improved ESP8266/ESP32 memory efficiency
✅ Simplified JSON handling for common use cases
Compatibility Notes:
The old ArduinoJson API is no longer supported internally, though users can still include ArduinoJson separately if needed for their own sketches.
Full Changelog: 2.0.4...3.0.0