github esp8266/Arduino 2.4.0-rc2


  • Redefine pgm_read_byte, pgm_read_word as macros to fix detection by libraries (#3140)
  • Move ASSERT() macro file text to PROGMEM (#3477)
  • Manifest for PlatformIO
  • Move debug constant strings to PROGMEM (#3478)
  • Initial support for attaching std::function to interrupts
  • Link airkiss library
  • Mask GPIO interrupts while attaching/detaching ISR handler (#3598)
  • Expand varargs correctly in printf_P (#2819)
  • Zero out memory in strncpy_P (#2633)
  • Fix erase size in ESP.eraseConfig
  • Add a workaround-delay in Serial.flush() (#3714)


  • Move MIME type table into PROGMEM to save RAM (#3475)
  • Parse parameters in the URL of a POST with empty content (#3398)
  • Digest Authentication support (#3053)


  • WiFiClient: apply write timeout to single chunk (#3273)
  • WiFiClientSecure: don’t send close alert when opening new session
  • Replace r_rand with os_random for LWIP_RAND() (#3499)
  • WiFiClientSecure: add loadCACert function (#3610)
  • WiFiClientSecure: add option to allow self-signed certificates
  • WiFiClientSecure: add support for keys and certificates in PROGMEM
  • Don't remove persistent WiFi settings when doing scan (#2946)

Upstream dependencies

  • axTLS: update to 2.1.4
    • Memory optimization: constants moved to PROGMEM, bigint cache cleared for loaded certificates
    • Fix certificate chain verification issues
  • sdk: update to v2.1.0-10-g509eae8
  • esptool: update to 0.4.12
    • Support for 8MB, 16MB flash sizes (image generation and uploading)
    • Fix for uploading on OS X with Apple FTDI driver
    • Fixes for error reporting
  • spiffs: update to 0.3.7+ (f5e26c4)
  • mkspiffs: update to 0.2.0
  • SoftwareSerial: update to 3.2.3


  • Add DigiStump Oak pins & board
  • Add Crystal Frequency menu item for generic board
  • Enable 8M and 16M flash sizes for generic board

Documentation for 2.4.0-rc2

Documentation for this pre-release is hosted on

Obtaining 2.4.0-rc2 pre-release

To install this pre-release using boards manager, follow the instructions, with the package URL replaced with the following one:
latest releases: 3.0.1, 3.0.0, 2.7.4...
pre-release3 years ago