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(main): release 3.0.0 #1

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

Conversation

github-actions[bot]
Copy link

🤖 I have created a release beep boop

3.0.0 (2024-08-23)

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

Features

  • add bundle paths customization (#483) (56ef32a)
  • add mounting feature (07210b0)
  • add multiple bundles paths support (#470) (3b76451)
  • add support for zeit pkg builds (#362) (acb168c)
  • 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: introduce bundles replicant (#421) (94d0b1d)
  • 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 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)
  • deps: update dependencies (eaf0d07)
  • docker: build images with Node 8 (0e4eb73)
  • docker: bump node to 10 (#533) (6fafeea)
  • docker: smaller docker image (#631) (f560619)
  • engines: use package.json for supported Node.js versions (#723) (e27df66)
  • extension: add router helper (#535) (2a69423)
  • extension: allow extensions to export esmodule (#587) (8e3304a)
  • extension: flexible mount (#519) (3ff1603)
  • 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: remove local storage size quota (#574) (10bfd6f)
  • 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

  • iframe-resizer content window injection (#679) (78f80ba)
  • allow socket authentication with a token only (#635) (0241071)
  • always emit full user object on login event; only emit login and logout events for allowed users (#666) (9da8b02)
  • 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 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)
  • avoid using process.env.browser to avoid real-world env conflicts (#649) (e2c80e0)
  • 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 loader: handle when cfg is symlink (#670) (50f0c11)
  • 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)
  • correct full update read code (#652) (490d033)
  • 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: 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 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: iframe lazy loading (#729) (a3dc36c)
  • 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)
  • deps: update typeorm (#722) (3d02d00)
  • dockerfile: CMD to absolute path (#645) (eeebf0e)
  • docker: fix failing Dockerfile (#617) (1e243da)
  • don't list package-lock in files (#620) (e2ed466)
  • ensure assignable sounds are set correctly (#736) (42d41a6)
  • ensure sounds work on dashboard panels (#735) (f9d346b)
  • extensions: improve logging when an extension fails to mount (e7f2a90)
  • fix error when running NodeCG after installation as a dependency via npm (#647) (3aaaae8)
  • 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)
  • json-schema: prevent ajv to throw on invalid JSON schema (#725) (9d1af91)
  • 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 correct logic for redirect URL protocol (50551b2)
  • 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)
  • 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: 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: remove custom schema properties (#676) (6ae4a49)
  • 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)
  • support uploading files with non-ascii characters in their filenames (#657) (318332e)
  • 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)
  • types: target ES2015 in generated typings (#732) (fa977b3)
  • types: use declarationDir to generate types (#716) (18b1af2)
  • unlisten overload missing (#659) (d387aec)
  • update better-sqlite3 (#668) (a66c19d)
  • update Node.js version check (#438) (086621d)
  • validation of URI in json schema for certain spec drafts (#663) (4076a5d)
  • zeit_pkg: fix pkg'd executables not working when compiled on a drive other than C: (#498) (3ae9b75)

Performance Improvements

  • replace deep-equal and clone with fast-equals and klona/json (#661) (a4cc07b)

Reverts

Code Refactoring

  • merge @nodecg/bundle-manager back in (fdefeac)

This PR was generated with Release Please. See documentation.

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