v2.0.0
What's Changed
data folder before the update, just to be safe!
- Breaking Change: The existing friends system has been stripped out and replaced with a new, simpler friends system based on marking a DM buffer as a 'friend' instead. Your existing friends will be auto-converted to the new friend system, so most users will not notice any difference.
- You can now "Favorite" channels to pull them into a dedicated space in your sidebar, similar to the Friends system. This is a supplement to the in-network pinning system, as another tier of organization and favoritism.
- The new Friends and Favorites sections can be freely reordered.
- Nick changes are now tracked automatically for peers, so any open dm/query buffer will automatically rename itself to match the new nickname.
- Breaking Change: In order to support this, there needed to be some changes to Lurker's internal database. On start up after updating, you will see some messages indicating your database is migrating to the new model. It shouldn't take long unless you are on a very slow system. I'm marking this as a breaking change as data exports from Lurker 2.0.0 definitely cannot be used with Lurker 1.1.6.
- Added support for m4a, and pretend m4a (3gpp in an m4a container) audio files to the uploader system.
- Link Previews (Beta): Fixed an issue where new messages with link previews were not sticking to the bottom of the chat correctly on load.
- Misc. dependency updates and other fixes.
What's Changed - Detailed
- Route main-branch Docker publishes to
:staging; reserve:latestfor releases by @amiantos with @Copilot in #712 - Normalize buffer identity: messages.buffer_id, sentinel rows, resumable backfill (v17) by @amiantos in #711
- Rebuild the view-state satellites onto buffer_id keys (v18) by @amiantos in #713
- Put bufferId on the wire, and let verbs address buffers by id by @amiantos in #714
- Vue: buffer ids in the store, and one lifecycle registry for per-buffer state by @amiantos in #715
- DM buffers follow their peer through /nick by @amiantos in #716
- Update lurker image to use latest tag in sample compose file by @amiantos in #717
- Fold targets per the server-declared CASEMAPPING (#707) by @amiantos in #718
- Remove the Friends/Contacts system (buffer favorites will replace it) by @amiantos in #720
- Buffer favorites: server foundation + contacts migration (schema v19) by @amiantos in #721
- Vue client: FRIENDS + FAVORITES sidebar sections by @amiantos in #723
- Revive friend-online notifications, keyed on favorited DMs by @amiantos in #725
- Accept audio/mp4 + 3GPP (video/3gpp, video/3gpp2) uploads — same ISO-BMFF scrubber by @JawshTheDark in #685
- build(deps): batch six dependabot updates by @amiantos in #728
- build(deps): batch dependabot round 2, constrain the docker ecosystem by @amiantos in #734
- build: move the runtime to Node 24 LTS by @amiantos in #735
- Reserve an inline image's box in Blink, not just in WebKit by @amiantos in #737
- Source membership modes from ISUPPORT PREFIX, not a hardcode (#486) by @amiantos in #738
- Hoist the per-row notify-always lookup out of N-row decorates (#679) by @amiantos in #739
- Evict the preview value, never the ref identity (#694) by @amiantos in #740
- Own the preview-toggle watcher at module level, not by a route (#693) by @amiantos in #741
- Rewrite ||spoiler|| in /me, /msg, /notice and /shrug too (#652) by @amiantos in #742
- Add a 1.1.x → 2.0 client migration guide by @amiantos in #743
- One channel-prefix test, shared by both tiers (#724) by @amiantos in #745
- Bump Lurker version to 2.0.0 by @amiantos in #747
Full Changelog: v1.1.6...v2.0.0