# v3.22.2

## Minor

* Add a "Collapse All" button to the treeview.

# v3.22.1

## Minor

* Fix audio-gain and similar sliders sometimes not functioning correctly in
  Firefox.

* Reduce the max per-machine log to 2048 events to avoid amassing huge logs on
  large configurations.

# v3.22

## Major

* Add video previews in the grid view for SDI streams.

* Add timecode input handling and clock display in the multiviewer.

* Allow renaming the IOs using CSV import.

* Add 'T' indicators on grid inputs that are generating a test pattern.

## Minor

* Increase the maximum number of multiviewer previews usable concurrently in the
  system from 126 to 1022 to allow for larger configurations with many
  multiviewers.

* Improve reliability of data transmission between nodes through the fiber
  network which results in faster upgrade transmission.

* Add a log message if the internal Real-Time Clock ran out of battery and needs
  replacing.

* Correctly display the standard of Multiview-in-Multiview configurations.

* Various performance improvements in the web interface for large
  configurations.

# v3.21

## Major

* New pseudo-GPI FORCE_HIGH and FORCE_LOW have been added to manually force the
  level of any GPO in the absence of a real GPI signal. It can be controlled
  through the web grid or Ember+.

* Improve genlock signal transmission integrity.

## Minor

* Save trunk layout in exported configuration files to automatically recreate
  the network in the [simulator](https://sim.ereca.fr/).

* Fix visual glitches in the way the tally is drawn in the multiviewer output.

* Improve debug logging

* Rename the genlock formats displayed in the web interface to use more standard
  names (for instance 1080i50 instead of 1080i25). This is purely a cosmetic
  alteration with no change in functionality.

# v3.20.4

## Minor

* Add a workaround to simplify upgrade from versions 3.18.x.

# v3.20.3

## Major

* Fix regression introduced in v3.19 that made the RS extension module unusable.

# v3.20.2

## Major

* Fix bogus audio routing through trunk D.

# v3.20.1

## Minor

* Improve handling of debug traces.

* Fix spurious errors on 10G trunks when they aren't in use.

# v3.20

## Major

* Allow the user to precisely select the output format of the multiviewer.

## Minor

* For simplicity, revert the change to the test pattern introduced in v3.19 that
  would automatically switch to HD or 3G formats based on complicated factors.
  Now the test patterns will always be HD PAL or HD NTSC based on the genlock
  standard regardless of the SDI port configuration, like it worked in earlier
  versions.

* The front panel display can now display the firmware version number.

* The front panel buttons should be more responsive.

# v3.19.6

## Major

* Improve synchronization for 6G/12G SDI formats. That should improve
  compatibility with other equipments receiving 6G/12G signals from a Stage
  Racer 2.

## Minor

* Tweak web interface cache settings to improve performance and better handle
  firmware upgrades.

# v3.19.5

## Minor

* Fix display of AES IO activity in graph view.

* Fix an issue where compatible SDI ports would sometimes be tagged as
  incompatible in the grid after loading a configuration file from a previous
  version.

# v3.19.4

## Major

* Improve ASI support to better handle sources with high jitter.

# v3.19.3

## Minor

* Improve trunk signal integrity.

# v3.19.2

## Major

* Fix non-functional ASI routing (regression introduced in 3.18.4).

# v3.19.1

## Major

* Enable double-routing of SD and all TICO-compressed formats.

## Minor

* Increase the max number of Ember+ and external panel connections to 10.

* Make firmware update distribution between nodes more reliable.

* Fix image flashing when switching multiview sources.

# v3.19

## Major

* TICO support to reduce the bandwidth requirements for streams from HD to 12G.
  Requires an additional license to unlock.

* Support for using 4 10Gb fiber trunks instead of the usual 40Gb trunk D.
  Requires additional SFP fiber modules and an additional license to unlock.

* Support for 6 additional bulk AES ports through an optional extension card.

## Minor

* New grid implementation for better performance and more flexibility.

* Improve support for Brooklyn 3 Dante modules.

* Improve multiviewer/framebuffer stability.

* Allow disabling the test pattern that's displayed on signal lost individually
  on every input.

* 3G-B and SD support in the multiviewer.

* Improve framebuffer/multiviewer stability when external genlock source is
  lost.

* Improve reliability of upgrade distribution across nodes.

* The grid inputs and outputs can be filtered by label.

* Distribute streams more evenly across the trunks when multiple paths are
  available.

* Improved support for Stream Deck-style panels through Bitfocus Companion.

# v3.18.7

## Major

* Fix non-functional ASI routing (regression introduced in 3.18.4).

# v3.18.6

## Minor

* Increase the maximum number of Ember+ connections per node to 10 (from 3).

* Increase the maximum number of panel connections per node to 10 (from 5).

# v3.18.5

## Minor

* Improve support for newer QSFP models.

# v3.18.4

## Minor

* Add a configuration option to disable the test pattern on individual SDI inputs.

# v3.18.3

## Major

* Fix a bug in the framebuffer/framesync and audio gain configuration that could
  cause the configuration of some ports to be overwritten by mistake when
  configuring several ports in a row.

# v3.18.2

## Major

* Fix rerouting issue for multiviewer previews when trunks are
  connected/disconnected.

  This could cause previews to be lost upon rerouting.

# v3.18.1

## Minor

* Add support for the new OLED display.

# v3.18

## Major

* Improve log handling for very large configurations in order to avoid a
  situation where a temporary trunk failure could lead to trunk saturation by
  continuously triggering new log events.

  The issue would typically only happen aften several weeks of uptime and only
  on very large configurations (20+ machines).

## Minor

* Tweak the handling of messages coming from incompatible Stage Racer 2 versions
  that could cause a crash in rare cases.

  This issue could only happen if Stage Racers were connected to the same
  network while running incompatible versions of the software (for instance 3.15
  and 3.17). In this situation the Stage Racers can't communicate correctly but
  in some cases it could even lead to a crash and reboot of the equipment.

# v3.17

## Major

* Fix a crash that could occur when loading large configurations

# v3.16

## Major

* Fix an issue that caused some streams not to be double-routed upon machine
  start.

* Added a "Debug information" entry to the dropdown menu which lets users
  download an archive containing data useful for debugging by Ereca.

## Minor

* Correctly report all non-double-routed streams in all situations.

* Fix trunk usage on OLED display.

# v3.15.11

## Minor

* Improve the handling of incompatible crosspoint connections in the IP, RS and
  AES Bulk grids.

# v3.15.10

## Minor

* Improve Ember+ message handling on large installations (20+ machines).

# v3.15.9

## Major

* Fix compatibility issues with VSM Studio's Ember+ implementation.

# v3.15.8

## Major

* The multiviewer can now be configured to output a 3G signal instead of HD,
  increasing its framerate.

## Minor

* Change multiviewer and test pattern PAL standards to use 30FPS instead of 25.

* Make switching the source of SDI outputs faster when not using genlock or
  framebuffer.

# v3.15.7

## Minor

* Fix incorrect handling of certain genlock formats: 1080i30, 1080i29.97,
  1080i25 and 1080i24

# v3.15.6

## Minor

* Fix audio extraction on 12G SDI inputs

# v3.15.5

## Minor

* Fix display issues in the control panel IO mapping grid

# v3.15.4

## Major

* Improve TSL support to better support TallyMan

* Improve distribution of 1080p50 and 1080p60 genlocks

## Minor

* Reimplemented the changelog and added a link to it in the config menu

* Fix an issue that caused some log entries to be corrupted

# v3.15.3

## Minor

* Use different reference clocks for the memory controller in order to improve
  memory calibration

# v3.15.2

## Minor

* Improve memory calibration handling to reduce the likelihood of the Stage
  Racer booting with the framebuffer unavailable on some SDI outputs

* Fix the situation where a grid output would be locked but the input wouldn't
  be available, in which case it would be impossible to reconfigure. Now the
  lock is ignored if the input is missing

# v3.15.1

## Major

* Implement the control panel interface

* Fix an issue in the web interface that made it impossible to unlink the IP
  ports

* Improve NTSC support when no external genlock signal is available

* Improve 6G signal transmission to fix compatibility issues with some
  equipments

# v3.15

## Major

* Enable GPO control through TSL

# v3.14

## Major

* Various framebuffer improvements, correctly display last dropped/duplicated in
  the web interface

## Minor

* Fix an issue where the OLED display would sometimes freeze and become unusable
  until reboot

# v3.13.3

## Major

* Very large grids should be a lot more responsive when adding/removing
  crosspoints

## Minor

* Improve genlock format detection when the signal is lost

# v3.13.2

## Major

* Fix an issue that caused SDI outputs to become stuck when switching from
  genlocked to PWM clock mode

# v3.13.1

## Major

* Fix a software deadlock that could occur when Ember+ and TSL were used at the
  same time

* Change the Ember+ IO number scheme to match the one used in the old Stage
  Racer software version 2

* Add the option to export a grid as a CSV file to simplify configuration

# v3.13

## Major

* Ember+ modifications for better KSC Core support

## Minor

* Display correct multiviewer preview activity in the grid

# v3.12.3

## Minor

* Build system modification, no functional difference to v3.12.2

# v3.12.2

## Major

* Fix an issue that could cause the SR2 to crash if a multiviewer label
  contained invalid characters

# v3.12.1

## Major

* Fix an issue that caused the framebuffers not to work on some SDI IOs (SDI-4,
  10, 16 and 22)

# v3.12

## Major

* Reimplement the Ember+ interface

# v3.11.1

## Major

* Fix a regression that caused the framebuffers and genlocked outputs not to
  work correctly

# v3.11

## Major

* Fix an issue that could cause a softlock in some situations when the Dante
  card was missing

## Minor

* Logs are automatically resynchronized to the local time when the RTC is not
  correctly configured

# v3.10.2

## Major

* Low jitter mode works on all FPGA models

# v3.10.1

## Major

* Fix audio gain card detection

# v3.10

## Major

* Implement low-jitter mode for SDI outputs (10AX022 only)

# v3.9.1

## Minor

* Prevent the machines from freezing during the boot sequence if the I2S
  calibration fails

# v3.9

## Major

* Correctly display genlock status in the web interface

## Minor

* Ignore QSFP status info when it's reset to avoid displaying incorrect data in
  the web interface

* Tweaks to the double-routing algorithm

* Fix broken MADI handling

* Fix a kernel issue that caused internal messages to sometimes be dropped

# v3.8.1

## Minor

* Fix an issue where sometimes the multiviewer would not initialize correctly

# v3.8

## Major

* Multiviewer support

* TSL support

* New routing algorithm that uses the available bandwidth more efficiently when
  double-routing

## Minor

* Add the option to automatically distribute the upgrade file to other nodes to
  update the whole SR2 network at once

* Use low jitter mode on 12G outputs

* Improve RS option detection

* Added a "test tone" pseudo audio input for testing purpoes

* Various improvements to the way the logs are handled, the web interface
  log display is more stable

# v3.7

## Major

* Fix off-by-one error introduced in v3.6 (the wrong GPIOs were controlled)

# v3.6

## Major

* Many improvements to hardware-based double-routing to better handle failover
  in complex topologies

* Fix GPIO routing in complex topologies

# v3.5

## Major

* Reimplement audio gain/attenuation config

## Minor

* The Dante IO names are taken from the Dante Controller

* Improper crosspoints are automatically removed when a node is connected. This
  includes improperly paired peer-to-peer connections and connection from
  outputs to IOs that aren't inputs.

# v3.4

## Major

* Many improvements to hardware-based double-routing

* Maximum number of double-routed streams limited to 64

## Minor

* Improve AES handling with the new double-routing feature

* QSFP handling is more robust and reliable, reducing the likelihood of bogus
  QSFP status info being displayed in the web interface.

# v3.3

## Major

* Many improvements to hardware-based double-routing

# v3.2

## Major

* Implement hardware-based double-routing for high priority streams

* Reimplement node config loading

## Minor

* Fix routing regressions

* Add "live update" for the framebuffer config

* Speed up network updates to detect topology changes faster

# v3.1

## Major

* Reintegrate support for most protocols including Dante

* Reimplement many features in the web interface such as multiple IO config

# v3

## Major

* Deep rewrite of the internal software controller for better performance and
reduced memory usage, allowing for larger and more complex configurations.

* This version is incomplete and lacks many features from the previous versions
  (many protocols, Ember+, Dante etc...)
