News and announcements

Dropping support for V0 protocol and schema

Written for Novacut by Jason Gerard DeRose on 2015-11-22

The V1 Dmedia hashing protocol, V1 Dmedia document schema, and V1 Novacut document schema were finalized over 29 months ago (on June 1st 2013):

My feeling is that this has given folks ample time to migrate any existing V0 libraries to V1. However, if anyone out there has an existing V0 library and needs help migrating it to V1, please let me know and I'll happily help!

Still, there is a cost in maintaining the V0 to V1 migration path, especially considering some refactoring I'd like to do in the near future. The V0 to V1 migration was unusual in terms of what we expect going forward, and the code for it is rather crufty.

So this migration path has now been dropped in our daily PPA builds for Ubuntu 15.10/Wily and Ubuntu 16.04/Xenial.

Note that support for this migration path is still present in our daily *and* stable PPA builds for Ubuntu 14.04/Trusty and Ubuntu 15.04/Vivid, and that support is still present in our *stable* PPA for Ubuntu 15.10/Wily. The current stable release for 15.10/Wily will be archived in a separate PPA prior to releasing a new stable release for 15.10/Wily that drops support for this migration path.

At this time, no further stable releases are planned for Ubuntu 14.04/Trusty or Ubuntu 15.04/Vivid, so Novacut releases that support the V0 to V1 migration path will be available for as long as each respective Ubuntu release is supported (almost 3 years more for Ubuntu 14.04/Trusty, and about 2 months more for Ubuntu 15.04/Vivid).

This is all part of an effort to trim some fat in preparation for a (hopefully) exciting Novacut release for Ubuntu 16.04/Xenial, the next Ubuntu LTS release.

Finally, note the plan is to indefinitely support the V1 hashing protocol, and to indefinitely support migration from the V1 document schema to whatever document schema version Dmedia and Novacut currently use.

Read more

Dropping support for GStreamer 1.2/1.4 (Ubuntu Trusty/Vivid)

Written for Novacut by Jason Gerard DeRose on 2015-10-10

In terms of the needs of Novacut, GStreamer 1.6 is an absolutely stunning release! So a huge thanks to everyone in the GStreamer community whose hard work made it happen!

The new rendering backend introduced with Novacut 15.08 was written to work with GStreamer 1.2 through 1.6:

However, as we refine our new rendering backend and prepare to start adding new features, the burden of continuing to support GStreamer 1.2 and 1.4 has become difficult to justify. GStreamer 1.2 is especially problematic as it requires many work-arounds and even then can't always produce correct results (not even with perfectly conformant input videos).

As these new Novacut features will likely be a bit rough around the edges at first anyway, it seems like a good time to stop making new Novacut releases on Ubuntu 14.04 LTS (Trusty) and Ubuntu 15.04 (Vivid). Instead, we'll set our sights on a great Novacut release for the next Ubuntu LTS (16.04, due out in April 2016).

So as it stands now, the plan is that Novacut 15.08 will be the last Novacut release that supports Ubuntu 14.04 LTS and Ubuntu 15.04. In the meantime, you'll still be able to install Novacut 15.08 on Trusty and Vivid as those builds wont be going anywhere. But during the next 6 months, new Novacut releases will only be made for Ubuntu 15.10 (Wily) and Ubuntu 16.04 LTS (X).

Depending on how things shake out, we might make additional releases that support Ubuntu 14.04 LTS for some of the six components beneath Dmedia in the Novacut stack (UserWebKit, UserCouch, Microfiber, FileStore, Degu, and Dbase32). But as Novacut and Dmedia both directly use GStreamer, their future releases will only target GStreamer 1.6 and newer.

Our long-term goal is to support new Novacut releases on the current Ubuntu LTS till the next Ubuntu LTS is released, and we came pretty close this time around (the closest we have thus far, actually). But change happens and sometimes you need to cut your losses and move forward :)

Apologies to anyone negatively impacted by this plan. I'm confident we can make it up to you with exciting future Novacut releases that will be waiting for you whenever you're ready to upgrade to Ubuntu 16.04 LTS.


Security alert: Dmedia vulnerable to Heartbleed

Written for Novacut by Jason Gerard DeRose on 2014-04-19

Security alert: Dmedia vulnerable to Heartbleed

Dmedia (and therefor Novacut) are affected by the Heartbleed[1] bug in the
OpenSSL[2] library. This bug is very serious as it allows an attacker to
capture the private keys Dmedia uses, which then allows an attacker to steal
both your Dmedia library metadata and the files it contains.

Please see USN-2165-1 for details about the OpenSSL fix in Ubuntu:

What you need to do

To correct this problem, first make sure your packages are up-to-date:

    sudo apt-get update
    sudo apt-get dist-upgrade

Then you'll need to force Dmedia to generate new user and machine certificates:

    rm ~/.local/share/dmedia/user-1.json
    rm ~/.local/share/dmedia/machine-1.json
    restart dmedia

You should do this on all your computers running Dmedia before peering them

The next time you open Dmedia or Novacut, you'll be presented with the Dmedia
new-account screen[3].

On your first computer, click "New Account". On any additional computers, click
"Connect to Devices" and then accept the peering offer on the first computer.

More details

It's easy for an attacker on the local network to use the Heartbleed bug to
attack Dmedia on systems running a vulnerable version of OpenSSL. This includes
when you're using, for example, a public WiFi network at a coffee shop. This is
true even when you only have a single Dmedia device on a given network.

In practice it's probably very difficult for a remote attacker to exploit
Heartbleed in Dmedia from across the Internet. Most home routers use NAT to
prevent direct access to your computers from across Internet. Also, each time
Dmedia starts, it runs on a different, random port. Dmedia uses Avahi[4] to
advertise this random port to other Dmedia devices on the local network. Dmedia
does *not* advertise this random port to any outside servers. That said, remote
attacks could sill be possible if, for example, your router was compromised.

As Dmedia is not yet widely used, it's probably not yet a common attack target.
However, to play it safe, please follow the above procedure to generate new
Dmedia SSL certificates.

[1] Heartbleed:
[2] OpenSSL:
[3] Peering screen:
[4] Avahi:

Introducing Degu

Written for Novacut by Jason Gerard DeRose on 2014-03-27

There's a new component in the Novacut stack called "Degu" (a small, social

Degu includes a lightweight HTTP server that's easy to embedded in desktop
applications. Degu also includes a matching HTTP client. Degu is specifically
aimed at device-to-device, peer-to-peer communication across the local network.

Degu is basically a 2nd generation of the internal Dmedia HTTP server. We were
also running into a few limitations with the `http.client` module in the Python
standard library. It makes a lot of sense to combine an HTTP server and client
into the same library as they have a large common intersection when it comes to
parsing the HTTP wire format and handling IO.

So I felt it was time to refine these elements in our stack, plus make them
easier for other projects to reuse. As always, we're very committed to
advancing the state of the art when it comes to real-time-collaboration, and I
hope that Degu helps enable further experimentation, even when building upon
Dmedia might seem too high-level or too constrained.

The only downside is that because Degu gave us a chance to re-evaluate how we
use SSL, I decided to drop Python 3.3 compatibility (and therefor Ubuntu 13.10
compatibility) a month earlier than we would have otherwise. One of the many
interesting enhancements in Python 3.4 is that TLSv1.2 support was added to the
`ssl` module.

So this month's Novacut release (14.03) will only be released for Ubuntu Trusty
(what will become Ubuntu 14.04 LTS on April 17th). Of course, you'll still be
able to install the Novacut 14.02 stack on Ubuntu 13.10 for the time being.

Note that because Degu strictly configures its `ssl.SSLContext` for TLSv1.2
only, Novacut/Dmedia running on Ubuntu 13.10 will *not* be network-compatible
with Novacut/Dmedia running on Ubuntu 14.04 LTS. If you have multiple devices
running Novacut/Dmedia, please upgrade all of them to Ubuntu 14.04 LTS at the
same time.

If you have any questions about using Degu in your own applications, or how this
change might effect you as a Novacut/Dmedia user, please feel free to ask on
this mailing list, and likewise to ask in the #novacut IRC channel on freenode.

Happy editing!

Read more

Novacut 13.12 released, but not for Ubuntu 13.04 (Raring)

Written for Novacut by Jason Gerard DeRose on 2013-12-26

Merry Christmas, everyone! Novacut 13.12 is now in our stable PPA:

Note that this release is not available for Ubuntu 13.04 (Raring), but support for Raring ends next month, so it's a great time to upgrade to Ubuntu 13.10 (Saucy).

We'll always make monthly release for the latest Ubuntu version (currently 13.10 "Saucy"). And we'll make monthly releases for the Ubuntu development version (currently 14.04 "Trusty"), although there might be a month or two of lag time there. Finally, we'll generally make releases for the previous Ubuntu version for a month or two to give people time to transition.

To make this a bit clearer, this is how things went down this time around:

Novacut 13.10 - first release for Ubuntu 14.04 dev
Novacut 13.11 - last release for Ubuntu 13.04
Novacut 13.12 - released for Ubuntu 13.10 & 14.04 only


Read more

15 of 7 results