For more details, see the full changelog and milestone.
This release finishes our work of porting the client codebase to the Vue.js framework, completely removing jQuery and handlebars.
We are marking this release as a major update due to the sheer amount of internal code changes, and it is impossible to predict what could have been broken as a result.
The minimum required Node.js version has been bumped up to 10.15.
If you are a theme author or have CSS tweaks, refer to the upgrade guide to see which changes have been made.
Before upgrading, make sure The Lounge does not report any warnings or deprecations in the console.
Added
- Allow configuring base url for uploads (#3485 by @xPaw)
- Add message type for plugins (#3471 by @MiniDigger)
- Add file size to link preview (#2821 by @Raqbit)
- Enable some user commands for LDAP (#3489 by @xPaw)
- Show which channels have drafts in the network list (#3533 by @richrd)
- Add Unicode 12.1 emojis (#3539 by @xPaw)
- Automatically load new packages and themes (#3579 by @xPaw)
- Add preview for
text/plain
urls (#3606 by @xPaw) - Add
previous-source
class to messages with same sender (#3534 by @richrd) - Improve RTL text support (#3345 by @Jay2k1)
Changed
- Complete porting The Lounge client to the Vue.js framework (#3524 by @xPaw)
- Make client
awayMessage
a client setting (#3549 by @xPaw) - Send 100 actual messages when requesting history with hidden or condensed status messages (#3603 by @xPaw)
- Update production dependencies to their latest versions:
irc-framework
(#3480, #3496, #3501, #3605)file-type
(#3487, #3610, #3612)commander
(#3488, #3512)chalk
(#3509)mime-types
(#3513)ldapjs
(#3519, #3562, #3587)yarn
(#3525, #3547, #3573)cheerio
(#3530)web-push
(#3545, #3556)got
(#3544, #3563, #3575, #3607)tlds
(#3552)sqlite3
(#3554)semver
(#3584, #3598, #3601)ua-parser-js
(#3611)
Removed
- Remove away messages from channels (#3494 by @xPaw)
- Remove
UsernameFiltered
and fix colored mentions (9b9c547
by @xPaw) - Remove user/pass support from
irc://
, support multiple channels (83f3fe7
by @xPaw)
Fixed
- Disable protocol register button if lockNetwork is enabled (#3571 by @xPaw)
- Disable copy hack in Firefox (#3486 by @xPaw)
- Load existing users on startup when LDAP is enabled (#3482 by @xPaw)
- Fix potential issue of history not loading when
showInActive
is the first message (#3490 by @xPaw) - Ignore unknown settings (#3531 by @xPaw)
- Do not compute
filteredUsers
if there's no search input (#3536 by @xPaw) - Fix spacing in kick reason (#3537 by @xPaw)
- Fix sidebar not opening when The Lounge is open in a background tab (#3546 by @xPaw)
- Apply user theme as soon as possible on page load (#3555 by @xPaw)
- Fix video element overflowing in Chrome (#3561 by @richrd)
- Provide fake
$HOME
env to Yarn commands (#3578 by @xPaw) - Assign
preview.thumb
only after it is processed (#3577 by @xPaw) - Fix "premature close" on link previews (#3557 by @xPaw)
- Hide awaymessage/highlights settings in public mode (#3588 by @xPaw)
- Fix keep nick setting nick to undefined on socket close (#3593 by @xPaw)
- Fix format of IPv6 URI (#3597 by @bepvte)
- Optimize user file updates (#3589 by @xPaw)
- Improve link preview loading (
c2ed3fa
by @xPaw) - Replace
confirm()
with context menu (90ec37c
by @xPaw) - Fix uri handling and add tests (
ec85372
by @xPaw) - Hide auto completion menu when channel changes (
57ba119
by @xPaw) - Display a badge when built in development mode (
c70d0fb
by @xPaw) - Replace control codes with a space (instead of just removing) (#3638 by @xPaw)
- Check if there are any packages installed in the
upgrade
command (#3632 by @xPaw)
Documentation
On the website repository:
- Add
baseUrl
configuration (bfc79f0
by @xPaw) - Make nginx compression a link to html5 boilerplate config (
1ab6c77
by @xPaw) - Make the navbar sticky (
3df0c6c
,5d09a7f
by @xPaw) - Add powered by Netlify link in footer (
78b72a9
by @xPaw) - Add custom CSS for hiding message input bar per channel (
f2cba0b
by @gunnvaldr)
Internals
- Improvements to network connections on startup (#3483 by @xPaw)
- Use postcss to optimize css (#3449 by @xPaw)
- Import primer-tooltips css (#3493 by @xPaw)
- Print package versions on startup (#3498 by @MiniDigger)
- Add webpack hot module reloading for development (#3502 by @xPaw)
- Remove transition from context menu items (#3532 by @xPaw)
- Create release github action workflow (#3521 by @xPaw)
- Increase test timeout due to unpredictable I/O on CI services (#3538 by @xPaw)
- Remove \uFE0F emoji variant from emoji name map (#3434 by @xPaw)
- Remove code that aided upgrade to v3 (#3548 by @xPaw)
- Refactor some CSS styling (#3553 by @richrd)
- Fix up css refactor (#3566 by @xPaw)
- Remove unnecessary selectors (#3572 by @xPaw)
- Remove bootstrap.css, use flexbox (#3574 by @xPaw)
- Use data-type attribute on .msg (#3586 by @xPaw)
- Use Set() for condensed types (#3600 by @xPaw)
- Relocate not-secure and not-connected classes and make sure channel exists in jumpToChannel (#3608 by @richrd)
- Pretend to be facebook and twitter bots in link prefetcher (#3602 by @xPaw)
- Remove querySelector in topic edit, fix save button style (#3609 by @xPaw)
- Update development dependencies to their latest versions:
eslint
(#3476, #3527, #3540, #3543, #3619)eslint-config-prettier
(#3477, #3520, #3528)vue-loader
(#3492, #3622)webpack-cli
(#3491)eslint-plugin-vue
(#3508, #3514)pretty-quick
(#3507)mochapack
(#3505, #3510, #3516, #3541, #3560)copy-webpack-plugin
(#3504, #3581)@babel/core
(#3503, #3526, #3558, #3616)@babel/preset-env
(#3503, #3526, #3558, #3565, #3616)prettier
(#3506, #3511)stylelint
(#3517)husky
(#3529)@vue/server-test-utils
(#3542)@vue/test-utils
(#3542)css-loader
(#3559, #3582, #3617)@fortawesome/fontawesome-free
(#3580)vue
(#3583)vue-server-renderer
(#3583)vue-template-compiler
(#3583)textcomplete
(#3621)webpack
(#3623)dayjs
(#3618)mini-css-extract-plugin
(#3620)