Owncast Versions Save

Take control over your live stream video by running it yourself. Streaming + chat out of the box.

v0.1.3

3 weeks ago

Changelog

[0.1.3] - 2024-04-07

Upgrade instructions from 0.1.2

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Sanitize Fediverse username #3424

  • Set content-type for customjavascript #3612

  • Added "rel-me" attribute to server-rendered bot/metadata/search page template #3290

Changed

  • Do not send a join chat event if that user is already in the chat #3487

  • chat messages and state changed events should be in aria live region #3335

  • Replace Twitter social link icon with the stupid 𝕏 one #3427

  • Chat moderators should be exempt from message rate limiting #3533

  • Improve design for offline video embed #2917

Fixed

  • Admin scrolls horizontally in a weird way on narrower screens #3260

  • panic: concurrent map write #3440

  • Bug: "Error: too many colons in address" #3419

  • Not selectable items in quality settings menu #3368

  • Sharing Owncast fediverse posts to a few thousand accounts causes video buffering #3189

  • Thumbnail not consistently generated when using S3 #3522

  • Player timestamp is sometimes shown as undefined #3652

  • Changing Log-Entries-Per-Page in Admin Console Doesn't Work #3511

  • When embedding Owncast chat via iframe the page jumps to where the iframe is #3500

  • Pagination Doesn't Work in 'Followers' Console #3510

  • Protect emoji delete API from possible path traversal exploit 1b14800c7d7f54be14ed4d130bfe7f480645076e

  • Unable to create Webhooks on 0.1.2 when "When a user leaves the chat" checked. #3524

  • mobile-chat-button is displayed for mobile users when chat is disabled. #3535

  • Video embed does not fill vertical height #3587

  • Thumbnails do not generate when using S3 path prefix #3518

Removed

  • Remove Matrix URL validation, allowing any URL #3329

Thank you to our contributors!

The contributors for v0.1.3 were: anniepauline, gabek, varungujarathi9, DarkFalc0n, jhimanish, heavygale, yerimsong and armadi1809. 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 fantastic corporate sponsors none and generous donors Simon Michalke, Luka Prinčič, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Guest, SillySam, emacsen, Incognito, GunghoGeoduck, Rick, Didier Malenfant, Tom, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Vencabot, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear, Jnktn.tv, Denman Rooke, gravitons loves the Fediverse <3, John Brubaker, Catfish Da Man, box464, Tom Ryder and Guest.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

v0.1.2

5 months ago

Changelog

[0.1.2] - 2023-11-18

Upgrade instructions from 0.1.1

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. Re-run the installer as the user you run Owncast under. For example if you are running owncast as the user "owncast": curl https://owncast.online/install.sh |bash owncast
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Log IP address when stream key is rejected #3212

  • Do not allow the use of externally API registered chat display names #3234

  • Add confirmation/conditions/agreement modal when enabling directory #3258

  • Chat user leave event #3201

Changed

  • Don't let people set private IP addresses as public url #3268

  • Revert back to using server-rendered bot pages #3253

  • Handle people trying to save invalid URLs in the admin #3297

Fixed

  • Fix typo in actions.tsx #3225

  • Cleanup local files when using object storage #3230

  • Occasional crashes, SIGSEGV #3223

  • Add support for custom object storage path prefixes #3254

  • [bug] macOS 0.1.0 release doesn't run on arm macs #3056

  • Support custom serving endpoint with local storage #3292

  • Firefox: URL adds a mysterious "#" #3240

  • Geo details in viewer list is not populated when using a CDN #3349

  • Fix embed player heights #3210

  • invalid memory address error #3331

  • Mobile action menu button does not scroll #3271

  • Client side exception in /admin/chat/users/ #3373

  • fix emojis overflowing the chat message #3228

  • Fix parsing of Authorization Bearer header #3376

  • "missing port in address" error after IP address parsing change #3371

  • fix: add additional validation before making remote requests #3398

  • Bug: "Error: too many colons in address" #3419

  • User badges need spacing between them #3247

  • Incorrect artifact timestamps on builds #3282

  • live for announcements should not be in aria live region #3334

Thank you to our contributors!

The contributors for v0.1.2 were: t1ff4ny, kamegoro, Pranav2612000, janWilejan, alyssais, eltociear, tfunken, pjbollinger, armadi1809, gabek, jprjr and shreyass-ranganatha. 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 fantastic corporate sponsors none and generous donors Simon Michalke, Luka Prinčič, Kyle Bronsdon, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Guest, SillySam, emacsen, Incognito, GunghoGeoduck, Rick, Didier Malenfant, Markus Ressel, Kit Aultman, Mohamed Elsheiry, Tom, ETKMusic.dance, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Raymon Mens, Vencabot, James Carpenter, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear, Jnktn.tv, Denman Rooke, gravitons loves the Fediverse <3 and John Brubaker.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

v0.1.1

9 months ago

I hope everyone is enjoying all the changes and improvements from the web overhaul that came with v0.1.0. With so many changes we knew there'd be a a slew of bug fixes to come along after. And the first round of those are here.

Some changes you might be interested in:

  • Chat is now re-sizable and there's a convenient way to get the "pop-out" chat window.
  • Those who use object storage for their steams will now finally see their segments get cleaned up automatically by Owncast without having to configure lifecycle rules with their storage provider.
  • There's a handful of fixes that should improve glitchy chat performance, including a bug where people using mobile Firefox on Android couldn't use chat at all.

Changelog

[0.1.1] - 2023-07-28

Upgrade instructions from 0.1.0

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Option to prevent search engine indexing of Owncast pages #2684

  • Allow using the video serving endpoint outside of the S3 config #2785

  • Cleanup of old stream segments in S3 bucket #2646

  • Extend Webfinger response to include additional references #2851

  • Display a user flag for bot accounts #3046

  • Preload custom emoji images #3117

  • Support showing display name in each chat message via css #3077

  • Add year to chat users dates in admin #3175

  • Use VA-API hardware decoding and scaling #2976

  • pop-out chat button #2848

  • Adjustable chat width #1918

Changed

  • Visually split up chat messages slightly even when user is collapsed. #3062

  • Admin S3 configuration form - Change secret input to be a password type #3013

  • Chat name will auto-close after changing name #3083

  • Increase width of volume slider #3155

  • Improve overflow behaviour in chat input #3167

  • Add current stream status in webhooks #2881

  • Chat - Pass along custom emoji names in raw chat data #1803

  • Improve iOS Browser notifications UX #2992

Fixed

  • Fix federation info modal text colors #3010

  • Docker releases have a double "v" in the version number #3066

  • Admin established user mode toggle switch reverts to previous state after changing it #3070

  • Chat automatic scroll to bottom is buggy #3029

  • Image opengraph tag has double slashes creating an error #3075

  • Android + Firefox results in duplicated characters when typing in chat #3094

  • fix TitleNotifier crash #3100

  • Inputting text into the chat can cause page scroll #3110

  • Deleting all stream keys causes client-side errors #3114

  • Fix for potential external actions crash when there are no actions #3116

  • Video Embed: /embed/video introduces scrolling #3104

  • Emoji markup is cut off when hitting character limits, breaking the images #3120

  • Improve chat scrolling performance #3165

  • ChatBox Error - SelectAll + Delete does not work if input is text + emoji #3121

  • External actions no longer receive username url params from 0.1.0 frontend #3130

  • If chat is disabled an exception is thrown trying to use the displayName #3138

  • Admin message page have oddly shaped emoji images #3126

  • UI crashes when no codecs are found. #3141

  • Appearance Settings resetting after page reload #3170

  • Don't IP ban localhost #3172

  • Hidden messages are not hidden unless the page is refreshed #3166

  • Sharing Owncast fediverse posts to a few thousand accounts causes video buffering #3189

  • s3Storage: fix slice bounds out of range error #3208

  • Mobile web action button menu not displaying #3216

  • Sending an invalid stream keys payload to the admin API causes issues with the admin #3082

  • Bottom content on mobile does not span full width in some cases #3073

  • Chat is creating links for invalid TLDs #3107

  • Improve video player settings menu appearance #2760

  • Emoji: missing alt tag #3106

  • Chat: unable to insert line breaks #3108

  • Scrolling: scrolling down on chat can cause video to scroll #3109

  • When the action buttons wrap there should be spacing between the rows #3122

  • Fediverse post URL is broken on calkey / firefish #3195

  • Notify popup misses the button sometimes #3191

Removed

  • Remove animation of chat sidebar #3089

Thank you to our contributors!

The contributors for v0.1.1 were: janWilejan, abhipanorian, mohibkay, yk-jp, mrsoong, gabek, jerinthomas1404, hagn, dev265545 and jprjr. 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 fantastic corporate sponsors Okta, Noblestreet and generous donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Michał Sidor, 2000staFM, Guest, SillySam, ruut, Ozoned, emacsen, Incognito, Jeff Moe, GunghoGeoduck, Patrick, Chris Heino, Didier Malenfant, Markus Ressel, Kit Aultman, Mohamed Elsheiry, Tom, Michael, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Raymon Mens, Vencabot, James Carpenter, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear and Denman Rooke.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

v0.1.0

11 months ago

Note: Please read these release notes in their entirety. There are many changes and it's important for you to know what has changed and how it will affect you.

Three years of Owncast!

The first commit to Owncast was May 23, 2020. It's been a wild ride seeing what everyone has been streaming and all the creative use cases people have come up with. Thank you to everyone who has contributed to the project, and to everyone who has been using it. I won't use this place to talk about how awesome you all are, but here's to many more years of your streams!

A big update!

Owncast v0.1.0 is a large update with many changes to the web interface. It is a complete rewrite of the frontend and like any rewrite it results in many improvements, but also room for bugs and regressions. Please report any issues you find to the issue tracker.

This release is made up of over 380 completed tasks. That's not 380 commits, 380 standalone tasks. That's so much stuff. If you're interested in some behind the scenes there's blog posts about Owncast design and the web project.

It may make sense for some who relied on heavy customization in previous versions to test out this release outside of your production install of Owncast to make sure any visual customization you previously made can be moved over.

A special thank you to the contributors for this release

This release was a large undertaking and would not have been possible without the help of all the people who pitched in their skills to make it happen. A full list is at the bottom of these release notes.

Goals of this release

With all the future features that we want to add to Owncast it was required to take a step back and rebuild the web frontend from scratch so it would be easier to add to and maintain. This release is the result of that work.

The goals of this release were:

  1. Make it easier to work on and contribute to, especially first time contributors to Owncast.
  2. Make it load faster.
  3. Be more accessible.
  4. Be more mobile friendly.
  5. Be easier to customize.
  6. Set us up for future features.

Web source code is no longer included in releases

One side-effect of these changes is we no longer ship the raw web source code with each release. This was previously the webroot directory. While most people didn't take advantage of this in the past, some did. If you find there are things you can no longer do that you once did there are two options:

  1. Download the Owncast source code and build it yourself, editing what you need.
  2. Open an issue on the issue tracker and let us know what you used to be able to do that you no longer can.

We hope the addition of additional customization options in the admin will make up for this change.

Webroot directory

While the webroot directory will not be automatically deleted, and any files you had previously manually put there will be safe, it will no longer be used for anything and you are free to delete it yourself when you're ready.

Appearance customization

The new appearance section under General settings in the Owncast admin allows for an easier approach to customizing your instance. While you could, and still can, write your own CSS, the new options allow you to customize the appearance of your Owncast instance without writing any CSS by selecting colors other miscellaneous options.

While not every single individual component or element can be customized via point-and-click, we hope this at least gives most people a simpler to customize right out of the box. Via CSS you can still customize anything you want and CSS variables can be set manually.

Note that any CSS you had written for previous releases of Owncast will not be compatible with the new version, as the entire web frontend changed.

Read more about the appearance customization page in the Appearance customization guide.

Insert custom Javascript

Under the General settings page you can add custom Javascript to your Owncast instance's web page. Read more about this in the documentation.

Streaming keys and admin password

Previously the admin password and stream key were the same. Due to requests these have been split up, and you can now create any number of streaming keys. Most people will continue to not need this functionality, but if you have a specific use case where you have multiple streamers, and you don't want any of them to access the admin for some reason, this is now possible.

By default the admin password and single stream key are both the same, however. So you should see no difference when upgrading to this new release.

Custom emoji

The default custom emoji set has been replaced with images that we are confident can be shipped with Owncast due to their license. Those who have been using Owncast from previous versions, however, will keep their images and only new users will get the new emoji set.

A new emoji page has been added to the Admin under Chat & Users -> Emojis where you can add and remove your own custom emoji images without having to access your server's filesystem. If you do want to manually manage these files, however, they can be now found in the data/emoji directory.

Read more details about custom emoji in the documentation

Chat colors

As a participant in the chat you can now change your color, not just your name. The selection of colors can be customized via the appearance customization page. Additionally as an admin you can change the set of colors available to your users to match your preferences.

Hide viewer count

Some people prefer to not display a viewer count, and now that can be accomplished by turning it off in the admin under General settings.

Offline banner

When your stream is not live a new "Offline Banner" is displayed with either a default or custom message. This can be customized in the admin under General settings. This is a good way to leave a message such as when you normally stream, or if you're taking a break.

Write HTML for external action buttons

You've always been able to link to external URLs to display when you press action buttons on the page, but now you can choose to write your own HTML to display instead. Visit Integrations -> External Actions in the admin.

Host your own public assets

If you need to host your own images, fonts, css files or anything you need to make publicly available you can do so via the new data/public directory. Most people will not need this, but if you previously used to put assets in your webroot directory to make them publicly accessible, this would be the replacement of that.

Admin pages

Some admin pages have been combined and some URLs have changed. Particularly have a look at the "General" and the "Server config" pages to find additional sections like S3 Object Storage and custom CSS.

Built-in Twitter notifications have been removed

Primarily due to Twitter removing external API access to their service, but also due to Twitter being Twitter, this feature has been removed and will no longer be internally supported. If you still require this specific functionality you can use Webhooks to build something custom.


Changelog

[0.1.0] - 2023-05-30 aka "Gabe's Birthday Release"

Upgrade instructions from 0.0.13

  1. 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.
  2. Change to the directory where Owncast is installed on your server. If you're using a pre-installed image through a hosting provider you it's likely Owncast is located in /opt/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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. If you are running as a different user, run the upgrade as the same user you're running Owncast as.
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • New setting: Allow hiding viewer count #1939

  • Add support for optional public web assets directory #2234

  • New admin page for customization #1915

  • Allow uploading custom emoji through the admin #2378

  • Option to mute embed by default #2420

  • Add support for arbitrary Javascript in page #2604

  • Auto-generate a complex, stream key when adding #2631

  • Allow providing HTML instead of a link for external actions #1718

  • Webhook for stream title change #2795

  • Feature Request: Sortable social media links #1818

  • Ability to edit external actions #1884

  • Implement WCAG 2.1 compliance #1826

  • Support brotli encoding #2697

Changed

  • Do not allow Federation if running on a non-standard port #2008

  • Make streaming key and admin password different values #2320

  • Enforce username requirements at register (API or headers) #2527

  • Player "Live" indicator circle should use the action CSS variable color #2890

Fixed

  • Admin message moderation errors #2020

  • Admin only allows selecting 24fps or 120fps, nothing in between #2159

  • I get an error about 40 seconds into launching the server --> "panic: runtime error: index out of range [0] with length 0" #2423

  • fix minimum bitrate detection for system health report #2455

  • Admin logo upload UI sending empty payloads #2524

  • Android: Page doesn't scroll when keyboard is displayed #2595

  • Fix Owncast Avatar URL for discord webhooks #2748

  • Give friendlier error in the admin when it cannot connect to Owncast service #2698

  • Crashes on 32-bit ARM (likely a bug in Metrics dependency) #2746

  • Nitpicky detail: resolution placeholders aren't 16x9 #2799

  • Hardware info screen empty after start #2805

  • Viewer graph should always use 0 as minimal value #2806

  • Set correct content-type and cache-control for S3 uploads #2771

  • Loose div in Utilities > Stream health screen #2804

  • Video variant admin interface should start with the default setting values #1946

Removed

  • Remove Twitter notification support #2597

Thank you to our contributors!

The contributors for v0.1.0 were: LBBO, dorj222, heller, Rishav1707, prachurjya15, vwallen, xarantolus, dev265545, mehrdadbn9, juliana-mol, unclebinary1001, gingervitis, t1enne, stnfrd, elonyavist, JacobWrenn, bennett1412, mattdsteele, americobarros, Rehan-stack, andrew-secret, thisprojects, Pranav2612000, pippo, hsingh124, silksow, gabek, dhanusaputra, CutestNekoAqua, azyklus, jackgris, Yasir761 and MFTabriz. 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 fantastic corporate sponsors Noblestreet and Okta and generous donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Raffael Rehberger, Jnktn.tv, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Ole, PlayBox Technology, Guest, Incognito, Aqaba and Michał Sidor.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

v0.0.13

1 year ago

Owncast v0.0.13 is a very small release targeting mostly bug fixes.

Since v0.1.0 is taking longer than hoped, this allows some updates to get out between now and then. But all the work for the new Owncast interface is coming along well and I look forward to getting it finished and putting in everyone's hands.

Changelog

[0.0.13] - 2022-11-26

Upgrade instructions from 0.0.12

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Added

  • Add Fediverse, Matrix and XMPP social links #2044

Changed

  • Do not log inactionable Federated resolution/verification errors #1992

  • Improve chat input accessibility #2353

  • Treat fediverse usernames as case-insensitive #2155

  • Sanitize user submitted values before logging #2134

  • Username length is now validated server-side #1919

  • Do not allow multiple Fediverse auth attempts. #2000

Fixed

  • Manually authored social posts are always set to followers-only #2112

  • Fix superfluous response.WriteHeader call error #2157

  • Fix possible security exploit for those with Moderator access. #2257

  • Messages table fixes to improve query performance #2026

  • Fix possible crash with Federated Undo request #2317

Thank you to our contributors!

The contributors for v0.0.13 were: brokenintuition, gabek, jprjr, cooliscool and cellularnetwork.

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 Okta and Noblestreet.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Joel Bradshaw, Paul Lindner, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito and Michał Sidor.

v0.0.12

1 year ago

This release has a handful of features, big and small, to improve the overall Owncast experience, primarily around the core streaming and chat functionality.

Chat User Menu

This new dropdown menu should help clarify how you change your name, as it was not always clear to all viewers how to do so.

Stream Notifications

To assist streamers in automating their live stream announcements, some new ways to notify your viewers and your community have been added.

  • Browser push notifications
  • Discord
  • Twitter

Of course the existing "Follow" Fediverse functionality still is the more robust way for a viewer to be notified when you're streaming, as it allows you to send out messages to your followers and allow them to perform some "social" functionality, but with the goal of meeting viewers where they already are, these channels have been added.

Stream Health and overall Playback Performance

Using the new Stream Health page in the admin you can monitor the overall playback performance of your stream. While it can't be guaranteed to detect all issues with all players, it should be able to give you relative confidence when things are going well, and help you identity specific issues that you can resolve when troubleshooting.

It should be noted that only those who are viewing your stream via the Owncast web interface, and only those not using Webkit-based browsers, will have their detailed metrics available. The page will tell you what percentage of the viewers are represented in the numbers.

Authentication

Some options for chat user authentication have been added. This allows people to reclaim their identity when people move between browsers, devices, or prefer to use Owncast using private browsing features. This is especially useful if you are a moderator and want to reclaim your moderation role, but in general it's for anybody who wants to have a stable identity in chat. It's not required, and most casual viewers should probably never have to take advantage of it unless they especially want to.

As a secondary benefit, those who choose to authenticate will have their chat display name locked to their identity and others cannot use it. This should hopefully be a good compromise between locking all display names and locking no display names. However this is still just a display attribute and there's nothing stopping people from creating names that may look similar to yours.

Authenticated users will have a checkmark next to their name in chat.

There are two different ways you can authenticate with Owncast chat, allowing you to restore your identity between browsers.

IndieAuth

IndieAuth is a decentralized identity protocol that allows an individual's web site to become its own identity provider. Owncast itself, is now an IndieAuth provider you can use to authenticate against Owncast instances, or any other site that supports IndieAuth.

Fediverse Auth

For Owncast instances with Fediverse functionality enabled you can be sent a one-time-password that works similarly to when you log in with your phone number on different services. You can use this code to authenticate with Owncast chat. You must allow direct/private messages on your Fediverse account from the Owncast instance.

Chat Banning via IP

Users that have been banned from chat will now have their IP address automatically blocked. You can remove IP address blocks from the admin separately from the user ban.

Established chat user mode

Enabling this mode will stop newly created chat users from being able to chat. It should be seen as an "anti-troll mode" that you can turn on if some new people drop by your chat just to harass and annoy.

Prometheus Metrics

You can now optionally use a Prometheus metrics server to monitor your Owncast instance. You can add /api/admin/prometheus to your Prometheus configuration to consume the metrics.

Experimental Lower Latency Playback

Some viewers may enable a new, experimental, feature in the player settings for streams that can benefit from lower latency playback. If you find yourself getting excessive buffering or playback issues with your stream after turning it on it's suggested you not use it at this time. It would also be appreciated if you find issues to let us know what stream you're using this with so we can continue to improve the feature.

Only viewers using the Owncast web interface and not using a webkit-powered browser will have this feature available. A stable and fast stream is required for this feature to perform its intended function.

What's next?

If all goes according to plan this will be the last update before releasing a rewrite of the Owncast web interface. This will allow the project to move faster on the frontend going forward, so big features on the roadmap can be worked on.

Work is already in progress, but it'll be a long road to feature parity. I hope you'll be patient as the frontend is focused on this next time around.

This update will impact most users, so as time goes on I'll make sure to update everyone on what to expect, and optionally how to prepare to take advantage of the new features.

Changelog

[0.0.12] - 2022-07-09

Upgrade instructions from 0.0.11

  1. 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.
  2. Change to the directory where Owncast is installed on your server. On pre-installed environments it may be in /opt/owncast/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Option to disable join messages in chat #1582

  • Can set separately set the chat server host #1378

  • Prometheus compatible metrics endpoint #1303

  • Opttionally show geo location data from video viewers #1477

  • Extend the viewers timeline #1478

  • Add a small indicator visually showing a message is from a bot/external service #1172

  • IP banning of users #1534

  • Add videotoolbox codec for macOS #1771

  • Video playback health and performance metrics #793

  • Experimental lower latency playback mode #837

  • Auto-poster for some 3rd party notification channels #1609

  • Web push notifications #1656

  • Owncast can function as an Indieauth provider. #1272

  • Authenticated users' display names are no longer available to others. #1810

  • Add “services” and “metadata” to NodeInfo/2.0 #1922

  • manifest - Add fullscreen mode/change name #1934

  • Troll/Established chat user Mode (like +m on IRC) #1587

  • Chat auth using the Fediverse #1774

Breaking Changes

  • API endpoint rename: "integrations/chat/updatemessagevisibility" -> /api/integrations/chat/messagevisibility #1966

Changed

  • Auto-select old text when changing display name. #1754

  • Change cachebust param to random string to support CDNs #1781

  • Change CMD to ENTRYPOINT in Dockerfile #1831

  • Replace hide chat toggle and username change form with chat user dropdown #1648

  • changed followers tab to 24 per page #1855

Fixed

  • Selecting an emoji immediately when visiting page without focusing text input ignores selection #1419

  • Fix exception when using emoji input in chrome #1782

  • Framerate slider is broken. Can only select lowest and highest values. #1791

  • Fix stat components in hardware admin page #1815

  • The "no" button in the codec confirmation popup does nothing #1809

  • Issue: chat unscrollabe on some resize operations #1830

  • Fix datastore cache warming not firing #1889

  • fix the server name in nodeinfo/2.0 #1907

  • "invalid cross-device link" error when running on a different filesystem #1768

  • [bug] Follow request from GoToSocial causes nil pointer exception #1955

  • Fix API documentation "integrations/chat/updatemessagevisibility" -> /api/integrations/chat/messagevisibility #1966

  • Remove doubled paragraphs around stream title for Fediverse messages. #1927

  • Prevent CSS class injection and directory traversal via custom emojis #1772

  • HLS segment name collision when using the lowest latency buffer option #1778

  • Remote Fediverse servers are caching the instance logo even after its changed, add a cachebust. #1776

  • Remote Fediverse preview images get cached, add a cachebust #1777

  • Viewer chart Y axis strings are formatted weird #1816

  • Cursor when composing chat message appears on the right-hand side of the text field in Firefox #1561

  • Unable to follow an Owncast account from Misskey #1690

Removed

  • Remove support for uploading SVG logos #1773

Thank you to our contributors!

The contributors for v0.0.12 were: funkyhippo, tsmethurst, MFTabriz, t1enne, cr0ax, hufman, zerodytrash, lfuelling and gabek. 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 hexploitation.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Raffael Rehberger, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Ole, PlayBox Technology, Guest and Guest.

v0.0.11

2 years ago

Welcome to The Fediverse!

With Owncast v0.0.11 your server can optionally become a part of the Fediverse, an interconnected, but completely independent network of servers where people can discover your stream and get notified of when you go live. Some popular Fediverse services are Mastodon and Pleroma but many services that make up the Fediverse can start to receive posts from your Owncast server.

With this ability, it gives you something pretty cool: the ability for people to follow your server, share it with their own followers. Your followers now show in a new "Followers" tab in the interface, and as people interact with your server by following, sharing and liking, it will show up in the chat so your biggest supporters get highlighted.

You'll automatically let your followers know each time you go live, and you can send them messages from the admin letting them know about your future streaming plans.

This functionality, of course, is disabled by default, as Owncast always wants you to be completely private out of the box. It's up to you to enable this in the admin under the new "Social" config section. But if you'd prefer, you can turn on social "Private Mode" where you have to manually approve each follower that wants to know about your streams, and in that case they will be unable to share your server with others.

We look forward to continued features being built now that federation with Owncast is enabled.

A huge thank you to NLnet for funding the development of Owncast Federation through the NGI0 Discovery Fund.

Note: The Fediverse is the wild west, and while people have been running with this functionality for some time in testing, we don't know what you'll run into. Please let us know if you discover any issues or any services that are not being compatible with Owncast or causing problems with your server.

Moderators

Long requested, and now finally here. You can assign moderator privileges to yourself, and any of your chat members and they will have the ability to remove chat messages and ban users directly from the chat, without having to go into the Admin.

Of course this relies on people keeping their identity between visits to your chat, so those that use private browsing to visit your server will be seen as a completely different chat participant each time, and will no longer have their moderator privileges unless you re-grant them.

Changelog

[0.0.11] - 2022-03-05

Upgrade instructions from 0.0.10

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Promote chat participants to moderators #499

  • Additional target framerates #1138

  • Support path-based S3 storage #1495

  • Inline UI to allow people to perform moderation actions within chat #1291

  • Add a recommendation in the admin to add a second, lower quality if only one is set #1491

  • Add support for checking the local filesystem for static resources #1507

  • Add list of moderators in user admin #1511

  • New admin section for managing ActivityPub settings. #1210

  • Set a short cache expiration on some APIs #1530

  • Add Matrix chat client(s) user agent to our bot list #1581

  • Return user scopes as a part of the chat history API #1586

  • Add admin support for manually composing a post to fediverse followers #1610

  • Set username via optional request headers #1365

  • Add Rocket.Chat to our bot user-agent list #1639

  • Add user icon in header next to user name change form #1655

  • Add alternative configurable list of default usernames #1497

  • Add steam as a Social Platform #1501

Changed

  • Replace redirect of /embed URLs to random html files and instead return content directly #1281

  • refactor: move from io/ioutil to io and os packages #1546

  • Increase the number of HLS segments in a playlist to increase stability #1552

  • Increase the max size of the chat welcome message #1595

  • Change styling for chat message links #1551

  • "Disable chat" setting is confusing #1330

  • Build outbound webhook execution queue #1510

  • Limit "external site requested your logo" warning message #1668

Fixed

  • Binding to ::1 fails: too many colons in address #1398

  • Fix possible crash on stream disconnect #1439

  • Fix hashes for standalone video/chat #1472

  • Fix Windows support #1377

  • When a ban occurs not all messages by that user are visibly removed #1350

  • OMX codec no longer showing friendly name and description in admin #1521

  • doing a ctrl+c to copy something closes the chat panel #1201

  • Messages Sent column in admin should either center the value or make column narrower #1580

  • Fix where banned user cannot be added back #1518

Thank you to our contributors!

The contributors for v0.0.11 were: jeyemwey, krashanoff, controlfreakstudio, gingervitis, f35f0ef9d0e827dae86552d3899f78fc, UXShawrk, MFTabriz and gabek. 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 and Okta.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Robin, Flaki, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Tom Hansen, pwxlwrk, Incognito, Niels Digital, nebunez and Merlin.

v0.0.10

2 years ago

This is a hot fix to resolve an issue using external S3 compatible storage in v0.0.9: #1455

There are no other changes and this only impacts those using that feature. See the release notes for v0.0.9 for details around the previous release.

Upgrade instructions from 0.0.9

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

v0.0.9

2 years ago

Owncast v0.0.9 is a smaller release with a handful of tweaks and fixes. There's not a lot of user-facing changes this time around, but take a look through the below changes and see if there's anything that might impact you.

One thing that might make your life more convenient going forward is instead of putting in the full video URL /hls/stream.m3u8 when viewing an Owncast stream in an external video player (MPV, Quicktime, VLC) you can just put your root URL to your Owncast server.

Changelog

[0.0.9] - 2021-09-26

Upgrade instructions from 0.0.8

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Add support for loading the root owncast URL directly in 3rd party video applications. #1356

  • Add proper landing page for browsers without the JS support #1139

  • Create external API to enable sending a message directly to a client instead of publicly #1316

Breaking Changes

  • No longer exit after successful stream key change via the CLI argument #1355

Changed

  • Auto expand the "Utilities" menu item in admin if an Owncast update is available #1299

  • Increase the sensitivity of the chat rate limiter #1349

  • Make the emoji directory configurable #1174

  • Stop logging 404s to the admin logs #1341

  • Mark viewer as active when downloading an HLS playlist #1343

  • Simplify where HLS segments live on the filesystem so they always live in data #875

  • In the admin don't show the connected client count if we're not showing a list of the clients #1306

  • Do not show user joined chat message if user has recently joined #1406

Fixed

  • Chat disables when stream ends instead of 5 minutes later #1268

  • GeoIP support not working with 0.0.8 #1304

  • Previous display names are not being displayed in the admin user modal #1277

  • Re-joining chat in the 5min window after disconnect shows the chat as disabled #1311

  • Set a value for player maxPlaylistRetries in the player #1335

  • Markdown rendering ends up with excessive spacing with lists #1315

  • Improve chat auto-scrolling #1324

  • Fix Windows tests #1376

  • Fix transcoding error text #1381

  • Potential local client security problem(s) when pasting DOM elements into chat #1357

  • Fixed USER_JOINED webhooks to have the correct event type name. #1302

  • Fix building on FreeBSD #1243

Thank you to our contributors!

The contributors for v0.0.9 were: MFTabriz, unclearParadigm, gabek, RhnSharma, sytranvn and ooa113y. 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 and Okta.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Robin, Flaki, Joel Bradshaw and Paul Lindner.

v0.0.8

2 years ago

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:

Moderation

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.

Disabling chat

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.

Chat usernames

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, 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 tab.

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.

Changelog

[0.0.8] - 2021-08-11

Upgrade instructions from 0.0.7

  1. 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.
  2. Change to the directory where Owncast is installed on your server. In a pre-installed hosting scenario it's likely in /opt/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Breaking changes

As noted previously, two APIs will no longer be available:

  • /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

Major updates

Added

  • 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

Changed

  • 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

Fixed

  • 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 / (#1069) #1070

  • 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

Removed

  • 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.