osmo-uecups (0.2.2) unstable; urgency=medium

  [ Harald Welte ]
  * README.md: Add some basic information in absence of documentation
  * gtp_daemon: Fix error paths in gtp_daemon_alloc()
  * daemon_vty: avoid null-dereference in argc < 0 case
  * gtp_tunnel: Avoid double-unlock in error path of gtp_tunnel_alloc

  [ arehbein ]
  * Transition to use of 'telnet_init_default'

  [ Oliver Smith ]
  * debian: set compat level to 10

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 17:27:39 +0200

osmo-uecups (0.2.1) unstable; urgency=medium

  [ Max ]
  * Add git-review config

  [ Harald Welte ]
  * add spec.in file for RPM building
  * fix copy+paste mistake in README.md

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 17:45:20 +0100

osmo-uecups (0.2.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * debian/control: Drop dependency on autoconf-archive
  * main.c: Fix typo in comment
  * main: Remove duplicate call to child_terminated()
  * main.c: Improve logging
  * Fix use-after-free by tun thread after tun obj destroyed
  * Add optarg support
  * Move several objects outside of main.c
  * tun_device: Avoid deadlocks logging while thread is cancelled
  * .gitignore: Add configure~

  [ Vadim Yanitskiy ]
  * daemon: enable multithread logging in main()
  * daemon: log more details when netdev_add_defaultroute() fails

  [ Harald Welte ]
  * update git URLs (git -> https; gitea)
  * README.md: Fix copy+paste mistke

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 29 Jun 2022 12:24:31 +0200

osmo-uecups (0.1.4) unstable; urgency=medium

  [ Harald Welte ]
  * daemon: Add VTY command to configure local bind IP of UECUPS socket

  [ Oliver Smith ]
  * configure: don't turn some warnings into errors

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 17 Nov 2021 17:41:19 +0100

osmo-uecups (0.1.3) unstable; urgency=medium

  * debian: add dependency to autoconf-archive
  * debian/control: Add dependency to libsctp-dev
  * dameon: Handle multiple coalesced SIGCHLD

 -- Harald Welte <laforge@osmocom.org>  Sat, 25 Apr 2020 10:27:15 +0200

osmo-uecups (0.1.0) unstable; urgency=medium

  [ Harald Welte ]
  * initial debian package

 -- Harald Welte <laforge@osmocom.org>  Mon, 20 Apr 2020 08:24:51 +0100
