v4.4.0-rc.1 - 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) (
37d7de7
by @brunnre8) - enable znc/playback even without message storage (
c8115e2
by @brunnre8) - Remove node 12, add node 18. Bump minimum node version 14 (#4552) (
9dbb6e5
by @xPaw) - linkPreviews: Enforce TLS validity (
621fa92
by @brunnre8) - Use nick as a realname fallback (
30e9f45
by @brunnre8) - Plugins: include pre-releases in compatibility lookup (#4506) (
e4840b4
by @brunnre8) - install: expand ~ for local paths (
e221e70
by @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) (
8153198
by @brunnre8) - Fix user file permissions on create (#4507) (
d7bba32
by @brunnre8) - sqlite: Escape '%' and '_' in search queries. (#4487) (
20ed3e6
by @progval) - set 'video/quicktime' to 'video/mp4' (#4495) (
57b1e51
by @xnaas) - Preserve client certificate (
c9c8cad
by @brunnre8) - Remove uploading event listeners on ChatInput unmount (#4600) (
80f65c5
by @MaxLeiter) - Potentially fix saving new networks (#4599) (
d72d869
by @MaxLeiter) - Fix regex escape for prefix patterns (
d6e1af0
by @brunnre8) - Fix ctcp request message (#4603) (
c8cd405
by @brunnre8) - connect: Trim white space from user input fields (#4623) (
0fa2035
by @brunnre8) - Search: Clear earlier searches when a new one is executed (
83e11b0
by @brunnre8) - Fix previous-source calculation (#4656) (
073a38e
by @brunnre8) - Fix sidebar swipe flicker after letting go (
502780c
by @xPaw) - search: ignore searchResults if it isn't the active query (
0ebc3a5
by @brunnre8) - fix motd display to match settings ([#4726])(#4726) by @SpaceLenore)
Documentation
- Fix misleading LDAP filiter in default config (
f785acb
by @goodspeed34) - Use correct option name (filter instead of ldapFilter) in config.js c… (
4af5fc6
by @murph) - Add password param to /join docs (
8b1a4f7
by @aab12345) - install: Document file: prefix in cli help (
31739b8
by @brunnre8)
On the website repository:
- Link directly to themes on npm (#261) (
410f5d0
by @jeremiah-rs) - Don't use yarn link for source installs (#262 by @brunnre8)
- Add Insecure Warning CSS (#264) (
95efa48
by @aab12345) - Add custom nick colors section to custom css guide (#265) (
63847c3
by @xnaas) - Fix Apache configuration syntax (
41cb84e
by @lucaswerkmeister) - Be more explicit about needing Yarn 1 (Classic) (#268) (
1eff267
by @SyntaxColoring) - Don't mention
npm
command for installation (7e936c2
by @SyntaxColoring) - Update reverse-proxies.md (
afc7e29
by @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) (
d4cc2dd
by @brunnre8) - Convert configs to cjs, move babel to own file, combine webpack confi… (
c205b89
by @nemchik) - Fix yarn dev (#4574) (
2e3d9a6
by @nemchik) - TypeScript and Vue 3 (#4559) (
dd05ee3
by @MaxLeiter) - Added client type checking to webpack (#4619) (
117c5fa
by @antoniomika) - don't call search on a disabled msg provider (
bea4545
by @brunnre8) - extract migrations (
f04a066
by @brunnre8) - sqlite: error if sqlite isn't enabled but search() is called (
cebc6d0
by @brunnre8) - sqlite: move export to bottom of the file (
f6b2921
by @brunnre8) - sqlite: fix docstring (
e62b169
by @brunnre8) - sqlite: add run helper function (
89ee537
by @brunnre8) - sqlite: create serialize_fetchall helper function (
cc3302e
by @brunnre8) - sqlite: use serialize_fetchall in getMessages (
ee8223c
by @brunnre8) - sqlite: use serialize_fetchall in search (
5e1cbe3
by @brunnre8) - sqlite: add serialize_get (
bbe81bb
by @brunnre8) - sqlite: convert migrations to async (
f068fd4
by @brunnre8) - messageStorage: convert to async (
d62dd3e
by @brunnre8) - SearchResults: remove computed search prop (
6b617f8
by @brunnre8) - SearchResults: Fix search progess upon search (
dca2024
by @brunnre8) - SearchResults: remove dead code (#4639) (
53f6041
by @brunnre8) - SearchQuery: offset is always a number (
8095d9e
by @brunnre8) - Search: fix off by one offset error (
51c9ce0
by @brunnre8) - keybinds: Fix invalid return (
0765d20
by @brunnre8) - server: the http{,s} server can't be null (
1597c2c
by @brunnre8) - make getClientConfiguration type safe (
fd14b4a
by @brunnre8) - remove VueApp from router (
dfb4217
by @brunnre8) - search: fix order of result merging (
8204c34
by @brunnre8) - store: addMessageSearchResults shouldn't accept null (
982816f
by @brunnre8) - sqlite: synchronize enable() internally (
2d4143b
by @brunnre8) - messagestorage: remove implementation details from interface (
661d5cb
by @brunnre8) - textStorage: rip out client instance (
52b8a2a
by @brunnre8) - sqlite: Remove client from sqlitestorage (
958a948
by @brunnre8) - Fix uploader mount/unmount lifecycle (
2ce374f
by @maxpoulin64) - Fix git commit not being available in dist build (
2f04150
by @xPaw) - network: add getLobby accessor (
fade6a8
by @brunnre8) - pluginCommand: type it and guard against bad input (
4023323
by @brunnre8) - packaging: Use an include list in package.json (
efd24fd
by @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 (
845daba
by @brunnre8) - Fix config typing and make Client easier to test (
eb509f7
by @brunnre8) - server/client: refactor command input (
4e954b9
by @brunnre8) - Clean up command input code (
e8b6434
by @brunnre8) - Inline logger into changelog script (#4717 by @brunnre8)
- Fix load of channels from user config (
0c7cc85
Val Lorentz) - style: Put user colors into the smallest possible scope (
f55f772
by @brunnre8) - Fix Morning theme nick colors (#4690 by @maxpoulin64)
- Publish to npm with provenance ([#4724])(#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 (
da02350
by @renovate-bot) - chore(deps): update dependency @textcomplete/core to v0.1.11 (#4555) (
99c48db
by @renovate[bot]) - chore(deps): update babel monorepo (#4554) (
38f1352
by @renovate[bot]) - chore(deps): update dependency mocha to v9.2.2 (#4581) (
194b85b
by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.0.8 (#4564) (
ddcee53
by @renovate[bot]) - chore(deps): update dependency @textcomplete/textarea to v0.1.12 (
e972165
by @renovate[bot]) - chore(deps): update dependency @types/content-disposition to v0.5.5 (
740618c
by @renovate[bot]) - chore(deps): update dependency @textcomplete/core to v0.1.12 (
0cb4791
by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.0.10 (
520646a
by @renovate[bot]) - fix(deps): update dependency file-type to v16.5.4 [security] (
0495761
by @renovate[bot]) - chore(deps): lock file maintenance (
57ed37c
by @renovate[bot]) - Revert "chore(deps): update dependency @textcomplete/core to v0.1.12" (
3240997
by @brunnre8) - chore(deps): update dependency sqlite3 to v5.1.2 (
5a803cc
by @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.2.1 (
cb17f8d
by @renovate[bot]) - chore(deps): update dependency postcss to v8.4.18 (
5a4a39b
by @renovate[bot]) - chore(deps): update dependency chai to v4.3.7 (
0ad033f
by @renovate[bot]) - chore(deps): update dependency @types/is-utf8 to v0.2.1 (
b5ea7cc
by @renovate[bot]) - chore(deps): update dependency @types/lodash to v4.14.188 (
dfe288e
by @renovate[bot]) - chore(deps): update dependency @types/chai to v4.3.4 (
19307d0
by @renovate[bot]) - chore(deps): update dependency postcss to v8.4.19 (
2218841
by @renovate[bot]) - chore(deps): update dependency @types/lodash to v4.14.191 (
d61ab7e
by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.4 (
c854d27
by @renovate[bot]) - chore(deps): update dependency @types/ws to v8.5.4 (
502fb7a
by @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.2.7 (
6b23b87
by @renovate[bot]) - chore(deps): update dependency sinon to v13.0.2 (
90d17ca
by @renovate[bot]) - chore(deps): update dependency vue-loader to v17.0.1 (
2f8dc01
by @renovate[bot]) - chore(deps): update dependency webpack-dev-middleware to v5.3.3 (
4742a07
by @renovate[bot]) - chore(deps): update dependency @vue/test-utils to v2.3.1 (
50e8d2a
by @renovate[bot]) - chore(deps): update dependency postcss to v8.4.21 (
8e249d4
by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.5 [security] (
bc4c308
by @renovate[bot]) - chore(deps): update dependency webpack to v5.76.0 [security] (
a67cee1
by @renovate[bot]) - chore(deps): update dependency sqlite3 to v5.1.6 (
34a01c2
by @renovate[bot]) - chore(deps): update dependency @types/mousetrap to v1.6.11 (
5037383
by @renovate[bot]) - Autocomplete: update to @textcomplete package and close on blur (#4493) (
bdd6e71
by @MaxLeiter) - Update sqlite3 to 5.0.3 (
7db0d46
by @xPaw) - Merge sqlite3 upgrade to v5.0.6 (
abf8906
by @brunnre8) - bump socket.io to 4.5.2 (
d4bbd91
by @brunnre8) - bump socket.io-client to 4.5.0 (
4c7337b
by @brunnre8) - Bump engine.io from 6.2.0 to 6.2.1 (
f8eb0eb
by @dependabot[bot]) - Bump loader-utils from 2.0.2 to 2.0.4 (
8924545
by @dependabot[bot]) - Bump loader-utils from 2.0.2 to 2.0.4 (
21c8b0d
by @brunnre8) - update dependency @types/mousetrap to v1.6.11 (
7ee4b80
by @brunnre8) - update dependency @types/lodash to v4.14.191 (
c67df36
by @brunnre8) - caniuse-lite: update db (
efd3b64
by @brunnre8) - build(deps): bump json5 from 2.2.1 to 2.2.3 (
ce3ad56
by @dependabot[bot]) - fix(deps): update dependency ua-parser-js to v1.0.33 [security] (
bde5c3d
by @renovate[bot]) - build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (
7304acd
by @dependabot[bot]) - update dependency postcss to v8.4.21 (
95e5630
by @brunnre8) - update dependency sinon to v13.0.2 (
0183d89
by @brunnre8) - update dependency vue-loader to v17.0.1 (
eddcbcc
by @brunnre8) - update dependency webpack-dev-middleware to v5.3.3 (
4831c20
by @brunnre8) - update dependency webpack to v5.76.0 (
6b00ccf
by @brunnre8)