# Change log

> Since v1.0.0 this project follows the [semantic versioning](https://semver.org/) specification.

## v2.2.1

* open source {{SSH_Monitor}}
  (see [issue 38](sshmonitor-gitlab-url:issues/108))

## v2.2.0

* add {{EPICS}} `Archiver Appliance` monitoring
  (see [issue 21](sshmonitor-gitlab-url:issues/21))
* improve processors supervision support
  (see [issue 41](sshmonitor-gitlab-url:issues/41))
* improve {{substitutions}} management
  (see [issue 84](sshmonitor-gitlab-url:issues/84))
* improve {{SSH}} commands specification
  (see [issue 85](sshmonitor-gitlab-url:issues/85))
* improve tests readability
  (see [issue 86](sshmonitor-gitlab-url:issues/86))
* finish writing the references section of the README
  (see [issue 88](sshmonitor-gitlab-url:issues/88))
* support more {{field}}s in `generic_monitor.template` with {{macro}} specifiaction from {{substitutions}} files
  (see [issue 90](sshmonitor-gitlab-url:issues/90))
* write a new tutorial based on Nix
  (see [issue 91](sshmonitor-gitlab-url:issues/91))
* improve documentation about how the {{template}}s are intended for common GNU/Linux, 
  not busybox linux, freebsd, windows, mac, etc
  (see [issue 93](sshmonitor-gitlab-url:issues/93))
* improve existing HMIs
  (see [issue 94](sshmonitor-gitlab-url:issues/94))
* fix debug logs that are not always printed correctly
  (see [issue 95](sshmonitor-gitlab-url:issues/95))
* improve the documentation
  (see [isuue 96](sshmonitor-gitlab-url:issues/96))
* convert the whole documentation to Sphinx
  (see [issue 97](sshmonitor-gitlab-url:issues/97))
* fix {{SSH_Monitor}} exports problems due to last EPNix update (`24.05`)
  (see [issue 105](sshmonitor-gitlab-url:issues/105))

## v2.1.2

* add troubleshooting documentation about the `Connection closed by UNKNOWN port 65535` error
  (see [issue 79](sshmonitor-gitlab-url:issues/79))
* improve TCP ports limitation explanations
  (see [issue 80](sshmonitor-gitlab-url:issues/80))
* improve firewall configuration documentation
  (see [issue 81](sshmonitor-gitlab-url:issues/81))
* improve prerequisites list prior to sshmonitor installation
  (see [issue 82](sshmonitor-gitlab-url:issues/82))
* improve comment explaining why `USR_CPPFLAGS += -DUSE_TYPED_RSET` in Makefile
  (see [issue 83](sshmonitor-gitlab-url:issues/83))

## v2.1.1

* add troubleshooting content for the `Host key verification failed` error
  (see [issue 76](sshmonitor-gitlab-url:issues/76))
* fix installation procedure
  (see [issue 77](sshmonitor-gitlab-url:issues/77))
* fix cache handling
  (see [issue 78](sshmonitor-gitlab-url:issues/78))

## v2.1.0

* fix security design
  (see [issue 40](sshmonitor-gitlab-url:issues/40))
* improve tests in order to check {{SSH_Monitor}} both with {{EPICS}} v3.15 and with {{EPICS}} v7+
  (see [issue 65](sshmonitor-gitlab-url:issues/65))
  * note that those tests have shown that only {{EPICS}} v7+ is supported at the moment
* create a step-by-step tutorial showing how to setup and use sshmonitor
  (see [issue 68](sshmonitor-gitlab-url:issues/68))
* improve documentation according to the diátaxis framework
  (see [issue 69](sshmonitor-gitlab-url:issues/69))
* fix/increase the maximum size of a {{macro}} up to 65535 characters
  (see [issue 72](sshmonitor-gitlab-url:issues/72))
* improve security design
  (see [issue 73](sshmonitor-gitlab-url:issues/73))

## v2.0.0

* add support for multiple scanning intervals
  (see [issue 28](sshmonitor-gitlab-url:issues/28))
* add support for custom {{shell_instruction}}s 
  (see [issue 32](sshmonitor-gitlab-url:issues/32))
* add support for local {{SSH_command}}s
  (see [issue 35](sshmonitor-gitlab-url:issues/35)
* avoid closing and reopening multiple {{SSH}} connections continuously
  (see [issue 37](sshmonitor-gitlab-url:issues/37))
* add support for remote {{SSH_command}} execution through an intermediate machine
  (see [issue 44](sshmonitor-gitlab-url:issues/44))
* explain, in a documentation file, the role of each {{record}} (per .db)
  (see [issue 48](sshmonitor-gitlab-url:issues/48))
* add the ability to customize alarms thresholds
  (see [issue 49](sshmonitor-gitlab-url:issues/49))
* add compatibility for BusyBox Coreutils
  (see [issue 53](sshmonitor-gitlab-url:issues/53))
* add support for other types than double/analog at asub {{record}}s output
  (see [issue 54](sshmonitor-gitlab-url:issues/54))
* add support for custom {{SSH}} connection options
  (see [issue 55](sshmonitor-gitlab-url:issues/55))
* improve genericity
  (see [issue 59](sshmonitor-gitlab-url:issues/59))
* fix error propagation
  (see [issue 60](sshmonitor-gitlab-url:issues/60))
* avoid {{record}}s overwriting
  (see [issue 61](sshmonitor-gitlab-url:issues/61))
* avoid sharing cache files
  (see [issue 62](sshmonitor-gitlab-url:issues/62))
* remove characters number specification for {{shell_instruction}}s length
  (see [issue 63](sshmonitor-gitlab-url:issues/63))
* improve tests with memory checking via valgrind
  (see [issue 64](sshmonitor-gitlab-url:issues/64))
* convert the {{SSH_Monitor}} project into a {{Top}} (not an {{App}})
  (see [issue 66](sshmonitor-gitlab-url:issues/66))
* fine-tune/finalize project for v2
  (see [issue 67](sshmonitor-gitlab-url:issues/67))

## v1.0.0

* improve email sending script example
  (see [issue 33](sshmonitor-gitlab-url:issues/33))
* {{SSH_Monitor}} is now peer reviewed and production ready
  (see [issue 34](sshmonitor-gitlab-url:issues/34))

## v0.9

* fix `dbScan` over-runs
  (see [issue 27](sshmonitor-gitlab-url:issues/27))

## v0.8

* fix too many open files errors
  (see [issue 24](sshmonitor-gitlab-url:issues/24))
* improve error handling of the readDoubleFromFile(...) function
  (see [issue 25](sshmonitor-gitlab-url:issues/25))

## v0.7

* add current ssh connection monitoring support
  (see [issue 9](sshmonitor-gitlab-url:issues/9))
* make sure an alarm could be triggered if a {{target}} is disconnected
  (see [issue 20](sshmonitor-gitlab-url:issues/20))
* fix {{SSH_Monitor}} {{IOC}} that might be blocked if ssh credentials are asked
  (see [issue 22](sshmonitor-gitlab-url:issues/22))

## v0.6

* fix irrelevant alarm if lack of free RAM (monitor lack of available RAM instead)
  (see [issue 19](sshmonitor-gitlab-url:issues/19))

## v0.5

* fix wrong processor load measurement
  (see [issue 18](sshmonitor-gitlab-url:issues/18))

## v0.4

* fix process snapshots being taken from host and not from {{target}}
  (see [issue 16](sshmonitor-gitlab-url:issues/16))
* fix alarm threshold due to CPU overload being too low
  (see [issue 17](sshmonitor-gitlab-url:issues/17))

## v0.3

* fix some {{PV}}s being initialized with "SEVR: INVALID" & "STAT: UDF" instead of "NO_ALARM"
  (see [issue 15](sshmonitor-gitlab-url:issues/15))

## v0.2

* add processors supervision support
  (see [issue 4](sshmonitor-gitlab-url:issues/4))
* add memory supervision support
  (see [issue 12](sshmonitor-gitlab-url:issues/12))

## v0.1

* add LSI RAID monitoring support (wip [issue 2](sshmonitor-gitlab-url:issues/2))
* add documentation about how to setup the alarm server
  (see [issue 13](sshmonitor-gitlab-url:issues/13))
* fix {{IOC_shell}} being sometimes cluttered with ssh logs about X11 forwarding
  (see [issue 14](sshmonitor-gitlab-url:issues/14))

## beta

* add project documentation
  (see [issue 1](sshmonitor-gitlab-url:issues/1))
* add disks/partitions space supervision support (wip [issue 3](sshmonitor-gitlab-url:issues/3))
* fix sub {{record}}s not handling strings inputs at process time
  (see [issue 10](sshmonitor-gitlab-url:issues/10))

## alpha

* add remote {{SSH_command}}s support
  (see [issue 8](sshmonitor-gitlab-url:issues/8))
* add RAM monitoring support (wip [issue 12](sshmonitor-gitlab-url:issues/12))

