- Remove setMeshInstance method from RequestData class.
- Remove delay(50) and WiFi.disconnect() from setup() in the examples since those statements do not seem to have an effect any longer.
- Improve documentation.
- Ensure espnowDelay and floodingMeshDelay always performs maintenance.
- Rework MutexTracker to use shared_ptr.
- Change enums to enum class.
- Change typedef to using.
- Add HeapMonitor class.
- Make _messageIDs be a map instead of an unordered_map to reduce heap usage.
- Use the possibly broken wifi_country ESP8266 API to check for legal WiFi channels when setting WiFi channels.
- Make MessageData, RequestData and ResponseData contain a TimeTracker rather than inherit from TimeTracker.
- Add deprecated attribute to TransmissionResult.
- Remove superfluous elses.
- Reduce cyclomatic complexity.
- Change postfix ++ and -- to prefix.
- Generalize getEncryptedConnectionIterator method.
- Increase code NRVO compatibility.
- Change _connectionAttemptTimeoutMs type from int32_t to uint32_t.
- Add deprecated attribute to ESP8266WiFiMesh.
- Add some constness to TypeConversionFunctions.
- Move base36 arrays to PROGMEM in TypeConversionFunctions.cpp.
- Add deprecated atttribute to SHA1 and MD5 hashes.
- Remove _warningsEnabled in CryptoInterface since this has been replaced by the deprecated attribute.
- Prefix all TypeConversion getters with "get".
- Improve comments.
- Fix merge conflict.
- Replace const with constexpr where possible.
- Use default constructor instead of copy constructor for IPAddress variable initialization.
- Add MeshTypeConversionFunctions namespace around TypeConversionFunctions.
- Add MeshUtilityFunctions namespace around UtilityFunctions.
- Add ESP8266WIFIMESH_DISABLE_COMPATIBILITY preprocessor flag to retain compatibility with old code despite new namespaces.
- Add setLogEntryLifetimeMs and setBroadcastResponseTimeoutMs methods to EspnowMeshBackend.
- Move FloodingMesh constant definitions from header to .cpp file to reduce the risk of extra RAM consumption.
- Add deactivateAP method to FloodingMesh.
- Make deactivateAP static and add new non-static deactivateControlledAP method to MeshBackendBase.
- Add example of how to transfer null values using multiStrings to HelloEspnow.ino.
- Improve documentation.
- Improve comments.
- Make it possible to transfer elements directly between connectionQueues.
- Add defaultBSSID value.
- Fix bug where encrypted Espnow-connections expired 1 ms too late.
- Add MutexTracker::captureBan() functionality and use it in the espnowReceiveCallbackWrapper method to ensure a consistent mutex environment there.
- Rename acceptRequest to acceptRequests since several requests can be accepted, not just one.
- Reorganize EspnowMeshBackend.cpp.
- Split sendEspnowResponses() method into sendEspnowResponses() and sendPeerRequestConfirmations().
- Add sendStoredEspnowMessages() method to provide the same functionality as the previous version of sendEspnowResponses().
- Add logic for handling peerRequestConfirmations received at the same time as a peer request is being made, to avoid lockups when there are simultaneous cyclic peer requests.
- Add logic for handling simultaneous reciprocal peer requests.
- Include MAC addresses in HMAC calculations for peer requests and use HMAC for all unencrypted peer request messages, to make sure we receive valid MAC combinations.
- Add asserts to ensure ESP-NOW encryption integrity during code changes.
- Add estimatedMaxDuration argument to performEspnowMaintainance and related methods.
- Add methods to EncryptedConnectionData for setting peer MAC.
- Remove createEncryptionRequestMessage function from JsonTranslator since it is not used, to increase clarity.
- Add encryptedConnectionsSoftLimit() and related functionality.
- Add mutex to protect connectionQueue usage during attemptTransmission.
- Add _ongoingPeerRequestMac variable.
- Add reservedEncryptedConnections() method.
- Add TransmissionOutcomesUpdateHook() callback.
- Add constConnectionQueue() method to allow connectionQueue usage while connectionQueue mutex is active.
- Rearrange attemptAutoEncryptingTransmission argument order to increase efficiency.
- Add functionality for serializing the unencrypted ESP-NOW connection.
- Add some constness.
- Improve comments.
- Improve documentation.
- Update keywords.txt.
- Deprecate NetworkInfo and TransmissionResult classes.
- Add single recipient transmission methods.
- Add a getCurrentMessage method to TcpIpMeshBackend to maintain feature parity when using single recipient transmission methods.
- Increase code abstraction level in transmission methods.
- Remove use of networkIndex except for in constructors, since it can change after each scan.
- Make Espnow backend require at least BSSID to connect, and the TcpIp backend require at least SSID.
- Make printAPInfo method take NetworkInfo as argument.
- Add new TransmissionOutcome class to replace obsolete TransmissionResult.
- Add _scanMutex.
- Improve code abstraction in HelloEspnow.ino.
- Update HelloEspnow.ino example to demonstrate the new features.
- Update and improve comments.