<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Applying the scheme as proposed, I've just released
    3.3.004-4-gab8f16b7 to eap & main on ovms.dexters-web.de.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 30.03.24 um 12:59 schrieb Chris van
      der Meijden:<br>
    </div>
    <blockquote type="cite"
cite="mid:86376df9b5a2ac774d569194e10df0c0016f8751.camel@arachnon.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Thank you for your quick response. Now I understand :-)</div>
      <div><br>
      </div>
      <div>Regards</div>
      <div><br>
      </div>
      <div>Chris</div>
      <div><br>
      </div>
      <div>Am Samstag, dem 30.03.2024 um 12:11 +0100 schrieb Michael
        Balzer:</div>
      <blockquote type="cite"
style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
        <div> Chris,<br>
          <br>
          this does not affect the standard "edge" builds in any way,
          these continue to be done on the latest "master" branch state.<br>
          <br>
          The release branch is a pure backport branch. It's not
          intended to get any commits that are not part of "master"
          already. It's only purpose is to receive cherry-picks of bug
          fix commits from the master branch, and to be used as the
          build branch for eap & main.<br>
          <br>
          If you're a developer contributing some bug fix that needs to
          be included in the release branch (and trigger an eap/main
          update cycle), you can either simply request that  in your PR,
          and we will do the cherry-pick for you, or you can create a
          secondary PR for the current release branch. Note: the
          secondary PR needs to be based off the release branch, not the
          master branch -- but you'll normally be able to simply use
          your local release branch for this, as there will normally be
          no concurrent changes to that branch. Btw, gitk is a great
          assistance in cherry-picking, simply switch the branch, then
          select the pick action from the commit's context menu (that's
          "Diese Version pflücken" in the german version).<br>
          <br>
          Only if you maintain some eap/main release server, you'll need
          to switch to the release branch to build an update to the
          eap/main release. That's only necessary if new commits (fixes)
          have been pushed to the release branch, and can be automated
          easily.<br>
          <br>
          Regards,<br>
          Michael<br>
          <br>
          <br>
        </div>
        <div class="moz-cite-prefix">Am 30.03.24 um 11:39 schrieb Chris
          van der Meijden:<br>
        </div>
        <div> <br>
        </div>
        <blockquote type="cite"
cite="mid:d78deb2baa0012282a0d3a1f2bc7a11de17ece4d.camel@arachnon.de"
style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
          <div>
            <meta http-equiv="content-type"
              content="text/html; charset=UTF-8">
          </div>
          <div>Hi Michael,</div>
          <div><br>
          </div>
          <div>sorry, I have diffulties to understand the new sceme.
            Could you explain it a bit more?</div>
          <div><br>
          </div>
          <div>I try to keep my reposotitory up to date with the main
            branch and compile the newest version to have my own (test)
            version of the newest commited code running. Do I now need
            to switch to the release branch? Will all commits in the
            release branch find their way at some time to the master
            branch, or will some drop out? Is the release branch now an
            even more early eap branch?</div>
          <div><br>
          </div>
          <div>What would you suggest to do for me, as I'm interested in
            compiling the latest, commited, code for just for testing
            purposes?</div>
          <div><br>
          </div>
          <div>Thanx.</div>
          <div><br>
          </div>
          <div>Regards</div>
          <div><br>
          </div>
          <div>Chris</div>
          <div><br>
          </div>
          <div>Am Samstag, dem 30.03.2024 um 09:20 +0100 schrieb Michael
            Balzer:</div>
          <div> <br>
          </div>
          <blockquote type="cite"
style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
            <div>We need to add a few fixes to the 3.3.004 release.<br>
            </div>
            <div><br>
            </div>
            <div>I'd like to propose a new scheme to release important
              fixes to eap / <br>
            </div>
            <div>main. In the past, we set a new release tag if
              important fixes were <br>
            </div>
            <div>missing. That didn't take into account, that fixes
              could mix with new <br>
            </div>
            <div>features, that should not yet be released. That's the
              case now.<br>
            </div>
            <div><br>
            </div>
            <div>In my other projects, I create a dedicated release
              branch on every major <br>
            </div>
            <div>release, and cherry-pick important fixes from master
              into that branch.<br>
            </div>
            <div><br>
            </div>
            <div>My proposal is, that we adopt that scheme here as well,
              i.e. add a <br>
            </div>
            <div>branch "release-3.3.004" beginning at tag "3.3.004",
              pick the commits <br>
            </div>
            <div>there that need to be added to 3.3.004, and publish the
              builds of that <br>
            </div>
            <div>branch to eap/main.<br>
            </div>
            <div><br>
            </div>
            <div>The slight disadvantage is more a theoretical issue:
              our build version <br>
            </div>
            <div>numbering scheme (git describe --always --tags --dirty)
              uses the commit <br>
            </div>
            <div>distance to the last tag, so there will be a difference
              between the same <br>
            </div>
            <div>version number 3.3.004-x on the release branch vs. on
              the master branch. <br>
            </div>
            <div>But that only applies to the version number, not to the
              full version <br>
            </div>
            <div>code, as that also includes the abbreviated most recent
              commit hash at <br>
            </div>
            <div>build time.<br>
            </div>
            <div><br>
            </div>
            <div>Version numbers remain easily comparable: there will
              always be at least <br>
            </div>
            <div>the same number of commits in the release branch as in
              the master <br>
            </div>
            <div>branch, so the version number on edge is still always
              equal or higher to <br>
            </div>
            <div>eap/main.<br>
            </div>
            <div><br>
            </div>
            <div>As an example & for reviews / tests, I've created
              the branch <br>
            </div>
            <div>"release-3.3.004" as proposed, including the fixes that
              need to be <br>
            </div>
            <div>included now. The build version for this is currently <br>
            </div>
            <div>3.3.004-4-gab8f16b7, that would become the eap / main
              release now.<br>
            </div>
            <div><br>
            </div>
            <div>Any objections?<br>
            </div>
            <div><br>
            </div>
            <div>Regards,<br>
            </div>
            <div>Michael<br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>Am 25.03.24 um 02:22 schrieb Mark Webb-Johnson:<br>
            </div>
            <div> <br>
            </div>
            <blockquote type="cite"
style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
              <div>I’ve done the same. 3.3.004 is now in EAP.<br>
              </div>
              <div><br>
              </div>
              <div>A huge thanks to everyone involved in this.<br>
              </div>
              <div><br>
              </div>
              <div>Regards, Mark<br>
              </div>
              <div><br>
              </div>
              <div> <br>
              </div>
              <blockquote type="cite"
style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
                <div>On 23 Mar 2024, at 5:28 PM, Michael Balzer <<a
                    href="mailto:dexter@expeedo.de"
                    moz-do-not-send="true" class="moz-txt-link-freetext">dexter@expeedo.de</a>>
                  wrote:<br>
                </div>
                <div><br>
                </div>
                <div>Everyone,<br>
                </div>
                <div><br>
                </div>
                <div>I've just tagged version 3.3.004 and released the
                  build to EAP on ovms.dexters-web.de -- Mark, please
                  follow up. As usual, we will release this to MAIN in
                  about a week.<br>
                </div>
                <div><br>
                </div>
                <div>This release has been long overdue, it includes
                  numerous new features, new vehicles and of course lots
                  of bug fixes.<br>
                </div>
                <div><br>
                </div>
                <div>A huge thank you to everyone involved in this
                  collaborative effort!<br>
                </div>
                <div><br>
                </div>
                <div>Changes since 3.3.003:<br>
                </div>
                <div><br>
                </div>
                <div>- MG EV Added support for MG5 (2020 - 2023) Short
                  Range<br>
                </div>
                <div>- MG EV Added support for MG ZS EV (2023 - ) and
                  MG5 (2020 - 2023) Long Range<br>
                </div>
                <div>- OVMS Server v3 metrics filtering<br>
                </div>
                <div>   New configs:<br>
                </div>
                <div>     [server.v3] metrics.include         --
                  Comma-separated list of metric names (with possible
                  wildcard) matching metrics to send<br>
                </div>
                <div>     [server.v3] metrics.exclude         --
                  Comma-separated list of metric names (with possible
                  wildcard) matching metrics to not send<br>
                </div>
                <div>- Renault Zoe Phase 2: Initial support<br>
                </div>
                <div>- Improved output of bms shell command for narrow
                  windows.<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     bms volt                            -- Output
                  only voltage info if available<br>
                </div>
                <div>     bms temp                            -- Output
                  only temperature info if available<br>
                </div>
                <div>- Hyundai Ioniq 5: Initial support<br>
                </div>
                <div>- Support for specifying units in scripts<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     metrics units                       -- Display
                  available unit identifiers<br>
                </div>
                <div>     metrics get                         -- Get at
                  a particular metric value (with a specified unit)<br>
                </div>
                <div>   Extended commands:<br>
                </div>
                <div>     metrics set                         -- Support
                  setting with a specified unit<br>
                </div>
                <div>   Extend functions<br>
                </div>
                <div>     OvmsMetrics.Value                   --
                  Optionally specify a unit (and make 'decode' work) and
                  to get values with units.<br>
                </div>
                <div>     OvmsMetrics.GetValues               --
                  Optionally specify a unit to get values with units.<br>
                </div>
                <div>     OvmsMetrics.AsFloat                 --
                  Optionally specify a unit<br>
                </div>
                <div>   New DukTape function<br>
                </div>
                <div>     OvmsMetrics.HasValue                -- Returns
                  true if the metric has a valid value.<br>
                </div>
                <div>- Added power consumptions units: 
                  kWhP100K,KPkWh,MPkWh<br>
                </div>
                <div>- Consolidate custom trip power consumption metrics
                  to single value (kWhP100K)<br>
                </div>
                <div>   in Kia Niro and Kia Soul<br>
                </div>
                <div>- VFS: sorted directory listings & recursive
                  directory listings<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     vfs rls <path>                      --
                  List <path> and all subdirectory contents<br>
                </div>
                <div>- Vehicle: emit standard events on charge/generator
                  connection type changes<br>
                </div>
                <div>   New events:<br>
                </div>
                <div>     vehicle.charge.type                 -- Vehicle
                  charge connection type has changed (e.g. ccs/type2/…)<br>
                </div>
                <div>     vehicle.gen.type                    -- Vehicle
                  generator connection type has changed<br>
                </div>
                <div>- CAN logging: add possibility to log events (name)
                  and metrics (JSON object with name, value, unit)<br>
                </div>
                <div>   New configs:<br>
                </div>
                <div>     [can] log.events_filters            --
                  comma-separated list of filters (with possible
                  wildcard) matching an event name<br>
                </div>
                <div>     [can] log.metrics_filters           --
                  comma-separated list of filters (with possible
                  wildcard) matching a metric name<br>
                </div>
                <div>- Add units Bar, Permille<br>
                </div>
                <div>- Add user configuration for groups of metrics<br>
                </div>
                <div>   Adds the 'ToUser' unit that converts to the user
                  specified unit.<br>
                </div>
                <div>   Add -u to 'metrics list' to view metrics as 
                  user units.<br>
                </div>
                <div>- Add completion for metrics set/get as well as
                  units<br>
                </div>
                <div>- Mini Cooper SE: Initial support<br>
                </div>
                <div>- Hyundai Ioniq vFL: trip metrics, range
                  estimations, TPMS, web configuration,<br>
                </div>
                <div>     charge type detection, charge speed & time
                  estimation<br>
                </div>
                <div>   New configs:<br>
                </div>
                <div>     [xhi] ctp.maxpower                -- Default
                  charge power limit [kW] for charge time estimations,
                  default 0 = unlimited<br>
                </div>
                <div>     [xhi] ctp.soclimit                -- SOC level
                  [%] for secondary charge time estimation (sufficient
                  SOC), default 80<br>
                </div>
                <div>     [xhi] notify.charge.delay.ccs     -- Wait time
                  [sec] for DC charge power to ramp up before sending
                  the notification, default 15<br>
                </div>
                <div>     [xhi] notify.charge.delay.type2   -- … same
                  for AC charging, default 3<br>
                </div>
                <div>     [xhi] range.ideal                 -- ideal new
                  car range [km], default 200<br>
                </div>
                <div>     [xhi] range.user                  -- typical
                  current user range [km], default 200<br>
                </div>
                <div>     [xhi] range.smoothing             -- Number of
                  SOC samples, default 10 = ~ 5% SOC<br>
                </div>
                <div>     [xhi] tpms.pressure.warn              --
                  default 230 [kPa]<br>
                </div>
                <div>     [xhi] tpms.pressure.alert         -- default
                  220 [kPa]<br>
                </div>
                <div>     [xhi] tpms.temp.warn              -- default
                  90 [°C]<br>
                </div>
                <div>     [xhi] tpms.temp.alert             -- default
                  100 [°C]<br>
                </div>
                <div>   New metrics:<br>
                </div>
                <div>     xhi.b.range.user                  -- actual
                  current user range [km]<br>
                </div>
                <div>     xhi.e.state                       --
                  General/ignition state flags<br>
                </div>
                <div>- Module: support deep sleep schedules<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     module sleep                      -- Shutdown
                  all components and enter deep sleep for a time span or
                  until a specific time.<br>
                </div>
                <div>- Add support for user-configured metrics in the
                  web interface and plugins:<br>
                </div>
                <div>    Adds an extra 'units' stream from the websocket
                  containing sub-streams:<br>
                </div>
                <div>      - metrics (for the current user unit/label
                  for each metric) (subscribe to units/metrics)<br>
                </div>
                <div>      - prefs (for any user preferences for unit
                  groups/types) (subscribe to units/prefs)<br>
                </div>
                <div>    Adds proxy arrays metrics_user[] ,
                  metrics_label[] available to plugin pages.<br>
                </div>
                <div>    Adds various browser javascript functions and
                  methods for plugins related<br>
                </div>
                <div>      to displaying user configurations
                  Auto-converts metric display to user<br>
                </div>
                <div>      units in plugins that use attributes<br>
                </div>
                <div>- Cellular: add GPS/GNSS state control commands
                  (for power management)<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     cellular gps [status]             -- output
                  current modem GPS/GNSS subsystem status<br>
                </div>
                <div>     cellular gps start                -- start
                  modem GPS/GNSS subsystem<br>
                </div>
                <div>     cellular gps stop                 -- stop
                  modem GPS/GNSS subsystem<br>
                </div>
                <div>- CAN framework: add bus reset command<br>
                </div>
                <div>   New commands:<br>
                </div>
                <div>     can [can1…4] reset                -- reset the
                  CAN interface<br>
                </div>
                <div>- Vehicle: add support for custom command handlers,
                  see…<br>
                </div>
                <div><a
href="https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsvehicle-command-plugins"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsvehicle-command-plugins</a><br>
                </div>
                <div>- Renault Twizy: read battery energy available from
                  BMS (thanks to Martin Bitz)<br>
                </div>
                <div>   New metrics:<br>
                </div>
                <div>     xrt.b.energy.avail                -- Current
                  battery energy available [kWh] (aged)<br>
                </div>
                <div>     xrt.b.energy.full                 -- Maximum
                  battery energy capacity [kWh] (aged, needs full
                  charge)<br>
                </div>
                <div>- Add button on web file editor to reload obd2ECU
                  (when obd2ECU is enabled).<br>
                </div>
                <div>- Vehicle: add support for a geofence for valet
                  mode similar to parking/flatbed warnings.<br>
                </div>
                <div>   New Configs:<br>
                </div>
                <div>     [vehicle] valet.alarmdistance     -- How far
                  away from the original position before raising an
                  alert (in metres)<br>
                </div>
                <div>     [vehicle] valet.alarminterval      -- How
                  often the alarm can be raised in minumtes<br>
                </div>
                <div>- Add metric and events related to obd2ecu process:<br>
                </div>
                <div>   New metric:<br>
                </div>
                <div>     m.obdc2ecu.on                     -- Is the
                  OBD2ECU process currently on.<br>
                </div>
                <div>   New events:<br>
                </div>
                <div>     obd2ecu.start                     -- Called
                  after the OBD2ECU process is started.<br>
                </div>
                <div>     obd2ecu.stop                      -- Called
                  before the OBD2ECU process is stopped.<br>
                </div>
                <div>- Web UI: Add configuration for Valet and Flatbed
                  geofence to the Locations config page.<br>
                </div>
                <div>- Network: New 'network ping' command to ping
                  (ICMP) hostname or IP address. (ESP-IDFv4+ only /
                  needs to be enabled in menuconfig - Developer Options)<br>
                </div>
                <div>- Vehicle: add automatic module shutdown/reboot
                  based on 12V battery voltage level<br>
                </div>
                <div>   New configs:<br>
                </div>
                <div>     [vehicle] 12v.shutdown            -- Shutdown
                  voltage level (default: disabled)<br>
                </div>
                <div>     [vehicle] 12v.wakeup              -- Reboot
                  minimum voltage level after shutdown (default: any)<br>
                </div>
                <div>     [vehicle] 12v.wakeup_interval     -- Reboot
                  test interval in seconds (default: 60)<br>
                </div>
                <div>   New events:<br>
                </div>
                <div>     vehicle.alert.12v.shutdown        -- 12V
                  shutdown threshold reached, entering deep sleep<br>
                </div>
                <div>- BYD Atto 3 initial support<br>
                </div>
                <div>- Vehicle: add 12V shutdown delay &
                  notification<br>
                </div>
                <div>   New configs:<br>
                </div>
                <div>     [vehicle] 12v.shutdown_delay      -- Shutdown
                  delay in minutes (default: 2)<br>
                </div>
                <div>   New events:<br>
                </div>
                <div>     vehicle.alert.12v.low             -- 12V
                  shutdown voltage level detected<br>
                </div>
                <div>     vehicle.alert.12v.operational     -- 12V
                  recovered above shutdown level<br>
                </div>
                <div>   New notifications:<br>
                </div>
                <div>     [alert] batt.12v.shutdown         -- Alert
                  about imminent 12V shutdown<br>
                </div>
                <div>- VFS toolkit: add recursive options to mkdir (-p)
                  & rmdir (-r) commands<br>
                </div>
                <div>- Renault-Zoe-Ph1: add Cabin Pre-heat/cool Control<br>
                </div>
                <div><br>
                </div>
                <div><br>
                </div>
                <div>Regards,<br>
                </div>
                <div>Michael<br>
                </div>
                <div><br>
                </div>
                <div>-- <br>
                </div>
                <div>Michael Balzer * Helkenberger Weg 9 * D-58256
                  Ennepetal<br>
                </div>
                <div>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<br>
                </div>
                <div><br>
                </div>
                <div>_______________________________________________<br>
                </div>
                <div>OvmsDev mailing list<br>
                </div>
                <div><a href="mailto:OvmsDev@lists.openvehicles.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
                </div>
                <div><a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                    moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
                </div>
              </blockquote>
              <div>_______________________________________________<br>
              </div>
              <div>OvmsDev mailing list<br>
              </div>
              <div><a href="mailto:OvmsDev@lists.openvehicles.com"
                  moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
              </div>
              <div><a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                  moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>-- <br>
            </div>
            <div>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<br>
            </div>
            <div>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<br>
            </div>
            <div><br>
            </div>
            <div>_______________________________________________<br>
            </div>
            <div>OvmsDev mailing list<br>
            </div>
            <div><a href="mailto:OvmsDev@lists.openvehicles.com"
                moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
            </div>
            <div><a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div><span></span></div>
          <div> <br>
            <fieldset class="moz-mime-attachment-header"></fieldset>
          </div>
          <pre>_______________________________________________</pre>
          <pre>OvmsDev mailing list</pre>
          <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:OvmsDev@lists.openvehicles.com"
          moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
          <pre><a class="moz-txt-link-freetext"
          href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
          moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
        </blockquote>
        <div> <br>
        </div>
        <pre><div>_______________________________________________
</div></pre>
        <pre><div>OvmsDev mailing list
</div></pre>
        <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com"
        moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
</div></pre>
        <pre><div><a
        href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
        moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</div></pre>
      </blockquote>
      <div><br>
      </div>
      <div><span></span></div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>