<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    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 class="moz-cite-prefix">Am 30.03.24 um 11:39 schrieb Chris van
      der Meijden:<br>
    </div>
    <blockquote type="cite"
cite="mid:d78deb2baa0012282a0d3a1f2bc7a11de17ece4d.camel@arachnon.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <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>
      <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>
        <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>
          <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>
      <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>