v1.1.0
🎉 the first Concinnity minor release, just before 2026! Happy holidays and a happy new year to all! 🎉
- Introducing user avatars! These can be changed from the settings page, stored in the AVIF format (didn't know JXL was gonna be back in vogue in 2026 :/), and are shown in chat messages and the user profile.
- We now support MariaDB and PostgreSQL equally for the backend 🎊 especially since my production deployment uses MariaDB.
- Added support for changing username and email from the settings page.
- Fixed #23 by adding support for changing the source of a video file, so you can now play remote files from a local source, and vice versa.
- You can change the video source at any time from the video settings menu, without disturbing others in the room or reloading the page.
- Fixed an XSS vulnerability present in chat messages.
- Various other bug fixes and UI improvements 🐛
Minor Changes
- feat(backend): add change username/email endpoints: aa8457d
- feat(frontend): add change username and email: 6f9db2b
- feat(backend): add get avatar endpoint and db: c23de64
- feat(backend): resize avatars on request with WebP: a9f7c9f
- feat(backend): add change avatar endpoint: 63adaad
- feat: expose avatars to frontend via user profiles: 1bccf43
- feat(frontend): show avatars in chat: 2a9e4b8
- feat(frontend): show profile picture in settings: d3a9402
- feat(backend): use AVIF encoding instead of WebP: 466f9cb
- feat(frontend): add avatar management buttons: 7fa2d8b
- feat(frontend): enable removing avatar: fe97ce7
- feat(frontend): enable changing avatar (fix #7): 47d2652
- feat(frontend): allow changing src video afterward Works toward fixing #23: 77d5169
- feat(frontend): play a local video from remote URL Fixes #23: 3dff7a6
- docs: treat PostgreSQL/MariaDB equally: 6fa5c6c
- feat(backend): send profile updates over room WS: 3db0830
- feat(frontend): support live user_profile_update: 4d5b4ee
- feat(backend): support BMP/TIFF/GIF/WebP avatars: a4b861c
- feat(backend): support AVIF avatar uploads: 098e43f
- feat(frontend): allow BMP/TIFF/GIF/AVIF/WebP avatars: 5b8ebef
Patches
- fix(backend): wrong HTTP code resp in subtitle API: 9233d3f
- refactor(backend): move user endpoints out of auth: 69e5cbc
- refactor(backend): avatar storage, fix resizing: f26857d
- refactor(backend): fix minor staticcheck nit: 0e844bf
- fix(backend): broken upgrades, nullable strings: b2f948f
- refactor(backend): mild perf fixes for GET avatar: 38caaf3
- fix(backend): delete old avatars on change: 62fbc58
- fix(backend): misc avatar issues: 1fbc9fb
- fix(backend): fix internal errors w/ MariaDB: 0804633
- fix(frontend): fix chat overflow, improve padding: b278ab6
- fix(frontend): disable dialog btns during API req: 50a4b49
- feat(backend): increase target character limit: ccee803
- fix(backend): fix upgrades on PostgreSQL/MariaDB: cff83b0
- fix(frontend): disable subs if retrieval fails: 810fa81
- feat(backend): store avatars in lossless quality: 6cca667
- chore(backend): document omitempty fields: d210c2d
- docs(backend): comment on user_profile_update data: 1ab604f
- fix(backend): don't store avatars losslessly: 225e61b
- refactor(backend): improve avatar handling code: bff33f2
- chore(frontend): update deps + fix linting: 676a86e
- fix(frontend): use resolve() and asset() for URLs: 736cf27
- chore(backend): update all deps: 7affb5e
- fix(frontend): add Vite devtools-json plugin: 8221246
- fix(frontend): fix XSS vulnerabilities in Chat: c72d87a
- feat(frontend): improve Chat list/quote/code style: afdb587
- chore(frontend): update Yarn: 68df123