#Changelog
Format: Double ## for a version number followed by a space, ISO-Date, Semantic Versioning:
## YYYY-MM-DD major.minor.patch
Two empty lines before the next entry.
External contributors notice at the end of the line: (LastName, FirstName / nick)


## 2022-10-15 1.6.1
Absolutely make sure that all clients of the session are closed when closing the session.
 This solves the invisible, hidden clients still running even after nsmd quit itself.
 Decrease wait time for such clients at session quit from extreme 60s to very long 30s.
For lockfiles fall back to hardcoded /run/user/<user-id> when $XDG_RUNTIME_DIR is not available on the system.


## 2022-04-15 1.6.0
nsmd:
 Now follows the XDG Base Directory Specifications.
 Default session directory moved from ~/NSM Sessions/ to $XDG_DATA_HOME/nsm/ (see issue #gh-15)
 The old path ~/NSM Sessions/ is still supported and has priority, for now. This may be switched off in the future.

 Lockfiles fixed (see issue #gh-31)
 Lockfiles are now in $XDG_RUNTIME_DIR/nsm/
 Lockfiles now each contain the session path, the osc NSM_URL and the nsmd PID
 One daemon file for each currently running nsmd is created in $XDG_RUNTIME_DIR/nsm/d/ containing the osc url. This enables discovery of running daemons.

 New section in the API documentation for the above.
 Handle write-protected session files and related errors on save. They will not crash the daemon anymore.
 Fixes and guards against trying to load non-existing sessions and creating new sessions under existing names
 Handle various crashes-on-exit and replace them with controlled exits.

Jackpatch Version 1.0.0 (previously 0.2.0):
  Jackpatch will finally not "forget" connections anymore. See #gh-74
  Reduce verbosity level of log ouput.
  Document 'hidden' standalone (no NSM) command line mode in --help
  Handle SIGNALs even when in standalone mode
  Add a jackpatch desktop file with X-NSM-Capable=true and X-NSM-Exec=jackpatch and NoDisplay=true

NSM-Proxy:
    Add a nsm-proxy desktop file with X-NSM-Capable=true and X-NSM-Exec=nsm-proxy and NoDisplay=true


## 2022-01-15 1.5.3
Add [jackpatch] to terminal log output of jackpatch.
Remove hardcoded ANSI colors from terminal log output


## 2021-07-15 1.5.2
pynsm2 library: Fixed a rare crash, where the hostname must be case sensitive but Pythons urlparse forced lower-case.


## 2021-03-19 1.5.1
Web-URLs changed to https://new-session-manager.jackaudio.org and https://github.com/jackaudio/new-session-manager
No codechanges.


## 2021-01-15 1.5.0
WARNING: Next scheduled release (2021-04-15) will switch the default session root
to $XDG_DATA_HOME ( default on most distributions: ~/.local/share/nsm/ )
With the next release prepare to do one of the following:
*  Move old sessions to the new root directory (preferred)
*  Symlink "~/NSM Sessions" to the new root directory
*  use the nsmd --session-root commandline argument.

nsmd:
 Fix session discovery to not report nested sessions anymore. Also more robust file system error handling.
 Command line option --quiet: Suppress messages except warnings and errors
 Protect against orphaned clients or daemons when the server, or even a GUI, crashes.
 Replace cowboy-slang in info-level OSC with descriptive, technical messages.

Legacy-GUI:
 Fix manpage description and usage with the correct executable name
 Fix resizing to very small and back. ( / TheGreatWhiteShark )

NSM-Proxy:
  Multiple layout and style fixes. Better texts for beginners.

API:
 NSM_API_VERSION_PATCH from 0 to 1 (1.1.0 -> 1.1.1)
 Please see API document chapter "Changes in API Version 1.1.1"

Extras:
 This repository now contains extras (libraries, programs, documentation etc.)
 Extras are technically not connected to the main programs of this repository.
 There is no dependency to any "extra" nor any license implications.
 Please read extras/README.md.

 nsm.h was moved to extras/nsm.h
 "extras/pynsm" is now a part of NEW-SM. It was a standalone git repo until now.


## 2020-07-15 1.4.0
Add documentation and manpages.

Legacy-GUI:
 Overhaul look and feel.
 Rewrite labels and buttons with unambiguous descriptions.
 Protect text-input dialog windows from empty strings, like "Add New Client" or "New Session"
 Scale icons, support more icon formats.
 Show all icons and buttons when attaching to a running nsmd session
 Various small fixes.
 Always show correct session name, no matter how the session was loaded or how the GUI was started

nsmd:
 NSM_API_VERSION_MINOR from 0 to 1 (1.0 -> 1.1)
 Repair nsmd to correctly send client data when running headless and a GUI announces later.
 ClientId generation now prevent collision with existing IDs.
 nsmd command line option --load-session to directly load one (Berkelder, Rik)
 Better detection of clients that failed to launch leads to faster session startup (by 5 seconds)
 Users get informed by client-label if an executable is not present on the system or permission denied
 Fixed reply for listing sessions from a plain "Done." to proper reply path with empty string as terminal symbol  "/reply", "/nsm/server/list", ""
 Fix operation reply to last treated client instead to reply to sender (Picot, Mathieu  / houston)
 /nsm/gui/session/name send consistent session name/relative-path pair to the annouced GUI, no matter how the session was loaded.

nsm.h
 :optional-gui: support to nsm.h, for other applications to include and use. (Meyer, Hermann / brummer)


## 2020-06-20 1.3.2
Rename new-session-manager executable to nsm-legacy-gui to prevent future confusion.


## 2020-06-20 1.3.1
Add header copyright even to unchanged files to adhere to stricter packaging requirements.
Meson can now switch off individual executables and will stop/error when trying to build without dependencies.


## 2020-06-17 1.3.0
Rebranding to "new session manager"
Upstream GUI tools "non-session-manager" and "nsm-proxy" converted to standard FLTK instead of a custom toolkit
Changed build system to meson
License upgraded to GPLv3
Simplified file structure
Fix compiler warnings.


## 2020-04-19 1.2.1
Current state of upstream Non Session Manager v1.2 including unreleased /nsm/gui/session/root


## 2017-07-08 1.2.0
Last release of Non-Session-Manager.
Commit 1904aba516341287ac297cefbbcd185f643e5538


## 2012-03-03 1.1.0
Initial release of Non-Session-Manager.
https://non.tuxfamily.org/wiki/2012-03-03%20Release%20Announcement%20v1.1.0
