Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(master): release 3.0.0 #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Apr 21, 2023

🤖 I have created a release beep boop

3.0.0 (2023-04-21)

⚠ BREAKING CHANGES

  • details at https://www.nodecg.dev/docs/migrating/migrating-1.x-to-2.x
  • api: sendMessage can now trigger listenFor handlers in the same context (extension, webpage, etc).
  • login: Twitch auth now uses the "New Twitch API", instead of the deprecated "v5" API.
  • sounds: The undocumented customCues system has been removed.
  • NodeCG no longer automatically installs the npm and bower dependencies of installed bundles. Users must do this manually.
  • replicants: Replicants now set their state to declared before they emit their post-declare change event. This is unlikely to break any existing code, but it is technically a breaking change.
  • This drops the Rollbar integration for error tracking.
  • api: If the first argument you provide to a message acknowledgement is an Error, it will be serialized instead of being sent as an empty object.
  • dashboard: Removed most of the helper styles and classes, such as nodecg-configure, which were being injected into panels. Most of it would not work in Polymer 2 without extra effort.
  • Old /panel and /graphics routes no longer work. You must update all routes to the new /bundles/:bundleName/* format.

Features

  • add bundle paths customization (#483) (56ef32a)
  • add convenience 'shared' directory (#295) (63a1119)
  • add mounting feature (07210b0)
  • add multiple bundles paths support (#470) (3b76451)
  • add Sentry integration for error tracking (#305) (92cd540)
  • add support for zeit pkg builds (#362) (acb168c)
  • adopt new routing style (/bundles/:bundleName/*) (1663670)
  • api: add nodecg.bundleGit object (#418) (dfe0b95)
  • api: add nodecg.bundleVersion to api (#459) (170142b)
  • api: add nodecg.unlisten method (ea45b3f)
  • api: add NodeCG.waitForReplicants method (b8d3ed1)
  • api: add support for intra-context messaging (#410) (3a3acf7)
  • api: expose Logger class (5882dc4)
  • api: if an acknowledgement is called with an error as the first callback, serialize that error (#300) (1c05f81)
  • api: introduce bundles replicant (#421) (94d0b1d)
  • api: make client-side sendMessage return a Promise (#301) (fe93c73)
  • auth: add basic local authentication (#390) (54bbcf6)
  • auth: discord login option (#571) (3df008e)
  • bundle-manager: blacklisted bundle directory names (#357) (68e7add)
  • bundles: avoid crash when a bundle becomes invalid after a change (#374) (4d42335)
  • bundles: support loading assets from node_modules (#358) (74915d7)
  • config: always create cfg dir if it does not exist (49a9255)
  • dashboard: add "open in standalone window" button to panel headers (ba077c0)
  • dashboard: add default body background color style to panels (3433529)
  • dashboard: Add graphic obs drag parameters (#561) (5c5a833)
  • dashboard: implement dark theme (#425) (0dafe4e)
  • dashboard: implement redesigned graphics tab with refresh buttons (#420) (215f489)
  • dashboard: show a much shorter and easier to read URL for each graphic on the Graphics page (5b91af1)
  • deps: update chokidar to v3 (#515) (f468825)
  • docker: build images with Node 8 (0e4eb73)
  • docker: bump node to 10 (#533) (6fafeea)
  • docker: smaller docker image (#631) (f560619)
  • extension: add router helper (#535) (2a69423)
  • extension: allow extensions to export esmodule (#587) (8e3304a)
  • extension: flexible mount (#519) (3ff1603)
  • log unhandled promise rejections if Sentry is not enabled (59dc75e)
  • login: add password hashing support for local auth (#446) (cf6192b)
  • login: add twitch id whitelisting (#583) (e83933f)
  • login: expose refresh token from Twitch login authentication (#504) (b710314)
  • package: add "bin" prop to package.json (0c8d0b6)
  • package: add nsp compliance (1b0da9b)
  • port to typescript (#546) (0060f49)
  • replace Pug by Lodash with cache (83404d1)
  • replicants: add .validationErrors property (59f3c82)
  • replicants: log a warning when attempting to access .value before the Replicant has finished declaring (#274) (293acf5)
  • replicants: remove local storage size quota (#574) (10bfd6f)
  • replicants: support external $refs in schemas (3c34450)
  • replicants: update persistence process (#497) (16fcefd)
  • rewrite bare module specifiers (#454) (4500ccd)
  • security: add support for passphrase for SSL key (#437) (c444d9b)
  • sentry: include git information about all loaded bundles when reporting errors to sentry (431274b)
  • typedef: Export more types in browser.d.ts (#465) (0455036)
  • TypeScript: Add NodeCG API TypeScript Type Definition (#432) (9372ca4)

Bug Fixes

  • allow socket authentication with a token only (#635) (0241071)
  • api: detect and throw when an object is assigned to multiple Replicants (2fbaee3)
  • api: don't resolve or reject the sendMessage promise if the user provided a callback instead (fc03849)
  • api: don't return a Promise from sendMessage if the user provided a callback (7dd7b00)
  • api: fix and add tests for getDialog and getDialogDocument methods (0ef16f6)
  • api: fix API on Safari (a0e59e6)
  • api: fix console warning when bundle has sound cues (1c862d0)
  • api: improve a few log statements (d13a457)
  • assets: filename (#564) (ddf936c)
  • assets: fix "can't set headers..." error (#411) (518cf21)
  • assets: improve appearance of dialogs. refactor back and frontend code to allow for potential future features. (7025d51), closes #309
  • auth: send Client-ID header on all Twitch API requests (#550) (12d2a5e)
  • better log formatting and configurable timestamps (#575) (dd323cd)
  • bundle-manager: don't attempt watch *.lock files for changes (269f3d0)
  • bundle-manager: fix case where changes to a bundle's manifest could get ignored (882f406)
  • bundle-manager: reduce frequency of crash when editing dashboard HTML files (e20bc5a)
  • bundle-manager: remove debug print (91546e2)
  • bundle-manager: wait 100ms before deciding that a bundle's package.json has been deleted (abb1722)
  • bundle-parser: check version when parsing (#510) (484d839)
  • bundles: avoid throwing exception on Unicode BOM (#401) (84a4555)
  • config: properly load baseURL param (8c3d76b)
  • config: reduce the number of cases where a bundle's config is rejected when it shouldn't be (e62de24)
  • dashboard: add raised attribute to KILL button on single-instance graphics (1e116db)
  • dashboard: also target root html for theme import (0948f5f)
  • dashboard: always send 'dialog-dismissed' when clicking outside the dialog (#385) (da30fe1)
  • dashboard: close drawer when viewport increases to a wide layout (20bafef)
  • dashboard: correct URL for obs drag when login is enabled (#585) (9046287)
  • dashboard: enforce that the /dashboard/ route end in a trailing slash (301d837)
  • dashboard: ensure the default workspace is first (#458) (18fdbe6)
  • dashboard: fix nodecg-dialog helper (55ab7e9)
  • dashboard: fix an extra vertical scrollbar appearing when a fullbleed panel has vertical scrolling (71fe3b8)
  • dashboard: fix graphic instances not appearing when using a bundle that is not a git repo (54cfcd6)
  • dashboard: fix issues with Clipboard.js on Firefox (161c3a4)
  • dashboard: fix missing background color on graphics collapse toggle button (9e6bc4d)
  • dashboard: fix packery not being applied correctly on initial load (c2e5118)
  • dashboard: fix packery not getting fixed up when it should (4e7c993), closes #324
  • dashboard: fix panel iframe heights in Firefox (f71d388)
  • dashboard: fix panels not always being sized correctly on page load (3a98751)
  • dashboard: fix Sign Out button being visible when login security is disabled (aa12c54)
  • dashboard: fix text and icon colors of Asset upload dialog (d1d3a45)
  • dashboard: fix the currently selected workspace not being highlighted on first page load (#538) (3442d76)
  • dashboard: fix workspaces never initializing on Firefox (e0ba151), closes #328
  • dashboard: implement missing dark theme for bundle dialogs (d14158f)
  • dashboard: inject default styles before user styles (#464) (5981d9e)
  • dashboard: remove extra margins that could appear in bundle dialogs (7bb2f9f)
  • dashboard: remove useless and busted-looking "info" dialog from panels (22499bd)
  • dashboard: Sort all dashboard workspaces alphabetically (#450) (786f23f)
  • dashboard: support the nodecg-dialog attribute within shadow roots (#384) (fc62adf)
  • deps: fix some vulnerabilities of dependency (81c9ee2)
  • deps: switch json-schema-lib repo (7b7c7c1)
  • deps: update dependencies through npm audit (a871f4b)
  • deps: update express-bare-module-specifiers (bd1d925)
  • docker: fix failing Dockerfile (#617) (1e243da)
  • don't list package-lock in files (#620) (e2ed466)
  • extensions: improve logging when an extension fails to mount (e7f2a90)
  • include templates in server build outputs (#625) (cdd8bf2)
  • injectscripts: don't inject client_registration into busy.html or killed.html (0a63202)
  • instance-errors: Update help text & design (#494) (7fcf6ee)
  • logger: improve formatting of errors reported to Sentry via the .error method (cb6426e)
  • login: fix key=xxx URLs not working (#629) (6c21ff0)
  • login: Redirect to /login after destroying session (#355) (30aa4ba)
  • login: use the New Twitch API (#413) (6696231)
  • make node-fetch-commonjs a prod dep (#623) (72610c1)
  • mark more required deps as prod deps (#627) (bc2875a)
  • mounts: put mount routes behind an auth check (c99fa85)
  • package: fix error when running in a zeit pkg (38b01e2)
  • package: fix Steam auth not working (59627a9)
  • package: include babel-plugin-bare-import-rewrite in zeit packages (9813da3)
  • package: include schemas folder in zeit pkg builds (c38e463)
  • package: make fs.extra a production dependency, instead of a devDependency (5ac2c88)
  • package: roll back nyc to v12 (75c3332)
  • package: roll node-localstorage to v1.3.1 (56d8bb7)
  • package: synchronize package-lock.json (82a6e0b)
  • package: update @nodecg/bundle-manager to 0.5.7 (8890db3), closes #320
  • package: update fs-extra to version 5.0.0 (#352) (629cc45)
  • package: update JSDoc (a1a81c5)
  • package: update make-fetch-happen to version 4.0.1 (#389) (7a44ca1), closes #382
  • package: update nyc (13256a8)
  • package: update SoundJS to v1.0.0 (ba26fc8)
  • package: use npm audit to fix a lot of vulnerability warnings (1b9dc96)
  • remove debug print (22e957b)
  • remove node warnings (#567) (5d5c494)
  • remove undocumented and non-functional panelClick event (1c20d58)
  • remove undocumented dialog-confirm and dialog-dismiss attribute click handlers (cab06b6)
  • remove unnecessary call to console.trace (42e10a4)
  • replicant-schemas: fix local refs not being resolved when appended to a file ref (0cd1673)
  • replicants: bind methods on objects when returning them via the proxy (1987ce4)
  • replicants: clone default value (#527) (5ed1ed5)
  • replicants: ensure opts.defaultValue always get populated (#467) (73fd909)
  • replicants: fixed a case where re-assigning a nested object could result in a broken replicant (9e72b86)
  • replicants: harden logging of validation errors (250b3fe)
  • replicants: improve how revision mismatch errors are logged to console on the client (e99dcbc)
  • replicants: improve parsing of schema $refs (6364396)
  • replicants: prevent .once('change') listeners from potentially being called twice (78a11c8), closes #296
  • replicants: properly load schemas when schemaPath is absolute (4201906)
  • replicants: set status to "declared" before emitting the post-declare change event (a62d25d)
  • replicants: support schemas with internal $refs (ee1c394)
  • replicator: don't crash when a an error occurs while updating the persisted value of a replicant (54baa0e)
  • replicator: use mkdirp when ensuring that the db/replicants folder exists (7b952f4)
  • router: delay 404 resolution (#463) (23e5772)
  • sentry: fix git information not being updated during runtime (1d34d4b)
  • server: don't crash when /instance/**/*.html route 404s (#636) (c59adc8)
  • server: fix unhandledRejection handler (e4efa9f)
  • server: prevent 'can't set headers after they are sent' error spam (#387) (58357bf)
  • server: prevent another possible (but unreproduced) directory traversal attack (#643) (ca2208c)
  • server: prevent directory traversal attacks (#639) (0646587)
  • socket: correct maxListeners setting to prevent memory leak (#579) (1b0611b)
  • soundcue: fix soundcue files not persisting (#584) (eeac8c4)
  • sounds: remove undocumented customCues system (efe877e)
  • types: add persistenceInterval option (#572) (84c3c46)
  • types: Add sendMessageToBundle instance method to type definitions (#480) (a15fe3b)
  • types: add/tweak types for replicant/readReplicant (#545) (f391281)
  • types: correct typing for declared replicants (#596) (dea9c15)
  • types: remove optional parameters in callback (81b0a11)
  • update Node.js version check (#438) (086621d)
  • zeit_pkg: fix pkg'd executables not working when compiled on a drive other than C: (#498) (3ae9b75)

Performance Improvements

Reverts

Code Refactoring

  • dashboard: port to Polymer 2 (2084237), closes #218
  • merge @nodecg/bundle-manager back in (fdefeac)

This PR was generated with Release Please. See documentation.

@github-actions github-actions bot force-pushed the release-please--branches--master--components--nodecg branch from 8b47eba to 89098a4 Compare April 21, 2023 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants