RELEASE: Cordial v1.10.2

It’s been sometime since we posted an updated here. cordial is no up to v1.10.2 and the changes since the last release posted here are below.

Change Log

Version v1.10.2

Released 2023-10-31

Please report issues via github or the ITRS Community Forum.

:warning: Note: The previous patch version was removed after finding the fix for wildcards was only partial. This second patch release addresses that issue.

v1.10.2 Fixes

  • tools/geneos

    • The recently introduced wildcarding for instance names was causing non-matching instance names to be evaluated all “all”, so geneos stop test would stop all instances. Fix this by checking the list of names returned from the pattern match and if empty assume the input is not a pattern and leave it alone.
    • The fix to pkg/host below tries to ensure that running multiple sessions to remote hosts works more reliably, especially those where commands take some time to return, like for start
  • pkg/process - Fix Daemon() for Windows by adding a DETACHED_PROCESS flag to new proc attributes.

  • pkg/config

    • Protect global map access with a mutex in expandoptions.go
    • Make the viper mutex a plain one, not RWLock. Reorder calls to Unlock to cover decode()
  • pkh/host - Allow for remote SSH session limits, retry NewSession() up to 10 times with a 250ms delay. This limit is in the remote server, so cannot be overridden.

Version v1.10.0

Released 2023-10-25

Please report issues via github or the ITRS Community Forum.

v1.10.0 Fixes

  • pkg/config

    The Sub() methods will now return an empty Config struct and not nil if the key is not found. This is a divergence from viper.

    The non-global GetSliceStringMapString method returned values from the global config object. Found while implementing changes to noe use embedded viper, see below.

  • pkg/geneos/netprobe

    Updates to the structs to produce valid XML when rendered as XML through the Go xml package.

  • tools/geneos

    • Do not automatically try to rebuild component config files if the setup parameters is to a remote configuration.

    • Fix the show -s command to read instance configurations from their potentially remote host and not localhost.

    • Add a 250ms delay after starting an instance to allow for the process to fully start and update OS args so that the GetPID call works more often and can report the successful start-up.

v1.10.0 Changes

  • pkg/config

    Potential API Changes - to allow safer concurrent access to the underlying viper configuration objects the original embedded viper instance in the Config struct has been promoted to be named as Viper. This removes access to embedded methods and the intermediate methods have been updated to use a RWMutex around every call to viper. This however means that not all viper methods are transparently available and new shims have been added for the most common ones found. If dependent code now fails to compile because of missing methods they will need to be added to config.go along with the appropriate mutex wrappers.

    Added a WatchConfig() option to enable auto-reloading final config files found during Load(). Note that WatchConfig is not concurrency safe. This may change if we implement our own callback.

  • tools/geneos

    • Add “glob” style wildcard support for instance names (and names only, not remote hosts) to most command. This should always be used with quoting to avoid shell expansion. This allows commands line geneos start gateway 'LDN*' and so on. Also add support to move and copy to act on multiple wildcarded sources as long as the destination is a @HOST.

    • Some instance configuration parameters are no tested for the instance home path and this is replaced with ${config:home} so that moves and copies have paths auto updated. This include certificates, keys and set-up files.

    • Lower the auto-generated instance.setup.xml Gateway include file priority value so it is loaded before other typical includes.

    • For Gateway and SAN change default parameters gatewayname and sanname respectively to use name in an GetString expansion. This makes the parameters auto-update if the instance name changes (for example using move or copy) until and unless the user sets a fixed name.

    • Remove the -setup-interval from SAN command lines (which was using the default anyway) to allow it to be overridden in the options parameter.

Version v1.9.2

Released 2023-10-10

Please report issues via github or the ITRS Community Forum.

v1.9.2 Fixes

  • tools/dv2email
    • Fix environment handling, which was broken in an earlier update to the config package
    • Add command line args for use from a Geneos Command
    • Update Dataview Row handling
    • Fix HTML template for multiple Dataviews
    • Update docs

v1.9.2 Changes

  • pkg/config
    • Add a SetConfigReader() option to Load to be able to load configuration from an io.Reader. Untested, work in progress for a project.

Version v1.9.1

Released 2023-10-06

Please report issues via github or the ITRS Community Forum.

v1.9.1 Fixes

  • The release build process has been reworked to use Debian Bullseye images to maximise compatibility for shared libraries and also to build static binaries cleanly. A change in the Go toolchain at some point has made the build of the dynamically linked centos7 binary of geneos not work. This has now been removed while investigations into how to do this properly continue. This means that for users who have network directories for users there will be errors looking up users for ls and ps commands, at minimum.
  • tools/geneos
    • Use path.IsAbs() and not filepath.IsAbs() so that constructing paths on a Windows host works for remote Linux systems. Fixes process start from Windows to Linux.
    • Allow deletion of protected instances with the --force/-F flags, as intended originally
    • When creating instances check all listening ports, not just those reserved in instance configurations
    • More fixes to package handling around component types with parent types
    • Change TLS cert verification to validation and document better
    • Add chain file path to geneos tls ls -l output

v1.9.1 Changes

  • pkg/geneos
    • Move Netprobe XML structs to their own package pkg/geneos/netprobe

Version v1.8.1

Released 2023-09-01

Please report issues via github or the ITRS Community Forum.

v1.8.1 Fixes

  • tools/geneos
    • unset should not present a warning if special parameters are passed but no actions performed, e.g. removing a non-existing environment variable
    • #181 - now build on MacOS, primarily for remote admin. Not fully tested
    • #182 - a slew of issues around the order of actions during package install, uninstall and update fixed