Skip to content

v2.7.0 - 2018-01-28

Choose a tag to compare

@astorije astorije released this 29 Jan 04:13
v2.7.0
9e49ee2

For more details, see the full changelog and milestone.

The Lounge v2.7.0 is out, and it's a big one! Here is a shortlist of the most notable additions and changes, but as usual, a comprehensive list is available below.

It is now possible to join a channel directly from the UI:

A tooltip saying Join a channel shows up when hovering the + next to a network name in the channel list A form lets the user type a channel name, an optional password, which can then be joined by clicking the submit button
The + button next to any network opens a form to join a channel.

Nicks mentioned in messages are now clickable:

A user mentions someone else's nick in a message, which is now clickable and takes the user's color

Context menu actions have been improved, and new actions have been added:

Available actions in user context menu: User information, Direct messages, Kick Available actions in channel context menu: List banned users, Leave Available actions in network context menu: List all channels, Join a channel, Disconnect
Available actions on nicks in the chat window, and on channels and networks in the channel list

A long-awaited feature, it is now possible to add customizable strings when auto-completing nicks at the beginning of a message:

When comma+whitespace is set in the Settings, auto-completing nicks will add a comma and a space at the beginning of the message, and a space otherwise
To achieve this, set , in your client settings.

The user information available when sending the /whois command (or clicking the corresponding action in a user context menu) has been enhanced:

User information is now displayed as a definition list

Message styling now supports strikethrough text, monospace font, and additional colors:

'Hello world' in a message, where 'Hello' is striked through, and 'world' is monospace
Strikethrough is achieved with Ctrl/⌘ + S. Monospace is achieved with Ctrl/⌘ + M.

The Help window gains a version checker, to inform you if a new version was released:

A version checker says: 'The Lounge v2.7.0 is now available. Read more on GitHub'. There is also a link to release notes of the current version displayed in the UI.

By clicking on the "release notes" link that can be seen above, all the details about the current version appear directly in the client:

A Release notes page displays the changelog for the current version.

The link previewer now supports WebP images, as well as audio and video links:

Big Buck Bunny video on an embedded video player

Another noticeable change is the new message alignment in the main chat window, in order to improve visual experience and reduce flickering when loading a page:

screen shot 2018-01-21 at 23 53 26

There were other changes on the client: accessibility of the application has been improved, notices and errors are now displayed in the current channel (then sent to the corresponding network window when reloading), and many bug fixes.

The Lounge v2.7.0 finally comes with its first package API, letting packages register stylesheets in the client. It is in its very early stage at the moment and is subject to change in future releases, so use it at your own risk. There will not be an official documentation before the API stabilizes in v3, but for more information, refer to the corresponding PR.

The CLI has also been improved:

  • When a password gets changed using the reset command, the new password takes effect immediately, it is not necessary to restart the server anymore.
  • A new uninstall command has been added to remove themes and packages.
  • A new --config/-c option is available to override entries of the configuration file.

⚠️ This version also comes with a few deprecations. All deprecated features are still supported in The Lounge v2.7.0 but be removed from The Lounge v3 (the next version). We recommend upgrading to v2.7.0 before upgrading to the future v3, as v2.7.0 will warn you about deprecated configurations in the server output. Those deprecations are:

  • Support for Node.js v4 is being removed, making Node.js v6 the oldest version we will support.
  • The LOUNGE_HOME environment variable is getting replaced with THELOUNGE_HOME. Use this in lieu of the deprecated --home option as well.
  • In the unlikely situation that you are relying on the .lounge_home file (mainly useful for package maintainers), it is being renamed to .thelounge_home.
  • The CLI command is being changed from lounge to thelounge.
  • All options for the start command are being removed, replaced with the --config/-c option mentioned above. For example, --public becomes -c public=true, --port 9001 becomes -c port=9001, etc.
  • Referring to themes in the theme option of the configuration file is now done through their name, not their CSS file name.

And finally... The Lounge has its own logo! πŸŽ‰

The Lounge logos on dark and white backgrounds

A huge thank you to Francesca Segantini, the artist who designed it!
We will start rolling out our new logo in all the relevant places as of The Lounge v3. In the meantime, you can find details about the logo (and stickers!) on the corresponding issue.

Added

Changed

Deprecated

  • Deprecate support of Node.js v4 in preparation of The Lounge v3 (#1715 by @astorije)
  • Deprecate LOUNGE_HOME environment variable in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home (#1717, #1785 by @astorije)
  • Switch CLI tool from lounge to thelounge, deprecate lounge (#1708 by @astorije)
  • Deprecate existing options of thelounge start and add a generic --config override (#1820 by @astorije)
  • Rename thumbnail/image option to more general media (#1832 by @MaxLeiter)

Removed

Fixed

  • Handle empty client queries (#1676 by @realies)
  • Call callback on fetch error (#1742 by @xPaw)
  • Trigger keep to bottom for previews correctly (#1746 by @xPaw)
  • Fix duplicate text generated when sending channel and link together (#1747 by @astorije)
  • Fix text highlighting when clicking on condensed message toggles (#1748 by @MaxLeiter)
  • Do not keep sign-in and loader references in memory (#1757 by @xPaw)
  • Fix nick changes wrongly reported (#1772 by @astorije)
  • Clone instances of User in Msg to avoid unintentional mutations (#1771 by @astorije, #1859, #1865 by @xPaw)
  • Ask for notification permission on page load if setting is enabled (#1789 by @xPaw)
  • Merge condensed messages when loading more history (#1803 by @xPaw)
  • Proper network icon in context menu (#1816 by @MaxLeiter)
  • Implement reverse style (#1797 by @grissly-man)
  • Do not load user commands or display them on --help if public mode or using LDAP (#1807 by @astorije)
  • Improve user and channel icons in channel list and context menu (#1824 by @astorije)
  • Use better icons for channel/query list and context menu actions (#1829 by @astorije)
  • Fix UI issues with special channels (#1849 by @astorije)
  • Fix gap between #sidebar and #footer (#1691 by @realies)
  • Add missing time (and icon) of status messages on mobile (#1843 by @astorije)
  • Add visual feedback on focused buttons, for example when tabbing to it (#1871 by @astorije)
  • Fix missing messages when reconnecting (#1884 by @xPaw)
  • Fix slideout not closing on mobile when hitting a footer icon (#1892 by @astorije)
  • Display the correct window on page reload (#1889 by @astorije)
  • Fix error not showing up in failed push subscription (#1896 by @xPaw)
  • Only emit "more" history to the client that requested it (#1949 by @xPaw)
  • Provide correct timestamp to browser notifications (#1956 by @xPaw)
  • Fix enabling push notifications on Firefox (#1975 by @xPaw)
  • Add missing execution of callback in ClientManager.updateUser (#1978 by @merlinthp)
  • Make sure existing packages (and themes) are not deleted when installing a new one on Node.js v8 (#1986 by @astorije)
  • Stop expanding condensed messages on /expand (#2006 by @YaManicKill)

Security

  • Harden content security policy even further (#1810 by @xPaw)
  • Stop LDAP authentication from succeeding without password (#1725 by @keegan)
  • Store images with correct file extension (#1926 by @xPaw)
  • Hash user tokens, increase token entropy (#1940 by @xPaw)

Documentation

In the main repository:

  • Fix incorrect documentation URL in default config (#1875 by @MiniDigger)
  • Allow keywords as changelog script version argument, e.g. node scripts/changelog pre (#1913 by @astorije)
  • Separate and improve wording for pre and rc pre-release versions (#1914 by @astorije)
  • Add SECURITY guidelines about security vulnerability disclosures, and link them from the CONTRIBUTING guidelines (#1984 by @astorije)

Internals