Owncast v0.0.8 features a rewrite of the chat system to improve performance, stability, and user moderation along with changes intended to reduce unauthorized access to chat and its history.
As with all updates it also includes many fixes and improvements to continue improving the self-hosted streaming experience. Please read through the below release notes and let us know what you think about this release. Your feedback drives the roadmap of Owncast, and we want to build the things that are most useful to you.
Here are some notable chat updates you may be interested in:
While Owncast has had existing support for hiding chat messages, this new release is the first time you can ban an entire user from chat. By visiting the new
Chat -> Users admin page and seeing the list of currently connected chat users, you can press the “Ban” button to disconnect them from chat, hide all their messages, and ban that user from reconnecting.
Turning off chat in the settings previously would hide the chat UI from your viewers, but the chat functionality still was enabled behind the scenes. Now if you turn it off chat is no longer supported. Because you can turn off chat completely the number of viewers is no longer counted by the number of people connected to chat, instead it is counted separately.
Under the new Chat settings page in the admin you can add a list of names or words you don’t want to allow people to use in their chat usernames. This way you can stop people from having fake names like “Admin” to mislead people.
Also, default usernames are no longer “UserXX”, but instead a randomly generated string.
Chat connection limits
Previously we didn’t suggest more than 1,000 people to be connected to the Owncast chat, but with this revision it’s been tested to many times that, though you may see more or less depending on your server and how it’s configured. In general most people should no longer be limited in chat capacity.
Custom chat emoji
You can now input, and autocomplete, custom emoji in chat by typing
:emojiname:. Hover over emoji in the chat to see the name of it. By typing part of an emoji name, such as
:dancing and hitting
tab it will attempt to auto-complete it for you just like it does with usernames when you type
@user and hit
New standalone embeddable chat
There’s now a standalone chat interface located at
/embed/chat/readwrite that you can embed in an iframe anywhere you like, allowing you to easily have the full chat in a custom interface that you design.
This is also useful for streamers who just want to bring up a full-screen chat to use when streaming.
[0.0.8] - 2021-08-11
Upgrade instructions from 0.0.7
- Stop the service from running. If you’re using a pre-installed image through a hosting provider, or setup Owncast to run under systemd you can probably just simply run
systemctl stop owncast.
- Change to the directory where Owncast is installed on your server. In a pre-installed hosting scenario it’s likely in
- If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
- Re-run the installer as the user you run Owncast under. For example if you are running owncast as the user “owncast”:
su -c "curl https://owncast.online/install.sh |bash" owncast
- Restart the service. If you’re running under systemd
systemctl start owncast.
As noted previously, two APIs will no longer be available:
/api/integrations/chat/useris no longer supported, removing the ability to send a chat message as arbitrary users. #1092
/api/chatis no longer publicly available. #1085
Allow binding the web server port to a specific address #981
Add Linux ARM64 release #1053
Add send button for the chat in mobile environments #1081
Add support for blocking specific chat usernames #782
Allow the customization of the logging path #1040
Chat refactor + persistent backing chat users #1163
Add support for blocking a chat user #1096
Update API to send chat messages as a specific bot/integration via their access token #1092
add target=”_blank” to custom user content before rendering #1220
Support text input of :emoji:, and show the title of emoji in title attribute #480
Provide command line option for setting the RTMP listening port #1001
Offline Web UI: Display when the last time there was a stream #1111
You can specify the directory to save backups to #1099
Add standalone chat with ability to send messages #531
Replace viewer counting with a simple ping instead of websocket connections #790
Remove blank space when no external actions are rendered #1119
Don’t show the viewer count in the embed player when offline #1088
Collapse news content in the admin home page #1137
Don’t send user joined notification if chat/stream is disabled #1224
Hide viewer count when offline #1091
Do not keep an unlimited backlog of chat history in the database #1152
Lock down /api/chat from external access #1085
Do not try to connect to the websocket if chat is disabled #1135
Keep persistent logs on disk #908
Hopefully be able to run on Windows now #390
Atomically save the thumbnail and preview Gif #1279
Description text with a URL doesn’t auto linkify #1010
System messages with URLs aren’t auto-linked #1009
Default stream output name is longer than the maximum allowed length #1037
Admin viewers table doesn’t wrap properly and exceeds width of the window #1024
Width of the admin viewers page adjusts with the content of the viewers table #842
“other” social handle URL doesn’t appear in admin view #998
Error editing “other” type social handle #1008
Instability when using Restream #999
Typing in the emoji search box triggers player keyboard shortcuts #1025
Player video quality setting icon is sometimes not centered #1044
Fix rtmp secret validation to allow
Fix crash in datastore cache #1067
Narrow screens break 3rd party content modals #1020
The sort order of player video qualities is buggy #1132
Change to Configuration → Storage → Optional Settings does not enable Save button #1108
Don’t allow people to set their instance name to an empty string (or only whitespace) #967
og:description tag is blank in HTML headers when sharing an Owncast link #1184
Stop the chat from animating away when chat is disabled #1007
Don’t remove non-existing files if video config changed while online #1147
Admin hardware values default to “undefined”, should just default to zero #874
Better feedback when Storage Endpoint is invalid #1000
Cache-Control header is wrong when using S3 #1047
Streaming URL on main admin page is missing the port #1049
Admin chat message moderation UI selected state is a bad color #1120
Remove config file migrator #1023
Remove YouTube embedding in the chat #1079
Remove the unnecessary websocket connection from the embed player #1164
/api/integrations/chat/user is no longer supported, removing the ability to send a chat message as arbitrary users #1092
/api/chat is no longer publicly available #1085
Websocket is no longer publicly available
Thank you to our contributors!
The contributors for v0.0.8 were: muesli, jeyemwey, rAcHekLoS, geekgonecrazy, gingervitis, gabek, Patil2099, thilobillerbeck, soham4abc, leuc, tomleb, RhnSharma, MFTabriz, jyggiz and nodomain. We also thank all of the fantastic people helping out in the Owncast chat answering questions, testing and providing feedback.
Thank you to our financial supporters!
A huge thanks to those giving us to the resources to run servers, have testing environments, host collaboration tools, pay for 3rd party services to test with and the means to experiment with new ideas we wouldn’t be able to do otherwise.
Our project sponsors Noblestreet, Okta, and our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Guest, Robin, Flaki, ha2tim Gye-Nyame, Raffael Rehberger, Chaim Krause, Guest and Jnktn.tv.