Firmware 3.2.017 has been released to all users. This is a massive update with a large number of new features including:

- Added VEHICLE_POLL_TYPE_ROUTINECONTROL to UDS (ISO 14229) service identifiers list
- MG ZS EV: 
  - Moved to 2 car variants architecture: MG EV A (✔ Zombie mode | ❌ GWM authentication | ❌ Poll BCM) and MG EV B (❌ Zombie mode | ✔ GWM authentication | ✔ Poll BCM)
  - New commands:
      drl [on | off]            Turn on/off daytime running lights
      drlauth [on | off]        (Only for MG EV A) Do BCM authentication then turn on/off daytime running lights
      auth [all | gwm | bcm]    Authenticate with specified ECU
  - New metrics:
  - Modified metrics calculation:
  - Decreased poll intervals for some PIDs for better performance
  - Fixed issue where Features page shows unchecked check box but value is actually true
  - Added notifications when reaching SOC & Range Limit.
  - Display charge time to reach Full/SOC/Range limit.
  - Display CCS Charging on App.
  - Add new features page to select car's BMS firmware release to adjust SOC display.
- Zoe: add Kangoo to Renault Zoe vehicle module.
- New vehicle: Maxus eDeliver 3 via OBD-II Port (MED3)
- Maxus eDeliver3: cell volts and temps added to metrics and polling update.
- Maxus eDeliver3: Web interface page added for charging and cell metrics
- Vehicle: emit standard events on changing v.c.timermode
  New events:   -- Vehicle charge timer mode has been switched off
    vehicle.charge.timermode.on    -- Vehicle charge timer mode has been switched on
- VW e-Up/OBD: detect charge timer mode
  New metrics:
    xvu.c.limit.soc.max            -- Charge schedule maximum SOC [%]
    xvu.c.limit.soc.min            -- Charge schedule minimum SOC [%]
    xvu.c.timermode.def            -- Charge timer defined & default [bool]
- VW e-Up/OBD: optional BMS auto statistics reset between driving & charging
  New config:
    [xvu] bms.autoreset            -- yes = enable statistics reset, default no
- VW e-Up/OBD: add MFD range estimation as SOH source, add config option for SOH source
  New metrics:
    xvu.b.soh.charge               -- SOH based on charge energy sum [%]
    xvu.b.soh.range                -- SOH based on MFD range estimation [%]
  New configs:
    [xvu] bat.soh.source           -- 'charge' (default) or 'range' [string]
- VW e-Up/OBD: charge time prediction while not charging & full charge with limit
  New configs:
    [xvu] ctp.maxpower             -- in kW, 0 = unlimited except by car, used when not charging
    [xvu] ctp.soclimit             -- in %, used as informative limit w/o OBD connection
- VW e-Up/OBD: charge start notification delay configuration to accomodate current ramp-up
  New configs:
    [xvu] notify.charge.start.delay       -- in seconds, default 24
- VW e-Up/OBD: polling control for diagnostic/adaptation sessions
  New command:
    xvu polling <status|pause|continue>   -- temporarily pause OBD2 polling
- VW e-Up: added SOC monitoring log
  New configs:
    [xvu] log.socmon.storetime            -- days, 0=off
- VW e-Up: add topping off charge phase support & timer mode change notification
- VW e-Up/OBD: read ignition state from ECU, support v.e.gear & v.e.drivemode
    (v.e.gear only on 2020 model)
- New vehicle: Hyundai Ioniq vFL (HIONVFL)
- Webserver: support TLS (https, wss) using self-signed certificates
- New vehicle: Jaguar Ipace (JLRI)
- New commands:
    echo [<text>] […] -- output text
    sleep <seconds> -- pause script execution
- Scripting API: added OvmsVehicle.ObdRequest()
- Vehicle: provide momentary ideal range gain/loss speed as a metric,
    add charge speed to "stat" output, output "stat" charge ETRs in hh:mm format
  New metric:
    v.b.range.speed                -- Momentary ideal range gain/loss (charge/discharge) speed [kph]
- Vehicle: emit standard events on changing v.e.gear & v.e.drivemode
  New events:
    vehicle.drivemode.<n>          -- Vehicle drivemode has been set to profile <n> (vehicle specific)
    vehicle.gear.forward           -- Vehicle has been put in forward gear
    vehicle.gear.neutral           -- Vehicle has been put in neutral gear
    vehicle.gear.reverse           -- Vehicle has been put in reverse gear
- Scripting/Duktape: new heap memory management using fixed amount of system RAM
  New config:
    [module] duktape.heapsize    -- in KB, default 512, max 1024
  New commands:
    script meminfo               -- output heap memory status (JSON)
  New API calls:
    meminfo()                    -- return heap memory status
- TLS: removed expired DST root certificate, added new ISRG root certificate
    for Let's Encrypt

For full changelog, see:

Thanks to all the open source developers who contributed to this.