uhd (4.8.0.0+ds1-2ubuntu2.1) questing; urgency=medium

  * No-change rebuild for boost 1.88.

 -- Matthias Klose <doko@ubuntu.com>  Fri, 08 Aug 2025 08:07:28 +0200

uhd (4.8.0.0+ds1-2ubuntu2) questing; urgency=medium

  * Don't build examples not building with boost1.88.

 -- Matthias Klose <doko@ubuntu.com>  Fri, 08 Aug 2025 07:52:22 +0200

uhd (4.8.0.0+ds1-2ubuntu1) questing; urgency=medium

  * Fix ftbfs with GCC 15. Closes: #1098032.

 -- Matthias Klose <doko@ubuntu.com>  Thu, 07 Aug 2025 09:13:24 +0200

uhd (4.8.0.0+ds1-2) unstable; urgency=medium

  * upload to unstable
  * Standards-Version 4.7.1 no changes

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 24 Feb 2025 20:36:39 -0500

uhd (4.8.0.0+ds1-1) experimental; urgency=medium

  * New upstream release
  * upload to experimental for new library soversion
  * build with -g1 on sh4 (Closes: #1086686)
  * fix Python SyntaxWarning (Closes: #1087154)
  * uhd-host: Add Appstream metainfo announcing HW support *Closes: #1079109)

 -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 01 Feb 2025 17:24:47 -0500

uhd (4.8.0.0-0ubuntu1) UNRELEASED; urgency=low

  * Highlights / Main Changes
    - Addition of rfnoc_modtool and further improvements to RFNoC Image Builder
      toolsets. This further improves the ability to design RFNoC blocks and
      create custom FPGA bitfiles.
    - Replaced RFNoC FFT block with a new version
    - Improved Windows installation capabilities including distribution
      of binary Python bindings for Windows though PyPI
  * New Features
    - Image Builder
      - Add GRC support. This allows designing RFNoC bitfiles from GNU Radio
        Companion (GRC).
      - Improve clock connection checks and checks for duplicate connections.
      - Improve IO port compat check (e.g., check if wire widths match).
      - Allow default clocks in domain checks.
      - Simplify image core YAMLs by better usage of RADIO_NIPC parameter.
      - Improve parameter resolution.
      - Improve error messages for missing YAML files.
      - Add --SYNTH and --CHECK options.
      - Add support for building an FPGA image using multiple parallel jobs and
        unique seeds with repeat_fpga_build.py and the --fpga-jobs option.
      - Add 'q' (or 'quote') filter to YAML files to allow quoting strings.
    - rfnoc-gain (OOT RFNoC example)
      - Overhaul directory structure, and rename to rfnoc-gain from
        rfnoc-example.
      - Simplify dynamic loading of OOT DLLs by using the new modules.d feature.
      - Add CE clock support to gain block. This enables the example on X4x0.
      - Add a GNU Radio subdirectory with examples of how to run the gain block
        in GNU Radio.
    - Add rfnoc_modtool. This is a command line utility to help design OOT RFNoC
      blocks and replaces the previously available blocktool.
    - RFNoC
      - Add tune requests. This allows tuning a complete graph as known from
        multi_usrp instead of single blocks individually.
      - Replace FFT block with a new version supporting larger FFT sizes and
        cyclic prefix insertion and removal.
    - multi_usrp
      - Add Python bindings for get_user_settings_iface()
    - General UHD
      - Add modules.d support
      - Add uhd::find_uhd_command() API call
      - Remove old-style Boost.Asio usage for compatibility with future versions
        of Boost.
    - Embedded Filesystem
      - Support for USB Audio devices on E31X, E320, N3XX and X4XX
    - Windows binary installer
      - Simplified the Windows installer experience by reducing the number of
        individual downloads from 4 (for USB devices) to 2, by including
        libusb.dll and USB driver installer files into NSIS-built installer
        binaries.
      - Add new cmake feature option called ENABLE_EXTEND_WIN_PACKAGING,
        which defaults to off. Enabling this feature will cause a number
        of convenience components to be included into the Windows deployment
        package (aka. installer).
        Enabling this feature has no effect on other platforms.
      - Added binary Python bindings for Windows installable through PyPI
        (pip install uhd)
    - Documentation
      - Add documentation about relationship of MTU, samples per packet and
        atomic item size
  * Dependencies changes
    - Increase minimum required versions
      - CMake to 3.12
      - Boost to 1.66
  * Bug Fixes
    - General UHD
      - Fix compatibility with DPDK >= 22.11
      - Fix compiler warnings for better compatibility with C++17 and 20.
      - Add logic for loading uhd.dll from the correct path for Windows with
        Python3.8+.
      - Add logic to warn about potential incompatibilities when importing
        Python bindings.
      - Remove duplicate results from find
      - Release GIL when calling find from Python which improves response time
        for large setups.
    - Python support
      - On Windows now also enable building python support if minimum supported
        python version is detected.
      - Changed version number format for build Windows binaries to common
        major.api.abi.patch format.
    - MPM
      - Allow images without RF frontend (will only be initialized if FPGA
        reports availability)
      - Fix usrp_update_fs to work for all embedded devices (and not just X4xx)
    - E320: Ensure consistent sequencing when powering on/off GPSDO
    - N310/N300: Fix LO query API for lowband LO
    - RFNoC
      - RFNoC DDC/DUC block (used in all Gen-3 USRPs and X410): Fix fractional
        frequency offset.
      - Fix AIS/spp calculation (e.g., for connecting FFT blocks).
      - Fix USE_IMPL rendering for the addsub block.
    - Image Builder
      - Fix colors
      - Fix error message for missing control SEP
      - Improve error reporting for invalid connections
      - Accept ~ and ~user on command line
      - Fix deprecated usage of yaml.load()
      - Ensure correct device tree files generation when choosing a custom build
        directory
    - rfnoc_modtool
      - Fix generation of noc_shells
  * Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
     docker container definitions in the UHD repository at .ci/docker/...)
    - Linux:
      - Ubuntu: bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)
      - Fedora: 39, 40, 41
    - Windows: 10 21H2, 11 21H2
    - MacOS: Monterey (12.6)

 -- Ettus Research <uhd.maintainer@emerson.com>  Thu, 23 Jan 2025 05:54:22 -0800

uhd (4.7.0.0+ds1-2) unstable; urgency=medium

  * uhd-host depends upon python3-usb as in LP: #2060882 (Closes: #1068772))
  * Fix packaging of dpdk-tests install path (Closes: #1076198)
  * upload to unstable for transitions

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 14 Jul 2024 14:53:47 -0400

uhd (4.7.0.0+ds1-1) experimental; urgency=medium

  * New upstream release
  * Upload to experimental for soversion bump.

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 10 Jul 2024 22:15:13 -0400

uhd (4.7.0.0~0ubuntu1) UNRELEASED; urgency=low

  * Highlights / Main Changes
    - Major updates to rfnoc_image_builder (a98ce26). This change adds support for
      defining transport adapters in the image builder YAML files, adding custom
      modules, and more.
    - Updated embedded OS on file system images for E3xx, N3xx, and X4xx devices
      to Yocto 4.0 (kirkstone).
  * New Features
    - General
      - Allow installing only Python-based utilities (e.g., rfnoc_image_builder)
        by adding the ENABLE_PYMOD_UTILS option to CMake.
      - Added ability to query dot representation of RFNoC graph
    - Python support
      - Added DRAMReceiver class and amend rx_to_file.py example to use new class.
        This supplements the DRAMTransmitter class and simplifies using the DRAM-backed
        RFNoC replay block to when signal bandwidth exceeds available streaming bandwidth.
    - CMake
      - We now search for a system version of Pybind11 before falling back to the
        bundled version. The system version is preferred, and the bundled version
        may be removed in a future release.
    - RFNoC
      - Image builder: Major update, which adds support for defining transport
        adapters in the image builder YAML files, adding custom modules, choosing
        custom directories for build, IP, and intermediate files, building IP
        only, saving Vivado projects, and more. Image core YAML files created with
        this version are not compatible with previous versions, and vice versa!
        Also adds many more checks to avoid building bitfiles that are either
        incomplete, or valid but probably not the desired outcome.
      - Added support for defining custom register spaces in RFNoC blocks.
      - Added license checking subsystem. This allows creating RFNoC blocks that
        require a license key to operate.
      - Add device DNA feature for X310, X410, X440. This allows reading back the
        FPGA's DNA, which is a unique identifier.
    - Embedded OS for E3xx, N3xx, and X4xx devices
      - With the switch to Yocto 4.0 (kirkstone), the SD card and eMMC images no 
        longer pre-populate the second system partition. Refer to the device 
        specific "Updating Filesystems" section in the user manual for how to populate it.
        This reduces the size of compressed .sdimg filesystem images.
    - X440
      - Added new guided log info mode to provide more information about the Nyquist
        zone in which the chosen frequency is located. These additional info logs
        are enabled by default. For disabling the guided mode, add the entry
        `guided_mode=false` to the UHD config file in the "Global" section.
    - Examples
      - rfnoc-example now also generates Python bindings for OOT block control functions.
  * Dependencies changes
    - Increase minimum required version
      - Python to 3.7.0
      - Pybind11 to 2.7.0
  * Bug Fixes
    - General UHD
      - Fix issue with undefined HOME or XDG_CONFIG_HOME
      - Fix compilation error with boost 1.85.0 (closed issue 740)
      - Fixed cmake find_library for UHD to fail if the library is not found
      - Fixed setters for ALL_CHANS in multi_usrp
      - Demoted safe call logging to warning
      - Fixed outstanding clang-format issues
      - Fixed compiling with gcc 13.2
      - Removed superfluous usage of const in return values
    - Python support
      - YAML files are now listed as part of the package
      - Fix setting start_time having no effect
    - RFNoC
      - Add EOB to source port of null_src_sink block
      - Fix RFNoC graph action queue lockup on action exceptions
      - FIR filters now uses newer IP revisions
      - Reverse FIR filter coefficients now get embedded in DSPE48
    - B2xx
      - Fixed FRAC2 calculation (closed issue 684).
      - Fix DC truncation bias by adding rounding to DDC chain
    - X310
      - Fix warning about duplicate reg
      - ubx
        - update ubx xcvr mode options
        - write output power to correct LO
        - Fix width of gain register
    - MPM
      - Deactivate explicit DAD (Duplicate Address Detection) on int0 interface
        since this is the default behavior of systemd v250.5 (Yocto release kirkstone)
        for static IPv4 addresses if the IP address is a link local address.
      - Correct outdated mender command in prints of usrp_update_fs utility
      - No longer import from from rpc_server when already importing usrp_mpm
      - Demoted log level of ECHO send error
      - No longer print iptables errors when setting up forwarding
    - X400 Platform
      - Add PPS interface to X410/X440 BSP
      - Add netlist make flow
      - Update PS DRAM speed bin
      - Replace Ethernet transport adapter
    - X410
      - Set Locale for ZBX Lattice build
      - Improve Lattice make flow
    - X440
      - Fix error in master clock table for 1000MHz mcr.
      - Place SPI into IOB on X440
      - mpm
        - Add error for recurring TA node inst values
        - Fix warning about different converter rates
        - Fix MTS skip for dual-rate
        - Use greatest converter rate for sysref rate
        - Add warning for bad conv rate order
        - Enable multiple LMK VCO rates per MCR
    - Examples
      - Fix rx_samples_to_file failure for multichannel fullpath.
      - Fixed bugs observing cmd argument -c in remote_rx.py example.
      - Updated tx_waveforms examples now also use timed commands during
        frequency tuning for all devices except for x410.
        On X440 this allows reproducing specified channel to channel phase alignments.
      - Consistently comment out sections in rx_samples_to_file.
  * Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
     docker container definitions in the UHD repository at .ci/docker/...)
    - Linux:
      - Ubuntu: bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)
      - Fedora: 34, 35, 36
    - Windows: 10 21H2, 11 21H2
    - MacOS: Monterey (12.6)

 -- Ettus Research <packages@ettus.com>  Fri, 28 Jun 2024 03:18:38 -0800

uhd (4.6.0.0+ds1-6) unstable; urgency=medium

  * Fixup conflict replaces (Closes: #1063324, #1063085)

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 18 Apr 2024 23:25:00 -0400

uhd (4.6.0.0+ds1-5.1) unstable; urgency=medium

  * Non-maintainer upload.
  * Rename libraries for 64-bit time_t transition.  Closes: #1063085

 -- Steve Langasek <vorlon@debian.org>  Wed, 28 Feb 2024 20:10:38 +0000

uhd (4.6.0.0+ds1-5) unstable; urgency=medium

  * install utilities on hurd
  * include upstream metadata

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 15 Dec 2023 22:34:58 -0500

uhd (4.6.0.0+ds1-4) unstable; urgency=medium

  [ Christian Ehrhardt ]
  * d/p/adapt-to-dpdk-23.11.patch: fix build with new DPDK 23.11
    (Closes: #1057200)

  [ A. Maitland Bottoms ]
  * no tests defined, remove TestSuite:

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 03 Dec 2023 21:45:35 -0500

uhd (4.6.0.0+ds1-3) unstable; urgency=medium

  * Adjust autopkgtest settings

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 26 Nov 2023 15:13:20 -0500

uhd (4.6.0.0+ds1-2) unstable; urgency=medium

  * Upload to unstable
  * Enable PDF documentation

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 23 Nov 2023 20:45:40 -0500

uhd (4.6.0.0+ds1-1) experimental; urgency=medium

  * New upstream release
  * Upload to experimental for soversion bump.
  * improve debian/rules clean target (Closes: #1047319, #1049838)

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 22 Nov 2023 00:13:03 -0500

uhd (4.6.0.0-0~0ubuntu1) UNRELEASED; urgency=low

  * ci
    - only build docker images once per week
    - propagate testLength to RF ATS
    - replace deprecated ruamel.yaml methods
    - use build farm for windows builds
  * cmake
    - Fix make_x410 and make_x440 targets
  * deb
    - copyright file update to eliminate errors and warnings
  * docs
    - X440: Add FBX to daughterboard list
    - X440: Corrected web link syntax in FBX doc.
    - x440: Add X440_X4_200 to image flavors
    - Add dual-rate documentation
  * examples
    - L band capture example using dual rate
  * fpga
    - ci: Add X440_X4_200 to pipelines
    - lib: Allow buffering in eth_ipv4_chdr_adapter
    - n3xx: Add CE clock
    - rfnoc: Add clock info to backend ifc
    - rfnoc: radio: Add clock index parameters
    - tools: Add X440_X4_200 to X440 package
    - x400: Add CE clock
    - x400: Add X440 200 MHz variant with DDC/DUC
    - x400: Split DRAM interface into two banks
    - x400: Update PL DRAM speed bin
    - x400: bump minor revision
    - x400: pps_sync cleanup
    - x400: propagate pps_sync changes
    - x400: update signals to run on two domains
    - x440: cpld: led control cleanup
    - x440: remove extra synchronizer
  * images
    - bump x4xx fpga images
    - update non-x4xx images
  * lib
    - rfnoc: Add clock info fields to client zero
    - rfnoc: Add support for auto-clock discovery
    - x4xx: Use auto clock ID in x400_radio_control
  * mpm
    - x440: Add lookup table for default MCR per DSP bandwidth
    - x440: Multi-Tile Sync disabled when using dual rate
    - x400: Align FPGA revision
    - x400: match HDL PPS updates
    - x400: make PRC a multiple of both rfdc rates
    - fix timekeeper misalignment
  * multi_usrp
    - Added module_serial to info
  * rfnoc
    - Enable SEP throttle register
    - image builder: Add clock index support to image builder
  * utils
    - init device with gpsdo sources in query_gpsdo_sensors
  * x4xx
    - Add support for auto clock ID
    - FPGA designs now use a replay block per utilized DRAM bank
  * x440
    - Add support for using radio block specific master clock rates
    - X4_440 and X4_1600 fpga image now contain 2 replay blocks
      (number of ports per replay block halved compared to previous release)

 -- Ettus Research <packages@ettus.com>  Sun, 12 Nov 2023 02:44:06 -0800

uhd (4.5.0.0+ds1-3) unstable; urgency=medium

  * update udev rules
    add support for the B205 mini device

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 06 Oct 2023 16:10:20 -0400

uhd (4.5.0.0+ds1-2) unstable; urgency=medium

  * Upload to unstable

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 02 Oct 2023 20:54:26 -0400

uhd (4.5.0.0+ds1-1) experimental; urgency=medium

  * New upstream release
  * not building Doxygen output refman.pdf (Closes: #1052896)
  * upload to experimental for soversion bump

 -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 30 Sep 2023 10:04:32 -0400

uhd (4.4.0.0+ds1-4) unstable; urgency=medium

  * Ensure build using --no-arch-any

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 16 Jul 2023 14:22:15 -0400

uhd (4.4.0.0+ds1-3) unstable; urgency=medium

  * simplify debian/rules, clean up dpdk dependencies

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 16 Jul 2023 08:29:56 -0400

uhd (4.4.0.0+ds1-2) unstable; urgency=medium

  * Upload to unstable
  * Build using GCC-13 (Closes: #1037877)

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 13 Jul 2023 22:41:36 -0400

uhd (4.4.0.0+ds1-1) experimental; urgency=medium

  * New upstream release
  * upload to experimental for soversion bump
  * use xelatex and amsmath to cope with box-drawing unicode and pmatrix

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 10 Jul 2023 19:04:42 -0400

uhd (4.4.0.0-0ubuntu1) ubuntu_release; urgency=low

  * Features
    - Raw UDP Traffic to Remote Destination for RFNoC-enabled devices
  * C API
    - Fix double-free issue with sensor values
  * ci
    - Add clang-format 14.0 to the Ubuntu 22.04 container
    - devtest: Test E320 1G FPGA Image
    - Filter uhd_find_devices checks by device type
    - increase timeout for x4xx hardware test job
    - Pull UHD version from UHDConfigVersion.cmake
    - Replace Rhombus E320
    - Update docker repo location
  * cmake
    - fix UHDAtomics.cmake to read custom Boost install prefix
    - Fix build with GCC 13 (add missing <cstdint> include)
  * devtest
    - Add multi-spc timed command tests
  * docs
    - Fix typo in Python API dox file
    - Phase noise consideration when using external clock with E320
    - rfnoc: Fix Doxygen warnings on chdr_packet::set_metadata()
    - Update manual for X3x0 raw UDP streaming
  * e320
    - Allow internal GPSDO to be powered-down via UHD session args
  * e3xx
    - add support for power calibration api
  * examples
    - remote_rx: Add --mac-address argument
    - rx_samples_to_file: Add disk write speed check
    - rx_samples_to_file: Add multichannel option
    - Upgrade RFNoC example to Vivado 2021.1
  * fpga
    - ci: Create local copy of patches to use
    - Cosmetic changes to rx_frontend_gen3_tb
    - docs: Fix AR76780 dependency
    - e320 Change MIG arbitration to RD_PRI_REG
    - Fix overflows in DDC
    - Fix overflows in quarterrate downconverter
    - Fix warnings in dds_freq_tune module
    - lib: Add align_samples module
    - lib: Add verilog-compatible wrapper for eth_ipv4_chdr_adapter
    - lib: Add ZPU support to SV transport adapter
    - lib: Fix indentation in setting_reg.v
    - lib: Fix inferred latch in ep_autonegotiation
    - lib: Support time and data updates in sim_radio_gen
    - lib: Update header for AXI4S add/remove bytes
    - Require AR76780 for X3xx and E3xx
    - Restore FIR filter in rx_frontend_gen3
    - rfnoc: Add align_samples testbench
    - rfnoc: Add timed sample alignment to radio
    - rfnoc: Fix inferred latch in chdr_strip_header
    - sim: Fix typo in clk_wait_f
    - tools: Detect check_timing issues during build
    - tools: Fix error detection in run_testbenches.py
    - x300: Bump FPGA compat to 39.1
    - x300: Change MIG arbitration to RD_PRI_REG
    - x300: Support advanced transport adapter
  * host
    - ADC cal: Add ability to set calibration mode explicitly
    - cal: Rearrange ADC self calibration routine
  * images
    - Update manifest - timed sample alignment in RFNoC
  * lib
    - Fix warning in ctrlport_endpoint.cpp
    - topo graph: Fix rule-of-3 related compiler warnings
  * mpm
    - Add a lock to the rpc server timer
    - Better error message for multiple assigned MACs
    - Fix rpc process shared state and port argument positions
    - Move parse_encoded_git_hash() to mpmutils
    - rfdc: Add X4xx 125e6 master clock rate
    - rpc server: Capture claim token value before releasing state lock
    - x4xx: Remove references to white rabbit
  * n3xx
    - Increase tune timeout
  * octoclock
    - Fix type of eeprom object in property_tree
  * rfnoc
    - Add logging to some throw statements
    - lsm: Improve logging/error messages
    - Move detection of TAs post-LSM-init
    - streamers: Fix scaling factor
  * tests
    - add ramdisk cfg option to streaming setup
    - add support for 10-100GB x410 raw udp
    - add x310 raw udp tests
  * uhd
    - Fix RfnocGraph pybind binding for get_tree
    - python: Bind {separate,combine}_device_addr{s}
    - python: Make DeviceAddr behave like dict
    - When separating device_addr_t, keep indexed values
    - Add xport_adapter_ctrl core
  * x300
    - Enable use of advanced transport adapters
    - Respect X300_FW_COMMS_FLAGS_ARP_FAIL flag
    - Update firmware for TA control

 -- Ettus Research <packages@ettus.com>  Fri, 27 Jan 2023 01:16:40 -0800

uhd (4.3.0.0~rc2+ds1-1) experimental; urgency=medium

  * New upstream pre-release
  * upload to experimental for new soversion and library package

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 12 Sep 2022 22:18:41 -0400

uhd (4.2.0.0+ds1-3) unstable; urgency=medium

  * Re-enable python3-uhd on mipsel (Closes: 1014239)
  * Use versioned subdirectory for libuhd4.2.0-dpdk-tests (Closes: #1014260)

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 06 Jul 2022 19:58:38 -0400

uhd (4.2.0.0+ds1-2) unstable; urgency=medium

  * Fix manpage installation for binary-any builds (Closes: #1014127)

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 30 Jun 2022 17:00:07 -0400

uhd (4.2.0.0+ds1-1) unstable; urgency=medium

  * New upstream release
  * update watch file
  * use /usr/libexec/uhd for some executables

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 30 Jun 2022 00:28:20 -0400

uhd (4.2.0.0+dfsg-1) experimental; urgency=medium

  * New upstream release
  * upload to experimental for soversion bump

 -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 25 Jun 2022 20:19:05 -0400

uhd (4.2.0.0-1~ettus) ETTUS_BUILD; urgency=low

  * b200
    - Re-sync times
    - Fix overflow handling
    - Move the B200 radio control core into usrp/b200/
  * cal
    - Use safe version of set_thread_priority()
    - Fix handling of discontinuities in power calibration data
  * chdr
    - Rename var max_size_bytes to avoid confusion
  * ci
    - Weekly builds for UHD-4.2 docker images
    - Update builds to macOS 12 Monterey
    - Update commit vcpkg and CMake version
    - Set continue on error and reduce timeout to 60
    - Remove obsolete x4xx pipelines
    - Upload devtest logs as artifact
    - Propagate downloader errors and lower timeout
    - Enable ctest on macOS builds
    - Flash fpga on x410 ATS runs
    - Add mpm folder to triggers
    - Change yaml dependency to ruamel
    - Add support for Ubuntu 22.04
    - Remove Fedora 33 and add Fedora 35
    - Add libuhd python dependencies to macOS
    - Add x410 test to mono pipeline
    - Enable building of init_usrp
    - Make uhdSrcDir directly reference Build.SourcesDirectory
    - Build gnuradio and gr-ettus
    - Add gnuradio deps to images
    - Generate installed binaries for downstream use
    - Add displayNames to parameters
    - Add embedded builds to uhd mono pipeline
    - Separate pipeline builds for different os
    - Refactor dockerOSName to buildOSName
    - Build on macOS
    - Device wait to redlock scope for Vivado close
    - Add Fedora 34 and remove Fedora 32
    - rebuild docker images weekly
    - Refactor installers and add Windows support
    - Add gnuradio gr-ettus to oe builds
    - Update template to use checkout_meta_ettus
    - Add custom boost version support
    - Remove documentation-only changes from pipeline runs
    - Enable batch CI
    - Split CI and PR pipelines for mono pipeline
    - Enable custom CXX flags, enable -Werror
    - Let make keep building upon failure
    - Add clang as a compiler to all Fedora and Ubuntu containers
    - Add CLA assistant
  * cmake
    - mpm: Skip installing binaries for SIM
    - doxygen: Make MATHJAX_RELPATH configurable via CMake
    - ncurses: fix building with split tinfo
    - Remove libatomic check on macOS
    - Added libatomic check for boost/lockfree/queue.hpp
    - uhdboost: Fix check for UHD_BOOST_REQUIRED being set
    - Replace distutils.sysconfig with sysconfig
    - Replace distutils with CMake for version checks
    - Set debug to -Og for Clang builds
    - tests: Conditionally compile tests for X400
    - Use LooseVersion to ensure correct version comparisons
    - Fix rfnoc-example (CMake paths)
    - Fix issues with static builds and CMRC
    - Replace CMAKE_{SOURCE,BINARY}_DIR with UHD_*_DIR
    - tests: Add build-python path to PYTHONPATH
    - Add check for libatomic linking requirement
    - Remove duplicate entry in LIBUHD_PYTHON_GEN_SOURCE
    - Fix VS names and use relative for images
    - remove redundant include
    - Correctly set and unset any CMAKE_REQUIRED variables
    - Fix finding PkgConfig to work robustly (without CMake warnings)
  * config
    - Fix clang fallthrough syntax
  * conversion
    - Saturate transmit IQ levels on NEON architectures.
  * convert
    - Make narrowing conversions saturate
    - Add benchmarking abilities
    - Minor cleanup
  * core
    - Remove boost::math in favor of std cmath
  * dbsrx
    - Fix issue with loop variable
  * debian
    - Update version number to 4.2.0
    - Update control and package building
  * debs
    - Update upload_debs script
  * deps
    - rpclib: Replace distutils.dir_util with shutil
  * devtest
    - Clarify data type in multi_usrp_test::send_waveform()
    - Add receive stability test to B2xx devtest
    - Add receive stability test
  * dissectors
    - Fix whitespace formatting in CMake files
    - Fix inclusion of glib.h and Python version
  * docs
    - multi_usrp: Clarify GPIO source bank meaning
    - x4xx: Document configuring eth0 static IP
    - n310: Add Filter API section
    - e31x: Update information on GPIO pin header
    - Add 100GigE documentation
    - Move X4x0 GPIO API to be subpage
    - Update E320 docs
    - x4xx: Remove redundant GPIO section
    - rfnoc: Add doxygen tag for missing parameter
    - Improve table on 'identification'
    - Update instructions for changing hostname
    - Update sfp port config location
    - Update manual for new X410 default targets
    - Fix Doxygen warnings
    - Fix reference to RFNoC documentation
    - rdtesting: Remove invalid rate configuration
    - stream_args: Clarify usage of stream_args_t::channels
    - n3xx: Add info on customizable band edges and gain profiles
    - x4xx: Add new FPGA image descriptions
    - Improve documentation for replay block
    - Remove superfluous stylesheet
    - x310: Remove reference to ORC
    - Update n3xx tuning notes
    - Remove full path names from Doxygen generation
    - Add shim Sphinx config for readthedocs
    - Improve page on RFNoC block properties
    - Fix page on GPIO
    - Fix MathJax formulae rendering
    - Amend page on RFNoC properties
    - Remove bmaptool instructions for writing filesystems
    - Remove obsolete man pages
    - Update DPDK documentation
    - Improve documentation for properties and -propagation
    - Several minor manual improvements
    - x410: Document GPIO API and capabilities
    - Collect all RFNoC block controllers in a module in the manual
    - Align dependencies and bump deb package versions
    - Clarify set/get_gpio_attr() and GPIO banks
    - Fix GPIO documentation example
    - x410: Fix info on loading SD card images with bmaptool
    - Improve docs for rx_streamer::recv() on overruns
    - sync: Update page on synchronization
    - Fix typo in ZBX Block Diagram
    - usrp_x4xx: improve filesystem update instructions
    - x4xx: Update information on CPLD updating
  * dpdk
    - Add support for DPDK 18.11 API
    - Correct MTU warning message
    - Support new MTU discovery
    - Disable warnings for using an experimental feature
    - Upgrade to DPDK 19.11 API
  * e31x/e320
    - Amend LO-locked sensor names
  * e320
    - mpm: Remove monitor thread
  * e3xx
    - Fix frequency querying
    - Remove unused constant
  * examples
    - gpio: Separate bank and port arguments
    - Fix channel indexing when reading USRP power
    - Fix gain testbench name
    - Add replay_capture.py
    - benchmark_rate improvements
    - replay: Improve rfnoc_replay_samples_from_file
    - Support multiple streamers in benchmark_rate
    - Fix tx_bursts bandwidth/freq/gain reporting
    - Improve rfnoc_rx_to_file
    - Use cmul for gain block in-tree IP example
    - Test all variants in gain testbench
    - Make IQ order clear in gain RFNoC block
    - Improve txrx_loopback_to_file (late recv, Boost, timing)
    - Show how to use in-tree Verilog header
    - Add x400/x410 target to RFNoC example
  * fgpa
    - rfnoc: Set Replay memory transactions to 2 KiB
  * firmware
    - Remove N230 firmware
  * fpga
    - x400: Increase replay SEP buffer sizes
    - x400: Add timed commands support for all radio ctrlport endpoints
    - Replay block version 1.1
    - Update all RFNoC images
    - ci: Add X4_400 to CI targets default list
    - n3xx: Add missing BIST image core headers
    - Use PROTOVER and CHDR_W from RFNoC image builder
    - n3xx: Fix clock frequency comments
    - e31x: Update DRAM IP simulation
    - e31x: Fix DRAM traffic gen IP name
    - ci: Schedule weekly FPGA pipeline run
    - ci: Improve IP build caching
    - ci: Add stages-based pipeline
    - ci: Ignore objects in hwtools
    - tools: Add CG_400 image to X410 binaries package
    - x400: Add x410_400_128_rfnoc_image_core
    - rfnoc: Fix PPS edge detection
    - rfnoc: Make Replay packet length independent of burst size
    - Add SPDX license identifier
    - x400: Cleanup FPGA Makefile
    - x400: Add support for DRAM with 400 MHz BW
    - x400: Change AXI XB for DRAM to 512-bit
    - rfnoc: Fix strobe probability in radio simulator
    - rfnoc: Regenerate noc_shells
    - x400: Set replay SEP buffers to twice MTU
    - Add SPDX license identifier
    - e320: Add DRAM ports
    - n3xx: Fix DRAM FIFO address alignment
    - rfnoc: Change AWIDTH default for axi_ram_fifo
    - e31x: Add DRAM support
    - rfnoc: Add BLANK_OUTPUT to FIR filter block's parameters
    - x400: Add DRAM enable macro
    - b2xx: Generate utilization report files
    - x400: zbx: cpld: Bump ZBX regmap copyright
    - x400: cpld: Bump CMI wrapper copyright
    - ci: Increase PR pipeline timeout
    - x400: Bump minor version
    - x400: Update rfnoc_image_core files
    - x400: Add Replay to 100 and 200 MHz images
    - x400: Add DRAM support
    - x400: Set DRAM speed to 2.0 GT/s
    - x400: Add axi_inter_4x64_512_bd IP
    - x400: Add axi_inter_2x128_512_bd IP
    - docs: Add B205mini FPGA info
    - n3xx: rh: cpld: Refactor CPLD build process
    - Remove noc_shell_regs.vh and sim_rfnoc_lib.svh
    - x400: cpld: Bump copyright
    - x400: Bump copyright
    - x400: Expand PS GPIO port for DIO control
    - x400: Add GPIO control via ATR and DB state
    - x400: Connect Radio Blocks to DIO
    - tools: Fix adding directories for HDL source
    - hls: Add version to generated HLS IP
    - x400: Fix rfnoc_image_core.vh path
    - e320: Connect CTRL_IN pins to FPGA
    - e320: Remove copy/paste from N310 code
    - x300: Fix time register readback
    - usrp2: update build tools to use python3
    - tools: Update Vivado scripts to use python3
    - x300: OR ATR signals going into db_control
    - x400: cpld: Add manufacturing support
    - x400: Refactor CPLDs build process
    - tools: Add Quartus build utilities
    - Add ability to get time from Radio block
    - rfnoc: Add RFNoC CHDR resize module
    - rfnoc: Add CHDR management util functions
    - lib: Clean up axi_mux
    - rfnoc: Add labels to axi_switch generate blocks
    - rfnoc: Add labels to chdr_mgmt_pkt_handler
    - rfnoc: Add documentation to chdr_xb_routing_table
    - Shorten line length for Launchpad linter
    - x300: Update synchronizer constraint
    - n3xx: Update synchronizer constraint
    - lib: Update example constraint in synchronizer
    - Update help message for setupenv.sh
    - Remove stale references to UHD_FPGA_DIR
    - tools: Add UHD_FPGA_DIR definition to synthesis
    - Set default part for sim in setupenv.sh
    - Fix Xilinx bitfile parser for Python 3
    - Re-order error and data packets
    - Fix sc16 to sc12 converter
    - rfnoc: Fix EOB loss in DUC
    - sim: Add PkgComplex, PkgMath, and PkgRandom
    - lib: Clean up and document lib files
    - x400: Remove stale information in register map
    - ci: Add testbench pipeline
  * github
    - Amend PR template with a checkbox for compat numbers
  * host
    - devtest: Allow getting mgmt_addr in tests
    - devtest: Add GPIO tests for reading back ATR settings
    - x410: Emulate GPIO classic ATR mode using new mode
    - x410: Cache GPIO source in mb_controller
    - Add power_reference_iface::sptr declaration
    - Create meta_range_t::as_monotonic
    - test: Add UHD_UNITTEST_LOG_LEVEL override
    - test: Add GPIO DDR register to x4xx mock
    - Throw exception when accessing properties with incorrect type
    - Minor cleanups in property_tree code
    - x4xx: Fix some warnings on mac OS
    - zbx: Expose tuning table on property tree
    - x4xx: gpio: Properly unmap FPGA GPIO values
    - fix build with DPDK v21.11 LTS
    - Implement nameless_gain_mixin
    - Make get_mb_controller public
    - tests: Make x4xx unit test support GPIO
    - multi_usrp: Merge set_tx_subdev_spec and set_rx_subdev_spec
    - Add divider constructor to spi_config_t
    - rf_control: Add internal antenna API abstraction.
    - tests: Add unit test for ZBX antenna API
    - Make core_iface inheritence virtual
    - Implement operator<< for data_reader_t
    - docs: Fix incorrect usage in GPIO docs
    - Add char* overload for device_addr_t
    - Make radio_control constants an enum
    - Fix typos and small things
    - Add ability to get time from Radio block
    - python: Add gpio_voltage python API
    - Add gpio_voltage discoverable feature
    - Add RPC calls for GPIO voltage
    - python: Return mb_controller with reference_internal
    - x4xx: Implement GPIO API
    - Add GPIO functions to MPM RPC shim
    - gpio: Create gpio_atr_offsets to store GPIO registers
    - Add static_assert to prevent meta_range_t(0,0)
  * ic_reg_maps
    - Generate save state read functions
  * images
    - Remove references to N230
    - Add utilization report files to B2xx image files
    - Revert x4xx manifest and FPGA compat update
    - Update N32x CPLD manifest
    - Make get_images_dir return absolute path
    - Clear out code from days of yore
    - Add the utilization report for X410 images (X4_200)
    - Update image packager script for Python 3
    - Update manifest
  * lib
    - Set dynamic_lookup and flat_namespace
    - Make simple_claimer atomic
    - SSPH: Fix comment for convert_to_in_buff()
    - Remove superfluous includes of udp_zero_copy.hpp
    - Remove all remaining usage of boost::numeric::bounds<>
    - transport: Mark typecast as intended
    - transport: Initialize _hshake_args_server
    - rfnoc: Make implicit typecasts explicit
    - rfnoc: Change enum node_type to enum class
    - Add various missing includes
  * libusb
    - Remove unused context variable
  * log
    - Add DPDK version to system info
  * math
    - fp_compare: Adapt fp_compare_epsilon API to actual use
  * max287x
    - Fix key in table of freq ranges
  * mpm
    - ad937x: Fix tuning code
    - x4xx: Fix clock/time source API
    - e3xx: Fix get_sync_sources() API
    - PeriphManagerBase: List all sync-related methods
    - Make default clock/time source values state-less
    - e3xx: Simplify code referring to self.dboards
    - speed up reading gps mboard sensors
    - n3xx: Recommend reboot USRP after BIST
    - x4xx: Remove GPIO classic mode register
    - Factor out common code between E31x_db and Neon classes
    - e3xx: Fix Pylint warnings in periph_mgr classes
    - fix ref_locked sensor on n320
    - rh: Minor linter cleanup
    - Use receiving socket for sending response
    - eeprom: Fix default values in EEPROM utilities
    - xportmgr_udp: Match DNAT arguments to manpage
    - eeprom: Improve E320 and N3x0 EEPROM code/comments
    - cmake: Remove installation of non-relevant EEPROM tools
    - x4xx: Add function to map from gpio src list indices
    - Add device name to discovery process
    - x4xx: Update FPGA minor compat number
    - Add x4xx DRAM BIST
    - Fix units for DRAM BIST
    - Remove further references to rfnoc_num_blocks
    - x4xx: Align get/set_gpio_src mappings with HDMI pinouts
    - Demote WARNING on minor compat mismatch to DEBUG
    - X410: Set correct tuning word
    - x410: Fix docstrings related to GPS sensors
    - e320/e31x: Fix lo-lock sensors
    - x4xx: Add log message for older DIO boards
    - x4xx: Move DioControl into its own module
    - x4xx: Add checks before accessing self.dio_control
    - x4xx: Remove superfluous import
    - x4xx: update mboard_max_rev
    - x4xx: Allow retrieving external power state
    - x4xx: Allow GPIO0 and GPIO1 as port names
    - x4xx: add DIO GPIO API configuration methods
    - Fix handling of rfic_digital_loopback argument
    - rfdc: Tear down RFDC on teardown
    - x4xx: update mboard_max_rev
    - add X410 support for 250e6 master clock rate
    - Expose motherboard regs for debugging
    - Skip DTS compatibility check if DTS is not being updated.
    - zbx: Fix revision compat check
    - Update usrp_update_fs to support X410
    - max10_cpld_flash_ctrl: improve programming log
  * mpmd
    - Add MTU plausibility check
    - Increase UHD-side MTU cap for 10 GbE and 1 GbE
    - Add discoverable feature for trig i/o mode
  * multi_usrp_rfnoc
    - Set assignment instead of equality
    - Add TX buffering using Replay
    - Reduce latency of get_time_now()
  * n310
    - Add Filter API to n310
    - Add frontend bandwidth control
    - cpld: Get and set TX ATR bits
    - Deactivate frontend components on radio shutdown
  * n320
    - Fix issue that occasionally prevents lo_locked upon first set_freq
    - Reduce PLL lock time
  * n3x0/e3x0
    - Remove reference to "master FP-GPIO radio"
  * n3xx
    - Add support for rev 10
    - Fix White Rabbit
  * python
    - rfnoc: Add new replay block APIs to Python API
    - Add __init__ to uhd.utils
    - rfnoc: Add connect_through_blocks() and get_block_chain()
    - Read number of ports from grc file in image builder
    - Fix RuntimeError: dictionary changed size during iteration
    - rfnoc: Add get_property bindings
    - Use setup from setuptools
    - multi_usrp: Add set_rx_spp()
    - multi_usrp: Fix issues in send_waveform()
    - multi_usrp: Fix issues with recv_num_samps()
    - Fix dropped-sample calculation in benchmark_rate.py
    - multi_usrp: Fix overloaded function definition
    - Add new method bindings to noc_block_base
    - rfnoc: Change reference type for noc_block_base export
  * radio
    - Improve log messages for non-implemented corrections
  * responder
    - Fix printw function arguments
  * rfnoc
    - Update image builder to check for deprecated blocks
    - Add filter_node python bindings
    - Modify prop. propagation algorithm (back-edge resolution)
    - graph: Allow property forwarding on back-edges
    - Fix test_timed_commands for RFNoC devices
    - Remove redundant RFNoC block descriptions
    - Update device port names in image core YAML
    - Update image builder to check for deprecated port names
    - Make RFNoC device port names consistent
    - replay: Add ability to capture and read async info
    - fir filter: Add support for multiple channels to block controller
    - Remove UHD3-API usages
    - radio: Explicitly set MTU forwarding policy to DROP
    - Fix block buffer sizes referring to MTU
    - Refactor ctrlport_endpoint; fix MT issues
    - window: Set window size register after loading coefficients
    - replay: Add atomic item size property
    - replay: Add action handler for stream commands
    - graph_utils: Add ability to declare back-edges
    - Remove references to nocscript from YAML files
    - Fix spelling in property resolution error message
    - Expose buffer parameters for DRAM FIFO block
    - Rename and enlarge axi4_mm IO signature
    - Update the MTU forwarding property for some blocks
    - Set the default MTU forwarding policy to ONE_TO_ONE.
    - Add post_init() method to noc_block_base
    - Fix _set_subdev_spec() helper function
    - set UHD_API_HEADER on property_t
    - Cache and re-use host endpoints
    - Ignore errors in ctrlport response packets if ACKs not wanted
    - Always clear response queue in ctrlport_endpoint
    - Fix DSP frequency accuracy
    - Add atomic item size property for RFNoC blocks
    - transport: Check if streamers are connected in send() and recv()
    - ddc/duc: Improve variable name for _set_freq()
    - radio: Fix comment in radio_control_impl
    - graph: make topology failure more descriptive
    - Fix block_id::get_tree_root()
    - Fix back-edge consistency check
    - Add ops pending to management op
    - Fix noc_shell direction comments
    - Enable drop counter on chdr_ctrl_endpoint
    - Change default block behaviour
    - Clarify usage of MTU vs. max payload size, remove DEFAULT_SPP
    - replay block: Disable prop and action propagation
    - Add more comments to rfnoc_graph
    - Fix issue in uhd::rfnoc::connect_through_blocks()
    - radio: Fix async message handling channel checks
    - mgmt_portal: Fix order of validity checks
    - Add CHDR width to make args
    - Make chdr_w_to_bits() C++11-compatible
    - blocks: Minor cleanup (whitespace, typos)
    - Remove cruft from UHD 3 (constants)
    - mgmt_portal: Remove two unused variables
    - Add vivado-path to rfnoc_image_builder
    - ddc: Improve unit tests and documentation
    - duc: Fix frequency range for DUC block
    - duc: Remove stale references to CORDIC
    - Allow find_blocks to search by device number or block count.
    - Fix block id check to allow underscore
    - Remove obsolete constant
  * rh
    - Fix auto DC-offset correction and auto-IQ balance APIs
  * siggen
    - Fix direction of rotation
  * sim
    - Update chdr_16sc_to_sc12 testbench
  * systemd
    - Enable tx flow control automatically
  * tests
    - Add filesystem flashing to streaming tests
    - x410: Add GPIO tests to X410 devtest
    - add support for new benchmark_rate args
    - Fix potential resource leak
    - Build uhd_test library as static when `-DBUILD_SHARED_LIBS=ON`
    - rfnoc: Add another loop graph test
    - Streaming tests setup
    - Enable automated streaming tests on X410
    - Add X410 100GbE tests
    - rfnoc: Amend mock nodes with action support
    - Add complex include to resolve build
    - Use new args for x410 streaming tests
    - Apply clang-format to convert_test
    - Fix converter benchmark disable on Boost <1.68
    - Atomicize counters in benchmark_rate
    - Add saturating test cases
    - Add conversion benchmarking tests
    - Force converter tests to be run with all available prios
    - Modularize x4xx_radio_mock to use it in other tests
    - Disable x4xx_radio_block_test on macOS
    - Add replay-back-edge test
    - Remove non-functional DPDK test
    - Add default length for automated streaming tests
    - Add automated streaming tests
    - Add streaming setup script for performance enhancements
    - Remove skip_dram from streaming performance test script
    - Fix rfnoc_graph mock nodes stop-stream command
    - Use reference type to prevent copy
    - Fix check in link_test
    - Add recv(0) case to rx_streamer_test
    - Add missing header, required by some compilers
  * tools
    - Fixes to uhd_phase_alignment.py
    - uhd_ubuntu_deb: Require --buildpath
    - Fix control packet byte enable in CHDR dissector
    - Add general purpose tool for USRP configuration
    - Add check for SEP with ctrl enabled to rfnoc_image_builder
    - Add missing fields to CHDR dissector
    - Fix rfnoc dissector build
  * uhd
    - Update MPM compat minor
    - Replay block version 1.1
    - Fix compiler macro ordering
    - Fix negligible copy/paste typos in rhodium radio control
    - Harmonize fuzzy frequency comparisons
    - Remove FSRU-related files
    - rfnoc: Let connect_through_blocks() return edge list
    - Expose uhd::dict and fs_path with UHD_API_HEADER
    - Demote WARNING on minor compat mismatch to DEBUG
    - Fix non-standard function name macros
    - Update git://github.com references to https
    - Allow pass raw IQ data array to tone generator
    - Remove tcp_zero_copy
    - nsis: Remove broken shortcuts in Windows installer
    - Fix RFNoC-capable detection in uhd_usrp_probe
    - Remove superfluous boost/bind.hpp includes
    - Add support for max10 variants
    - Update manifest for x410 cpld
    - Update num_recv_frames calculation for ctrl links
    - Remove spurious template from property dtor
    - Fix spelling errors
    - math: Replace wrap-frequency math with a single function
    - math: Add a sign() function
    - Replace Boost mutexes and locks with standard options
    - zbx: Prevent TX antenna config from disrupting RX
    - mpm: Expose filesystem version information on MPM tree
    - transport: Avoid exceptions in disconnect_receiver()
    - Remove Boost version checks for Boost 1.61
    - streamer: Restore original recv(0) semantics
    - Fix usage of std::abs with template parameters
    - Update version, manifest, and changelogs
    - Replace boost::thread::id with std::thread::id
  * utils
    - Check install-prefix for images
    - string: Add split string utility function
    - Add comment re overclocking
    - Modify set-tx-gain procedure to update gain in one go
    - Fix comment in noc_shell Mako template
    - Add space to rfnoc_image_builder help
    - Get signal above noise floor when finding optimal gain
  * x300
    - Fix LED configuration for TwinRX
    - Remove usage of CHDR_MAX_LEN_HDR
    - Fix error message for wrong reference frequency
    - Remove unused variables in x300_eth_mgr.cpp
    - Fix MAX_RATE_1GIGE value
    - Fix sfpp_io_core tuser width
    - Initialize struct variable before using it
  * x410
    - Correct 100GbE link speed
  * x4xx_bist
    - Use get_mpm_client in gpio bist

 -- Ettus Research <packages@ettus.com>  Tue, 19 Apr 2022 13:55:00 -0800

uhd (4.1.0.5-2) experimental; urgency=medium

  * support the new DPDK LTS 21.11 (Thanks cpaelzer!) (Closes: #1001466)

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 14 Jan 2022 21:42:18 -0500

uhd (4.1.0.5-1) unstable; urgency=medium

  * New upstream tag.
  * 4 Debian patches upstreamed

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 17 Dec 2021 00:18:02 -0500

uhd (4.1.0.5-0) ETTUS_BUILD; urgency=low

  * ad9361
    -  Add comment re overclocking
    -  Modify set-tx-gain procedure to update gain in one go
  * b200
    -  Re-sync times
    -  Move the B200 radio control core into usrp/b200/
  * cal
    -  Use safe version of set_thread_priority()
  * ci
    -  Device wait to redlock scope for Vivado close
    -  Add Fedora 34 and remove Fedora 32
    -  Refactor installers and add Windows support
    -  Add custom boost version support
    -  Remove documentation-only changes from pipeline runs
    -  enable batch CI
    -  Split CI and PR pipelines for mono pipeline
    -  Enable custom CXX flags, enable -Werror
    -  Let make keep building upon failure
    -  Add clang as a compiler to all Fedora and Ubuntu containers
  * cmake
    -  use LooseVersion to ensure correct version comparisons
    -  Fix rfnoc-example (CMake paths)
    -  Fix issues with static builds and CMRC
    -  Replace CMAKE_{SOURCE,BINARY}_DIR with UHD_*_DIR
    -  tests: Add build-python path to PYTHONPATH
    -  Add check for libatomic linking requirement
    -  remove duplicate entry in LIBUHD_PYTHON_GEN_SOURCE
    -  Fix VS names and use relative for images
  * dbsrx
    -  Fix issue with loop variable
  * debs
    -  Update upload_debs script
  * devtest
    -  Clarify data type in multi_usrp_test::send_waveform()
    -  Add receive stability test to B2xx devtest
    -  Add receive stability test
  * dissectors
    -  Fix whitespace formatting in CMake files
    -  Fix inclusion of glib.h and Python version
  * docs
    -  Several minor manual improvements
    -  Collect all RFNoC block controllers in a module in the manual
    -  Align dependencies and bump deb package versions
    -  Clarify set/get_gpio_attr() and GPIO banks
    -  Fix GPIO documentation example
    -  x410: Fix info on loading SD card images with bmaptool
    -  Improve docs for rx_streamer::recv() on overruns
    -  sync: Update page on synchronization
    -  Fix typo in ZBX Block Diagram
    -  x4xx: Document configuring eth0 static IP
    -  Remove bmaptool instructions for writing filesystems
  * examples
    -  Use cmul for gain block in-tree IP example
    -  Test all variants in gain testbench
    -  Make IQ order clear in gain RFNoC block
    -  Improve txrx_loopback_to_file (late recv, Boost, timing)
    -  Show how to use in-tree Verilog header
    -  Add x400/x410 target to RFNoC example
    -  gpio: Separate bank and port arguments
    -  usrp_power_meter: fix channel indexing when reading USRP power
  * fpga
    -  Revert "Add ability to get time from Radio block"
    -  Add ability to get time from Radio block
    -  rfnoc: Add RFNoC CHDR resize module
    -  rfnoc: Add CHDR management util functions
    -  lib: Clean up axi_mux
    -  rfnoc: Add labels to axi_switch generate blocks
    -  rfnoc: Add labels to chdr_mgmt_pkt_handler
    -  rfnoc: Add documentation to chdr_xb_routing_table
    -  Shorten line length for Launchpad linter
    -  x300: Update synchronizer constraint
    -  n3xx: Update synchronizer constraint
    -  lib: Update example constraint in synchronizer
    -  Update help message for setupenv.sh
    -  Remove stale references to UHD_FPGA_DIR
    -  tools: Add UHD_FPGA_DIR definition to synthesis
    -  Set default part for sim in setupenv.sh
    -  Fix Xilinx bitfile parser for Python 3
    -  rfnoc: Fix EOB loss in DUC
    -  sim: Add PkgComplex, PkgMath, and PkgRandom
    -  lib: Clean up and document lib files
    -  x400: Remove stale information in register map
    -  ci: Add testbench pipeline
  * host
    -  Revert "Add ability to get time from Radio block"
    -  Add ability to get time from Radio block
    -  python: Return mb_controller with reference_internal
    -  x4xx: Implement GPIO API
    -  Add GPIO functions to MPM RPC shim
    -  gpio: Create gpio_atr_offsets to store GPIO registers
  * images
    -  Update image packager script for Python 3
  * lib
    -  Remove all remaining usage of boost::numeric::bounds<>
    -  transport: Mark typecast as intended
    -  transport: Initialize _hshake_args_server
    -  rfnoc: Make implicit typecasts explicit
    -  rfnoc: Change enum node_type to enum class
    -  Add various missing includes
  * libusb
    -  Remove unused context variable
  * mpm
    -  x4xx: update mboard_max_rev
    -  x4xx: Allow GPIO0 and GPIO1 as port names
    -  x4xx: add DIO GPIO API configuration methods
    -  mpm: x4xx: Add checks before accessing self.dio_control
    -  Fix handling of rfic_digital_loopback argument
    -  rfdc: Tear down RFDC on teardown
    -  add X410 support for 250e6 master clock rate
    -  Expose motherboard regs for debugging
  * mpmd
    -  Increase UHD-side MTU cap for 10 GbE and 1 GbE
  * multi_usrp_rfnoc
    -  Revert "Reduce latency of get_time_now()"
    -  Reduce latency of get_time_now()
  * n320
    -  Reduce PLL lock time
  * n3x0/e3x0
    -  Remove reference to "master FP-GPIO radio"
  * n3xx
    -  Add support for rev 10
    -  Fix White Rabbit
  * python
    -  multi_usrp: Add set_rx_spp()
    -  multi_usrp: Fix issues in send_waveform()
    -  multi_usrp: Fix issues with recv_num_samps()
    -  Fix dropped-sample calculation in benchmark_rate.py
    -  multi_usrp: Fix overloaded function definition
    -  Add new method bindings to noc_block_base
    -  rfnoc: Change reference type for noc_block_base export
  * responder
    -  Fix printw function arguments
  * rfnoc
    -  radio: Fix async message handling channel checks
    -  mgmt_portal: Fix order of validity checks
    -  blocks: Minor cleanup (whitespace, typos)
    -  mgmt_portal: Remove two unused variables
    -  Add vivado-path to rfnoc_image_builder
    -  ddc: Improve unit tests and documentation
    -  duc: Fix frequency range for DUC block
    -  duc: Remove stale references to CORDIC
    -  siggen: Fix direction of rotation
  * rh
    -  Fix auto DC-offset correction and auto-IQ balance APIs
  * tests
    -  Remove skip_dram from streaming performance test script
    -  Fix rfnoc_graph mock nodes stop-stream command
    -  Use reference type to prevent copy
    -  Fix check in link_test
    -  Fix potential resource leak
  * tools
    -  Fix rfnoc dissector build
  * uhd
    -  add support for max10 variants
    -  update manifest for x410 cpld
    -  Update manifest
    -  update num_recv_frames calculation for ctrl links
    -  Remove spurious template from property dtor
    -  Fix spelling errors
    -  mpm: Expose filesystem version information on MPM tree
    -  Remove Boost version checks for Boost 1.61
    -  Fix usage of std::abs with template parameters
  * utils
    -  Get signal above noise floor when finding optimal gain
  * x300
    -  Fix error message for wrong reference frequency
    -  Remove unused variables in x300_eth_mgr.cpp
    -  Fix MAX_RATE_1GIGE value
    -  Fix sfpp_io_core tuser width
    -  Initialize struct variable before using it
  * x410
    -  correct 100GbE link speed

 -- Ettus Research <packages@ettus.com>  Tue, 14 Dec 2021 12:35:55 -0800

uhd (4.1.0.4-7) unstable; urgency=medium

  * move usrp_update_fs to python3-uhd

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 08 Dec 2021 23:23:47 -0500

uhd (4.1.0.4-6) unstable; urgency=medium

  * Explicitly set -DENABLE_PYTHON_API=OFF in debian/rules for mipsel

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 08 Dec 2021 17:57:01 -0500

uhd (4.1.0.4-5) unstable; urgency=medium

  * Add back numpy build-dep everywhere including mipsel

 -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 07 Dec 2021 20:32:18 -0500

uhd (4.1.0.4-4) unstable; urgency=medium

  * extend cmake-check-march to include test program builds too.

 -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 07 Dec 2021 20:22:45 -0500

uhd (4.1.0.4-3) unstable; urgency=medium

  * check -march option before use (Closes: #1000790)
  * skip python3-uhd on mipsel

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 05 Dec 2021 16:07:56 -0500

uhd (4.1.0.4-2) unstable; urgency=medium

  * fix binary-indep build (Closes: #998281)
  * upload to unstable

 -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 27 Nov 2021 12:33:25 -0500

uhd (4.1.0.4-1) experimental; urgency=medium

  * New upstream release

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 15 Oct 2021 23:02:22 -0400

uhd (4.1.0.0-1) experimental; urgency=medium

  * UHD 4.1 release

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 30 Jun 2021 15:59:49 -0400

uhd (4.0.0.0-5) experimental; urgency=medium

  * update to v4.0.0.0-145-ga7948beee
  * fix typo (Closes: #978698)

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 10 Jun 2021 18:48:20 -0400

uhd (4.0.0.0-4) experimental; urgency=medium

  * update to v4.0.0.0-50-ge520e3ff8
  * Added breaks/replaces to uhd-doc (Closes: #978093)

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 27 Dec 2020 15:44:06 -0500

uhd (4.0.0.0-3) experimental; urgency=medium

  * update to v4.0.0.0-46-g57ca4235b
  * split out separate new uhd-doc package
  * new libuhd4.0.0-dpdk and libuhd4.0.0-dpdk-tests packages
    allow use of Data Plane Development Kit features for some systems
  * upload to experimental for NEW processing

 -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 22 Dec 2020 16:27:28 -0500

uhd (4.0.0.0-2) experimental; urgency=medium

  * update to v4.0.0.0-18-g83e878cf1
  * libuhd links to libatomic

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 22 Oct 2020 20:05:47 -0400

uhd (4.0.0.0-1) experimental; urgency=medium

  * New upstream release
  * b200:
    - Add unload-bootloader option to b2xx_fx3_utils
    - Update FX3 SDK for bootloader and firmware
    - Fix address for serial number in firmware
    - Enable power calibration API
    - Add a prop tree node usb_version
  * cal:
    - Add utility to update all .fbs files, or check the generated ones
    - Add pwr_cal container
  * cmake:
    - Use relative path to Python lib location for Windows installer
    - Add ability to pass CXXFLAGS to CMake environment
  * docs:
    - Add new CHDR format to transports
    - Update register maps
    - Update FPGA manual
    - Update mender commands for Zeus filesystems
    - Add section about network mode on E3xx devices
    - Add DPDK link detection section
    - Add Windows-specific UHD Python module notes
    - Add note about compiling on Ubuntu 20.04
    - Update PCIe xport instructions for NI Repos
    - n3xx: Include WX in table of N320 images
    - Add stream and transport args documentation
    - Update Basic/LF dboard references to use new operating mode
    - e3xx/n3xx: Add sections on FP-GPIOs and how to drive them
    - n3xx: Document eeprom flags
    - Add note about DPDK needing to be built as shared libraries
    - Change DPDK version to 18.11 and make args use underscores
    - Clarifying which devices support DPDK
  * dpdk:
    - Improve link status detection
    - Increase default num recv frames
    - Add new DPDK stack to integrate with I/O services
  * e31x:
    - Add retry to loopback_self_test
    - Change RFNoC Ctrl clock to 40 MHz
    - Fix timeout for timekeeper registers
    - Fix filter bank and antenna switching for channel 0
    - Swap out liberio for internal Ethernet
  * e320:
    - Fix timeout for timekeeper registers
    - Swap out liberio for internal Ethernet
  * examples:
    - Fix install paths in OOT RFNoC block example
    - Add usrp_power_meter example
    - Update test_messages example
    - Update gpio example
    - Add options to benchmark_rate
    - Add example out-of-tree module for RFNoC modules
    - Remove thread priority elevation
  * fpga:
    - Added AA image mappings to N320 image package
    - Add Replay Block to RFNoC Core Image
    - Update DRAM IO signatures
    - sim: chdr_stream_endpoint_tb improvements
    - sim: Fix stream command and status models
    - Update AXI interconnect address range for n3xx and e320
    - rfnoc: Update CHDR stream INIT command
    - Update coding guidelines
    - Replaced RFNoC architecture with new 4.0 version
    - Added modelsim make simulation target
    - Upgrade to Vivade 2019.1
    - Removed unused coregen files and modules
    - Removed fpga submodule and merged into uhd repo
    - lib: Change max FFT size to 1024
    - lib: add Intel MAX10 architecture for 2clk FIFO
    - rfnoc: Port RFNoC Keep One in N block to new RFNoC architecture
    - rfnoc: Port RFNoC Replay block to new RFNoC architecture
    - rfnoc: Port Signal Generator RFNoC block to new RFNoC architecture
    - Add Switchboard RFNoC block
    - Remove liberio
    - rfnoc: Port RFNoC Moving Average block to new RFNoC architecture
    - rfnoc: Port Log-Power block to new RFNoC architecture
    - rfnoc: Port RFNoC Window block to new RFNoC architecture
    - lib: Add synthesizable AXI4-Stream SV components
    - lib: Add interface and model for AXI4-Lite
    - rfnoc: Add support for 512-bit CHDR widths
    - rfnoc: Port RFNoC Add/Sub block to new RFNoC architecture
    - rfnoc: Port Vector IIR RFNoC block to new RFNoC architecture
    - lib: Add AXI-Stream splitter (axis_split)
  * lib:
    - Remove recursive locks in apply_corrections
    - Add power cal manager
    - deps: Add FlatBuffers 1.11.0 header files
    - Add DPDK service queue
  * mpm:
    - e31x: Accept FF terminated strings in eeprom (legacy support)
    - Return 10 Gbs link speed on failure
    - Exclude internal NIC for network hosts
    - Add ability to run scripts to MPM shell
    - n3xx: Remove eth1, eth2 from interface list
    - Default virtual NIC CHDR IP selection
    - Enable internal NIC on the N3xx
    - Clean up code, improve Pylint score
    - Move common mboard regs code to common location
  * mpmd:
    - Remove liberio
  * multi_usrp:
    - Fix connect/disconnect of RFNoC chains
    - Various multi_usrp_rfnoc fixes
  * n310:
    - Add Replay Block to default FGPA images
    - Fix GPIO registers
  * n320:
    - Add Replay Block to default FGPA images
    - Double radio ingress buffer size
    - Enable inverse sinc filter for DAC37J82
  * n3xx:
    - Fix timeout for timekeeper registers
    - Swap out liberio for internal Ethernet
  * python:
    - Add peek/poke bindings to noc_block_base
    - Add Keep One in N block controller bindings
    - Add replay RFNoC block controller bindings
    - Add siggen RFNoC block controller bindings
    - Add Switchboard block python bindings
    - Add moving average RFNoC block controller bindings
    - Add bindings for C++ CHDR Parser
    - Add window RFNoC block controller bindings
    - Add FFT RFNoC block controller bindings
    - Add null RFNoC block controller bindings
    - Add vector IIR RFNoC block controller bindings
    - Add radio RFNoC block controller bindings
    - Add FIR filter RFNoC block controller bindings
    - Add Fosphor RFNoC block controller bindings
    - Add DUC RFNoC block controller bindings
    - Add DDC RFNoC block controller bindings
    - Added new RFNoC image builder module under the uhd module
    - Remove Python2-specific code
    - Included complex.h to allow pybind to convert that data type
  * rfnoc:
    - replay: Update packet size on mtu update
    - Set null source/sink block initial state
    - Add support for 32-bit memory address widths to Replay block
    - Enable SEPs with connect_through_blocks
    - Exit disconnect() early if nodes not in node map
    - Add multichannel register interface
    - Added support for destruction of streamers
    - Add Keep One in N block support
    - Port siggen RFNoC block controller support to new RFNoC architecture
    - Add Switchboard block support
    - Port Moving Average block controller to new RFNoC architecture
    - Port Log Power RFNoC block support to new RFNoC architecture
    - Port window RFNoC block controller to new RFNoC architecture
    - Port Add/Sub RFNoC block support to new RFNoC architecture
    - Add USE_MAP prop/action forwarding policy
    - Port Split Stream RFNoC block to new RFNoC architecture
    - Port Vector IIR RFNoC block support to new RFNoC architecture
    - Port RFNoC fosphor block to new RFNoC architecture
    - Port FIR filter RFNoC block controller to new RFNoC architecture
    - Add multichannel register interface
    - Add RFNoC Python API
    - Unify endianness of transports
    - Add DMA FIFO block controller
    - examples: Port examples to new RFNoC
    - Implement flushing on overrun
    - client_zero can track num SEPs and num ctrl EPs separately
    - Add basic round-robin allocation for links
    - Add ability to select transport for streamers to user APIs
    - Use link_stream_manager's mgmt_portal for all mgmt packets
    - graph: Optimize property propagation algorithm
    - Port DUC block controller to new RFNoC architecture
    - Add MTU tracking
    - Implement overrun handling using action API
    - Port null block controller to new RFNoC architecture
    - Add mb_controller API
    - Port radio block controller to new RFNoC architecture
    - Port default block controller to new RFNoC architecture
    - Port DDC block controller to new RFNoC architecture
    - Add rfnoc_graph class
    - Add action API
    - Refactored CHDR packet interfaces
    - Add noc_block_base class
  * tests:
    - Fix build issue with Boost 1.67
    - Add unit tests for new RFNoC block controllers
    - Fix multi_usrp_test
    - Add unit tests for pwr_cal_mgr
    - Migrated rfnoc block tests to dedicated subdirectory
    - Add more tests for max rate streaming
    - Add tests to exercise max streaming rates and report results
  * tools:
    - Update dissectors for Wireshark major version 3, new CHDR
    - Update FPGA functional verification tests for X3x0 mcr's & dpdk
  * transport:
    - Implement eov indications for Rx and Tx streams
    - Implement an I/O service that uses an offload thread
    - Implement a single-threaded I/O service
  * twinrx:
    - Bypass adf535x feedback divider
    - Update synthesizer register values for improved rf performance
    - Fix increased noise floor
    - Remove decimation from frontend
  * uhd:
    - Disable optimizations for Mac for build speed
    - remove liberio
    - improved handling of empty serial number hints
    - Add discoverable_features API
    - Add reference power level API to multi_usrp and radio_control
    - Add fuzzy serial number checking
    - paths: Harmonize around XDG Base Directory specification
    - cal: Use usrp::cal::database instead of CSV files
    - cal: Add iq_cal calibration data container class
    - cal: Add calibration container class
    - cal: Add database class
    - Introduce I/O service manager
    - Replace usage of boost smart pointers with C++11 counterparts
    - add udp boost asio implementation of transport interface
    - Add thread affinity utility functions
    - types: Extend stream_cmd_t::num_samps to 64 bits
  * utils:
    - Expose CHDR Parsing API
    - Expose CHDR Types in Public API
    - Support expressions for num_ports in block defs
    - Let uhd_images_downloader also use HTTPS proxies
    - Fix FPGA search in rfnoc_image_builder from fpga-src to fpga
    - Add convert_cal_data utility
    - image_builder: Support parameterized number of ports on blocks
  * x300:
    - Add Replay Block to default FGPA images
    - Update frame sizes for 10GbE
    - Fix for incorrect PCIe buffer size values
    - Change default dboard clock rate from 50 to 100 MHz
    - Update maximum bitstream size
    - Enable power reference API
    - Expand DRAM address space to 1G
    - Add front-panel GPIO source control

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 14 Sep 2020 18:06:39 -0400

uhd (4.0.0.0~rc1-1) experimental; urgency=medium

  * New upstream release candidate

 -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 29 Aug 2020 00:22:11 -0400

uhd (3.15.0.0-4) unstable; urgency=medium

  * update to v3.15.0.0-54-gbc585b436

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 13 Aug 2020 19:37:00 -0400

uhd (3.15.0.0-3) unstable; urgency=medium

  * update to v3.15.0.0-44-g5a9f9ed96
  * bump standards-version, keeping usrp user as legacy for now.
  * Use https for Vcs* entries. Update Homepage link.
  * Build with python3-dev (Closes: #943636)
  * path reporting good again (Closes: #908912)
  * Only python3 (Closes: #938747)

 -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 12 Jun 2020 21:42:28 -0400

uhd (3.15.0.0-2) unstable; urgency=medium

  * upload to unstable

 -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 05 Jan 2020 23:32:04 -0500

uhd (3.15.0.0-1) experimental; urgency=medium

  * New upstream release
  * API bump uploaded to experimental

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 02 Jan 2020 19:03:53 -0500

uhd (3.14.1.1-1) unstable; urgency=medium

  * New upstream release
  * Device3: latch n on m in axi_rate_change in DUC/DDC
  * Device3: UART: fix TX <-> RX, FIFO size as parameter
  * Device3: Restore default buffer sizes for MPMD UDP
  * RFNoC: Fix off by one error in window.v
  * E320: fix time source clobbering ref source
  * B200: Add command to query bootloader status
  * RFNoC: fix multidevice graph connections
  * MPMD: Fix corner case in MPM device discovery
  * MPM: fixed mboard_max_revision value (MPM compat check failures)
  * MPM: Fix version string for logger
  * Docs: x300: update docs for multiple timed commands
  * Docs: Fix Doxygen warnings due to spurious backslashes
  * Docs: RFNoC: Fix Doxygen warning due to undoc'd parameter
  * Docs: Adjust FPGA functional verification tests
  * Docs: Fix MPM cmake command for E320
  * RFNoC: Re-enable flow ctrl for blocks on same xbar
  * Tools: Fix build issues with kitchen_sink
  * cmake: Add UHD_COMPONENT variable
  * let pkg-config pass along -lboost_system (Closes: #940135)

 -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 07 Oct 2019 00:36:37 -0400

uhd (3.14.1.0-2) unstable; urgency=medium

  * upload to unstable
  * fix-find-utility (Closes: #772412)

 -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 15 Aug 2019 12:13:12 -0400

uhd (3.14.1.0-1) experimental; urgency=medium

  * New upstream release

 -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 07 Aug 2019 23:44:25 -0400

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog libuhd4.8.0`.
