# Commit summaries (start not end) from release-0.28-default.lock.xml vs release-0.26-default.lock.xml
## asyncapi-spec-obj
    ---------------------------
    Commit: 9a969e5
    ---------------------------
    ValidationError: Prevent error generator exhaustion
    
    This changeset fixes a bug which caused some ValidationError exceptions
    to be raised containing no validation errors. This happened because the
    generator of error messages being passed to the ValidationError
    constructor was being exhausted before the exception message could be
    created. This change prevents that from happening by storing a list
    of validation error messages in the ValidationError instance instead of
    the original generator object, allowing the list of messages to be
    iterated over multiple times.
    
    ---------------------------
    Commit: f451e08
    ---------------------------
    .gitignore: ignore build and reports folders
    
## cfg-mgr
    ---------------------------
    Commit: a16b400
    ---------------------------
    CSNMR-4816: Increase timeout value for entitlement checks due to increased traffic
    
    ---------------------------
    Commit: 2ba6e90
    ---------------------------
    CSNMR-4816: Add startup check to cache role entitlement
    
    * This enables async updates to the role entitlements and prevents thread blocking caused timeout errors on entitlement checks
    
    ---------------------------
    Commit: caf2f23
    ---------------------------
    CSNMR-4816: Allow license timeouts to trigger activation and expiration timeouts
    
    ---------------------------
    Commit: 66d169e
    ---------------------------
    CSNMR-4816: Remove hash check for license flag
    
    * This change makes it easier for users to add opt out flags via serial, as they do not need a specific file to trigger the flag, any file in the expected location will trigger the opt out
    
    ---------------------------
    Commit: 51b8ab3
    ---------------------------
    CSNMR-4963: Add a timestamp to all outgoing event messages
    
    All agents that rely on the BaseCfgEvent and BaseEventEmitter classes
    will now get a timestamp field in the outgoing messages. If the agent
    already includes a timestamp field in the payload's top level, then that
    will be the one that is kept in the final published message since it is
    closer to the actual event.
    
    The asyncapi base_event_msg spec  defines the timestamp as optional, so
    the transition to adding this timestamp will be seamless. Applications will
    work for older versions that don't have a timestamp, and this version will
    begin producing it.
    
    Unit tests are updated.
    
## judo-api-specs
    ---------------------------
    Commit: 8860f14
    ---------------------------
    CSNMR-5490: add first pass of API conventions docs
    
    Added a note on conventions and link to syntax conventions
    doc.
    
    ---------------------------
    Commit: a936f19
    ---------------------------
    CSNMR-5490: add first pass cfg/event API template
    
    Added first pass template-cfg-event.yml file.
    
    Using this file as a base for new APIs will help keep API
    additions in line with the syntax conventions.
    
    ---------------------------
    Commit: 7e91a20
    ---------------------------
    fixup: remove unused tag from asyncapi.yml
    
    ---------------------------
    Commit: 6d6fcab
    ---------------------------
    CSNMR-5498: fix statusCode and casing in gnss_reset messages
    
    ---------------------------
    Commit: 7018613
    ---------------------------
    CSNMR-5567: remove x-channel-name from asyncapi spec
    
    Removed x-channel-name extensions from all asyncapi definitions.
    
    This extension is deprecated and now unused.
    
    ---------------------------
    Commit: fba598f
    ---------------------------
    CSNMR-5302: Add signalBars to the wifi diagnostic spec
    
    In addition to the rssi signal strength, this adds signalBars for
    ease of displaying signal strength.
    
    The version is updated to 0.64.0.
    
    ---------------------------
    Commit: 80a7854
    ---------------------------
    CSNMR-5523: Add minLength and maxLength to ssid field of 80211 spec
    
    The 80211 radios may have a SSID field 0 to 32 octets (bytes), so
    this change helps document the allowable size.
    
    ---------------------------
    Commit: ee6df44
    ---------------------------
    CSNMR-5534: Change name of license_source to source to match spec conventions
    
    ---------------------------
    Commit: c920c83
    ---------------------------
    CSNMR-5534: Add license source field to license status update
    
    ---------------------------
    Commit: f395c2b
    ---------------------------
    CSNMR-5363: Add system time message to the asyncapi spec
    
    A diagnostic system time event is added with the path {groupId}/event/diag/sys/time.
    
    This message uses the base_event_msg properties and the timestamp comes
    for free. There are no additional properties. The message will be produced
    once per minute.
    
    The version is updated to 0.62.0.
    
    ---------------------------
    Commit: 96f7528
    ---------------------------
    CSNMR-4963: Add timestamp spec for all outgoing event messages
    
    By adding timestamp to the base_event_msg spec, all outgoing event
    messages may now have a timestamp with a defined format. It is optional
    so that the spec is compatible with older versions of the spec and
    code implementations.
    
    A corresponding change is expected to be made in the cfg-mgr base
    classes to automatically add a timestamp. Although agents can
    optionally add this timestamp to get a slightly more accurate time
    for when the event took place.
    
    The timestamp has date-time format (ISO 8601) like produced
    by the Python datetime.now().isoformat() function.
    
    ---------------------------
    Commit: 35dc80c
    ---------------------------
    CSNMR-5424: add soft_reset level to the sys cmd api
    
    Added soft_reset to the system command enum.
    
    This reset is not deleting data so was not included in the
    reset to defaults api enum. CTCT needs this to refresh the
    config agents without the overhead of a full reboot.
    
    ---------------------------
    Commit: 1625193
    ---------------------------
    CSNMR-5424: add reply event for system commands topic
    
    Added event_device_sys_cmd channel so that system commands have
    a reply mechanism.
    
    ---------------------------
    Commit: 6cd1670
    ---------------------------
    CSNMR-5427: add gnss reset API definition
    
    Added ctrl_gnss_reset and event_gnss_reset channels to
    the gnss manager APIs.
    
    These were asked for by CTCT to allow respins of the Titan
    engine when corrections sources change, and other levels of
    reset for troubleshooting.
    
    ---------------------------
    Commit: 7c08883
    ---------------------------
    CSNMR-5424: move system commands into control.yml
    
    Moved the system command api into sys/control.
    
    Any control topics in sys/sys.yml are eventually destined
    for sys/control for smaller chunks of yaml to work on.
    
    ---------------------------
    Commit: b445cbe
    ---------------------------
    Add initial CODEOWNERS file
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: c5eab46
    ---------------------------
    CSNMR-5362: Add temperature diagnostic API
    
    This temperature diagnostic API is intended to provide current
    temperatures from the /sys/devices/virtual/thermal folder.
    
    The message includes the sensor names and the temperature values in celsius
    as key-value pairs. It will be published on startup and at regular intervals.
    
## judo-auto-test
    ---------------------------
    Commit: 61d072d
    ---------------------------
    CSNMR-5622 Improve canbus tests and fix failures
    
    - Unskip test for CSNMR-5621: fix root cause of failure. A single
      shared buffer holds incoming MQTT messages; each new subscribe
      replaced it, so tests sometimes read from the previous subscribe’s
      (empty) buffer. Fix by aligning subscribe/listen usage so the
      correct buffer is used.
    - Improve canbus test flow and robustness.
    
    ---------------------------
    Commit: a4c4c31
    ---------------------------
    CSNMR-5621 Skip canbus test
    
    ---------------------------
    Commit: ec85a83
    ---------------------------
    CSNMR-5590 Remove duplicate ping tests
    
    - Multiple ping tests were imlemented in
      RF. eth_4we_1, eth_2we_1, eth_2we_2, and
      eth_bd992. Remove these tests from Slash
      as they are no longer needed there.
    
    ---------------------------
    Commit: 13445d0
    ---------------------------
    CSNMR-5585 Unskip Reboot Initiates License Refresh RF testcase
    
    - CSNMR-5534 was implemented so unskip the reboot.
      test. After the reboot completes and the License
      Process State reaches complete. There is an
      additional check to verify that the source of
      the restored license is from the cloud.
    
    ---------------------------
    Commit: 8310ed5
    ---------------------------
    CSNMR-5578 Fix can_bus.robot test
    
    - The CI fails the mp1010_mqtt_api/canbus.robot tests.
      Root cause is the enable parameter for the
      publish message is set to a RF ${True}/${False} and
      not true/false as required by in the payload. The
      fix is to set the values correctly
    
    ---------------------------
    Commit: 9fa319f
    ---------------------------
    CSNMR-5395 Add CANBus robot test
    
    CSNMR-5395 Version of canbus robot test
    
    CSNMR-5395-CANBus Robot test
    
    ---------------------------
    Commit: 19916a6
    ---------------------------
    CSNMR-5393 - Implement CAN bus configuration handling keywords
    
    - Add keywords to enable/didable can interface and
      get can interface setting using MQTT
    
    ---------------------------
    Commit: 72f9b67
    ---------------------------
    CSNMR-4816 Skip licensing test for CSNMR-5534
    
    - Skipped the licensing->Reboot Initiates License
      Refresh test due to tests inablilty to detect
      if the license was updated via cloud.
    
    ---------------------------
    Commit: 3c92cef
    ---------------------------
    CSNMR-4816 Fix test Reboot Initiates License Refresh
    
    - A bug was introduced with CSNMR-4816 updates that
      caused a race condition in the test where after
      reboot the payload used to validate the entitlements
      could be stale and cause a false result. New
      keywords where added to the library to wait for
      certain conditions are met before doing the
      validation
    
    ---------------------------
    Commit: 848d8b7
    ---------------------------
    CSNMR-4816 Add new keywords
    
    - Added 3 new keywords:
      - is_license_process_state
      - get_diag_license_process_state
      - wait_for_license_process_state
    
    ---------------------------
    Commit: 9b10ab0
    ---------------------------
    CSNMR-5515 Remove depricated keywords
    
    - Removed the depricated keywords from
      the judo_mqttlibrary
    
    ---------------------------
    Commit: 03ba649
    ---------------------------
    CSNMR-5515 Fix lint problems in RF tests
    
    - Fixed multiple lint problems in the RF
      test suites.
    
    ---------------------------
    Commit: b5097e5
    ---------------------------
    CSNMR-5493 Add Install New Licence test cases
    
    - New test case that test the ability to obtain
      licenses from the license server if no licenses
      are currently applied to the device.
    
    ---------------------------
    Commit: 4183750
    ---------------------------
    CSNMR-5493 Add Delete All Licenses keyword
    
    - Added a keyword called Delete All Licenses
      which publishes a remove_licenses topic to
      the Judo device
    
    ---------------------------
    Commit: 36b40c4
    ---------------------------
    Fixed __init__.py SystemControlLib misspelling
    
    The spelling for SystemContrlLib in __init__.py
    did not match the class name trying to import the
    library as systemcntl_lib.SystemControlLib
    
    ---------------------------
    Commit: 5587434
    ---------------------------
    CSNMR-5331 Add GNSS lease keep-alive to test cases
    
    - Added GNSS keep-alive to test cases to keep the
      GNSS lease from expiring prematurely before the
      HF GSOF check can be completed
    
    ---------------------------
    Commit: 38b2413
    ---------------------------
    Skip GNSS UHF radio test cases
    
    - Skipping the test_feed_correction_data_from_uhf_to_gnss
      tests are failing Error: AssertionError: GNSS
      receiver fix mode is not RTKFixed after 60 seconds.
      See CSNMR-4669
    
    ---------------------------
    Commit: d1bcf48
    ---------------------------
    CSNMR-5068: Remove issue from tests/test_wifi.py:test_default_wifi_configuration skip marker
    
    This changeset removes CSNMR-5068 from the list of issues causing
    this test to be skipped. Note that CSNMR-5069 has not been completed,
    so this test will not run yet.
    
    ---------------------------
    Commit: ef07358
    ---------------------------
    CSNMR-4238: Remove stray dependence on separate uut_mqtt_id fixture
    
    ---------------------------
    Commit: d0a908e
    ---------------------------
    CSNMR-4669: Remain in RTKFixed mode for non-zero time
    
    Removing the UHF correction stream from the GNSS receiver as soon as
    it reports RTKFixed position mode causes the receiver to get stuck in
    that mode even when the correction stream is removed. Having the test
    maintain the correction stream to the receiver for 20 seconds after
    it enters RTKFixed position mode fixes this behaviour.
    
    ---------------------------
    Commit: ad16040
    ---------------------------
    CSNMR-4669: Ensure UUT is not in RTKFixed mode before test
    
    If this not done, the UHF radio could be enabled before checking
    that the BD992 is not in RTKFixed mode, making the test invalid
    (as the BD992 is not switching to RTKFixed mode as a result of
    receiving valid correction data).
    
    Ensuring that the UUT is not in RTKFixed mode is more correct than
    ensuring that it is in GNSS mode, as the UUT is not guaranteed to
    return to GNSS mode when the UHF correction data stream is lost,
    depending on how it is configured and which other correction sources
    are available.
    
    ---------------------------
    Commit: 3a62040
    ---------------------------
    CSNMR-4669: Add useful error message to test_feed_correction_data_from_uhf_to_gnss
    
    ---------------------------
    Commit: 92f95f0
    ---------------------------
    CSNMR-4669: Reinstate skipped test
    
    ---------------------------
    Commit: c31e770
    ---------------------------
    CSNMR-5324: Reinstate skipped test
    
    ---------------------------
    Commit: b036731
    ---------------------------
    CSNMR-5479 Increase timeout for SUB Event Diag Sys Resource test
    
    - Fix the intermittent timeout that occurs when
      sending 'event/diag/sys/resources' toping and
      waiting for a response. The was increased from
      30s to 45s
    
    ---------------------------
    Commit: 06f9f1d
    ---------------------------
    CSNMR-5434 Refactor judmwttlibrary featurelibs for new keywords
    
    - Refactor all of the feature libs to use the new
      refactored single word keywords
    
    ---------------------------
    Commit: ec26b88
    ---------------------------
    CSNMR-5434 Refactor judomqttlibrary single word keywords
    
    - Refactored single word keywords in mqttcommand.py
      and abstract_device_lib.py to be multi-word and
      more descriptive of what the keyword actually does.
    
      The keywords affected were connect(), disconnect(),
      publish(), and subscribe().
    
      Additionally this resolves issues with linter
      warning that Robot Framework keywords are not
      to spec.
    
    - Retained origial single work keywords for backward
      compatibility and marked as depricated. Then
      from these each old keyword calls the new
      improved keyword name
    
    - Updated incorrect keyword examples
    
    ---------------------------
    Commit: 1f786bb
    ---------------------------
    CSNMR-5444 Add repeating pub gnss lease keyword
    
    - Added keywords gnss.resource file which contains
      keywords to support GNSS operations
    - Added Repeat Publish GNSS Lease keyword. This
      keyword basically allows GNSS Lease keep-alive
      by sending a gnss lease publish for some
      number times with a wait period between each
      send.
    
    ---------------------------
    Commit: aae40d2
    ---------------------------
    CSNMR-5420: Switch WCO roof 450MHz UHF base station
    
    This changeset changes the base station used for 450MHz UHF reception
    tests from 464.55MHz to 469.55MHz, as the base station on 469.55MHz
    has a more stable configuration.
    
    ---------------------------
    Commit: a84c502
    ---------------------------
    test_uhf.py: Remove test_correction_data_available_externally case
    
    This test case causes problems because its criteria are more strict
    than required for a listening GNSS receiver to maintain an RTK Fixed
    position, and it is more difficult to implement the criteria used by
    a GNSS receiver in this test than it is to simply _use_ a GNSS
    receiver to decide if the correction stream is acceptable or not.
    This sort of testing is already done by
    test_gnss.py:test_feed_correction_data_from_uhf_to_gnss, so there is
    no need for this test case to exist any more.
    
## judo-bd992-fw
    ---------------------------
    Commit: e86f0c1
    ---------------------------
    CSNMR-5600: update BD images for stella
    
    Update BD images for stella to 6.60-0.27
    Stella Checksum = 0x3EFE8B8D
    
    ---------------------------
    Commit: fc7599b
    ---------------------------
    CSNMR-5214: update BD images for stella
    
    Update BD images for stella to 6.60-0.24
    Stella Checksum = 0x179D32E4
    
## judo-cfg-agents
    ---------------------------
    Commit: b14dfc7
    ---------------------------
    CSNMR-5428: Add support for GNSS Reset
    
    GNSS supports the following GNSS reset levels:
    
    * PVT: The PVT Engine (RTK/RTX) is restarted without
      restarting tracking or rebooting the GNSS subsystem.
    * SV_DATA: Clears stored ephemeris and almanac data and
      reboots the GNSS subsystem.
    * FULL: Restores the receiver to factory state. This will
      clear Ephemeris and Almanac data, clear all logged data,
      reformat storage, restore factory settings and reboot the
      GNSS subsystem.
    
    For each of the reset levels, the following steps are taken:
    
    1. GNSS Manager Agent stops bd992-handler
    2. Perform BD reset
       a. bd992-handler reset [serial_port] [reset_level]
       b. Where reset_level is PVT, SV_DATA, or FULL
       c. Wait for reset to complete
    3.  GNSS Manager Agent starts bd992-handler
    
    ---------------------------
    Commit: 1eea9e8
    ---------------------------
    CSNMR-5564: Change firmware_ota_agent to check internet connectivity
    
    This changes the agent to only access the internet for identity
    certificates and firmware updates when there is internet connectivity.
    
    The reason for this is the cloud access functions can take a long time
    and might interfere with local firmware updates. Once internet is available,
    those cloud checks are usually fast and take a few seconds.
    
    In agent.py:
    It adds a new class to receive internet diagnostic messages
    to notify the manager when internet is available.
    
    The call to device_update_identity_cert() is removed where the environment
    is updated. Instead, the manager gets the cert when it needs to check for
    firmware so that both operations are controlled by the same logic.
    
    The class SetEnvCfgEvent is instatiated after the FirmwareOtaUpdateManager
    so that internal settings do not get overridden with defaults in the manager.
    
    In manager.py
    The function setDeviceParams is broken into two parts. It still sets the
    environment _device_params for stage or prod. But the cloud_params are
    extracted in the new _extract_base_url() after the certificate is downloaded.
    
    Finally, the check_update has two new additions. 1. It tests if the
    _internet_connected flag is set. If not it schedules another try for later.
    2. It downloads the identity certificate if it is the first try or if the
    environment has changed. If that download fails, it schedules another try.
    
    ---------------------------
    Commit: cee59f6
    ---------------------------
    CSNMR-5564: Fix local firmware update to not check for certificates
    
    This is the main fix for the local updates that were timing out
    because the call to update_env() was taking a long time. Now it
    does not check for a certificate when stop_cloud_update and
    install_update commands are sent.
    
    ---------------------------
    Commit: 837fdda
    ---------------------------
    CSNMR-5564: Check for firmware update after broker connection
    
    This change moves the initial firmware check to after the agent
    is connected to zenoh to enable it to check internet status. It
    also has the benefit of making the initial startup faster.
    
    ---------------------------
    Commit: a9b04bd
    ---------------------------
    CSNMR-5426: Add soft_reset to system_control_agent
    
    Add soft reset to system_control_agent using systemd stop and start
    commands from a soft_reset.sh script.  system_control_agent
    sends the SUCCESS_COMMAND_EXECUTED event notification on accepted soft_reset
    command start.
    
    ---------------------------
    Commit: 6a8c581
    ---------------------------
    CSNMR-5214: Add support for Stella firmware update
    
    Check for Stella or BD992 to determine static GNSS
    configuration file.  Generate GNSS configuration adjusting
    the Stella firmware image and firmware checksum on a unit
    with Stella.
    
    Add GNSS Mgr check for cfg change.
    
    To avoid unnecessary GNSS restarts, GNSS configuration
    does the following:
    
    1. Update and merge GNSS configurations
    2. get current GNSS configuration
    3. compare merged and current configuration
    4. restart GNSS handlers if configuration has changed.
    
    ---------------------------
    Commit: 77ab641
    ---------------------------
    CSNMR-5572: add MP1087 model support to system properties
    
    Added a duplication of the MP1086 component sets for MP1087.
    
    MP1087 hardware is essentially the same as MP1086, we just need
    to accept both models. Potential refactor of variant and suffix
    is a later question for Sumo development.
    
    ---------------------------
    Commit: dd1c520
    ---------------------------
    CSNMR-4051: Add 80211/Wifi/Halow diagnostics info implementation
    
    Diagnostic code is implemented in the ieee80211_agent to
    produce the event_diag_80211_info message. The reason it is
    in the agent and not in the diags_agent is to keep this code
    close to the agent it monitors. The diagnostic class could
    be moved to the diags agent easily if needed.
    
    Messages are published for wifi and halow radios. At the
    moment, the halow message is mostly blank unless the halow
    radio gets turned on with "sudo modprobe nrc".
    
    This diagnostic code does a lot of command line queries
    to gather information with parsing steps.
    
    The unit tests cover all the conditionals so there are a
    lot of tests.
    
    ---------------------------
    Commit: c4357b0
    ---------------------------
    CSNMR-5462: extend cell service stops in MFG API
    
    Added a restart of the ModemManager service just after the
    MFG API modem AT command handler takes down a bunch of cell
    services. Added celldiags_agent and NetworkManager to the
    stop list.
    
    In the last OS release to the CM the first issued modem AT command
    was failing 40 % of the time. Stopping celldiags and Network manager
    reduced the occurences. Restarting ModemManager after killing
    cell services fully resolved the issue. Serial port conflicts and
    half finishing ModemManager interactions were likely the cause.
    
    ---------------------------
    Commit: ec6e9cd
    ---------------------------
    CSNMR-5002: Add Logging to GNSS Mgr
    
    Add GNSS Logging support to GNSS Manager Agent to control
    BD Logging with "schedule" support of Disabled, Always, and Continuous.
    
    Add runtime generation of GNSS configuration files.  The generated GNSS
    configuration file (.toml) will be located in '/cfg/sysconfig'.  The
    generated configuration is a merge of the static base GNSS configuration
    files in '/etc/gnss' and the GNSS logging runtime configuration parameters
    The static GNSS base files are selected as before from the GNSS machine
    type cfg and GNSS lease cfg.  The GNSS runtime cfg is generated from the
    GNSS logging cfg.  The  runtime configuration "wins" over the static
    GNSS cfg files if there are any commen keys.
    
    ---------------------------
    Commit: af5bc45
    ---------------------------
    CSNMR-5534: Add tracked source of refresh request to license process state message
    
    ---------------------------
    Commit: 969efb1
    ---------------------------
    CSNMR-4816: Check access token on connect before confirming remote connection
    
    ---------------------------
    Commit: 9401cae
    ---------------------------
    CSNMR-4816: Fix UHF agent licensing issue
    
    * UHF agent was not checking license validation on startup, which caused the check to not be properly cached
    	* This caused subsequent misses checking UHF entitlement status
    
    ---------------------------
    Commit: b88e219
    ---------------------------
    CSNMR-4816: Increase the license forced refresh period for internal testing purposes
    
    ---------------------------
    Commit: 5f1fd74
    ---------------------------
    CSNMR-4816: Enable stage env by default for licensing
    
    * This is a temporary change to make the early phase of testing easier until the prod lms env is ready for use
    * This removes the requirement that users manually set the environment
    
    ---------------------------
    Commit: 5e5feff
    ---------------------------
    CSNMR-5478: Remove required id field from license xml schema
    
    ---------------------------
    Commit: ef63e7d
    ---------------------------
    CSNMR-5363: Add system time message emitter to the diags_agent
    
    This change produces the asyncapi message for event_diag_sys_time.
    
    It is a simple message with just a timestamp field and deviceId.
    The code publishes an empty dict and the base class adds the
    required fields.
    
    A unit test is included.
    
    ---------------------------
    Commit: a4d141a
    ---------------------------
    CSNMR-4963: Update unit tests to handle the new timestamp field
    
    Cfg-mgr now adds a timestamp field to all messages published with
    the BaseEventEmitter and BaseCfgEvent classes. The unit tests
    failed when comparing expected output with actual output payloads.
    
    This change is to fix the unit tests to drop the timestamp before
    doing the comparisons.
    
    ---------------------------
    Commit: fb0cbb4
    ---------------------------
    CSNMR-4963: Update reference to cfg-mgr
    
    The cfg-mgr libraries are updated and this changes pyproject.toml to
    reference the updated hash.
    
    The cfg-mgr base BaseEventEmitter class now adds a timestamp to outgoing
    event messages.
    
    ---------------------------
    Commit: caf9ffb
    ---------------------------
    CSNMR-5407: Fix the snapshot tar to keep going on errors
    
    A case was found where the tar.add function could not open a listed
    file and cancelled the snapshot. Since we want to get the snapshot
    even if a file could not be read, it now continues after logging
    a warning with an error message.
    
    Unit tests are updated to test the new exception handler. Some
    redundant unit tests are removed.
    
    ---------------------------
    Commit: 1318ee2
    ---------------------------
    CSNMR-5362: Add temperature reporting to the diags_agent
    
    This implements the api message for event_diag_temperatures by
    adding temperatures.py to the diags_agent. It reads the temperatures
    from /sys/devices/vertual/thermal/thermal_zone* folders. It
    publishes the message every 5 minutes or whenever a change greater
    than 2 deg C is detected at the regular check interval of 30 sec.
    
    The file diags_agent/agent.py is updated to import the new
    class and run it.
    
    Unit tests are added.
    
## judo-design-docs
    ---------------------------
    Commit: b4b328d
    ---------------------------
    CSNMR-5428: Update GNSS Manager Docs for GNSS Reset
    
    Update GNSS Manager design documentation for GNSS Reset.
    
    ---------------------------
    Commit: 5b71ecd
    ---------------------------
    CSNMR-5214 Update GNSS Design Documentation
    
    Updated the GNSS Manager design documentation to support
    dynamic runtime parameter changes. The system now generates
    a unified configuration by merging static base files,
    runtime-generated logging settings, and optional manual
    overrides using a "last-one-wins" priority hierarchy for
    matching keys.
    
## judo-radio-utils
    ---------------------------
    Commit: e9f54c3
    ---------------------------
    CSNMR-5628: Remove functional test start and stop scripts
    
    The setup and teardown actions performed by these scripts are now
    performed by the MQTT test console.
    
    ---------------------------
    Commit: 3046c99
    ---------------------------
    CSNMR-5628: Add Phoenix functional test service
    
    This changeset adds a service which runs the Phoenix handler, receiving
    data on the frequency used in the functional test and publishing that
    data on the port used for observable data output, so that the data
    can pass through the firewall and be received by the test
    monitor/controller.
    
    ---------------------------
    Commit: 703f44e
    ---------------------------
    CSNMR-5628: run-phoenix-suhf.py: Allow configuring output address
    
    The firewall allows outgoing traffic on port 12101 for observables data
    from the UHF radio. This changeset allows the output address to be
    configured for this port so that observable data can be received by the
    functional test controller, while retaining the default behaviour of
    sending observable data on 0.0.0.0:1234.
    
    ---------------------------
    Commit: d43e789
    ---------------------------
    CSNMR-5628: Add send-observables systemd service
    
    Making send-observables a systemd service avoids the complexity
    of managing the process directly in tests.
    
    ---------------------------
    Commit: afc66c6
    ---------------------------
    SUMO-553: Add read-5v-psu-amps.py and run-phoenix-suhf.py helpers
    
    With some minor modifications, these scripts have been copied from
    the attachments to SUMO-553.
    
    ---------------------------
    Commit: a8fcdd0
    ---------------------------
    CSNMR-5538: Fix HaLow subnet
    
    The default HaLow subnet is 192.168.44.0/24, not 192.168.200.0/24.
    
    ---------------------------
    Commit: 4a096b7
    ---------------------------
    CSNMR-5538: Remove HaLow AP/STA setup scripts
    
    Setting up the HaLow AP and STA can now be done using the MQTT API.
    
    ---------------------------
    Commit: 460c5cb
    ---------------------------
    CSNMR-4649 Functional Test Updates for Swift
    
    Modify halow-test-us-*-open.sh to add arguments for not running wpa_supplicant
    or hostapd.
    
    Create a systemd service file for managing these services.
    
## judo-rest-api
    ---------------------------
    Commit: 645a0b6
    ---------------------------
    CSNMR-5448: Add file patch REST service
    
    This new patch service runs as a separate process from the Judo-rest-api.
    The reason is so it can be started and stopped on its own. Later,
    a license check may be done to enable the service.
    
    The new patch service takes a file and attempts to uncompress it. It returns
    error messages and logs activity to a file in /cfg/patch/mp_patch_history.log.
    
    Unit tests are added for basic functionality.
    
## judo-security
    ---------------------------
    Commit: 4488171
    ---------------------------
    Replace jabil references with mfg and/or manufacturing
    
## judo-web-ui
    ---------------------------
    Commit: 378e08f
    ---------------------------
    Hide the API Debug section with a toggle button on the v0 page
    
    The Judo API Debug section is now hidden because it is rarely used.
    It can be shown with a toggle button. It is still useful for testing
    communication with the back end.
    
    ---------------------------
    Commit: a3eb190
    ---------------------------
    CSNMR-5448: Add a File Patch Service section to the v0 web UI
    
    A new section is added to the v0 web UI to allow a patch zip file
    to be sent to the device. It shows a panel with patch log file
    contents.
    
    A test folder is created with a simple test zip file that can be
    used to test the service.
    
    ---------------------------
    Commit: c9af362
    ---------------------------
    CSNMR-5002: Add v0 web UI dialog for gnss logging configuration
    
    The v0 web page has index.html and judo.js updated and gnss_log.js added
    to include a form for gnss logging configuration. It sends a message to
    the Judo that will be picked up the the gnss_manager agent. The agent
    will pass the information to the bd922-handler to configure the BD GNSS
    receiver logging settings.
    
## manifest-judo
    ---------------------------
    Commit: 026dc59
    ---------------------------
    CSNMR-5428: Freeze manifest for release 0.28
    
    This changeset freeze the manifest using the layer hashes from
    https://bamboo.trimble.tools/browse/CC-JUDO899-2/artifact
    
    ---------------------------
    Commit: 22e57f3
    ---------------------------
    CSNMR-5483: Setup for release 0.28
    
    ---------------------------
    Commit: d34f237
    ---------------------------
    SUMO-552 commit message summaries for builds
    
    All of these scripts are designed for stand-alone use. They are **not** part
    of the build process (at least not yet).
    
    All of these scripts scrape the git history of all the Judo repositories, to
    list commits used for a build. The repositories must already checked out or
    updated (using the Android repo tool).
    
    - buildinfo_summaries.py uses the `/etc/os-release` and `etc/buildinfo` from
      an live Judo/Timo/Sumo, to get the messages. This script will grab the
      necessary files from the DUT, via ssh.
    - xml_lock_summaries.py uses a default.lock.xml from the Bamboo artifacts,
      to get the messages. The default.lock.xml must be manually downloaded.
    - xml_lock_summary_diff.py uses two default.lock.xml from the Bamboo artifacts,
      to get the messages for all commits called out by hashes in the two
      default.lock.xml files. The default.lock.xml files must be manually
      downloaded.
    - scripts/bamboo_fw_download.py: download Bamboo firmware artifacts
      (.raucb, optional .wic.xz) via REST API and PAT; supports multiple
      plan keys (Judo-HS-Prod, RPi, Sumo), label expansion from HTML browse
      pages, pre-signed S3 URLs, --force, -v/--verbose.
    - scripts/*.md: requirements for the script (purpose,
      inputs, core behavior, CLI, constants, dependencies, etc).
    
    Note: All the scripts in this commit were created with AI, which is why the
    scripts/*.md files have been included, even though they are not directly used.
    
    ---------------------------
    Commit: b4b9ea3
    ---------------------------
    CSNMR-5203: Propagate build errors up to bamboo
    
    We are not properly propagating yocto build errors up to bamboo from the
    docker containers. As such, bamboo always thinks the build succeeded and
    then tried to run the regression tests when it should not and the tests
    fail. This is confussing since it looks like the tests failed, when that
    is not actually where the failure was.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 12b5296
    ---------------------------
    CSNMR-5413: OS snapshot capture after test jobs
    
    Add pull-dut-os-snapshot.py to capture the DUT OS snapshot via MQTT
    after each test run. The script subscribes to system_properties for the
    device ID, triggers a snapshot, waits for completion, and downloads the
    resulting archive to the Bamboo workspace.
    
    Each test wrapper (firmware, radio/GNSS, cell) now calls the snapshot
    script inside the TEST_CORE_IMAGE block. The snapshot exit code is
    ignored; a required Bamboo artifact enforces that the snapshot was
    produced, failing the job at artifact collection if missing.
    
    Signed-off-by: Brady Hill <brady_hill@trimble.com>
    
    ---------------------------
    Commit: 7625499
    ---------------------------
    scripts: Remove judo-build hash server from configuration
    
    The hash server on the judo-build server no longer exists, and
    attempting to contact it generates warning messages in the build log.
    This change fixes the following warnings in the build output (and
    other similar warnings in specific recipes):
    
    	WARNING: Error contacting Hash Equivalence Server judo-build.ap.trimblecorp.net:8686: [Errno -2] Name or service not known
    
    ---------------------------
    Commit: 2d54883
    ---------------------------
    New kernel lock on builds to help with ec2 scaling
    
    Signed-off-by: Brady Hill <brady_hill@trimble.com>
    
    ---------------------------
    Commit: 4d1783c
    ---------------------------
    SUMO-483: Update notes on enabling compliance feature
    
    ---------------------------
    Commit: 0a7c2fc
    ---------------------------
    BEDROCK-194 yocto mirrors used in manifest-judo
    
    Signed-off-by: Brady Hill <brady_hill@trimble.com>
    
    ---------------------------
    Commit: 5fe14e4
    ---------------------------
    Remove sumo logic from bamboo-build
    
    There was previous logic that pinned sumo to only build a
    couple images instead of what was passed into the script
    arguments. That logic has been removed and it will build
    anything passed in as an argument
    
    Signed-off-by: Brady Hill <brady_hill@trimble.com>
    
    ---------------------------
    Commit: cefa5d6
    ---------------------------
    CI: bugfix: artifact Sumo full bundles
    
    ---------------------------
    Commit: 9a2ad42
    ---------------------------
    Switch to github mirrors for upstream
    
    The Yocto project repositories are running extremely slowly which
    is causing numerous build failures.
    To be reverted if/when the Yocto upstream issues are resolved.
    
    ---------------------------
    Commit: 39b46dc
    ---------------------------
    SUMO-539: CI: Artifact OPTEE TA public signing key
    
## meta-bedrock
    ---------------------------
    Commit: dee7577
    ---------------------------
    BEDROCK-191: certmgmt: Update recipe to support 0.0.8 and 0.1.2
    
    Between 0.0.8 and 0.1.1 of device-id-cert-tools, there was a major
    refactoring of the code base to add support for IAM as the future of
    profiles and bootstrap.
    
    Instead of just updating the recipe from 0.0.8 to 0.1.2, we need to
    continue to support the 0.0.8 code base as Judo should not consume
    the refactored code since it has not been tested on devices yet. We
    need to integrate the new code base into bedrock first to facilitate
    testing on RPI devices.
    
    For now, the default behavior will see builds getting the 0.0.8 code base
    unless the following is set in `local.conf` or `user.conf`:
    
        PREFERRED_VERSION_device-id-cert-tools = "0.1.2%"
    
    This will force using the `device-id-cert-tools_git.bb` version of the
    recipe.  We will be doing that for bedrock builds so that we can test
    the new code base on real devices.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 435e3fb
    ---------------------------
    BEDROCK-191: certmgmt: Fix adding hsm-init-yubikey.py
    
    When setting the FILES variable for the device package, need to append
    instead of assign in the .bbappend so as not to clobber the value set in
    the main recipe. This was causing the files defined in the main recipe
    to not be included in the device sub-package.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 77281fb
    ---------------------------
    BEDROCK-183: Force setting adminuser password on first login
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: dc50134
    ---------------------------
    BEDROCK-183: openssh: Remove debug-tweaks
    
    Upstream has removed `debug-tweaks` as allowed value of
    `IMAGE_FEATURES`.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 7843d41
    ---------------------------
    packagegroup-bedrock-core: Remove openssl-ossl-module-legacy
    
    Upstream has disabled legacy-openssl by default, so the need to pull in
    the openssl-ossl-module-legacy-module for the python3-cryptography
    package is no longer needed.
    
    The upstream changes were breaking the bedrock builds.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: d25d879
    ---------------------------
    Add systemd-analyze to os images
    
    This enables the ability to analyze the boot sequence and timing on a
    device.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: f3a0aa0
    ---------------------------
    BEDROCK-195: hostapd: Fix to avoid invalid long SSIDs
    
    The hostapd daemon will fail to start if the SSID is set to a value
    longer than 32 characters. Example failure:
    
      Feb 11 13:47:30 bedrock-f60d58706fb34fc3-x1 hostapd[635]: Line 1: invalid SSID 'bedrock-f60d58706fb34fc3-x1-7c7749'
      Feb 11 13:47:30 bedrock-f60d58706fb34fc3-x1 hostapd[635]: 1 errors found in configuration file '/tmp/hostapd.conf'
    
    If the SSID is too long, it will be truncated to 32 characters.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 4ce9cb2
    ---------------------------
    crun: Fix QA error which is breaking the builds
    
    Quells the following QA error:
    
      ERROR: crun-v1.24.0+git-r0 do_package_qa: QA Issue: crun: recipe doesn't
      inherit features_check [unhandled-features-check]
    
    This needs to be submitted to upstream meta-virtualization.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 24fb9e3
    ---------------------------
    BEDROCK-190: Use nginx instead of lighttpd
    
    The nginx http server supports openssl engines and providers for pkcs#11
    storage/access of privates keys for https.
    
    This also introduces a basic bedrock-web-ui package to install static
    web pages for the server to host. The web ui package uses a virtual
    webserver config dependency to decouple it from a specific web server,
    so in theory, end users can select which web server to use via setting
    `PREFERRED_RPROVIDER_virtual-webserver-config`.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
## meta-judo
    ---------------------------
    Commit: 559b07b
    ---------------------------
    CSNMR-5483: Set version number for release 0.28
    
    ---------------------------
    Commit: 41dab7e
    ---------------------------
    CSNMR-4696: recovery: Fix DHCP server race on boot
    
    When booting into recovery mode, there is a race condition with starting
    the dhcp server and the mounting of the `/var/lib` path. The `/var/lib`
    must be read-write before the DHCP server can be started.
    
    There are multiple services that rely on `/var/lib` being read/write, so
    improving the startup service dependencies allows the system to boot up
    into recovery and provide DHCP services to connected devices.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: 34694d1
    ---------------------------
    CSNMR-5600: Add GNSS stella firmware update
    
    Update stella firmware GNSS override configuration to 6.60-0.27
    
    ---------------------------
    Commit: 7c99eca
    ---------------------------
    CSNMR-5538: Add halow-uhf-rf-path-ctl utility to Sumo image
    
    The halow-uhf-rf-path-ctl utility configures the RF path shared by the
    HaLow and UHF radios on Sumo hardware.
    
    ---------------------------
    Commit: d266da2
    ---------------------------
    CSNMR-5538: Enable load-nrc service on boot
    
    Running the load-nrc service to load the HaLow driver on boot seems
    to produce reliable results, and is simpler than running the service
    manually.
    
    ---------------------------
    Commit: 98fe292
    ---------------------------
    CSNMR-5588: Update the Judo web UI to version 0.24.10
    
    The recipes are renamed with the new version and the Artifactory
    checksums are changed to match the new files.
    
    ---------------------------
    Commit: f8eab82
    ---------------------------
    Fix judo-web-ui.conf to not cache v0 pages
    
    There can be times when the v0 web UI displays cached versions of files.
    This change adds the necessary header to v0 responses to avoid caching.
    
    It may still be necessary to hit Ctrl-F5 to do a hard reload if an older
    version was installed that did not have this caching fix.
    
    ---------------------------
    Commit: 150049c
    ---------------------------
    CSNMR-5214: Add GNSS auto stella firmware update
    
    Add GNSS automatic firmware update for stella.  If unit has a stella, then
    the GNSS Manager will read a stella configuration override file to
    generate a GNSS configuration with the stella firmware image file and
    firmware checksum.  If there is a stella firmware checksum mismatch,
    the bd992-handler will automatically update the stella firmware.
    
    ---------------------------
    Commit: 6b5b9a9
    ---------------------------
    CSNMR-5567: update SRCREV judo-api-specs
    
    ---------------------------
    Commit: e4af1da
    ---------------------------
    CSNMR-5302: Update SRCREV for judo-api-specs
    
    ---------------------------
    Commit: b195607
    ---------------------------
    CSNMR-5448: Add Judo Patch Service files and update SRCREV
    
    This change brings in a service file named judo-patch.service to start
    the judo-patch service. Even though it is part of the judo-rest-api,
    the patch service runs independently because later there may be a license
    check before the service will start.
    
    The patch service allows .tar.gz patch files to be installed on the device.
    
    The judo-web-ui.conf file modifies lighttpd to send the api call to the
    patch service instead of the standard judo-rest-api. It also provides
    an alias for the mp_patch_history.log file so that the web UI can load
    the log file.
    
    The judo-web-ui and pythong-judo-rest-api SRCREV is updated to get the
    corresponding change for the v0 web UI.
    
    ---------------------------
    Commit: 05328a1
    ---------------------------
    CSNMR-5514: Update Judo web UI to version 0.24.7
    
    The recipes for the web UI and the recovery web UI are renamed with the
    new version and the Artifictory check sums are updated.
    
    ---------------------------
    Commit: 85bb68d
    ---------------------------
    BEDROCK-191: device-id-cert-tools: Set preferred version
    
    Judo should not yet use the latest version of device-id-cert-tools
    (`0.1.2+git`), so we need to explicitly select the older version.
    
    Before we switch to the latest version (which we need for IAM support),
    more testing of it is needed.
    
    Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>
    
    ---------------------------
    Commit: b1788c7
    ---------------------------
    CSNMR-5523: Update SRCREV for judo-api-specs
    
    ---------------------------
    Commit: 202d645
    ---------------------------
    CSNMR-5002 Move judo-web-ui SRCREV to an include file
    
    Both judo-web-ui and judo-web-ui-recovery rely on the same SRCREV,
    so it is now moved to an include file so that it is updated once.
    
    The judo-api-specs SRCREV is also updated.
    
    ---------------------------
    Commit: c191789
    ---------------------------
    CSNMR-5534: Update SRCREV
    
    ---------------------------
    Commit: 1b13fa3
    ---------------------------
    CSNMR-5534: Update SRCREV
    
    ---------------------------
    Commit: 71f969b
    ---------------------------
    Bugfix: Use correct nrc7394 halow module FW file
    
    The `nrc7394` module fails to initialise with the default FW file,
    so install/deploy `nrc7394_cspi_eeprom.bin` and update the driver
    to load that file by default.
    
    ---------------------------
    Commit: 5ae3694
    ---------------------------
    CSNMR-4649: Add openssh-misc package to CI image
    
    This package provides the ssh-agent and ssh-add utilities which allow
    setting up SSH connections to the UUT and secondary unit for tests
    which are not yet supported by the MQTT API.
    
    ---------------------------
    Commit: bbf9402
    ---------------------------
    CSNMR-4649: Add Sumo test setup RPi to hostname lookup
    
    ---------------------------
    Commit: 9474a6b
    ---------------------------
    Bugfix: Store container data in /data partition
    
    Was previously trying to store in the user home, but that only
    worked for non-root users as the root users home is now `/root`
    and there is no R/W overlay for it.
    
    ---------------------------
    Commit: 1bab4a6
    ---------------------------
    SUMO-483: Add bluetooth CW recipe when compliance feature present
    
    Convert compliance feature from a MACHINE feature to a DISTRO
    feature.
    
    ---------------------------
    Commit: 68d26bb
    ---------------------------
    CSNMR-5363: Update SRCREV for judo-api-specs
    
    ---------------------------
    Commit: bc0ece9
    ---------------------------
    CSNMR-5340: Set version of main to 0.27
    
    ---------------------------
    Commit: ab0f466
    ---------------------------
    SUMO-279: ms9xx-bridge -> rust-gnss refactor
    
    Handle the renamed packages in the packagegroups, and only include
    the command-line tools in -devel images.
    
    ---------------------------
    Commit: 6dcf9b4
    ---------------------------
    CSNMR-4963: Update SRCREV for judo-api-specs
    
    ---------------------------
    Commit: 4f9f09c
    ---------------------------
    CSNMR-5424: update SRCREV
    
    ---------------------------
    Commit: 8d37995
    ---------------------------
    CSNMR-5208: put mfg partition write/clear script in prod
    
    Put recipe mfgfs-create into the base judo packagegroup so
    that write-clear-mfg-partition.sh is available in devel and
    prod builds.
    
    The system control reset API depends on this script being present
    for the manufacturing level reset to work. We want the API to work
    in prod, so the script is being made available there.
    
    ---------------------------
    Commit: a9e8595
    ---------------------------
    SUMO-481: minicom: Fix setting of serial port baud rates
    
    Required for glibc 2.42+ support which Yocto has recently updated
    to.
    
    ---------------------------
    Commit: fdb51a1
    ---------------------------
    Bugfix: Define device variant for Sumo
    
    ---------------------------
    Commit: 9d23dd3
    ---------------------------
    SUMO-276: Add Bluetooth FW updater recipe to Sumo
    
    ---------------------------
    Commit: ec2d454
    ---------------------------
    CSNMR-5198: Add model suffix to systemd environment
    
    Adding the model suffix (500, 510, etc) to the systemd environment
    allows services to be started based on this value. For example,
    the enable-uhf service which controls the power supply for the
    Satel radio should only be enabled on -510 Judo units.
    
    ---------------------------
    Commit: e87054e
    ---------------------------
    CSNMR-5362: Update SRCREV for judo-api-specs
    
## meta-judo-bsp
    ---------------------------
    Commit: c31c1c9
    ---------------------------
    CSNMR-5628: judo-radio-utils: Update SRCREV
    
    This changeset also adds systemd services for running the secondary
    Judo unit's Mikimoto UHF transmitter and the UUT's Phoenix UHF
    receiver. These are used during functional testing of the UUT's Phoenix
    UHF receiver.
    
    ---------------------------
    Commit: cbd8df9
    ---------------------------
    CSNMR-5628: gpioset-services: Enable Sumo UHF LNA on boot
    
    ---------------------------
    Commit: ea481c9
    ---------------------------
    SUMO-553: judo-radio-utils: update SRCREV
    
    This changeset also adds the python3-smbus2 dependency to the
    judo-radio-utils recipe, as it is required by the read-5v-psu-amps.py
    script.
    
    ---------------------------
    Commit: 7ae5eac
    ---------------------------
    CSNMR-5538: Configure Sumo HaLow/UHF shared RF path on boot
    
    This changeset adds a service which configures the shared HaLow/UHF
    RF path on Sumo when the device boots. This service is a temporary
    solution to configuring this part of the hardware, and this commit
    should be reverted once the RF path is configured via the MQTT API.
    
    ---------------------------
    Commit: 67197f2
    ---------------------------
    CSNMR-5538: Add Sumo HaLow/UHF shared RF path config utility
    
    ---------------------------
    Commit: f210b3b
    ---------------------------
    CSNMR-5538: judo-radio-utils: update SRCREV
    
    This changeset also removes the HaLow AP and STA services used by
    the functional test, as HaLow is now configured using the MQTT
    API.
    
    ---------------------------
    Commit: 9e25513
    ---------------------------
    CSNMR-5454: program-uhf-fpga: Update FPGA image
    
    ---------------------------
    Commit: ab82d76
    ---------------------------
    CSNMR-4649: judo-radio-utils: Package systemd service directories
    
    The systemd service directories need to be packaged by this recipe
    because they now contain services for starting the HaLow AP and STA
    for functional testing.
    
    ---------------------------
    Commit: 18a12f7
    ---------------------------
    CSNMR-4649: judo-radio-utils: Update SRCREV
    
    ---------------------------
    Commit: aab6bc5
    ---------------------------
    Bugfix: Set radio regulator to a fixed voltage
    
    Defining a 'fixed' regulator with differing min and max voltages
    is not supported and was preventing the radio and all derived
    regulators (Wi-Fi regulators in particular) from being initialized
    properly, this does not affect the HW in any way as the regulators
    are not SW controlled, just cleaning up a harmless warning.
    
    ---------------------------
    Commit: 83f4dc9
    ---------------------------
    DeviceTree: remove non-removable property from Wi-Fi
    
    With a GPIO-controlled power supply (`WF_BT_PWR_EN` GPIO) the
    Wi-Fi module is effectively removable and removing the
    `non-removable` property ensures the kernel will detect and
    initialize the Wi-Fi interface whenever it is powered up.
    
    ---------------------------
    Commit: 4248776
    ---------------------------
    Wifi Silex SDMAC: configurable IO voltages
    
    Ongoing issues are preventing the Wi-Fi module from operating
    at 1v8 IO voltages, but there is still a need to be able to test
    fixes.
    
    Allow Wi-Fi IO voltages to be configured via the presence of a
    `enable_wifi_1v8` file in the boot partition, (i.e
    `/boot/enable_wifi_1v8`) that results in an overlay being applied
    to the kernel DeviceTree by U-boot.
    
    ---------------------------
    Commit: 8a67899
    ---------------------------
    SUMO-483: Convert ath10k_compliance feature to compliance
    
    the `compliance` feature now enables compliance FW and scripts
    for more than just the Wi-Fi module, currently adds support for
    running BT in compliance modes too.
    
    ---------------------------
    Commit: bc33235
    ---------------------------
    program-uhf-fpga: Remove references to Jenkins
    
    ---------------------------
    Commit: cf28d45
    ---------------------------
    CSNMR-5436: program-uhf-fpga: Update to latest nightly FPGA build
    
    ---------------------------
    Commit: 70286cb
    ---------------------------
    CSNMR-5454: suhf-sword: reset FPGA on driver startup
    
    This changeset updates the SRCREV for Scabbard to integrate control
    of the FPGA_RESET line into suhf_driver, and adds the libgpiod
    dependency to the recipe.
    
    ---------------------------
    Commit: 0f13d92
    ---------------------------
    CSNMR-5454: Mark FPGA_RESET pin as active high
    
    The FPGA_RESET pin is actually active high, so the 'n' at the start of
    the pin name is not correct.
    
    ---------------------------
    Commit: d66b514
    ---------------------------
    SUMO-491: GNSS: use internal TCXO
    
    Stella receivers have an upgraded internal TCXO and do not
    require the external one (that is being de-popped) to meet our
    accuracy requirements.
    
    Can force all devices to use the internal TCXO (including devices
    with BD992 receivers) as all MP10XX devices are going to be
    upgraded to Stella receivers before release to customers.
    
    Legacy/development devices with BD992 receivers will still
    function fine for development purposes, but will suffer
    performance issues in extreme conditions (mainly temperature
    extremes?).
    
    ---------------------------
    Commit: 9cfc28e
    ---------------------------
    SUMO-491: Refactor GNSS power management service
    
    Properly sequence GNSS power/reset and bootstrap option GPIOs
    on device startup.
    Ensure the receiver is powered up before starting the GNSS
    'handler' service and ensure restarts of this service propagate
    out to the handler service.
    
    ---------------------------
    Commit: 1d66513
    ---------------------------
    CSNMR-5250: suhf-sword: update Sword SRCREV
    
    ---------------------------
    Commit: 36bab3c
    ---------------------------
    CSNMR-5250: suhf-sword: Recover suhf_driver service on failure
    
    Previously, the suhf_driver service would stop when the suhf_driver
    binary failed for any reason. Because the driver should not stop
    unless it is ordered to by the UHF configuration agent, this changeset
    makes systemd restart the suhf_driver service automatically when it
    fails.
    
    ---------------------------
    Commit: 4cdb3aa
    ---------------------------
    SUMO-276: Add instructions for building bt_host_uart_dfu
    
    ---------------------------
    Commit: 6c2c221
    ---------------------------
    SUMO-276: Bluetooth: Firmware update
    
    Add firmware and programmer for Lyra24 Bluetooth module.
    `bt_host_uart_dfu` requires the Silicon Labs IDE and tools to
    build so the binary is checked in.
    
    `write_bt_firmware.sh` wraps the programmer binary and sequences
    the device-specific GPIOs.
    
    ---------------------------
    Commit: b25f479
    ---------------------------
    CSNMR-5198: Enable Satel radio power only on 510 variant
    
    Power to the Satel radio is enabled by the enable-uhf service, which
    is now only started on the -510 variant of Judo as this is the only
    variant which has the Satel radio installed.
    
    ---------------------------
    Commit: 6899700
    ---------------------------
    SUMO-539: Improve OPTEE signing reliability
    
    Make the kernel fitimage recipe depend on the OPTEE recipe, rather
    than relying on inter-task-dependencies alone.
    
    In the `optee-os` recipe, deploy the public key that can be used
    to check/verify the OPTEE TA signatures - using the script from:
    https://github.com/OP-TEE/optee_os/blob/master/scripts/sign_encrypt.py
    Note: neither the public key nor the above script are included in
    the OS image - must be copied around manually when testing TA
    signatures.
    TA signing key is deployed to a fixed filename for ease of
    artifacting in CI/Bamboo.
    
## meta-judo-proprietary
    ---------------------------
    Commit: 702f8c4
    ---------------------------
    CSNMR-5428: Update SRCREV
    
    Update SRCREV for judo-cfg-agents
    
    ---------------------------
    Commit: 4f72db8
    ---------------------------
    CSNMR-5428: Update SRCREV for rust-gnss
    
    Update rust-gnss SRCREV to add GNSS reset support
    to 4c0485a14818bd315b6043e059ab6c4340d97642
    
    ---------------------------
    Commit: 874ba56
    ---------------------------
    CSNMR-5628: python3-mqtt-api: Manage run-phoenix-suhf in functional tests using systemd service
    
    ---------------------------
    Commit: 4cd307c
    ---------------------------
    CSNMR-5628: python3-mqtt-api: Manage send-observables in functional tests using systemd service
    
    ---------------------------
    Commit: 72579a7
    ---------------------------
    CSNMR-5628: python3-mqtt-api: Use enable-uhf service to sequence TR49 power in functional tests
    
    ---------------------------
    Commit: 6ac2412
    ---------------------------
    CSNMR-5564: Update SRCREV for judo-cfg-agents
    
    ---------------------------
    Commit: d442f89
    ---------------------------
    CSNMR-5600: update SRCREV
    
    Update SRCREV for bd992-fw-update repo which holds stella 6.60-0.27 image.
    
    ---------------------------
    Commit: a444478
    ---------------------------
    CSNMR-5600: update Stella firmware from 6.60-0.24 to 6.60-0.27
    
    Install Stella firmware image 6.60-0.27
    
    ---------------------------
    Commit: bab1362
    ---------------------------
    CSNMR-5426: Update SRCREV soft_reset for system_control
    
    Update SRCREV for soft_reset support in system_control_agent.  Add bash
    script that needs to run as a separate process to perform a system
    control soft_reset. Services being restarted are all cfg-agent agents
    except for licensing.  Do not restart licensing agent as it needs to
    start and be ready before the other agents start.
    
    ---------------------------
    Commit: 5d3d493
    ---------------------------
    CSNMR-5538: Minimise restarting of UUT MQTT brokers
    
    This changeset adds code to start-tmux-monitor-controller which avoids
    restarting the MQTT brokers on the UUT and secondary unit if the
    associated bridge is already configured.
    
    ---------------------------
    Commit: 7a1a406
    ---------------------------
    CSNMR-5538: Fix HaLow subnet
    
    The default HaLow subnet is 192.168.44.0/24, not 192.168.200.0/24.
    
    ---------------------------
    Commit: 4d6d4d1
    ---------------------------
    CSNMR-5538: Initialize HaLow in emc-test-monitoring
    
    This changeset reinstates the HaLow initialization in the emc-test-monitoring
    script and removes the associated code from start-tmux-monitor-controller.sh.
    It also tears down the HaLow AP and STA when the test console is shut down.
    
    ---------------------------
    Commit: 617f1d8
    ---------------------------
    CSNMR-5214: Add SRCREV for Stella auto fw update
    
    GNSS Manager agent checks for Stella or BD992 to determine generate
    GNSS configuration overriding the Stella firmware image and firmware
    checksum on a units with Stella.
    
    ---------------------------
    Commit: 0104484
    ---------------------------
    CSNMR-5214: Add Stella firmware image to Judo OS
    
    Add Stella 6.60_0.24 firmware image to Judo OS
    
    ---------------------------
    Commit: ef76cd6
    ---------------------------
    CSNMR-5214 Update to latest rust-gnss
    
    Update rust-gnss to SRCREV_rust-gnss = "bd4b506b1a9ced7cbba19c33ff44736dbf1e94dc"
    which includes:
    
    bd4b506b1 Add HL_nGPIO_CTL to phoenix-handler
    8d433fcc0 Try harder to get fw checksum to avoid unnecessary installs
    
    ---------------------------
    Commit: 404ce47
    ---------------------------
    CSNMR-5572: update SRCREV
    
    ---------------------------
    Commit: a4e402a
    ---------------------------
    CSNMR-4051: Update SRCREV for judo-cfg-agents
    
    ---------------------------
    Commit: 80fcc22
    ---------------------------
    CSNMR-5537: Initialize Wi-Fi in emc-test-monitoring
    
    This changeset reinstates the Wi-Fi initialization in the emc-test-monitoring
    script and removes the associated code from start-tmux-monitor-controller.sh.
    It also tears down the Wi-Fi AP and STA when the test console is shut down.
    
    ---------------------------
    Commit: 70d69a0
    ---------------------------
    CSNMR-5462: update SRCREV
    
    ---------------------------
    Commit: 896d158
    ---------------------------
    CSNMR-5002: Add GNSS Logging support to GNSS Mgr
    
    Add GNSS Logging support to GNSS Manager Agent.
    
    ---------------------------
    Commit: 2a0f2d2
    ---------------------------
    CSNMR-5534: Update SRCREV
    
    ---------------------------
    Commit: 3532a4b
    ---------------------------
    CSNMR-4649: Bridge UUT and secondary unit MQTT brokers to RPi broker
    
    This change is necessary because the test controller and monitor expect
    to receive messages from both units on the RPi broker and send commands
    to both units using the same broker.
    
    ---------------------------
    Commit: 5d463af
    ---------------------------
    CSNMR-4649: Tweak keyfile name in ssh-add helper message
    
    ---------------------------
    Commit: 0c262ed
    ---------------------------
    CSNMR-4649: python3-mqtt-api: update SRCREV
    
    ---------------------------
    Commit: 56aef79
    ---------------------------
    CSNMR-4649 Functional Test Updates for Swift
    
    - emc-test-monitoring:
       - update IP addresses to match compliance scripts (we will want to revert
         the ip address changes long term)
       - change the cell ping interval to 3, to cut down on bandwidth usage
    
    - start-tmux-monitor-controller:
       - Configure UHF, Halow, and WiFi
       - Check for ssh agent to be running, which is recommended for ssh config
         of UHF, Halow and WiFi.
       - Don't run mqtt-select-device-id.py, if uut_id.env file exists
       - tweak the tmux window split ratios
    
    ---------------------------
    Commit: 13a689a
    ---------------------------
    CSNMR-4816: Update SRCREV for judo-cfg-agent and cfg-mgr
    
    ---------------------------
    Commit: c3ca1e7
    ---------------------------
    CSNMR-4816: Fix list formatting in judo-cfg-agent
    
    ---------------------------
    Commit: 62ceaaa
    ---------------------------
    Bugfix: Install Wi-Fi certification scripts to root home
    
    Install into where-ever the `ROOT_HOME` variable points rather
    than a hard-coded `/home/root` path (as the root home is now
    `/root` by default).
    
    ---------------------------
    Commit: baeef89
    ---------------------------
    SUMO-483: BT compliance tools and script
    
    Leverages work done for ORCA/Porpoise and modifies it to work on
    MP10XX devices.
    
    ---------------------------
    Commit: 5aeace2
    ---------------------------
    CSNMR-5265: Update rust-gnss for Stella and Sumo
    
    Update Judo rust-gnss SRCREV
    from: ef2f9dff19cef99d63e19c1a5fbbded18bb46296
    to:   d9360226a12947b7dd8035f2d9b83ee929a0540a
    
    CSNMR-5265: Add support for timo/sumo/kendo RxIDs
    SUMO-493  : Add sumo board ref to pinmux hardware check
    
    ---------------------------
    Commit: 3e1cc76
    ---------------------------
    CSNMR-5478: Update SRCREV
    
    ---------------------------
    Commit: 4fc9bfc
    ---------------------------
    CSNMR-5363: Update SRCREV for judo-cfg-agents
    
    ---------------------------
    Commit: da5089d
    ---------------------------
    SUMO-279: Disable UHF agent on Sumo
    
    Support for configuring Phoenix radio to be added in SUMO-540.
    
    ---------------------------
    Commit: f6862e6
    ---------------------------
    SUMO-279: ms9xx-handler -> rust-gnss refactor
    
    Renames/replaces the existing `ms9xx-bridge` recipe as that
    builds many more binaries than just the MS9xx bridge, including
    `phoenix-handler`.
    
    Split artifacts into individual packages so they can be
    individually selected/installed.
    
    Remove the unused patch that was fixed in the latest `rust-gnss`
    update, see meta-judo-proprietary commit
    `a5cc084602f80c72f21a0d97f1efd5d43de0dc31`
    
    ---------------------------
    Commit: fede53b
    ---------------------------
    CSNMR-4963: Update SRCREV for cfg-mgr and judo-cfg-agents
    
    ---------------------------
    Commit: a002332
    ---------------------------
    CSNMR-5407: Update SRCREV for judo-cfg-agents
    
    ---------------------------
    Commit: 265e8b2
    ---------------------------
    CSNMR-5208: add mfgfs-create dependency to cfg agents
    
    Added mfgfs-create runtime dependency to cfg agents recipe.
    
    The system reset agent depends on the write/clear mfg partition
    script that mfgfs-create installs.
    
    ---------------------------
    Commit: f0f1049
    ---------------------------
    CSNMR-5410: update SRCREV
    
    ---------------------------
    Commit: de6c1ba
    ---------------------------
    CSNMR-5362: Update SRCREV for judo-cfg-agents
    
## mqtt-api
    ---------------------------
    Commit: 55244de
    ---------------------------
    CSNMR-5538: Set up and tear down HaLow interface in controller scripts
    
    ---------------------------
    Commit: 95b7aa1
    ---------------------------
    CSNMR-5537: Add functional test teardown script
    
    This script currently only disables the Wi-Fi interfaces on the UUT and
    secondary unit. It will be extended to disabling the HaLow interfaces
    on these units as part of CSNMR-5538, and can be used for any other
    teardown that may be required in future.
    
    ---------------------------
    Commit: 7507c7c
    ---------------------------
    CSNMR-5537: Add wait_for_net_interface_state to controller console
    
    This is used to ensure that wireless IP connections (Wi-Fi and HaLow)
    are disestablished before exiting the test console following a
    test session, by waiting for the interface to go down.
    
    ---------------------------
    Commit: 3f9ec82
    ---------------------------
    CSNMR-5537: Add wait_for_dhcp_address_in_range to controller console
    
    This is used to ensure that wireless IP connections (Wi-Fi and HaLow)
    are established during setup before starting the test session, by
    waiting for the access point to issue an IP address to the station
    via DHCP.
    
    ---------------------------
    Commit: 3401cff
    ---------------------------
    CSNMR-5537: Set up secondary unit as Wi-Fi AP in EMC tests
    
    ---------------------------
    Commit: 1808b88
    ---------------------------
    CSNMR-4649: mqtt-api-controller.py: Enable functional test service on UUT at startup
    
    ---------------------------
    Commit: 3e6fdfb
    ---------------------------
    CSNMR-4649: mqtt-select-device-id.py: Allow selecting Sumo device IDs
    
    ---------------------------
    Commit: 88dde3e
    ---------------------------
    CSNMR-4649: mqtt-api-monitor: Use event_diag_gnss_data for GNSS tests
    
    ---------------------------
    Commit: 015cdc4
    ---------------------------
    CSNMR-4649: mqtt-api-controller: Allow exiting session without stopping existing requests
    
    ---------------------------
    Commit: 26d382a
    ---------------------------
    CSNMR-4649: scripts: Add scripts for setting up HaLow and Wi-Fi STAs
    
    ---------------------------
    Commit: 5e1aeec
    ---------------------------
    CSNMR-4649: scripts: Exit after setting up Wi-Fi/HaLow AP
    
    This change makes the controller shell scripts for setting up Wi-Fi and
    HaLow APs exit after the AP is set up.
    
    ---------------------------
    Commit: 8f7bc09
    ---------------------------
    fixup: remove mfg api hard coded addresses
    
    ---------------------------
    Commit: 3ad734f
    ---------------------------
    CSNMR-4928: swap MFG API wifi config for systemctl/pkill
    
    Swapped DISABLED agent config call for systemctl disable and
    pkill hostapd.
    
    The DISABLED command started intermittently failing at Jabil
    and is now non functional. This method continues to work for
    getting rid of hostapd and halow-ap processes.
    
## nrc7394_sw_pkg
    ---------------------------
    Commit: 7068a25
    ---------------------------
    Bugfix: Fix default FW file
    
    The default non-EEPROM FW fails to initialise the Halow module
    with the below error (has a HW revision 0f 0x0000).
    ```
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: size of bd file is 8464
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: Major 01 Minor 04 Total len 2100 Num_Data_Groups 0024 Checksum B3FF
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: target version is not matched(0 : 2)
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: target version is not matched(0 : 3)
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: target version is not matched(0 : 1)
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: target version is not matched(0 : 4)
    Feb 17 23:14:38 mp1010 kernel: nrc80211 spi3.0: BD file is invalid! Stop loading FW
    ```
    
## scabbard-judo
    ---------------------------
    Commit: 1b859e3
    ---------------------------
    CSNMR-5454: Toggle FPGA_RESET line on suhf_driver startup
    
## sword
    ---------------------------
    Commit: 134072a
    ---------------------------
    CSNMR-5250: Report hardware error if FIFO cannot be flushed
    
    On the unit which fails to start suhf_driver, suhf_driver gets into
    an infinite loop flushing the FPGA's FIFO buffer because the FIFO
    never becomes empty, probably because there is an issue with the
    FPGA hardware. This changeset sets a hard limit of 4096 bytes
    that may be flushed out of the FIFO before the driver stops with
    an error code.
    
    TO-DO: The value of 4096 was chosen because that is the value used
    for Judo's version of Scabbard, but Sword needs to get this value
    from its host's version of Scabbard.
    
    ---------------------------
    Commit: 6dfe5ed
    ---------------------------
    CSNMR-5250: Reduce duplication of FIFO empty detection code
    
## yocto-docs
    ---------------------------
    Commit: f2811603d
    ---------------------------
    set_versions.py: fix codestyle/formatting issues
    
    Fix issues reported by pycodestyle (long lines, spurious or missing
    whitespaces, underindented lines), and add the missing description of
    the get_abbrev_hash() function.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: 6c8961015
    ---------------------------
    set_versions.py: move the poky_mapping dict where it is used
    
    The poky_mapping dict isn't used until after the replacements dict is
    created. Move it's definitions to where it's used. Also fix a codestyle
    issue while we're at it (whitespace before ":").
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: 98815cee1
    ---------------------------
    set_versions.py: use bitbake mappings from remote releases.json
    
    After [1] we can now use the bitbake version mappings maintained in the
    remote releases.json file, allowing to reduce maintenance effort here.
    
    [1]:
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: 5d711350a
    ---------------------------
    ref-manual/system-requirements: add fedora 43 as supported distro
    
    Fedora 43 is now properly tested for Poky[1], so let's add it to the
    list of supported distros.
    
    [1] https://git.yoctoproject.org/meta-yocto/commit/?id=4c156ef673f8ff7c967b2b34dd1d366e1b74d41c
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: b92cffd3e
    ---------------------------
    ref-manual/system-requirements: update list of EoL distros we still test
    
    Fedora 41 is EoL since end of 2025[1] and Ubuntu 25.04 since mid January
    2026[2], so let's add them to the list of distros we're testing but
    don't receive updates for.
    
    [1] https://docs.fedoraproject.org/en-US/releases/eol/#_unsupported_fedora_linux_releases
    [2] https://documentation.ubuntu.com/project/release-team/list-of-releases/#end-of-life
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 5afd21a88
    ---------------------------
    overview-manual/concepts: list other possible class directories
    
    Classes can be located in three different directories since Langdale
    (4.1), so let's update which directories you can find in a distribution
    layer.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0d05dedd6
    ---------------------------
    ref-manual: delete claim PACKAGE_EXCLUDE does not support .deb
    
    The current explanation of "PACKAGE_EXCLUDE" claims that this
    variable does not support .deb packaging; this is incorrect.
    
    Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
    Tested-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 73b3beb99
    ---------------------------
    overview-manual: escape wildcard in inline markup
    
    This change escapes the wildcard in 'recipes-*' to properly italicize
    the string
    
    Signed-off-by: Kristiyan Chakarov <kichakarov0@gmail.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 5bebe38a8
    ---------------------------
    set_versions.py: build with versions from releases.json
    
    Build using the releases.json file obtained from
    https://dashboard.yoctoproject.org/releases.json. If this file is
    already downloaded, don't fetch it again.
    
    If we fail fetching the file, use default values (and print a warning).
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: d97cfeaa5
    ---------------------------
    tools/containerfiles: fix docker warning
    
    The current Containerfiles produce the following warning with docker:
    
      1 warning found (use docker --debug to expand):
      - UndefinedVar: Usage of undefined variable '$PWD' (line 12)
    
    Remove $PWD and set the WORKDIR so that our pip3_docs.sh script finds
    the virtual env.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ba351b354
    ---------------------------
    convert SVGs to PDF and PNG using sphinxcontrib.rsvgconverter plugin
    
    The sphinxcontrib.rsvgconverter plugin allows to generate a PDF or PNG
    from an SVG.
    This is what we already do manually via Make targets but it isn't good
    enough.
    
    Sphinx generates a cache upon first parsing and stores it in a doctrees
    directory. Sphinx claims that it can be shared between all builders[1].
    For glob patterns in image or figure directives, Sphinx will look for
    all possible matches in the source tree and store those in a
    "candidates" map for each file, along with the associated mimetype. When
    building, Sphinx will then look in this map to try to find a match in
    the current builder's supported_image_types. If none is found, the build
    will fail.
    
    The latexpdf (using the LaTeXBuilder) target does not support SVGs by
    default[2]. We used Make to generate PDFs from them before generating
    the doc PDF though (see PDFs variable and %.pdf in Makefile) and that
    type is supported by default[2].
    
    The epub (via the Epub3Builder) target does support SVGs by default[3]
    but we disabled their support in commit ff3876ca4910 ("conf.py: use PNG
    first in EPUB output"). We used Make to generate PNGs from them before
    generating the doc epub though (see PNGs variable and %.png in Makefile)
    and that type is supported (c.f. Epub3Builder.supported_image_types in
    our conf.py).
    
    The issue is that this is done transparently from Sphinx. When we
    generate the PDFs or PNGs variants of the SVGs, we put them in-tree
    directly along their source file. Then, when caching, Sphinx will find
    both the source file and the appropriate variant. However, the cache
    isn't updated if there are new files in the tree and the source rST
    files aren't modified. So, the cache will not have its map updated and
    we won't be able to find the new variant when building for a
    non-SVG-compatible builder. Take the following scenario:
    
    - start from a clean source file (fresh clone or git clean -ffdx)
    - build the html target (which supports SVGs by default[4])
    - sphinx will find all the files in the source tree matching the glob
      pattern in ".. image:: test.*", in our case only an SVG since the PDFs
      and PNGs are only generated for the latexpdf and epub targets
      respectively. The cache will only store the path to the SVG file
      because it is the only source file that matches the glob,
    - attempt to build the epub target (which doesn't support SVGs, only
      PNGs)
    - Sphinx checks for the file to include for '.. image:: test.*' and
      finds an SVG in the cache map and then check the list of supported
      image types for the Epub3Builder and find that it doesn't support
      that. It cannot find anything satisfying the dependency and thus fails
      to build.
    
    This scenario can easily be reproduced by running the `make all` command
    since the html builder will be used first, then epub and finally
    latexpdf.
    
    The `make publish` target works by chance, because the epub builder is
    built first and will cache SVG + PNG for each glob, then the latexpdf
    builder is built and supports PNGs so that's fine and then html, which
    supports SVG as well.
    
    To fix this issue, we could simply always generate PDFs and PNGs of all
    SVGs in the source tree, but this isn't ideal.
    
    Instead, let's use an ImageConverter from a Sphinx plugin. This allows
    to map a plugin as being able to generate a file of type Y from a file
    of type X. When Sphinx wants to build an image, it'll try to find the
    image with the type the current builder supports in the cache. If it
    cannot, it's going to try to find an ImageConverter plugin that is able
    to convert one of the image types in cache with one of the image types
    the current builder supports. Then Sphinx will call this plugin to
    generate the file and put it into the build directory (not in the
    source!).
    
    This allows to simplify the Makefile as well and is a much cleaner
    approach.
    
    The epub target is removed as the catch-all target contains the same
    instructions as the epub target we remove in this commit.
    
    sphinxcontrib.rsvgconverter is a plugin from
    sphinxcontrib-svg2pdfconverter python module. SVGs to PNGs is only
    supported since 2.0.0.
    
    [1] https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-d
    [2] https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.latex.LaTeXBuilder.supported_image_types
    [3] https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.epub3.Epub3Builder.supported_image_types
    [4] https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.html.StandaloneHTMLBuilder
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 4fbae0147
    ---------------------------
    consistently use pip packages for all distros
    
    Until now, Debian and Ubuntu had special instructions for installing
    Python packages to build the docs. Specifically, the packages that all
    other distros are installing via pip were installed from the package
    feed (apt).
    
    In the next commit, a new Python module will be required, which isn't
    available in the package feed. We thus have two options, have a pip3
    Debian/Ubuntu-specific set of instructions to install this one package,
    or migrate packages currently installed through the package manager to
    use pip like other distros. To lower maintenance burden and the
    possibility of missing to update both "generic" and "Debian/Ubuntu"
    variants of pip instructions, the latter was chosen.
    
    Suggested-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 16599c4f6
    ---------------------------
    use a venv for installing packages with pip
    
    In a few commits, we'll migrate Debian/Ubuntu to use pip packages.
    However, Debian rejects pip commands outside of virtual environments.
    
    It is generally best practice to use virtual environments with pip, so
    let's migrate distros that currently use pip to use virtual environments
    as well.
    
    Because BitBake is a Python project and requires a few Python packages
    that we currently install with distro package managers, it would be best
    to also include system packages via --system-site-packages when creating
    the virtual environment such that the user would either be able to build
    the docs or run BitBake, from the same venv.
    
    Unfortunately, one of the packages[1] we'll include in an upcoming
    commit breaks sphinxcontrib namespace package and thus we cannot have a
    mix of sphinxcontrib-namespaced packages in and outside the venv. Let's
    create a completely empty venv for now until the offending package is
    fixed (see pending merge request[2]).
    
    Let's instruct the user to install the docs venv in a relative directory
    (likely the root of the yocto-docs git repo) instead of guessing a safe
    location (/tmp may or may not be an actual volatile directory depending
    on the distro).
    
    [1] https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/
    [2] https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/pull/34
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 8354f3b5b
    ---------------------------
    Makefile: use python3 -m sphinx instead of sphinx-build
    
    sphinx-build is a "script"[1][2] which is then made available on the
    system as a binary, upon installing the sphinx package.
    
    You can have multiple instances of sphinx installed, e.g. system-wide
    via the traditional distro package manager or in a venv. In the case of
    a venv, if you have sphinx already installed in your host system, source
    the venv activate script and then install sphinx via pip inside the
    venv, sphinx-build command will still point at the sphinx from the host
    system. The work-around is either to run the venv activate script again,
    run `hash -r` or `rehash` in your current shell, or call python3 -m
    sphinx instead of the Python script.
    
    Let's do the latter as it's the easiest/least-user-facing solution.
    
    This works because python3 interpreter will be the one from the venv,
    and it sets the appropriate paths for loading modules (use only packages
    from the venv by default, or prefer them if --system-site-packages is
    passed).
    
    [1] https://github.com/sphinx-doc/sphinx/blob/v9.1.0/pyproject.toml#L99
    [2] https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#creating-executable-scripts
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 8cc5a1302
    ---------------------------
    qemu.rst: parsing of the code-block was not done
    
    Because the '::' at the previous line starts a literal block.
    
    Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ff3cfb0ed
    ---------------------------
    ref-manual: add SPDX_INCLUDE_KERNEL_CONFIG and SPDX_INCLUDE_PACKAGECONFIG
    
    Adding documentation for the new variables to export the Linux kernel
    configuration and recipe PACKAGECONFIG features into the SPDX document.
    
    Signed-off-by: Kamel Bouhara (Schneider Electric) <kamel.bouhara@bootlin.com>
    [AG: fix variable ordering https://lore.kernel.org/r/DGO3PZFM5WDO.3C92IW83D5RXA@bootlin.com]
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 6ab93e2eb
    ---------------------------
    dev-manual: delete references to "tar" package format
    
    There is no "tar" packaging format anymore, so delete these
    references.
    
    Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 3f4ed1d41
    ---------------------------
    Makefile: pass -silent to latexmk
    
    This should drastically decrease the number of lines in the
    docs build logs, which currently can go up to 1700000 lines on the
    Autobuilder[1].
    
    [1]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/34/builds/400/steps/6/logs/stdio
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 538b55418
    ---------------------------
    what-i-wish-id-known.rst: replace figure by the new SVG
    
    We have a new SVG figure for the Yocto Project workflow figure, which
    was updated with d2aaf54bee49 ("overview-manual: convert
    YP-flow-diagram.png to SVG"). The one in the "What I wish I’d known
    about Yocto Project" is the same. Remove the PNG and make a reference to
    the new one.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 2817a9077
    ---------------------------
    tools/host_packages_scripts/tlmgr_docs_pdf.sh: install perl
    
    Fix an issue reported by Quentin on IRC:
    
      The LaTeX files are in _build/latex.
      Run 'make' in that directory to run these through (pdf)latex
      (use `make latexpdf' here to do that automatically).
      make[1]: Entering directory '/docs/documentation/_build/latex'
      latexmk -pdf -dvi- -ps-  'theyoctoproject.tex'
      Can't locate Time/HiRes.pm in @INC (you may need to install the Time::HiRes module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /opt/docs-build-tex-tools/tl/bin/x86_64-linux/latexmk line 97.
      BEGIN failed--compilation aborted at /opt/docs-build-tex-tools/tl/bin/x86_64-linux/latexmk line 97.
      make[1]: *** [Makefile:28: theyoctoproject.pdf] Error 2
      make[1]: Leaving directory '/docs/documentation/_build/latex'
      make: *** [Makefile:74: latexpdf] Error 2
      make: Leaving directory '/docs/documentation'
    
    We require perl for the latexpdf target to complete successfully. Add it
    to the tlmgr_docs_pdf.sh script.
    
    Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 3f052ae60
    ---------------------------
    docs-wide: remove Bazaar fetcher references
    
    Remove the Bazaar fetcher references as it was deprecated in [1].
    
    This fixes the following build issue on master:
    
      .../ref-manual/variables.rst:1506: WARNING: term not in glossary: 'bitbake:BZRDIR' [ref.term]
    
    [1]: https://git.openembedded.org/bitbake/commit/?id=8e057d54f09ca0a1fb64c716da6b66f0ce4555b0
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: c9f83bb2e
    ---------------------------
    ref-manual/classes.rst: fix broken links to U-Boot documentation
    
    In the chapter describing the "uboot-sign" class
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 7570d210e
    ---------------------------
    _templates/footer.html: show a dynamically created id of the docs
    
    Since we have switched to branch tips for all versions of the active
    releases, having the information of which commit id of yocto-docs was
    built is useful. Show it in the footer as a link to
    git.yoctoproject.org/yocto-docs.
    
    When a tag is built, create a link to the tag instead.
    
    When building on a floating commit, this will create an invalid link,
    but this never happens when publishing the documentation, only for local
    development.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: 065e70a62
    ---------------------------
    set_versions.py: set a more accurate DISTRO value
    
    The changes from the previous commit make the current value inaccurate
    in some situations, especially since this variable is used in some
    commands. Take these situations into account and compute a more accurate
    value for DISTRO.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: a8749670e
    ---------------------------
    switchers.js: rework the logic and improve it
    
    Rework the generation of the switcher menu, and also fix it. It's not
    obvious how this could be split for easier review, as many parts depend on
    one another, so this is what this patch changes and fixes:
    
    - The menu only contains branch tips versions of the documentation for
      supported releases now - even though the latest tag is displayed in
      the menu.
    
      This approach will fix the lack of release notes for the latest
      version of an active branch, as release notes are always published
      after the yocto-docs repository is tagged.
    
    - Show a commit id when building on a separate commit that is not a
      branch tip or not a tag. This should only ever happen when building
      locally (not for the published version).
    
    - All stable/LTS versions are displayed in the menu UNLESS the current
      version for which we are viewing is part of them, in which case it's
      shown last in the menu.
    
    - Rework the logic to show outdated or obsolete versions to conform with
      the above changes, but overall it behaves the same:
    
      - granted that Kirkstone is an active release, and 4.0.32 is the
        latest tag for this release, the "outdated" banner is displayed if
        we browse any version of Kirkstone inferior to 4.0.32.
    
      - browsing any version not part of the active releases (all LTS
        versions + the stable branch) will show the "obsolete" banner.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: b0a9cf917
    ---------------------------
    set_versions.py: remove duplicate and unneeded logic
    
    The following commit will make it unneeded to pass the version to the
    script directly, as it will be automatically deduced no matter which
    branch we're on. We can therefore the ourversion assignment. We still
    want the "getlatest" special argument, so read it from sys.argv
    directly.
    
    Add a comment mentioning that the order here is important for getlatest
    to work.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    
    ---------------------------
    Commit: 98840d241
    ---------------------------
    migration-guides/migration-5.3.rst: add note on *FLAGS behavior change
    
    Add a note on how existing *FLAGS += assignments can lead to unexpected
    behavior in the 5.3 release notes.
    
    Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: f40dc0b42
    ---------------------------
    set_versions.py: check that we build from the git repository
    
    Check that we are building from a Git clone of yocto-docs, not a bare
    directory, which is not supported as we need to tags to be fetched.
    Inform the user how to clone the documentation too.
    
    Fixes [YOCTO #15834]
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 095981c08
    ---------------------------
    migration-guides: add release notes for 4.0.32
    
    Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: e95e60ef8
    ---------------------------
    migration-guides: add release notes for 5.3.1
    
    Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
    [AG: oecore -> openembedded-core https://lore.kernel.org/r/DGAAISXQEM8B.1JQP7X9NMQ5HA@bootlin.com]
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 5fd9d1602
    ---------------------------
    document the OPENSSH_HOST_KEY_DIR and OPENSSH_HOST_KEY_DIR_READONLY_CONFIG variable
    
    Added by commit addd80ddfd89 ("openssh: add variable for key path") in OE-Core.
    
    Signed-off-by: Patrick Vogelaar <patrick.vogelaar.dev@mailbox.org>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 749b79b1a
    ---------------------------
    ref-manual/variables.rst: document new FIT image variables
    
    - FIT_MKIMAGE_EXTRA_OPTS: new variable to pass extra mkimage options
    - FIT_CONF_MAPPINGS for flexible DTB mappings
    
    Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 37667bcc6
    ---------------------------
    brief-yoctoprojectqs/index.rst: remove extra word from text
    
    The sentence in brief-yoctoprojectqs/index.rst contained a duplicated
    word ("dependencies it"). This change removes the extra word to improve
    clarity for new users following the quick start guide.
    
    Signed-off-by: Mohammad Rahimi <rahimi.mhmmd@gmail.com>
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 411122812
    ---------------------------
    dev-manual/packages.rst: fix example recipe version
    
    The example recipe taken above is hello-world on version 1.0 (because
    PV equals "1.0+git". Fix this issue.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 7a0324b6a
    ---------------------------
    dev-manual/packages.rst: rename r0.0 to r0 when PR server is not enabled
    
    When we don't have a PR server enabled, we don't have leading ".0" to
    the PKGR variable, as this is added by the PR server.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 09f0430bc
    ---------------------------
    dev-manual/packages.rst: pr server: fix and explain why r0.X increments on SRCREV change
    
    The current example of the SRCREV change triggering a gitX bump is
    wrong, as both gitX and r0.X get incremented.
    
    Why this is happening is explained in bug 15729, which I copy here:
    
    > +gitX+ is indeed related to changes in the source code.
    >
    > r0.X is bumped each time the checksum of the do_package task of the
    > simple-hello-world-git recipe changes. This happens here:
    > https://git.openembedded.org/openembedded-core/tree/meta/classes-global/package.bbclass?id=235e6d49e5888ad04416219e10b6df91a738661a#n306
    >
    > This line sets the value of PRAUTO and represents the number X found in
    > r0.X. It will in the end make it into EXTENDPRAUTO, which itself makes
    > to PKGR == r0.X.
    >
    > This line calls getPR(version, pkgarch, checksum). Between test case 5
    > and 6, only the checksum changes. This checksum is the checksum of the
    > do_package task (gotten from get_do_package_hash() above).
    >
    > Now, let's dump what changed with regards to this task between two
    > consecutive runs, using the sigdata file in build/tmp/stamps/:
    >
    > ```
    > [...]
    > Variable fetcher_hashes_dummyfunc value changed from '2650ad6714c3f3248abfe9d3daf1196f307ed494' to '4af682a50174f5deb0397847da97d7cdba4ad067'
    > ```
    >
    > The last line shows that the value of fetcher_hashes_dummyfunc changed
    > from '2650ad6714c3f3248abfe9d3daf1196f307ed494' to
    > '4af682a50174f5deb0397847da97d7cdba4ad067'. Those are the commit hashes
    > in the git history of the simple-hello-world-git repository.
    >
    > Now you can see why this 0.X gets bumped, is because of the SRCREV change.
    
    Fix the example, and detail what gets changed and why.
    
    [YOCTO #15729]
    
    Cc: Robert Berger <pokylinux@reliableembeddedsystems.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d3f9b0a5a
    ---------------------------
    ref-manual: Document updated UBOOT_CONFIG flow
    
    The UBOOT_CONFIG flow was updated in oe-core [1].  Document all of the
    new variables and preferred method of specifying the various controls
    for each config.
    
    [1] https://git.openembedded.org/openembedded-core/commit/?id=cd9e7304481b24b27df61c03ad73496d18e4d47c
    
    Signed-off-by: Ryan Eatmon <reatmon@ti.com>
    [AG: Typo fixes https://lore.kernel.org/r/DG1YKKEBYK3R.1RDFPILOIHIOP@bootlin.com]
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 3ec23e9fb
    ---------------------------
    what-i-wish-id-known.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: b0eed805b
    ---------------------------
    test-manual/understand-autobuilder.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: dfe9140b6
    ---------------------------
    test-manual/reproducible-builds.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 783aa4d14
    ---------------------------
    ref-manual/yocto-project-supported-features.rst: remove obsolete poky repo reference
    
    Poky -> meta-yocto link replacement.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 805b666f0
    ---------------------------
    ref-manual/system-requirements.rst: fix wrong path to install-buildtools
    
    Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ca6a30277
    ---------------------------
    ref-manual/system-requirements.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 66fb4d577
    ---------------------------
    ref-manual/release-process.rst: remove repeated "in the"
    
    Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: e7231e74a
    ---------------------------
    ref-manual/release-process.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: a2e67529c
    ---------------------------
    ref-manual/features.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 173edb82b
    ---------------------------
    ref-manual/faq.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Rework the difference between Poky and OpenEmbedded. Copy the note from
    terms.rst regarding the now obsolete Poky repository.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 1923550cd
    ---------------------------
    ref-manual/devtool-reference.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 91605ea5c
    ---------------------------
    dev-manual/vulnerabilities.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete. Mention
    that only vulnerabilities in OpenEmbedded-Core are tracked as that's
    where the packages are.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0bcfcf8c7
    ---------------------------
    dev-manual/upgrading-recipes.rst: move meta-openembedded to bitbake-builds/layers
    
    It makes more sense as we expect the layout to be that way.
    
    Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 67ae0525f
    ---------------------------
    dev-manual/upgrading-recipes.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: f0c6ba3f4
    ---------------------------
    dev-manual/qemu.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: faf322d8d
    ---------------------------
    dev-manual/python-development-shell.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d2cddd8c5
    ---------------------------
    dev-manual/packages.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 1820232eb
    ---------------------------
    dev-manual/licenses.rst: instruct to use git-archive instead of removing .git
    
    Removing .git directories is destructive. Instruct to use git archive
    instead.
    
    Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: f0b3659e6
    ---------------------------
    dev-manual/licenses.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 6ec9ce47f
    ---------------------------
    dev-manual/init-manager.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 04af92638
    ---------------------------
    dev-manual/custom-template-configuration-directory.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete. Adapt
    paths to match to encouraged Source Directory layout.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 421ec4742
    ---------------------------
    dev-manual/custom-distribution.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 6e440c9ae
    ---------------------------
    dev-manual/build-quality.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 6c8d49202
    ---------------------------
    contributor-guide/identify-component.rst: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0cb6e102f
    ---------------------------
    README: replace obsolete substitution variables
    
    Replace obsolete substitution variables by current ones from
    poky.yaml.in.
    
    Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d95db54e4
    ---------------------------
    README: remove obsolete poky repo references
    
    Refresh the document now that the Poky repository is obsolete.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 29bd24aee
    ---------------------------
    test-manual/runtime-testing.rst: remove obsolete poky repo references
    
    Remove reference to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d26aab08b
    ---------------------------
    sdk-manual/intro.rst: remove obsolete poky repo references
    
    Remove the mention of the Poky git repository. Refer to the existing
    setup instructions.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d7ce0ad51
    ---------------------------
    sdk-manual/appendix-obtain.rst: remove obsolete poky repo references
    
    Rename the source directory to project, as specified in its new
    definition in terms.rst.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 4c0e97afe
    ---------------------------
    ref-manual/variables.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 89818234a
    ---------------------------
    ref-manual/tasks.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 83d88fa2c
    ---------------------------
    ref-manual/structure.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases.
    
    Add a introductory directory layout at the top that is reflected in the
    following section. This document no longer uses Poky as its source
    directory, so all paths are explicitly mentioned, to highlight the
    separation between core components. This lead to some re-organization of
    some sections.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 63d0fc075
    ---------------------------
    ref-manual/images.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 864a7ec1e
    ---------------------------
    ref-manual/classes.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 178d31924
    ---------------------------
    overview-manual/yp-intro.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository. This document had a lot of
    reference to it, so a lot was removed. The "Reference Distribution
    (Poky)" section was removed as there already was a "Reference Embedded
    Distribution (Poky)" below. This section was simplified as now Poky is
    just a distro, not a repo. The historical section was also updated to
    mention the obsolete Poky repo.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 345003a75
    ---------------------------
    overview-manual/development-environment.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    Replace the poky examples for the Git section by yocto-docs.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 91e96f5c0
    ---------------------------
    overview-manual/concepts.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 2a2de4da9
    ---------------------------
    migration-guides/migration-1.4.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: bedbbb69a
    ---------------------------
    kernel-dev/common.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: e8b03ddb0
    ---------------------------
    dev-manual/wic.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: de6d0a16d
    ---------------------------
    dev-manual/wayland.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 71f9a3f78
    ---------------------------
    dev-manual/temporary-source-code.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: b184acb48
    ---------------------------
    dev-manual/securing-images.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0dceb6dd9
    ---------------------------
    dev-manual/new-recipe.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 3da2e7bb3
    ---------------------------
    dev-manual/libraries.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ff8595ec8
    ---------------------------
    dev-manual/layers.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 40af24177
    ---------------------------
    dev-manual/layers.rst: re-organize the document
    
    The first section of the layers document shows how to manually create a
    layer step-by-step, and references bitbake-layers create-layer at the
    end. Change the approach of this section to show how to use the
    bitbake-layers create-layer command to create a layer, and then explain
    how a layer is organized and configured. This avoids repetition, and we
    should encourage users to use pre-built tools when they can do things in
    a less error-prone way.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d96a93b1c
    ---------------------------
    dev-manual/external-toolchain.rst: remove obsolete poky repo references
    
    Remove the single poky repository reference in this document, after the
    poky repository was obsoleted.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 8a8a4d77e
    ---------------------------
    dev-manual/error-reporting-tool.rst: remove obsolete poky repo references
    
    Remove the single poky repository reference in this document, after the
    poky repository was obsoleted.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 27cfed1fc
    ---------------------------
    dev-manual/debugging.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 2c45968fd
    ---------------------------
    dev-manual/building.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 472a5c353
    ---------------------------
    contributor-guide/submit-changes.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases.
    
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: b47987aba
    ---------------------------
    kernel-dev/advanced.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases, and refer to bitbake-setup or the manual setup in the
    intro.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 05a506686
    ---------------------------
    bsp-guide/bsp.rst: remove obsolete poky repo references
    
    Remove references to the Poky repository, replace by OpenEmbedded-Core
    in most cases, and refer to bitbake-setup or the manual setup in the
    intro.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 68586e603
    ---------------------------
    dev-manual/start.rst: remove obsolete poky repo references
    
    The Poky repository has stopped being updated in favor of bitbake-setup
    or manual clones of the required repositories. Simplify the document by
    making references to these guides as well as removing sections that
    are covered in the references documents.
    
    Keep a "Initializing the Build Environment" as this task is common and
    referenced in different places in the documentation.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: a7c169229
    ---------------------------
    dev-manual/poky-manual-setup.rst: remove obsolete poky repo references
    
    The commit "dev-manual/start.rst: simplify the document after poky
    obsolescence" removed some of the information related to source archives
    published on downloads.yoctoproject.org. Mention it in this document as
    it makes sense to use those when manually setting up a Poky build.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0b909e6c8
    ---------------------------
    transitioning-to-a-custom-environment.rst: remove obsolete poky repo references
    
    - Use :term: for Poky.
    - Mention use of fragments instead of local.conf.
    - Remove Yocto < 2.4 reference.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d7d5ddeda
    ---------------------------
    tree-wide: figures: remove title PNGs
    
    We used to have banners at the top of each main section before we
    migrated to Sphinx and those aren't used anymore, so let's remove them
    from the tree.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: fdc14a205
    ---------------------------
    ref-manual/terms.rst: refresh the OpenEmbedded build system definition
    
    Remove the mention of Poky containing BitBake, just mention BitBake.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: b42c033bf
    ---------------------------
    dev-manual/poky-manual-setup.rst: mention the Source Directory
    
    After switching to the new definition of "Source Directory", i.e. the
    base directory for your project (which used to be poky), mention it in
    this document on manually setting up the layers for a project. As stated
    in terms.rst, use "project" for the directory name.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 9ad8a0aa7
    ---------------------------
    ref-manual/terms.rst: simplify the Source Directory definition
    
    Now that we no longer have Poky around, simplify the Source Directory
    definition:
    
    - Make references to existing documents that show how to create this
      Source Directory.
    
    - This directory contains sources, the layout in which they are
      presented does not matter so much, as it can be different and/or
      freeform depending on whether we use bitbake-setup or not.
    
      The definition chooses "bitbake-builds" as the name of the source directory
      and is the one that should be used when showing examples in the
      documentation.
    
      A typical Source Directory would look like the following:
    
      bitbake-builds/
      ├── build/
      └── layers/
    
    Other parts of the documentation referencing to this as the Poky
    repository still have to be updated.
    
    This will also mean that this definition will be used a lot less across
    the documentation: in most cases, when the "Source Directory" is
    referenced as the Poky repository, it can be replaced by
    OpenEmbedded-Core, Bitbake, the documentation, or meta-yocto. We'll keep
    this definition around regardless, as it can be useful to denote this
    group of directories in a more general sense.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: dd328b79a
    ---------------------------
    ref-manual/terms.rst: refresh the OpenEmbedded-Core definition
    
    After the Poky repository obsolescence, refresh the OpenEmbedded-Core
    definition.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 476780d77
    ---------------------------
    ref-manual/terms.rst: refresh the Build Directory definition
    
    After the Poky repository obsolescence, refresh the build directory
    definition. Fix the formatting and indenting issues while at it.
    
    Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 6256a73d7
    ---------------------------
    migration-guides: add release notes for 5.0.15
    
    Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 52ec12522
    ---------------------------
    sdk-manual: appendix-obtain: fix default path for eSDK installer script
    
    The eSDK installer script installs in poky_sdk directory but under the
    user's home directory so let's make that explicit.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ede411d70
    ---------------------------
    sdk-manual: using: fix SDK filename example
    
    I'm pretty sure we meant to use the DISTRO poky.yaml.in placeholder
    which can only be replaced when surrounding by & and ; characters.
    Therefore let's fix this oversight.
    
    Also, the example isn't actually pointing at the snapshot, but the
    actual release, so let's reword that as well so it matches the example.
    I decided to do that instead of adding +snapshot to the filename because
    the example in the next section is actually using that same filename so
    for consistency it seemed more appropriate.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 41ee642c3
    ---------------------------
    sdk-manual: appendix-obtain: use parsed-literal block for naming convention of the installer scripts
    
    It's easier on the eye to use a parsed-literal block for highlighting
    things that must be changed than simply stating the word, so this makes
    use of a parsed-literal block instead of a simple inline code-block and
    also highlight in italic which words are placeholders.
    
    Also make the explanation below the literal-block use the same
    highlighting (italic).
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: ffaea8391
    ---------------------------
    sdk-manual: delete sdk-title PNG
    
    It hasn't been used since the migration to Sphinx so let's remove it.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 39fb14879
    ---------------------------
    sdk-manual: replace sdk-environment PNG with SVG
    
    This replaces the PNG figure with an SVG.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 77b24b4a8
    ---------------------------
    sdk-manual: appendix-obtain: replace eSDK directory structure PNG with a parsed-literal block
    
    This PNG is totally unnecessary and makes accessibility much worse, so
    let's simply replace the PNG with a parsed-literal block showing the
    same directory layout with the same highlighted placeholders.
    
    While at it, update the layout to match the more recent one (5.0.15) and
    have it alphabetically sorted (mixed files and directories).
    
    The placeholders are highlighted the same way inside and outside the
    parsed-literal block for consistency.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 0c68497ec
    ---------------------------
    sdk-manual: appendix-obtain: replace directory structure PNG with a parsed-literal block
    
    This PNG is totally unnecessary and makes accessibility much worse, so
    let's simply replace the PNG with a parsed-literal block showing the
    same directory layout with the same highlighted placeholders.
    
    While at it, update the layout to match the more recent one (5.0.15) and
    have it alphabetically sorted (mixed files and directories).
    
    The placeholders are highlighted the same way inside and outside the
    parsed-literal block for consistency.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: d682bce63
    ---------------------------
    sdk-manual: appending-customizing: use none lexer for BitBake code blocks
    
    No lexer exists for BitBake right now, so let's simply disable the lexer
    entirely by using the "none" lexer.
    
    I'm using "none" instead of "text" to be able to "easily" replace none
    code blocks the day a BitBake lexer exists. I "reserve" "text" for
    actual text content (e.g. a filename, or the output of a command line
    without the command line).
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 10d40604c
    ---------------------------
    sdk-manual: working-projects: properly highlight code code-blocks
    
    There are some blocks containing C code so highlight them as C with the
    "c" lexer.
    
    For autotool'ed files, there's no lexer available so "none" will do just
    fine.
    
    Finally, there's one Makefile code block so highlight it with the
    "makefile" lexer.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 04c883216
    ---------------------------
    sdk-manual: fix improper indent of general form of tarball installer scripts
    
    poky-glibc-host_system-image_type-arch-toolchain-ext-release_version.sh
    is in a code-block and thus requires to be indented (it is). Sphinx
    knows a block has ended when the indentation of the next line is smaller
    than in the block, otherwise it's all in the same block.
    
    The explanation of the replaceable parts in the tarball installer script
    filename should be text and not part of the block, so let's do that.
    
    While at it, reformat by putting each replaceable part in a bullet list,
    highlight the replaceable part or what it can replaced with as well as
    putting the replacement on the same line instead of making it a quote by
    having them indented in the bullet list.
    
    Finally, replace the literal block (::) with a parsed-literal block so
    we can highlight the placeholders appropriately.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: c6039ce11
    ---------------------------
    sdk-manual: fix incorrect highlight language for console code-blocks
    
    When unspecified in conf.py via the highlight_language variable (and
    highlight variable for code-blocks), the lexer used for literal blocks
    is "default" which tries to highlight the block as Python code.
    
    These blocks aren't Python but simple command lines prefixed by a
    prompt so let's use the "console" lexer to properly highlight.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
    ---------------------------
    Commit: 72354c270
    ---------------------------
    sdk-manual: fix incorrect highlight language for text code-blocks
    
    When unspecified in conf.py via the highlight_language variable (and
    highlight variable for code-blocks), the lexer used for literal blocks
    is "default" which tries to highlight the block as Python code.
    
    These blocks aren't Python but either simply the console output or a
    file name (which we should probably just double tick-quote instead), so
    let's render those blocks with the "text" lexer.
    
    Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
    Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
    
