## MySQL_MariaDB_Generic [![arduino-library-badge](https://www.ardu-badge.com/badge/MySQL_MariaDB_Generic.svg?)](https://www.ardu-badge.com/MySQL_MariaDB_Generic) [![GitHub release](https://img.shields.io/github/release/khoih-prog/MySQL_MariaDB_Generic.svg)](https://github.com/khoih-prog/MySQL_MariaDB_Generic/releases) [![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/khoih-prog/MySQL_MariaDB_Generic/blob/master/LICENSE) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](#Contributing) [![GitHub issues](https://img.shields.io/github/issues/khoih-prog/MySQL_MariaDB_Generic.svg)](http://github.com/khoih-prog/MySQL_MariaDB_Generic/issues) --- --- ## Table of Contents * [Changelog](#changelog) * [Release v1.7.2](#release-v172) * [Release v1.7.1](#release-v171) * [Release v1.7.0](#release-v170) * [Release v1.6.1](#release-v161) * [Release v1.6.0](#release-v160) * [Release v1.5.2](#release-v152) * [Release v1.5.1](#release-v151) * [Major Release v1.5.0](#major-release-v150) * [Major Release v1.4.0](#major-release-v140) * [Release v1.3.1](#release-v131) * [Release v1.3.0](#release-v130) * [Release v1.2.0](#release-v120) * [Major Release v1.1.0](#major-release-v110) * [Release v1.0.3](#release-v103) * [Release v1.0.2](#release-v102) * [Release v1.0.1](#release-v101) * [Release v1.0.0](#release-v100) --- --- ## Changelog ### Release v1.7.2 1. Fix missing paragraph in `library.properties` resulting in Arduino IDE's invalid library complaint ### Release v1.7.1 1. Use new [Ethernet_Generic library](https://github.com/khoih-prog/Ethernet_Generic) as default for W5x00. 2. Support SPI2 for ESP32 3. Add support to SPI1 for RP2040 using [arduino-pico core](https://github.com/earlephilhower/arduino-pico) 4. Use new function `waitForLink()` for Teensy 4.1 QNEthernet library v0.14.0+ 5. Rewrite all the examples to support those new features 6. Update `Packages' Patches` ### Release v1.7.0 1. Convert to `h-only` style 2. Add `multiFileProject` examples to demo for multiple-file projects ### Release v1.6.1 1. Fix memory management bugs. Check [corrupt heap at MySQL_Connection destructor #19](https://github.com/khoih-prog/MySQL_MariaDB_Generic/issues/19) and [malloc server_version result not correctly handled may lead to memory corruption #20](https://github.com/khoih-prog/MySQL_MariaDB_Generic/issues/20) 2. Add support to SAMD21/SAMD51 boards using [Fab_SAM_Arduino core](https://github.com/qbolsee/ArduinoCore-fab-sam) 3. Add support to RP2040 boards using `Seeed RP2040 core` 4. Add `Packages' Patches` for [Fab_SAM_Arduino core](https://github.com/qbolsee/ArduinoCore-fab-sam) ### Release v1.6.0 1. Fix memory leak bugs. Check [memory leak on 'server_version' #17](https://github.com/khoih-prog/MySQL_MariaDB_Generic/issues/17) and [memory leak on MySQL_Connection.MySQL_Packet.buffer #18](https://github.com/khoih-prog/MySQL_MariaDB_Generic/issues/18) 2. Optimize library code by using `reference-passing` instead of `value-passing` 3. Update RP2040 Ethernet-related examples to use the same SS/CS pin GP17 for [ArduinoCore-mbed mbed_rp2040 core](https://github.com/arduino/ArduinoCore-mbed) as [arduino-pico rp2040 core](https://github.com/earlephilhower/arduino-pico) 4. Update `Packages' Patches` ### Release v1.5.2 1. Auto detect ESP32 core version. 2. Fix bug in examples for WT32_ETH01 3. Update `Packages' Patches` ### Release v1.5.1 1. Update `platform.ini` and `library.json` to use original `khoih-prog` instead of `khoih.prog` after PIO fix 2. Update `Packages' Patches` ### Major Release v1.5.0 1. Add support to **Portenta_H7**, using either WiFi or Vision-shield Ethernet 2. Add examples with new features ### Major Release v1.4.0 1. Add support to [QNEthernet Library](https://github.com/ssilverman/QNEthernet) for Teensy 4.1 built-in Ethernet 2. Fix bug in non-blocking connection 3. Add new feature to permit using either server's hostname, such as `your_account.duckdns.org`, or server's IPAddress, such as IPAddress(192,168,2,112) 4. Update examples with new features, bug-fixes, etc. ### Release v1.3.1 1. Remove unnecessary SPI-bus code in NativeEthernet examples ### Release v1.3.0 1. Add support to **Teensy 4.1 using NativeEthernet** ### Release v1.2.0 1. Add support to WT32_ETH01 (ESP32 + LAN8720A) ### Major Release v1.1.0 1. Add support to RP2040-based boards, such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, using [**Earle Philhower's arduino-pico** v1.8.0+ core](https://github.com/earlephilhower/arduino-pico). 2. Add support to RP2040-based boards, such as **Nano_RP2040_Connect, RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, using [**Arduino-mbed RP2040** v2.1.0+ core](https://github.com/arduino/ArduinoCore-mbed). 3. Add support to new **ESP32-S2** boards (**Arduino ESP32C3_DEV**). Check [HOWTO Install esp32 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) and ESP32-C3 boards into Arduino IDE](#howto-install-esp32-core-for-esp32-s2-saola-ai-thinker-esp-12k-and-esp32-c3-boards-into-arduino-ide). 4. Verify working with new ESP8266 core v3.0.0 and new ESP32 core v1.0.6 5. Suppress all warnings possible. 6. Add Table of Contents and Version String ### Release v1.0.3 1. Add support to ENC28J60 Ethernet module/shield using new **EthernetENC** library. 2. Update Platform.ini to support PlatformIO 5.x owner-based dependency declaration. 3. Enhance examples #### Release v1.0.2 1. Fix crashing bug when Client timeout. 2. Make code more error-proof. 3. Drop support to ESP8266_AT_Webserver. 4. Enhance examples #### Release v1.0.1 1. Add support to ENC28J60 Ethernet module/shield using **UIPEthernet** library. 2. Fix bugs 3. Optimize code 4. Enhance examples 5. Add UIPEthernet Library Patches for SAMD21/SAMD51 #### Release v1.0.0 1. Add support to **nRF52** boards, such as **AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.** 2. Add support to **Adafruit SAMD51 (Itsy-Bitsy M4, Metro M4, Grand Central M4, Feather M4 Express, etc.)** 3. Add support to **Adafruit SAMD21 Itsy-Bitsy M0, Feathr M0, Metro M0, AdaFruit CIRCUITPLAYGROUND_EXPRESS, etc.)** 4. Add support to **Arduino SAMD21 (ZERO, MKR, NANO_33_IOT, etc.)** 5. Add support to all **STM32F/L/H/G/WB/MP1 (Nucleo-144 NUCLEO_F767ZI, Nucleo-64 NUCLEO_L053R8, etc.)** 6. Add support to **Seeeduino SAMD21/SAMD51 boards (SEEED_WIO_TERMINAL, SEEED_FEMTO_M0, SEEED_XIAO_M0, Wio_Lite_MG126, WIO_GPS_BOARD, SEEEDUINO_ZERO, SEEEDUINO_LORAWAN, SEEED_GROVE_UI_WIRELESS, etc.)** 7. Add support to **SAM DUE and AVR Mega** boards. 8. Add support to **ESP32/ESP8266** boards. 9. Add connectNonBlocking() function to use in loop() to avoid being blocked running other tasks. 10. Add support to WiFiNINA using [**WiFiNINA_Generic library**](https://github.com/khoih-prog/WiFiNINA_Generic) or WiFiNINA library. 11. Add support to W5x00 Ethernet module/shield using Ethernet, EthernetLarge, Ethernet2 or Ethernet3 library. 12. Add support to LAN8742A Ethernet module/shield using STM32Ethernet library. 13. Add support to ESP8266/ESP32-AT-command module/shield using [`WiFiEspAT library`](https://github.com/jandrassy/WiFiEspAT) or [`ESP8266_AT_WebServer library`](https://github.com/khoih-prog/ESP8266_AT_WebServer). 14. Add Packages' Patches. 15. Add sample Packages_Patches for **STM32F/L/H/G/WB/MP1** (Nucleo-144 NUCLEO_F767ZI, Nucleo-64 NUCLEO_L053R8) 16. Add Ethernet Library Patches 17. Add many examples