nodecg

Create broadcast graphics using Node.js and a browser

MIT License

Downloads
1.1K
Stars
1.1K
Committers
40

Bot releases are hidden (Show)

nodecg - Beta Release v0.8.2

Published by anarcho-loneliness over 8 years ago

0.8.2 (2016-06-11)

Bug Fixes

  • pages now autodetect what URL/port to open a socket to (7eb1a3e), closes #125
nodecg - Beta Release v0.8.1

Published by anarcho-loneliness over 8 years ago

0.8.1 (2016-06-10)

Bug Fixes

  • dashboard: update nodecg-replicants (c537e36)
  • replicants: ensure that already proxied objects aren't re-proxied (93f5539)
  • replicants: fix case where an unproxied object could sometimes be returned (b1dc39b)
  • replicants: fix client-side assignment being processed twice (e52b7cb)
  • replicants: fix detection of changes in late-assigned objects (053605f), closes #181
  • replicants: fix objects inserted into arrays via array insertion methods not being proxied (4e2d941)
  • server: update Node.js v6 check from 'warn and continue' to 'error and exit' on lower versions (2fdb534)
  • update nodecg-replicant to 0.5.8 (29323b0)

Features

  • dialogs: improve responsiveness of dialogs (204c8aa)
  • dialogs: only add h2 title if panel.title has length (0696088)
nodecg - Beta Release v0.8.0

Published by anarcho-loneliness over 8 years ago

0.8.0 (2016-05-06)

NOTICE: This release relies on Node.js >= 6 and Chrome >= 49. This means that as of right now, NodeCG graphics will not work in OBS1, XSplit, or CasparCG. The only platform that can currently display NodeCG graphics is OBS Studio with the latest release of its Browser Source plugin.

Bug Fixes

  • api: throw error when listenFor handler is not a function(9804a84)
  • dashboard: fix "Copy Url" buttons on graphics page(3ed107f)
  • dashboard: fix invalid javascript on standalone panels(fcba09b)
  • panels: panels are now served by filename rather than panel name(9f3e54b), closes #144
  • tests: test standalone panels, ensure autodeps are enabled(366422d)

Code Refactoring

  • replicants: use Proxy instead of Object.observe (#163)(05ec891)

Features

BREAKING CHANGES

  • replicants: The order of Replicant change event arguments has been swapped. newVal is now the first argument, oldVal is the second argument. Be sure to update all of your change event handlers accordingly.

    To migrate, follow the example below:

    Before:

    myRep.on('change', function (oldVal, newVal) {
        // do work
    });
    

    After:

    myRep.on('change', function (newVal, oldVal) {
        // do work
    });
    
  • replicants: The third Replicant change event argument has been changed. Previously it was changes, an array of Object.observe change records. It is now operations, an array of operation records in NodeCG's internal format. This format is likely to continue changing as we figure out what works best. Any further changes to this format will be considered breaking.

  • replicants: WeakMap and Object.observe shims have been removed. This probably won't affect anyone, as any browser that supports Proxy also supports WeakMap, but be aware of it.

  • panels: the routes for panels are now /panel/:bundleName/:panelFile as opposed to /panel/:bundleName/:panelName.

    Closes #144

    To migrate, any relative URLs present in panels (or dialogs) that are in subfolders will need to be re-written to reflect the new path that the panel is being served from.

  • uploads: uploads are now called assets, and their manifest format has changed.

    To migrate, see the new Assets documentation on nodecg.com.

nodecg - Beta Release v0.7.8

Published by anarcho-loneliness over 8 years ago

This release addresses a problem in the Replicants system introduced in Chrome 50.

0.7.8 (2016-04-20)

Bug Fixes

  • api: throw error when handler is not a function (9804a84)
  • dashboard: fix "Copy Url" buttons on graphics page (3ed107f)
  • package: fix docs:publish script (d5d3160)
  • replicants: Remove observe-shim for object.observe bower component (490dd0e)
nodecg - Legacy Release v0.6.4

Published by anarcho-loneliness over 8 years ago

This release addresses a problem in the Replicants system introduced in Chrome 50.

nodecg - Beta Release v0.7.7

Published by anarcho-loneliness over 8 years ago

0.7.7 (2016-03-31)

Bug Fixes

  • api: fix API erroring on page load (fec7793)
nodecg - Beta Release v0.7.6

Published by anarcho-loneliness over 8 years ago

0.7.6 (2016-03-31)

Bug Fixes

  • dashboard: fix "copy key" button on settings page (9182534)
  • deps: bump @nodecg/bundle-manager dep, forgot to in last release (4580bd2)
  • login: improve reliability of login lib (4e37a13)
  • tests: remove reference to wrench (a9ea8d9)

Features

  • all: update socket.io to 1.4.5, improves performance. (59d12c2)
  • dashboard: add loading spinner to panels (dbc0466)
  • dashboard: close the drawer panel when selecting an item (decc77f)
  • dashboard: emit dialog-opened event in a dialog's document when it opens (bb527eb)
  • dashboard: show resolution on graphics page (8ab9335)
nodecg - Beta Release v0.7.5

Published by anarcho-loneliness over 8 years ago

0.7.5 (2016-03-13)

Bug Fixes

  • dashboard: don't apply background color to disabled paper-button elements when using builti (a34fc9d)

Features

  • api: deprecate nearestElementWithAttribute, replace usage with element.closest() (45b272c), closes #141
  • bundles: Add configuration values allowing to disable bundle autodeps (4a99774)
  • caching: disable caching (a70b9be)
  • npm: only install production dependencies for bundles (be0e74c)
nodecg - Beta Release v0.7.4

Published by anarcho-loneliness over 8 years ago

0.7.4 (2016-03-01)

Bug Fixes

  • api: fix trace logging for client-side message reception (dc71366)
  • dashboard: assign a more unique ID to the main paper-toast element (00f5959)
  • dashboard: remove default opacity style of disabled paper-button elements (d6e5baa)
  • uploads: fix case where changes to the first file caused duplication (4e7a61f)

Features

  • bundleConfig: defaults from configschema.json are now automatically applied to nodecg.bundleCo (a4e28fa)
  • uploads: bundles can specify allowed file types via uploads.allowedTypes (7a1a775)
  • uploads: debounce change events by 500ms (91d151c)
nodecg - Beta Release v0.7.3

Published by anarcho-loneliness over 8 years ago

0.7.3 (2016-02-20)

Bug Fixes

  • uploads: prevent crash related to uninstalled bundles (9d17dc3)

Features

  • dashboard: hide panel controls until mouseover (7855a0b)
nodecg - Beta Release v0.7.2

Published by anarcho-loneliness over 8 years ago

0.7.2 (2016-02-17)

Style

  • all: Use XO style (via eslint-config-xo) instead of jshint (ff74d10)

Features

  • uploads: add file upload system (e109edf), closes #104
nodecg - Beta Release v0.7.1

Published by anarcho-loneliness over 8 years ago

Changelog

  • Updated nodecg-bundle-parser dep
    • Now throws a more useful error when a package.json manifest contains invalid json
  • Warn on startup if the user is running Node.js < 4
  • Fix crashes caused by having login security enabled, but not having Twitch, Steam, and SSL all fully configured
  • Automatically add the user_read scope to Twitch auth configuration if not present, as it is required for our authentication method
  • Update dashboard CSS to accommodate breaking changes made to paper-toolbar
  • Fix crash caused by resetting a user's key
  • Fix dialog buttons sometimes not being visible
  • Prevent dialogs from scrolling past the bottom of the viewport
nodecg - Legacy Release v0.6.3

Published by anarcho-loneliness over 8 years ago

This is a legacy support release for developers still maintaining NodeCG 0.6.x bundles.

Changelog

  • Locked Socket.IO dependency to ~1.3 as 1.4 introduces unforeseen breaking changes
nodecg - v0.7.0

Published by anarcho-loneliness almost 9 years ago

All-new documentation is available at nodecg.com

API

Replicants

  • Fix changes to object/array replicants on the client always resulting in those changes being applied twice on the server
  • Client-side replicants no longer optimistically emit a change event right when their value changes.
    • This means that changing a Replicant's value on the client (a panel or graphic) is always an asynchronous operation now.
  • Fix persisted replicants being unable to save falsey values
  • Support / and . characters in replicant key names

Configuration

  • Added developer boolean config property. When enabled, the dashboard is not cached, making it easier to test changes to dashboard code.
  • Throw more informative errors when the config is missing or malformed
  • Added JSON Schema to main config to enforce proper structure and values

Internals

Bundles

Bundle manifest

Bundle configuration

  • Bundles may now provide a configschema.json to enforce a structure for their per-bundle config file. See the Bundle Configuration tutorial for more info.

Graphics

  • Renamed "views" to "graphics"
  • Added singleInstance manifest option to graphics. When enabled, NodeCG will enforce that the graphic is only ever open in one place at a time.

Dashboard

  • The entire dashboard has been re-written, and is now based around Polymer
  • Panel are now iframes with normal HTML/CSS/JS content
  • Panels have some default styles (font, background color) applied
    • These can be overridden with CSS
  • Panels are now collapsible
  • Panels can have a custom header color if defined in the package.json manifest
  • A list of all available graphics is now available on the dashboard
    • Click on the top left menu button, then select the "Graphics" tab on the left menu drawer
nodecg -

Published by MattMcNam about 9 years ago

Fixes

  • Removed explicit Polymer dependency.
  • Fixed broken script tags when login security was enabled.
nodecg -

Published by anarcho-loneliness about 9 years ago

Build

  • Use grunt instead of npm scripts to build. Our build process is too complex for npm scripts.

API

  • API browserification is now handled by a grunt build process
  • Add static methods to NodeCG object
  • nodecg.declaredReplicants has been moved to be a static property, NodeCG.declaredReplicants

Replicants

  • Fix case where a replicant's revision would not get reset to zero after losing connection with the server
  • Fix client-side changes to an array replicant being applied twice on their server-side counterparts
  • Remove "attempted to re-declare replicant" warning when attempting to declare a replicant multiple times in a context.

Compatabiliy

  • Add WeakMap and Object.observe polyfills to dashboard and views
    • Adds compability for CasparCG and Firefox

Tests

  • Refactored and cleaned up tests.
nodecg - v0.6.0

Published by anarcho-loneliness about 9 years ago

API

  • syncedVars have been replaced with Replicants
    • Support observation of nested object and array properties
    • Optionally persist values to disk

Dashboard

  • Dashboard is only re-rendered when a panel changes
    • Previously, it was rendered every time it was requested
  • Optimized padding, the maximum number of panels will always be shown per row now
  • Replaced Masonry with Packery
    • Panels will arrange themselves in a more space-efficient manner now
    • Panels can be manually ordered on the dashboard by dragging the panel's header

Login & Security

  • Login lib now emits 'login' and 'logout' events
  • When login security is enabled, a key param must be provided in the URL to access a view.

Tests

  • Browser tests are now done using WebDriver.io instead of Zombie
nodecg - v0.5.4

Published by anarcho-loneliness over 9 years ago

  • Add nodecg.util.destroySession(sid) method.
  • Add syncNpm config boolean to control whether npm dependencies for bundles are installed one at a time (synchronously) or all at once (asynchronously).
    • This will hopefully address cases where some VPSes were running out of memory after spawning too many concurrent npm processes.
  • Bumped dependency versions which were either out of date or insecure.
nodecg - v0.5.3

Published by MattMcNam over 9 years ago

  • Jade panels now have access to a bundleName variable
  • Added baseURL config option for more flexible server setup
  • Added ssl.allowHTTP to config to accept both HTTP and HTTPS connections on the same port
  • Extensions now have access to the server's Socket.io instance via nodecg.getSocketIOServer()
  • Fixed synced vars in extensions calling setter before setting value of nodecg.variables.variableName
  • Removed unused dependencies
  • Fixed issue with inline <script> tags running before core dashboard JS
  • Fixed NodeCG config and bundle config being mixed up in views
nodecg - v0.5.2

Published by anarcho-loneliness over 9 years ago

  • Re-wrote bundle parser to be more modular
  • Bundle watcher now has a backoff for rapid file changes, and intelligently minimizes the number of events emitted
    • This is hopefully a fix for chokidar sometimes freaking out, thinking every file has changed, and then causing the parser to reload every bundle dozens of times, thereby spawning npm and bower dozens of times and crashing NodeCG by using all available memory