0.12.0 / 2021-12-17
    Features:
        Add "Startup" dialog which let you open a recent session. This way, just lanch RaySession and press Enter to load the last session.
        
        Add optional systray icon, activated only when a session is loaded, but user can also decide to use it always or never. 
        
        "Open Session" dialog largely improved, user can now see clients, notes and snapshots in the session to load. We can also see session folder size and date, and if session contains scripts. It is also now possible to rename, duplicate or save as template a not loaded session, or to load in the current session a client from another session.
        add "long jack naming" checkbox in "add executable" dialog.
        
        Add "utility scripts" to menubar:
            convert an ardour session to a Ray session (containing this ardour session)
            Convert the current session to the NSM file format
            Convert Ray-Hack clients to NSM, for Jack-Mixer and Hydrogen
        Add "recent sessions" to menubar and to systray icon.
        
        Add "prevent overlap" default option, with this, when a box is moved on front of other ones, theses other boxes are moved elsewhere (near).
        double click on patchbay box to show/hide optional-gui, if this box is recognized as a client box
        Add 'Find a box' (Ctrl+F) filter bar, to highlight boxes matching with a given pattern
        Add 'Find patchbay boxes' in client menu, it highlights boxes of the client (if recognized with their name)
        Add box wrap button if box is fat.
        Limit patchbay port width, truncking port name in the middle, the max width can be changed in canvas options dialog
        Ports in portgroups can now be larger if their name requires that
        Specific decorations for pipewire Monitor clients
        
        ray_control: trashed_client remove_keep_files option added.
        
        Add :monitor: NSM capability, a client can now be aware of other clients events.
    
    Behavior changes:
        Patchbay is now shown by default.
        "Keep Focus while opening clients" option is now de-activated by default, its shortcut has been changed to Ctrl+H.
        In patchbay, if zoom is lower than 40%, a mouse click and drag anywhere in a box moves this box.
        Session file is now automatically saved in case of consequent changes: session renamed, client prefix changed, client definitely removed.
        Sessions in a session directory are not listed anymore, mostly for faster listing. 
    
    Bug Fixes:
        Display true client names if "use graceful names" canvas option is unchecked
        Remove the vertical white line on the left, in fullscreen patchbay
        No more possibility to see boxes with no ports
        Fix connections moving with a delay in case of fast box move.
        Fix too long or empty Midi-Bridge port names with pipewire option jack.filter_name=true
        fix crashes with recent versions of python or python-qt
        consider '/' as box title divisor only if it seems to be a client of session, and this way prevent some pipewire titles to be wrongly splitted
        fix crashes because of recursives error while moving a patchbay box.
        
        fix crash with Ray-Net (Network Session) save client template action
        sooperlooper_nsm now follows given jack_client_name (with option, to prevent connections loses)
        
    New Templates:
        seq192


0.11.1 / 2021-08-27
    Bug Fixes:
        fix GUI crash when showing snapshots without config for info dialog
        fix missing icons and applications infos in "Add Application" dialog under Fedora
        fix patchbay context menu displayed at wrong place under Wayland
        grey background for all QGroupBox, because some qt styles doesn't separate them from the rest of window (grrr...), and it becomes not understandable).
        patchbay: ardour "physical_audio_input_monitor_enable" becomes "physical monitor" with graceful names enable, same for midi

    Improvements:
        Manual : style review and patchbay section added
        Patchbay boxes allow 3 or 4 lines title, because PipeWire uses sometimes veryyyy long group names for hardware boxes

0.11.0 / 2021-08-05
    The most important new feature in this release is the apparition of the JACK patchbay. You also can press Ctrl+J to show/hide the patchbay.

    The patchbay has been forked from Carla, with some improvements.
    For the moment, there are only 3 advantages to have the patchbay directly in RaySession's GUI

        Boxes positions are memorized and replaced per session
        Boxes have icons of the corresponding NSM client
        of course: only one window for two things you generally need in a session

    Note that :

        The session frame is now "responsive design" to be reduced in width and allow more space to the patchbay.
        messages were moved from the right to the bottom left (under the session frame)

    The list below concerns the improvements of patchbay:

        Most important probably: portgroups and stereo detection. Ports are automatically grouped into a portgroup if they seems to form a stereo pair. This allows faster connections, and also a more readable canvas, with less and less useless text. This improve has been proposed for PR to Carla. Portgroups can be also set by JACK metadatas, and without limitation of number of ports.
        wrap/unwrap boxes: you can hide all ports of a box, very useful for big groups as Ardour or Hydrogen boxes. Hide what you don't need let's you see better what you need !
        hardware boxes have specific decorations
        Port order follows JACK metadata "port-order"
        Boxes have their application icon if possible. Box header is a little higher, but it allows box to be consequently shorter in width in case group name is long.
        connect menu by right click: by right click on a port, you can directly connect the port to any connectable port of the canvas. Connect a port doesn't close the context menu, so you can connect to many ports quickly. It also works for portgroups.
        Clipboard: cut/copy connections of a port to another port, in port context menu. Also works for portgroups.
        filter ports: by right click in the background, you can display only Audio ports, or only MIDI ports, or all ports of course.
        when you click and drag to connect 2 ports, you also can connect with right click (while keeping left mouse button down), this way you can connect quickly one port to many others.
        with click and drag on a port, you can also move to a port with same mode (input/output), it will cut and copy connections from the first port to the second one. To prevent wrong movements, it works only if the second port has no connections
        Beziers connections lines have been reviewed to be more visible when the ports are close in abscissa and distant in ordinate
        canvas option window is a tool dialog where options take effect on place
        graceful names (default option): port names are shortened with custom rules, it doesn't uses JACK aliases. Allow boxes to be less large.
        elastic canvas (default option): the scene is automatically resized to the contents, so the view is directly optimized when group is added or moved
        option to group or not hardware A2J ports
        Box moves are animated when they are moved to their session position, when the port type filter change, or when they are joined/splitted
        Double-click anywhere in patchbay to toggle fullscreen patchbay

    Regressions:

        No option to use straight lines instead of bezier lines, I find it very ugly and unusable
        No option to animate box apparition
        No theme support, only color scheme

        

0.10.1 / 2021-02-04
    Manual:
        Add a complete online and offline manual accessible from the help tab of the menu bar. It opens RaySession's manual in your web browser.
        Note that english is not my mother language, corrections are welcome.

    Bug Fixes:
        Client label is now grayed out when client is added stopped
        Jack config memory script won't prevent anymore to load the session if ALSA device is set to 'none'
        French translation fixes (thanks to Olivier Humbert)

    New Template:
        Rakarack-plus


0.10.0 / 2020-11-10
    New Features:
        Add option "Remember optional GUI states" which recalls the optional GUIs visibility state
        Add Application dialog largely improved with access to all possible informations about the templates
        Session Notes dialog where you can edit...session notes
        'duplicate', 'save session as template' and 'rename session' moved to a menu at top left of the session frame  
        provide log files in ~/.config/RaySession/logs/
        improve open session dialog behavior between filter bar and treelist
        add "Make Reappear all hidden dialogs" action
        add RayNet client protocol, which is used only for Network Sessions
        change icon for optional GUI visible/hidden (shamelessly pricked idea at Agordejo)
        ray_control : add_client_template not started option added
        clients now remember their template origin
        "save as template" button becomes "Update the Template" in save as template (session/client) dialog if template exists
        Jack config script now saves all pulse2jack configurations, even the more complex ones

    API change:
        raysession's --session argument has been replaced with --start-session because --session was taken by Qt, -s still works fine
    
    Bug Fixes:
        Now translated in french for french speaking users out of France
        Add all default Qt translations
        raysession should connect to a running daemon without GUI, even after a GUI crash (GUI crash should not happen of course ;) )
        ray_control start now start with the good session root if it is not the default one (~/Ray Sessions)
        remove Hydrogen NSM template because RayHack template is safer for now
        Sequencer64 template has a -m option to work fine with JACK connections
    
    New Templates:
        Xtuner
        Mamba
    
0.9.2 / 2020-08-01
Bug Fix:
    Strong: Fix empty client templates list if there was no user client template

0.9.1 / 2020-07-21
Bug Fix:
    Remove a binary file added by error to source code

0.9.0 / 2020-07-16
New Features:
    CLI: Control allmost all GUI actions and more with the CLI ray_control.
    Session scripts: allow user to edit shell scripts at session load, save and close.
    JACK config session script: script that saves and recalls the JACK configuration for the session.
        Add this from session templates in "New Session" window.
    RayHack: New client protocol which is an alternative to ray-proxy.
        This allows to launch directly the process and to edit its properties even if process is stopped.
        I know this feature will be considered as heretic by someones, this is not strong, I know it doesn't changes things too much.
    Factory client templates are installed in /etc/xdg/raysession to allow packagers to add some templates.
    Get client label, icon and description from their .desktop file.
    
Subfolder combobox removed in New Session Dialog
Daemon option "Save from client" has been removed. Please affect a global keyboard shortcut (Meta+Ctrl+S) to ray_control save instead.


0.8.3 / 2019-11-25
This release fixes the link for src/bin/ray_control from absolute to relative path.
Sorry for the inconvenience.

0.8.2 / 2019-11-20
this new version is here to fix a big bug with snapshots.
If user name and user email were not mentioned to git, snapshot always failed with some versions of git.

Fix snapshot/git bug
Fix network session not working
Provide fallback icons for allmost all system icons
add little script 'ray_control', this way you can use 'ray_control save' to save your running session (and affect this to a global keyboard shortcut (eg, Meta+Ctrl+S)).

0.8.1 / 2019-10-23
Just a bug fix release. In v0.8.0 , first session creation failed (first session of the directory (e.g. ~/Ray Sessions/first session).
Ray Session has also been renamed to RaySession everywhere it was.

0.8.0 / 2019-10-15 Autumn Release.
This release contains many new features. Mainly the snapshot manager.

Snapshot manager (requires git): Take a snapshot at each session save. User can go back to a previous snapshot with the "rewind" button at the right of "executable" button. See "snapshots explain" file in code root for more info.
Proxy: Improve integration of non savable clients. Possibility to display a special save icon and prevent accidental close on RaySession in this case. Try to close gracefully client window is possible (requires wmctrl).
Favorites: User can quickly add a favorite template with "Favorites" button or with a right click below clients.
Add Application dialog: Now shows an "User" icon at right of each user template, click on it to remove this template. Click on favorite icon to add the template to favorites. Double click on template to launch it.
Open Session dialog: Now shows all session in a tree-view (if some sessions are under a sub-folder). Double-click on session to open it.
New Session Dialog: If some sessions are in a sub-folder, shows a sub-folder combo box for the new session.
Add Executable Dialog: Click on "Show More Options" to change Prefix or client_id. Useful to integrate in the session files made outside (for advanced users).
Client Properties Dialog: global re-design, edit line added to edit extensions ignored for snapshots.
add a donations Dialog
NSM Compatibility review: Possibility to launch a client externally with the environment variable NSM_URL, Absolute PATH are not allowed anymore when adding an executable. Integration of server-control NSM OSC messages which try to reproduce exact NSM behavior.
Bug Fix: fix prevent desktop session disconnection (on KDE and maybe other ones desktops).


0.7.2 / 2019-07-15
New Application Templates for OPNplug* and amsynth.
fix unsaved stop signal in ray-proxy
faster pid check for desktops memory
Thanks to jpcima for the OPNplug template pull request.

0.7.1 / 2019-01-16
Bug Fixes:
    Fix bug with drag and drop client items. Clients order wasn't saved.
    Fix untranslated proxy window.
    Fix non removed stopped clients at session close.
    Fix search of switchable clients if client executable or arguments have been recently modified
    Now send hide_optional_gui to client only once "open" has been sent. This can now makes some window flashes but it did make crash some softwares as Patroneo and Fluajho.
New Templates:
    Add Patroneo and Fluajho templates to Factory

0.7.0 / 2019-01-07
New features:

New Option (activated by default): provide bookmark (shortcut) of the session folder for gtk2, gtk3, qt4, qt5, fltk and kde5 file pickers.
New Option: Desktops Memory (requires wmctrl). If activated, clients windows will be moved to the given desktop when session is ready, or when a client is ready. It may not works depending on your D.E.
Edit executable and arguments in client properties window. Arguments are supposed to be not supported by NSM. Sometimes it works and it can be useful.
option -s to load session at startup
ray-proxy: new option "wait window for reply" (requires wmctrl)
sooperlooper_nsm: option to pause and trig with jack_transport events (play/pause)
new factory templates for ADLplug, Petri-Foo, Shuriken, Sequencer64 and SooperLooper +Transport
