LinuxServer Changes:
Rebase to Alpine 3.18, deprecate armhf.
thelounge Changes:
v4.4.0 - 2023-04-22
For more details, see the full changelog and milestone.
This is mostly a developer focused release. Max, Eric and others rewrote the whole thing in TypeScript / Vue 3,
which should make it much easier to add features and find bugs in the future. So huge kudos from the rest of the team!
Additionally, there's the obvious grab bag of fixes, dependency updates and improvements.
Settings are now grouped and easier to navigate for new users.
Following the Node.js maintenance schedule, The Lounge now needs at least Node.js 14 to run.
A big thanks to everyone who contributed in any way to this release, your help is much appreciated.
Considering that a bunch of our dependencies had security issues assigned to them, all users are advised to update to the new version.
Packagers: Considering the switch to TypeScript, the server build now emits to the dist/ folder.
You might need to adapt your build scripts.
Added
Changed
- Refactor settings to their own tabs and routes (#4489 by @MaxLeiter)
- allow away and back to be collapsed (#4669 by @brunnre8)
- Kill TL when ident can't start up (#4512) (
37d7de7by @brunnre8) - enable znc/playback even without message storage (
c8115e2by @brunnre8) - Remove node 12, add node 18. Bump minimum node version 14 (#4552) (
9dbb6e5by @xPaw) - linkPreviews: Enforce TLS validity (
621fa92by @brunnre8) - Use nick as a realname fallback (
30e9f45by @brunnre8) - Plugins: include pre-releases in compatibility lookup (#4506) (
e4840b4by @brunnre8) - install: expand ~ for local paths (
e221e70by @brunnre8)
Fixed
- Fix the alignment of the header buttons (#4539 by @ronilaukkarinen)
- Fix user commands not working (#4594 by @xPaw)
- Don't crash on oidentd socket race condition (#4695 by @maxpoulin64)
- cli: don't error if the user folder doesn't exist (#4508) (
8153198by @brunnre8) - Fix user file permissions on create (#4507) (
d7bba32by @brunnre8) - sqlite: Escape '%' and '_' in search queries. (#4487) (
20ed3e6by @progval) - set 'video/quicktime' to 'video/mp4' (#4495) (
57b1e51by @xnaas) - Preserve client certificate (
c9c8cadby @brunnre8) - Remove uploading event listeners on ChatInput unmount (#4600) (
80f65c5by @MaxLeiter) - Potentially fix saving new networks (#4599) (
d72d869by @MaxLeiter) - Fix regex escape for prefix patterns (
d6e1af0by @brunnre8) - Fix ctcp request message (#4603) (
c8cd405by @brunnre8) - connect: Trim white space from user input fields (#4623) (
0fa2035by @brunnre8) - Search: Clear earlier searches when a new one is executed (
83e11b0by @brunnre8) - Fix previous-source calculation (#4656) (
073a38eby @brunnre8) - Fix sidebar swipe flicker after letting go (
502780cby @xPaw) - search: ignore searchResults if it isn't the active query (
0ebc3a5by @brunnre8) - fix motd display to match settings ([#4726])(thelounge/thelounge#4726) by @SpaceLenore)
Documentation
- Fix misleading LDAP filiter in default config (
f785acbby @goodspeed34) - Use correct option name (filter instead of ldapFilter) in config.js c… (
4af5fc6by @murph) - Add password param to /join docs (
8b1a4f7by @aab12345) - install: Document file: prefix in cli help (
31739b8by @brunnre8)
On the website repository:
- Link directly to themes on npm (#261) (
410f5d0by @jeremiah-rs) - Don't use yarn link for source installs (#262 by @brunnre8)
- Add Insecure Warning CSS (#264) (
95efa48by @aab12345) - Add custom nick colors section to custom css guide (#265) (
63847c3by @xnaas) - Fix Apache configuration syntax (
41cb84eby @lucaswerkmeister) - Be more explicit about needing Yarn 1 (Classic) (#268) (
1eff267by @SyntaxColoring) - Don't mention
npmcommand for installation (7e936c2by @SyntaxColoring) - Update reverse-proxies.md (
afc7e29by @PeGaSuS-Coder)
Internals
- Decouple server (#4686 by @brunnre8)
- Tests/server: Tear down test fixtures in the order they were setup (#4715 by @progval)
- Refactor config out of Helper (#4558) (
d4cc2ddby @brunnre8) - Convert configs to cjs, move babel to own file, combine webpack confi… (
c205b89by @nemchik) - Fix yarn dev (#4574) (
2e3d9a6by @nemchik) - TypeScript and Vue 3 (#4559) (
dd05ee3by @MaxLeiter) - Added client type checking to webpack (#4619) (
117c5faby @antoniomika) - don't call search on a disabled msg provider (
bea4545by @brunnre8) - extract migrations (
f04a066by @brunnre8) - sqlite: error if sqlite isn't enabled but search() is called (
cebc6d0by @brunnre8) - sqlite: move export to bottom of the file (
f6b2921by @brunnre8) - sqlite: fix docstring (
e62b169by @brunnre8) - sqlite: add run helper function (
89ee537by @brunnre8) - sqlite: create serialize_fetchall helper function (
cc3302eby @brunnre8) - sqlite: use serialize_fetchall in getMessages (
ee8223cby @brunnre8) - sqlite: use serialize_fetchall in search (
5e1cbe3by @brunnre8) - sqlite: add serialize_get (
bbe81bbby @brunnre8) - sqlite: convert migrations to async (
f068fd4by @brunnre8) - messageStorage: convert to async (
d62dd3eby @brunnre8) - SearchResults: remove computed search prop (
6b617f8by @brunnre8) - SearchResults: Fix search progess upon search (
dca2024by @brunnre8) - SearchResults: remove dead code (#4639) (
53f6041by @brunnre8) - SearchQuery: offset is always a number (
8095d9eby @brunnre8) - Search: fix off by one offset error (
51c9ce0by @brunnre8) - keybinds: Fix invalid return (
0765d20by @brunnre8) - server: the http{,s} server can't be null (
1597c2cby @brunnre8) - make getClientConfiguration type safe (
fd14b4aby @brunnre8) - remove VueApp from router (
dfb4217by @brunnre8) - search: fix order of result merging (
8204c34by @brunnre8) - store: addMessageSearchResults shouldn't accept null (
982816fby @brunnre8) - sqlite: synchronize enable() internally (
2d4143bby @brunnre8) - messagestorage: remove implementation details from interface (
661d5cbby @brunnre8) - textStorage: rip out client instance (
52b8a2aby @brunnre8) - sqlite: Remove client from sqlitestorage (
958a948by @brunnre8) - Fix uploader mount/unmount lifecycle (
2ce374fby @maxpoulin64) - Fix git commit not being available in dist build (
2f04150by @xPaw) - network: add getLobby accessor (
fade6a8by @brunnre8) - pluginCommand: type it and guard against bad input (
4023323by @brunnre8) - packaging: Use an include list in package.json (
efd24fdby @brunnre8) - Fix incorrect typing of dehydrated networks and channels (
76098d7@progval) - Client: move socket connection out of the constructor (
a049a01@progval) - Fix test wording (
d58fb84@progval) - Remove override of UserConfig (
320075e@progval) - Fix sqlite query invocation in test (
845dababy @brunnre8) - Fix config typing and make Client easier to test (
eb509f7by @brunnre8) - server/client: refactor command input (
4e954b9by @brunnre8) - Clean up command input code (
e8b6434by @brunnre8) - Inline logger into changelog script (#4717 by @brunnre8)
- Fix load of channels from user config (
0c7cc85Val Lorentz) - style: Put user colors into the smallest possible scope (
f55f772by @brunnre8) - Fix Morning theme nick colors (#4690 by @maxpoulin64)
- Publish to npm with provenance ([#4724])(thelounge/thelounge#4724) by @xPaw)
Dependency updates
Aka the boring bits... It's the last section too, so feel free to gloss over it
- fix(deps): update dependency got to v11.8.5 [security] (#4596 by @renovate)
sqlite3(#4541)- chore(deps): update dependency sqlite3 to v5.0.6 (
da02350by @renovate-bot) - chore(deps): update dependency @textcomplete/core to v0.1.11 (#4555) (
99c48dbby @renovate[bot]) - chore(deps): update babel monorepo (#4554) (
38f1352by @renovate[bot]) - chore(deps): update dependency mocha to v9.2.2 (#4581) (
194b85bby @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.0.8 (#4564) (
ddcee53by @renovate[bot]) - chore(deps): update dependency @textcomplete/textarea to v0.1.12 (
e972165by @renovate[bot]) - chore(deps): update dependency @types/content-disposition to v0.5.5 (
740618cby @renovate[bot]) - chore(deps): update dependency @textcomplete/core to v0.1.12 (
0cb4791by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.0.10 (
520646aby @renovate[bot]) - fix(deps): update dependency file-type to v16.5.4 [security] (
0495761by @renovate[bot]) - chore(deps): lock file maintenance (
57ed37cby @renovate[bot]) - Revert "chore(deps): update dependency @textcomplete/core to v0.1.12" (
3240997by @brunnre8) - chore(deps): update dependency sqlite3 to v5.1.2 (
5a803ccby @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.2.1 (
cb17f8dby @renovate[bot]) - chore(deps): update dependency postcss to v8.4.18 (
5a4a39bby @renovate[bot]) - chore(deps): update dependency chai to v4.3.7 (
0ad033fby @renovate[bot]) - chore(deps): update dependency @types/is-utf8 to v0.2.1 (
b5ea7ccby @renovate[bot]) - chore(deps): update dependency @types/lodash to v4.14.188 (
dfe288eby @renovate[bot]) - chore(deps): update dependency @types/chai to v4.3.4 (
19307d0by @renovate[bot]) - chore(deps): update dependency postcss to v8.4.19 (
2218841by @renovate[bot]) - chore(deps): update dependency @types/lodash to v4.14.191 (
d61ab7eby @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.4 (
c854d27by @renovate[bot]) - chore(deps): update dependency @types/ws to v8.5.4 (
502fb7aby @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.2.7 (
6b23b87by @renovate[bot]) - chore(deps): update dependency sinon to v13.0.2 (
90d17caby @renovate[bot]) - chore(deps): update dependency vue-loader to v17.0.1 (
2f8dc01by @renovate[bot]) - chore(deps): update dependency webpack-dev-middleware to v5.3.3 (
4742a07by @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.3.1 (
50e8d2aby @renovate[bot]) - chore(deps): update dependency postcss to v8.4.21 (
8e249d4by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.5 [security] (
bc4c308by @renovate[bot]) - chore(deps): update dependency webpack to v5.76.0 [security] (
a67cee1by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.6 (
34a01c2by @renovate[bot]) - chore(deps): update dependency @types/mousetrap to v1.6.11 (
5037383by @renovate[bot]) - Autocomplete: update to @textcomplete package and close on blur (#4493) (
bdd6e71by @MaxLeiter) - Update sqlite3 to 5.0.3 (
7db0d46by @xPaw) - Merge sqlite3 upgrade to v5.0.6 (
abf8906by @brunnre8) - bump socket.io to 4.5.2 (
d4bbd91by @brunnre8) - bump socket.io-client to 4.5.0 (
4c7337bby @brunnre8) - Bump engine.io from 6.2.0 to 6.2.1 (
f8eb0ebby @dependabot[bot]) - Bump loader-utils from 2.0.2 to 2.0.4 (
8924545by @dependabot[bot]) - Bump loader-utils from 2.0.2 to 2.0.4 (
21c8b0dby @brunnre8) - update dependency @types/mousetrap to v1.6.11 (
7ee4b80by @brunnre8) - update dependency @types/lodash to v4.14.191 (
c67df36by @brunnre8) - caniuse-lite: update db (
efd3b64by @brunnre8) - build(deps): bump json5 from 2.2.1 to 2.2.3 (
ce3ad56by @dependabot[bot]) - fix(deps): update dependency ua-parser-js to v1.0.33 [security] (
bde5c3dby @renovate[bot]) - build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (
7304acdby @dependabot[bot]) - update dependency postcss to v8.4.21 (
95e5630by @brunnre8) - update dependency sinon to v13.0.2 (
0183d89by @brunnre8) - update dependency vue-loader to v17.0.1 (
eddcbccby @brunnre8) - update dependency webpack-dev-middleware to v5.3.3 (
4831c20by @brunnre8) - update dependency webpack to v5.76.0 (
6b00ccfby @brunnre8)