_v2.9.0 (20260103)_ release
**[Bug Fixes]**
- Bosch: Fixed the bug where the wind speed was always set to auto. (#2237)
- Update IRsend sendHaierAC to include SEND_HAIER_AC160 (#2172)
- Gree: Fix reporting vertical swing (#2125)
- Fix `decodeYork()` parameter names & defaults. (#2121)
- Fix the Coolix fan-only mode in IRac class. (#2104)
- Fix missing quiet parameter of haier176 (#2102)
- ESP32-C3: Fix compilation error when USB CDC on Boot is enabled (#2080)
**[Features]**
- Add Fahrenheit support for the BOSCH144 protocol (#2224)
- Build: Add compatibility with C++20 (#2040)
- Add initial detailed support for Kelon168 (Kelon/Hisense) (#1949)
- Add support for the Eurom A/C protocol (#2208)
- Add Fahrenheit support for Coolix (#2214)
- ESP32: Esp32 Core version 3 support (#2144)
- auto_analyse_raw_data: Add kXxMsbFirst to easy change MSBFirst for the full protocol (#2143)
- change kAirtonMaxTemp from 25C to 31C (#2124)
- Added support for Bluestar Heavy AC (#2120)
- Add support of Toshiba Remote Control B (#2094)
- Update haier160 & HaierYRWO2 to use quiet in the common class. (#2115)
- Internationalisation: Solvakian translation (#2091)
- Daikin: Support setting temperature in 0.5 C unit (#2036)
- Quiet/Silent Mode for Electra_AC (#1990)
**[Misc]**
- Document Fischer R51L1/BGE remote support (#2231)
- CI: pin python v3.13
- CI: Attempt to fix intelhex failures
- IRMQTTServer: Fixes for ArduinoJson v7 to remove depreicated calls
- docs: updated contributing section for clarity (by Prerna Utage) (#2221)
- Fix typo in Russian language support (#2210)
- Build: Update CodeQL actions plugin to use v3 as v2 will be deprecated soon
- Build: Fix soon to be deprecated set-output command
- Build: Update build scripts to use non-deprecated actions tooling
- Fix linter issues (#2173)
- pylint fix raw_to_pronto_code.py (#2150)
- Document support for Comfee model (#2147)
- DAIKIN: ARC443A5 Remote supported note (#2138)
- library.json specifies libCompatMode strict (#2111)
- Added Electrolux EACM CL/N3 series remote to TCL protocol (#2100)
- Add AR-JW19 to supported devices (#2069)
- Remove unused constant `kRcmmExcess` (#2033)
- Panasonic AC: Document support for PV1122V remote (#2029)
- Document support for Panasonic CS-E12QKEW A/C (#2028)
## _v2.8.6 (20230727)_
**[Bug Fixes]**
- Ensure `IRCoolixAC::toCommon()` returns `kNoTempValue` when no sensor temp is detected. (#2015#2012)
- Fix compilation dependency of LG on Samsung send protocol (#2011#2010)
- Fix missing parameter in call to `IRac::gree()` (#2008#2007)
**[Features]**
- IRac: Ensure the `sleep` parameter is used for the `FUJITSU_AC` protocol. (#1992#1991)
**[Misc]**
- Allow the BlynkIRRemote.ino code to compile again. (#2016)
- do not list WHIRLPOOL_AC unconditionally as supported protocol (#2003)
- IRUtils:typeToString() — simplify (#2002)
- Fix brand Green -> Gree (#1994)
- Fix undefined `std::round` compilation error (#1989)
## _v2.8.5 (20230508)_
**[Bug Fixes]**
- Fix a bug where we never detached the timer interrupt on ESP32s. (#1984#1983)
- Missing argument in use of midea function (#1959#1958)
- IRMQTTServer: Improve HA MQTT climate handling. (#1911)
- SEND_SANYO_AC88: Fix poor cut-n-paste error (#1905#1897)
**[Features]**
- Add support for a 40bit variant of the standard Panasonic protocol (#1977 @1976)
- Initial support for York AC protocol (#1889)
- IRMQTTServer: SHT-3x Temperature Sensor Support (#1951)
- IRMQTTServer: HA multi output discovery (#1947)
- IRMQTTServer: extended with new A/C common fields (#1940)
- IRMQTTServer: Sync the on state to power from mode for HA (#1946)
- Experimental basic support for Carrier 84-bit protocol. (#1945#1943)
- Add support the WowWee 11-Bit RoboRaptor-X protocol. (#1939#1938)
- Added 'sensorTemperature' and 'iFeel' to IRac (common) (#1928)
- Added extra 'mid' option for Fan & SwingV to IRac (#1929)
- Added "commandType" to IRAc (#1921)
- Added support for Argo WREM-3 A/C remote protocol [part1] (#1920)
- Added Dutch (nl-NL) translation (#1907)
- ARGO: Improve code & add support for decoding 32bit sensor msgs. (#1906#1859)
- Added support for Gorenje cooker hood IR protocol (#1888#1887)
**[Misc]**
- Add Electrolux YKR-H/531E as a supported device (#1981#1980)
- Update `XMP` status to Stable (#1944)
- upgrade to a later version of `googletest` (#1936)
- MITSUBISHI128: Added model to supported protocol (#1924)
- Added Dutch (nl-NL) README (#1908)
- Added GMock to UT Makefile (#1902)
- Update HA example config for HA 2022.6+ (#1901#1900)
- Add a `d1_mini_noMDNS` build option to `IRMQTTServer`. (#1985)
##_v2.8.2 (20220314)_
**[Bug Fixes]**
- ESP32-C3: Fix reboot/crashes on ESP32-C3s when receiving. (#1768#1751)
**[Features]**
- HITACHI_AC296: Add `IRac` class support & tests. (#1776#1758#1757)
- Support for Hitachi RAS-70YHA3 (remote RAR-3U3) (#1758#1757)
- LG: Add Swing Toggle support for Model `LG6711A20083V` (#1771#1770)
- IRMQTTServer: add `MQTT_SERVER_AUTODETECT_ENABLE` via mqtt mDNS (#1769)
- Experimental basic support for Kelon 168 bit / 21 byte protocol. (#1747#1745#1744)
- MitsubishiAC: Tweak repeat gap timing. (#1760#1759)
- Gree YAP0F8 (Detected as Kelvinator) vertical position set support (#1756)
- Make KELON (48 bit) protocol decoding stricter. (#1746#1744)
- IRMQTTServer V1.6.1 (#1740#1739#1729)
- HITACHI_AC264: Add minimal detailed support. (#1735#1729)
- LG2: Improve Light toggle msg handling. (#1738#1737)
- MIDEA: Add support for Quiet, Clean & Freeze Protect controls. (#1734#1733)
- Add basic support for HITACHI_AC264 264bit protocol. (#1730#1729)
- ESP32-C3: Work around for some C3 specific compiler issues again. (#1732#1695)
**[Misc]**
- MIDEA: Update supported devices (#1774#1773#1716)
- Update devices supported by ELECTRA_AC (#1766#1765)
- Improve documentation for `encodePioneer()` (#1761#1749)
- Update (un)supported DAIKIN128 devices. (#1752)
- Refactor `decodeCOOLIX()` code & add another test case. (#1750#1748)
- Simplify code based on state_t being initialised by default. (#1736#1699)
- Add comments to help Teknopoint users. (#1731#1728)
- Fix library version string calculation. (#1727#1725)
- Confirm we can reproduce `TurnOnFujitsuAC.ino` via IRac/IRMQTTServer. (#1726#1701)
## _v2.8.0 (20211119)_
**[Bug Fixes]**
- Fix compilation issue when using old 8266 Arduino Frameworks. (#1639#1640)
- Fix potential security issue with `scrape_supported_devices.py` (#1616#1619)
**[Features]**
- SAMSUNG_AC
- Change `clean` setting to a toggle. (#1676#1677)
- Highest fan speed is available without Powerful setting. (#1675#1678)
- Change `beep` setting to a toggle. (#1669#1671)
- Fix Beep for AR12TXEAAWKNEU (#1668#1669)
- Add support for Horizontal Swing & Econo (#1277#1667)
- Add support for On, Off, & Sleep Timers (#1277#1662)
- Fix power control. Clean-up code & bitmaps from Checksum changes. (#1277#1648#1650)
- HAIER_AC176/HAIER_AC_YRW02
- Add support A/B unit setting (#1672)
- Add support degree Fahrenheit (#1659)
- Add support `Lock` function (#1652)
- Implement horizontal swing feature (#1641)
- Implement Quiet setting. (#1634#1635)
- Basic support for Airton Protocol (#1670#1681)
- HAIER_AC176: Add Turbo and Quiet settings (#1634)
- Gree: Add `SwingH` & `Econo` control. (#1587#1653)
- MIRAGE
- Add experimental detailed support. (#1573#1615)
- Experimental detailed support for KKG29A-C1 remote. (#1573#1660)
- ELECTRA_AC: Add support for "IFeel" & Sensor settings. (#1644#1645)
- Add Russian translation (#1649)
- Add Swedish translation (#1627)
- Reduce flash space used. (#1633)
- Strings finally in Flash! (#1493#1614#1623)
- Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol (#1630)
- Make `IRAc::opmodeToString()` output nicer for humans. (#1613)
- TCL112AC/TEKNOPOINT: Add support for `GZ055BE1` model (#1486#1602)
- Support for Arris protocol. (#1598)
- SharpAc: Allow position control of SwingV (#1590#1594)
**[Misc]**
- HAIER_AC176/HAIER_AC_YRW02
- Replace some magic numbers with constants (#1679)
- Small fix `Quiet` and `Turbo` test (#1674)
- Fix `IRHaierAC176::getTemp()` return value description (#1663)
- Security Policy creation and changes. (#1616#1617#1618#1621#1680)
- IRrecvDumpV2/3: Update PlatformIO envs for missing languages (#1661)
- IRMQTTServer
- Use the correct string for Fan mode in Home Assistant. (#1610#1657)
- Move a lot of the strings/text to flash. (#1638)
- Minor code style improvements. (#1656)
- Update Supported Devices
- HAIER_AC176 (#1673)
- LG A/C (#1651#1655)
- Symphony (#1603#1605)
- Epson (#1574#1601)
- GREE (#1587#1588)
- SharpAc (#1590#1591)
- Add extra tests for LG2 protocol (#1654)
- Fix parameter expansion in several macros.
- Move some strings to `IRtext.cpp` & `locale/default.h` (#1637)
- RHOSS: Move include and defines to their correct places (#1636)
- Make makefile only build required files when running `run-%` target (#1632)
- Update Portuguese translation (#1628)
- Add possibility to run specific test case (#1625)
- Change `googletest` library ignore (#1626)
- Re-work "Fan Only" strings & matching. (#1610)
- Address `C0209` pylint warnings. (#1608)
## _v2.7.20 (20210828)_
**[Bug Fixes]**
- Make `strToSwingH()` match "Right Max" (#1550#1551)
**[Features]**
- Experimental Bose remote support (#1579)
- Added MitsubishiAC VaneLeft (#1572#1576)
- HAIER_AC176: Add experimental detailed support (#1480#1571)
- Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503#1568)
- Add support for new `TROTEC_3550` A/C protocol (#1563#1566#1507)
- SamsungAc: Use `sendExtended()` going forward. (#1484#1562)
- SamsungAc: Redo/fix checksum calculations. (#1538#1554)
- LG: Add support for `AKB73757604` model (#1531#1545)
- Daikin176: Add support for Unit Id. (#1543#1544)
- Daikin2: Add support for Humidity setting/operation. (#1535#1540)
- TCL112AC: Add support for quiet/mute setting. (#1528#1529)
- LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513#1530)
- Add Mitsubishi AC "fan only" mode (#1527)
**[Misc]**
- Change when some github workflows run (#1583)
- Add/update supported device info (#1580#1581#1585)
- Fix pylint issues due to pylint update. (#1569#1570)
- DAIKIN216: Update supported models. (#1552#1567)
- IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513#1541)
- Reduce memory fragmentation cause by String usage. (#1493#1536)
- Refactor `decodeMitsubishiAC()` (#1523#1532)
- Fix incorrect comment.
- Migrate from Travis to GitHub Actions (#1522#1526)
- Documentation update with additional supported Panasonic AC models (#1525)
* Regenerate Doxygen documentation
* v2.7.19 release
_v2.7.19 (20210706)_
**[Bug Fixes]**
- Illegal Heap write in rawbuf when the capture has overflowed. (#1516#1517)
- PANASONIC_AC: Fix Low and High fan speeds (#1515)
- Fix MDNS in IRServer and IRMQTTServer example code (#1498#1499)
- IRac: Fix off-by-one error in Coolix's sleep setting. (#1500)
- Fix undefined constant (#1490)
**[Features]**
- Add detailed support for Kelon ACs (#1494)
- Experimental basic support for Teknopoint A/C protocol (#1486#1504)
- Daikin64: Add support for Heat mode (#1492)
- Basic support for `HAIER_AC176` 176 bit protocol. (#1480#1481)
**[Misc]**
- GREE: Update inter-message gap timing (#1508#1509)
- IRac: Change Coolix to send special messages after a normal message. (#1501#1502)
- Fix compiler warnings causing Travis failures. (#1491)
- Update supported model info (#1477#1485#1488#1489)
- Add HTML viewport meta tag to IRServer and IRMQTTServer examples (#1467#1469)
* Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices
Correct model to use for an AR-RAH1U remote is `ARREB1E`, otherwise A/C can lock up.
* Update SupportedProtocols.md
- Out of release cycle update to prevent accidental device lockups.
Fixes#1376
* Regenerate Doxygen documentation
* v2.7.11 release
_v2.7.11 (20201002)_
**[Features]**
- Transcold: Add detailed support. (#1256#1278)
- Airwell/Whirlpool: Add handling of previous state to `.toCommon()` (#1275#1276)
- IRMQTTServer: Change how MQTT packet/buffer size is set. (#1271)
- Fujitsu: Add support for timers. (#1255#1261#1262)
- Neoclima: Add Economy & Fahrenheit support (#1260#1265)
- Technibel: Cleanup and code fixes/improvements. (#1259#1266)
- Technibel: Add detailed A/C support (#1259)
- Transcold: Add basic support. (#1256#1258)
**[Misc]**
- refactor ir_Delonghi (#1285)
- Whirlpool: Change default mode in `convertMode()` (#1283#1284)
- SamsungAC: Unit tests to help debug poor signal (#1277#1280)
- Add question & note about VS1838b use to issue template. (#1281)
- rewrite ir_Corona (#1274)
- tools/mkkeywords: Fix minor parsing issue. (#1272)
- Add Zhongxian Li to Contributers.md (#1270)
- rewrite Carrier (#1269)
- rewrite ir_Argo by using bit field (#1264)
- rewrite ir_Amcor by using bit field (#1263)
- Update Fujitsu supported model info.
- Clarify the scope of the LittleFS breaking change.
## v2.7.10 release
_v2.7.10 (20200831)_
**[BREAKING CHANGES]**
- move SPIFFS to LittleFS for ESP8266 (#1182#1226)
- Daikin176: Change & increase operating mode values. (#1233#1235)
**[Bug Fixes]**
- TOSHIBA_AC: not turning off when using `IRac` class. (#1250#1251)
- Haier: change position of Fan speed bits. (#1246#1247)
**[Features]**
- Voltas: Add detailed support for Voltas A/Cs (#1238#1248)
- Add support for Metz protocol. (#1241#1242)
- Basic support for Voltas A/C protocol (#1238#1243)
- Add low level bit formatting sanity checks. (#1232)
**[Misc]**
- Rewrite Airwell by using bit fields (#1254)
- Rewrite Haier YRW02 using bit fields (#1253)
- rewrite Haier HSU07-HEA03 (#1246#1247)
- rewrite ir_Gree & ir_Midea by using bit field (#1240)
- Incorrect usage of `assert()` (#1244#1245#1232)
- rewrite Gree (#1210)
## _v2.7.8 (20200622)_
**[BREAKING CHANGES]**
- Fix Manchester code handling; Increase Airwell to `34` bits. (#1200)
**[Bug Fixes]**
- Carrier40: Use correct gap value. (#1193)
**[Features]**
- CarrierAc64: Add detailed support. (#1133)
- Add experimental support for Hitachi A/C 344 bit protocol (#1139)
- Automatic & full library code/API documentation via Doxygen (#1150#1154#1155#1156#1158#1165#1167#1169#1180#1184#1189#1191#1194#1195#1197#1198)
- Hitachi344: Add detailed support and change bit ordering. (#1147)
- Add Corona AC Protocol (#1152)
- Hitachi344: Add Swing(H) and improve Swing(V) (#1148)
- Update auto_analyse_raw_data.py with better code comment sections (#1164)
- Add support for Midea24 protocol. (#1171)
- Add basic Zepeal protocol support (#1178)
**[Misc]**
- scrape_supported_devices.py: avoid changes to SupportedProtocols.md (#1140)
- auto_analyze nice exit on empty rawdata input (#1141)
- Comments update + cleanup (#1143)
- Update D_STR_IRRECVDUMP_STARTUP text and comments. (#1144)
- Minor code cleanups (#1149)
- Update `README.md`'s to point to new API docs. (#1151)
- Update "Supports" sections (#1160)
- Add a `doxygen` check to CI/Travis. (#1161)
- scrape_supported_devices: warn about misplaced or legacy supports sections (#1159)
- Add Supports sections to some files (#1163#1166)
- Fix compile error when `DEBUG` is enabled.
- Add no-output option and return code on error to scrape_supported_devices
- Travis: Add scrape_supported_devices error check
- Update auto_analyse_raw_data.py to have a default Supports: section
- Treat compiler warnings as errors. (#1174)
- Remove `calcLGChecksum()` and use new generic `sumNibbles()` (#1175)
- Suppress more potential compiler warnings. (#1179)
- Load balance travis tasks to reduce wall clock time. (#1183)
- Set PlatformIO's default baudrate to 115200 (#1188)
- Some fixes to Doshisha protocol handler
- Minor cleanups of Corona and Zepeal
- Enable Doxygen warning when the parameters for a function/method/procedure are wrong/missing. (#1196)
* Add documentation comments for where to add new protocols using state
* Some cleanup for changes after HITACHI_AC344
** fix #endif comment
** regenerate SupportedProtocols.md
_v2.7.7 (20200519)_
**[BREAKING CHANGES]**
- Fix Symphony protocol. (#1107, #1105)
* Now 12 bits and bits are inverted. All previous codes will no longer work.
- IRMQTTServer: Better handle power & mode operations for Home Assistant. (#1099, #1092)
* When `MQTT_CLIMATE_HA_MODE` is enabled (default) this will break previous operation mode resumption when power is changed.
**[Bug Fixes]**
- Set correct return type for `.calibrate()` (#1095, #1093)
**[Features]**
- Add basic support for Carrier 40 & 64 bit protocols. (#1125, #1112, #1127)
- Gree: Enable native support for Fahrenheit (#1124, #1121)
- Gree: Add option to control display temp source. (#1120, #1118)
- Add support for Multibrackets protocol. (#1106, #1103)
- Add RawToPronto.py tool & improve `sendPronto()` precision (#1104, #1103)
- Add support for `Doshisha` LED light protocol (#1115)
- Introduce IRrecvDumpV3 with basic OTA update support (#1111)
- Add detailed support for Delonghi A/C (#1098, #1096)
- Improved support for SharpAc. (#1094, #1091)
- Update auto_analyse to use new decode call structure. (#1102, #1097)
- Added Blynk app example (#1090)
**[Misc]**
- update auto_analyse script to use new param documentation (#1126)
- Improve `raw_to_pronto_code.py` (#1122, #1103)
- Use pattern rules in Makefiles to reduce specific rule (#1110)
- Update list of supported Daikin models. (#1101)
* Add support for setting the A/C using degrees Fahrenheit.
* Add unit tests coverage for Fahrenheit.
* Clean up existing unit tests style a bit.
* Update supported devices.
X-Ref: https://github.com/arendst/Tasmota/issues/8437Fixes#1121
* [Breaking] Per #1105 it turns out this protocol is 12 bits, **and** we had the 1's and 0's around the wrong way.
- All _previous_ values will be incorrect.
* Adjust timings slightly.
* Increase default repeat to `3`, to match the spec.
* Added `matchGenericConstBitTime()` to handle constant bit time protocols correctly/better.
* Add and adjust unit tests accordingly.
FYI #1057 @soumaxetuirk
Fixes#1105
* Including detail support for:
- Power
- Mode
- Temp (C & F)
- Fan Speed
- Boost (Turbo)
- Sleep
- On/Off Timers
* Common A/C API updated
* Supports Delonghi PAC A95
* Unit tests etc.
* Basic send/decode tested on real device. Working.
* Kudos to @TheMaxxz for doing the protocol analysis/reverse engineering. Top marks!
Fixes#1096
* `sendDaikin64()`, `decodeDaikin64()`, & `IRDaikin64` class
* Add checksum support.
* Add Power Toggle, Mode, Temp, Fan speed, Swing, Turbo, Quiet, Sleep, Clock, On & Off timer control.
* Unit tests.
* Full support for common A/C api.
* Update support routines.
Fixes#1064
* Supports Hitachi PC-LH3B
* Add send & decode routines.
- Support all known state/bit sizes captured so far.
* Update ancillary support routines.
* Add synthetic and real unit test cases.
* very basic IRHitachiAc3 class added.
- Enough code to verify the checksum/integrity check for the protocol.
- Add integrity check to `decodeHitachiAc3()`
For #1060
_v2.7.3 (20200130)_
**[Features]**
- Allow protocols to be enabled or disabled with compiler flags. (#1013, #1012)
- Panasonic AC: Add Ion Filter support for DKE models. (#1025, #1024)
- Add support for sending Sony at 38Khz (#1029, #1018, #1019)
- auto_analyse_raw_data.py: Handle analysing messages with no headers. (#1017)
**[Misc]**
- Fix Coolix unit test errors when using Apple c++ compiler. (#1030, #1028)
- Fix Apple clang c++ compiler error in unit tests. (#1027, #1026)
- Improve/fix scraping of supported devices (#1022)
- Panasonic PKR series A/C uses DKE protocol. (#1020, #1021)
- Update NEC supported devices. (#1018)
- Add note to avoid GPIO16 on the ESP8266 for receiving. (#1016, #1015)
* Panasonic AC: Add Ion Filter support for DKE models.
* Add set/getIon()
* Handle model specifics as it is confirmed only on DKE.
* Add and update unit tests accordingly.
* Update Common A/C API for panasonic.
* Update supported model info
Fixes#1024
- Add new protocol: `SONY_38K` & `sendSony38()`
- SONY_38K uses 3 repeats it seems, so default to that.
- There is no way to reliably tell if an incoming message is using 40kHz
or 38kHz, so assume the SONY standard (40kHz).
- Unit tests for the above.
- Add supported model info.
Fixes#1018
* Handle `|` characters in models.
* Restore A/C protocol model scraping. Broken since v2.7.0 when enums moved to `IRsend.h`.
* Fix `MITSUBISHI112` & `TCL112AC` being detected as send-only protocols.
* Remove anomalous `typeguess` inclusion.
* Initial detailed support for LG a/c.
* Support LG2 in IRLgAc class.
* Add different model support to handle LG & LG2 protocols.
* Power, Mode, Temp, & Fan speed control.
* Common a/c support.
* Unit tests coverage.
* Update supported devices list.
* Add unit test to check raw LG2 messages work.
* Ensure the Off command is always 0x88C0051
Fixes#1008
_v2.7.0 (20191030)_
**[Bug Fixes]**
- auto_analyse: Fix > 64 bit send code generation. (#976)
- auto_analyse: Fix missing arguments in generated code for send64+ (#972)
- IRsendProntoDemo: Fix compile issue on ESP32 platform. (#938)
- IRMQTTServer: Fix compile error when `MQTT_ENABLE` is false. (#933)
**[Features]**
- Add Hitachi 424 bit A/C support. (#975, #980, #981)
- Experimental detailed support for `DAIKIN152` (#971)
- Mitsubishi 112bit A/C support (#947, #968)
- gc_decode: Adding Support for Decoding codes in raw code format (#963)
- Refactor to use common routines/macros to handle bit manipulation. (#934)
- Use centralised common strings. Saves ~1.5k of program space. (#946)
- Add Internationalisation (i18n) / Locale support. (#946, #955, #966)
- `de-CH`: Swiss German. (#949, #954)
- `de-DE`: German. (#946, #950, #952)
- `en-AU`: English/Australia (Default locale) (#946)
- `en-IE`: English/Ireland (#946)
- `en-UK`: English/United Kingdom (#946)
- `en-US`: English/United States (#946)
- `es-ES`: Spanish. (#953)
- `fr-FR`: French. (#962)
- Port CI pipeline to PlatformIO (#936)
**[Misc]**
- Add DAIKIN128 & DAIKIN152 to `decodeToState()` (#982)
- auto_analyse: Produce better code when leader is detected. (#977)
- Coolix A/C improvements (#944)
- A/C setRaw/getRaw/stateReset() cleanup. (#967)
- Add documentation on how to use & support the i18n aspects of the library.
- Make travis checks faster. (#957)
- Translate README.md to french (#959)
- Fixed Coolix kCoolixDefaultState (#941)
- Improve generation of list of pio projects. (#940)
_v2.6.6 (20190923)_
**[Bug Fixes]**
- Ensure `begin()` is called for every supported common a/c. (#905, #899)
- IRMQTTServer: Fix JSON state parsing. (#896)
- IRMQTTServer: Fix compilation error when `MQTT_CLIMATE_JSON` is `true`. (#893)
**[Features]**
- Mitsubishi136: Full A/C support. (#898, #890)
- Fujitsu: Add support for ARRY4 remote. (#895)
- Web-AC-control: Add new WebUI example sketch. (#880, #886)
- Improve Common A/C API (#913)
- IRMQTTServer: Support for multiple climates. (#903)
- IRMQTTServer: Add TX channel support for HTTP interface. (#929)
- IRMQTTServer: Add option to clear retained settings. (#917)
- auto_analyse_raw_data.py: Add decode code generation. (#909)
- auto_analyse_raw_data.py: General improvements (#906)
**[Misc]**
- IRMQTTServer: Use latest API for common A/C. (#928)
- IRMQTTServer: Add flag & documentation for Home Assistant mode. (#919)
- IRMQTTServer: Move from ArduinoJson v5 to v6. (#878)
- IRMQTTServer: Use retain for discovery message. (#881)
- Goodweather: Adjust timings & minor fixes. (#924)
- PanasonicAc: Add better SwingV support for common a/c framework. (#923)
- Daikin2: Corrections for common A/C interface. (#910)
- MitsubishiAC: Improve decoding. (#914)
- Fujitsu: Disable horiz swing for ARRY4. (#907)
- SamsungAc: Only send power on/off code if it's needed. (#884)
- Teco: Add timer support. (#883)
- More consistent A/C `::toString()` output. (#920)
_v2.6.5 (20190828)_
**[Bug Fixes]**
- IRMQTTServer: Remove duplicate MQTT_CLIMATE from HA discovery (#869)
- Fujitsu: Ensure `on()` is called in common a/c framework. (#862)
- Update `strToModel()` (#861)
- IRMQTTServer: Add missing header file. (#858)
- IRMQTTServer: Fix a compile error when HTML_PASSWORD_ENABLE is enabled. (#856)
**[Features]**
- IRrecv: Allow receive tolerance percentage to be set at run-time. (#865)
- Basic support for Daikin152 A/C protocol. (#874)
- Teco: Add light, humid, & save support. (#871)
- Detailed support for Amcor A/C protocol. (#836, #854)
- IRMQTTServer: Add ability to report Vcc at the ESP chip. (#845)
- Gree: Add timer support. (#849)
- IRac/Mitsubishi A/C: Support wide `swingh_t` mode (#844)
- IRMQTTServer: Generate protocol and bit size html selects (#838)
**[Misc]**
- New example code to show how to use the `IRac` class to control A/Cs (#839)
- Improve/fix `swingh_t::kWide` support (#846)
- Kelvinator: Optimise code a little to save space. (#843)
* Basic support for Amcor A/C protocol.
* Appears to be a simple 64 bit protocol with a manditory repeat.
* sendAmcor() & decodeAmcor().
- Protocol is NOT space encoded. It's a fixed length bit encoding.
* Update IRMQTTServer to be able to send it.
* Reverse bit order and use `state[]` instead of a uint64_t.
* Observations of temperature data have confirmed I got the bit ordering
wrong.
- Instead of just changing to LSBFirst order, use LSBF per byte. This
will make things easier later.
For #834
_v2.6.4 (20190726)_
**[Bug Fixes]**
- Fix some swing problems with the Mitsubishi HAVC protocol (#831)
- Fix parameter ordering for Gree in common a/c code. (#815)
- Fix parameters for Coolix in IRac::sendAc() (#829)
- IRMQTTServer: Fix sending >64 bit codes. (#811)
**[Features]**
- Daikin128: Full detailed support & common a/c support. (#832)
- Midea: Support native temp units of Celsius & SwingV. (#823)
- Gree: Support `YBOFB` models and bug fix. (#815)
- Pioneer: Fix sendPioneer with Pioneer specific timings (#830)
- Daikin128: Initial support for Daikin 17 Series/BRC52B63 (#828)
- Coolix: Better `toCommon()` support. (#825)
- Experimental detailed support for Daikin 176 bits (#816)
- Add setting of output options to A/C classes. (#808)
- Add invert flag support to Samsung AC (#807)
**[Misc]**
- Daikin176: making some change on Daikin176 to work with IRMQTTServer (#826)
- Reduce duplicate code to save (3K+) space. (#813)
- Daikin176: Experiment Daikin176bits with IRMQTTServer (#824)
- Update platformio.ini files for PlatformIO v4.0.0 (#812)
- Change repo URLs to new location. (#806)
- Move `htmlEscape()` to the IRutils namespace (#801)
* Add set/getModel(). e.g. YAW1F (1) [default] & YBOFB2 (2)
* Automatic detection of models only works with messages with power on.
* `set/getPower()` now changes behaviour with different models.
* Report model type in the .toString() function.
* Update common a/c routines and unit tests.
* Unit test coverage for different power/model operation.
* [BUG] Fix parameter ordering for Gree in common a/c code.
For #814
* Initial support for Daikin 17 Series/BRC52B63
* Add sendDaikin128()/decodeDaikin128() routines.
- Note: Experimental. Bit ordering may change soon.
* Unit test coverage for the code added.
* Update example code.
For #827