invidious Release v2.20240825 Release

요약

새로운 기능 및 중요한 변경 사항

사용자용

  • 검색 창에 클릭할 수 있는 버튼이 추가되었습니다!
  • 유튜브 URL을 직접 검색 창에 붙여 넣을 수 있습니다. 검색 쿼리를 역 슬래시(\)로 시작하여 그 기능을 비활성화 할 수 있습니다(유튜브 URL을 포함한 비디오를 검색해야 하는 경우 유용).
  • 채널 페이지에서 "스트림" 탭은 "최신", "과거", "인기"로 정렬할 수 있습니다.
  • 번역이 업데이트되었습니다(Weblate의 기여자들에게 감사의 말씀을 전합니다!)
  • 로컬 HTML 파일에 포함된 비디오(예: 블로그에서 저장한 웹페이지)를 재생할 수 있습니다.

인스턴스 소유자용

  • Invidious는 현재의 유튜브 제한을 회피하기 위해 Youtube에 po_tokenvisitordata를 제공할 수 있습니다.
  • Invidious는 inv_sig_helper와 같은 (선택적) 외부 서명 서버를 사용할 수 있습니다. 일부 비디오는 이 서명 서버 없이 재생할 수 없습니다.
  • Helm 차트가 별도의 저장소로 이동되었습니다: https://github.com/iv-org/invidious-helm-chart
  • 컨테이너의 릴리스 방식이 변경되었습니다. latest 태그는 태그가 지정된 릴리스를 추적하고, master 태그는 master 브랜치의 가장 최신 커밋을 추적합니다("nightly" 빌드).

개발자용

  • CI/CD에서 테스트하는 Crystal 버전은 이제 1.9.2, 1.10.1, 1.11.2, 1.12.1입니다. 다만 libxml 바인딩의 버그(문제 번호 #4256 참조)로 인해 1.10.0 이전 버전은 권장하지 않습니다.
  • @syeopite의 기여로 코드가 ameba 규칙에 따라 작성되었습니다.
  • Ameba가 CI/CD 파이프라인에 포함되었으며, 이후 PR에 대해 규칙이 적용됩니다.
  • 전사는 캡션을 위한 대체 방법이 아니라고 해서 이제 캡션 대신 트랜스크립트를 기능으로 추가하기 위해 코드가 다시 작성되었습니다. 트랜스크립트 기능이 곧 출시 예정입니다!
  • 유튜브와 상호작용하는 로직에 대한 다양한 수정 사항
  • /api/v1/channels/{id}/streams 엔드포인트에서 sort_by 매개변수를 사용할 수 있습니다. 허용되는 값은 "최신", "과거", "인기"입니다.

해결된 버그

사용자 측

  • 채널: "구독자" 및 "조회수" 카운터가 작동하지 않던 문제를 수정했습니다.
  • 시청 페이지: 비디오를 시청한 후 재생 위치가 초기화되어, 비디오를 다음에 시청할 때는 끝에서 15초 앞에서 시작하는 대신 처음부터 시작하도록 수정했습니다.
  • 시청 페이지: "재생목록에 추가" 드롭다운 메뉴의 항목을 알파벳 순으로 정렬하도록 수정했습니다.
  • 비디오: "장르" URL이 항상 유효한 웹페이지를 가리키도록 수정했습니다.
  • 재생 목록: 팟캐스트 재생 목록에서 "N 에피소드 파싱이 불가능합니다" 오류를 수정했습니다.
  • 개인 정보 보호를 위해 모든 외부 링크에 rel 속성이 noreferrer noopener로 설정되도록 수정했습니다.
  • 환경 설정: 관리자 전용의 "소스 코드 수정" 입력이 무시되는 문제를 수정했습니다.
  • 시청/채널 페이지: og:imagetwitter:image 메타 태그에서 전체 이미지 URL을 사용하도록 수정했습니다.

API

  • local 매개변수가 /api/v1/videos/{id}formatStreams에 적용되지 않던 문제를 수정했습니다.
  • 비디오가 없는 경우 Index out of bounds 오류가 발생하는 문제를 수정했습니다.
  • 대리된 비디오 URL에 중복된 쿼리 매개변수가 있던 문제를 수정했습니다.
  • 하드코딩된 값 대신 실제 비디오 높이/너비/프레임 속도를 반환하도록 수정했습니다.
  • /api/v1/popular 엔드포인트가 인기 페이지/엔드포인트가 비활성화된 경우 적절한 오류 코드/메시지를 반환하도록 수정했습니다.

최근 릴리스 이후 병합된 풀 리퀘스트 전체 목록(최신 순)

  • HTML: 시청 페이지 드롭다운 메뉴에서 재생 목록을 알파벳 순으로 정렬합니다([#4853], by @SamantazFox)
  • 비디오: 설명/댓글의 XSS 취약점을 수정했습니다([#4852], 감사의 말씀을 전합니다 익명)
  • YtAPI: 클라이언트 버전을 업데이트했습니다([#4849], by @SamantazFox)
  • SigHelper: 'check_update'에서 시간 비교를 반대로 한 문제를 수정했습니다([#4845], by @SamantazFox)
  • Storyboards: 여러 가지 수정 및 코드 정리([#4153], by SamantazFox)
  • #4146#4295에서 도입된 린트 오류를 수정했습니다([#4876], 감사의 말씀을 전합니다 @syeopite)
  • 검색: Youtube URL을 지원합니다([#4146], by @SamantazFox)
  • 채널: 연령 제한이 있는 채널을 렌더링합니다([#4295], 감사의 말씀을 전합니다 @ChunkyProgrammer)
  • Ameba: 여러 가지 수정 사항([#4807], 감사의 말씀을 전합니다 @syeopite)
  • API: 프록시된 formatStreams URL에 대한 문제를 수정했습니다([#4859], 감사의 말씀을 전합니다 @colinleroy)
  • UI: 검색 창에 검색 버튼을 추가했습니다([#4706], 감사의 말씀을 전합니다 @thansk)
  • po_token 및 visitordata ID 설정 기능 추가([#4789], 감사의 말씀을 전합니다 @unixfox)
  • 외부 서명 서버 지원 기능 추가([#4772], by @SamantazFox)
  • Ameba: 여러 가지 수정 사항([#4795], 감사의 말씀을 전합니다 @syeopite)
  • 호스트로 운영되는 Weblate에서 번역을 업데이트했습니다([#4659])
  • Ameba: Lint/UselessAssign을 수정했습니다([#4796], 감사의 말씀을 전합니다 @syeopite)
  • Ameba: 사용하지 않는 인수 Lint 경고를 수정했습니다([#4805], 감사의 말씀을 전합니다 @syeopite)
  • Ameba: i18next.cr 수정([#4806], 감사의 말씀을 전합니다 @syeopite)
  • Ameba: 규칙 비활성화([#4792], 감사의 말씀을 전합니다 @syeopite)
  • 채널: 구독자 수 및 채널 배너를 구문 분석합니다([#4785], 감사의 말씀을 전합니다 @ChunkyProgrammer)
  • 플레이어: 이전에 시청한 비디오의 재생 위치를 수정했습니다([#4731], 감사의 말씀을 전합니다 @Fijxu)
  • 비디오: 사용할 수 없는 장르 URL을 수정했습니다([#4717], 감사의 말씀을 전합니다 @meatball133)
  • API: 비디오가 없는 경우의 인덱스 초과 오류를 수정했습니다([#4696], 감사의 말씀을 전합니다 @Fijxu)
  • 팟캐스트 카탈로그로 분류된 재생 목록을 처리하는 기능을 추가했습니다([#4695], 감사의 말씀을 전합니다 @Fijxu)
  • API: 프록시된 비디오 URL에 중복된 쿼리 매개변수가 있던 문제를 수정했습니다([#4587], 감사의 말씀을 전합니다 @absidue)
    • The search bar now has a button that you can click!
    • Youtube URLs can be pasted directly in the search bar. Prepend search query with a
      backslash (\) to disable that feature (useful if you need to search for a video whose
      title contains some youtube URL).
    • On the channel page the "streams" tab can be sorted by either: "newest", "oldest" or "popular"
    • Lots of translations have been updated (thanks to our contributors on Weblate!)
    • Videos embedded in local HTML files (e.g: a webpage saved from a blog) can now be played
    • Invidious now has the ability to provide a po_token and visitordata to Youtube in order to
      circumvent current Youtube restrictions.
    • Invidious can use an (optional) external signature server like inv_sig_helper. Please note that
      some videos can't be played without that signature server.
    • The Helm charts were moved to a separate repo: https://github.com/iv-org/invidious-helm-chart
    • We have changed how containers are released: the latest tag now tracks tagged releases, whereas
      the master tag tracks the most recent commits of the master branch ("nightly" builds).
    • The versions of Crystal that we test in CI/CD are now: 1.9.2, 1.10.1, 1.11.2, 1.12.1.
      Please note that due to a bug in the libxml bindings (See #4256), versions prior to 1.10.0
      are not recommended to use.
    • Thanks to @syeopite, the code is now ameba compliant.
    • Ameba is part of our CI/CD pipeline, and its rules will be enforced in future PRs.
    • The transcript code has been rewritten to permit transcripts as a feature rather than being
      only a workaround for captions. Trancripts feature is coming soon!
    • Various fixes regarding the logic interacting with Youtube
    • The sort_by parameter can be used on the /api/v1/channels/{id}/streams endpoint. Accepted
      values are: "newest", "oldest" and "popular"
    • Channels: fixed broken "subscribers" and "views" counters
    • Watch page: playback position is reset at the end of a video, so that the next time this video
      is watched, it will start from the beginning rather than 15 seconds before the end
    • Watch page: the items in the "add to playlist" drop down are now sorted alphabetically
    • Videos: the "genre" URL is now always pointing to a valid webpage
    • Playlists: Fixed Could not parse N episodes error on podcast playlists
    • All external links should now have the rel attibute set to noreferrer noopener for
      increased privacy.
    • Preferences: Fixed the admin-only "modified source code" input being ignored
    • Watch/channel pages: use the full image URL in og:image and twitter:image meta tags
    • fixed the local parameter not applying to formatStreams on /api/v1/videos/{id}
    • fixed an Index out of bounds error hapenning when a playlist had no videos
    • fixed duplicated query parameters in proxied video URLs
    • Return actual video height/width/fps rather than hard coded values
    • Fixed the /api/v1/popular endpoint not returning a proper error code/message when the
      popular page/endpoint are disabled.

원문 내용

New features & important changes

For users

For instance owners

For developpers

Bugs fixed

User-side

API

Full list of pull requests merged since the last release (newest first)

링크 : https://github.com/iv-org/invidious/releases/tag/v2.20240825