invidious Release v2.20240825.0 Release

요약

새로운 기능 및 주요 변경 사항

사용자를 위해

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

인스턴스 소유자를위한

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

개발자를 위해

  • CI/CD에서 테스트하는 Crystal의 버전은 이제 다음과 같습니다: 1.9.2, 1.10.1, 1.11.2, 1.12.1. libxml 바인딩에서 버그로 인해 1.10.0 이전 버전은 권장되지 않습니다.
  • @syeopite의 덕분에 코드는 이제 ameba를 준수합니다.
  • Ameba는 CI/CD 파이프 라인의 일부이며, 앞으로의 PR에서 규칙이 적용됩니다.
  • 코드의 트랜스크립트 기능을 허용하도록 다시 작성되었습니다. 이제 트랜스크립트 기능이 곧 출시됩니다.
  • Youtube와 상호 작용하는 논리에 대한 다양한 수정 사항
  • /api/v1/channels/{id}/streams 엔드포인트에서 sort_by 매개 변수를 사용할 수 있습니다. "newest", "oldest" 및 "popular"가 수락되는 값입니다.

고친 버그

사용자 측면

  • 채널: "구독자" 및 "조회수" 카운터가 고장났던 문제를 수정했습니다.
  • 시청 페이지: 동영상의 재생 위치가 재생이 끝날 때마다 재설정되므로 이 동영상을
    다시 시청할 때 끝 15초가 아닌 처음부터 시작됩니다.
  • 시청 페이지: "플레이리스트에 추가" 드롭 다운 메뉴의 항목이 알파벳순으로 정렬되도록 수정되었습니다.
  • 비디오 : "genre" URL은 이제 항상 유효한 웹 페이지를 가리키도록 되어 있습니다.
  • 플레이리스트 : Podcast 플레이리스트에서 "N 에피소드 분석 불가" 오류를 수정했습니다.
  • 개인 정보 보호를 위해 모든 외부 링크에는 이제 rel 속성이 설정되어 있습니다.
  • 환경 설정 : 관리자 전용 "수정된 소스 코드" 입력이 무시되는 문제를 수정했습니다.
  • 시청/채널 페이지 : og:imagetwitter:image 메타 태그에서 전체 이미지 URL을 사용합니다.

API

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

마지막 릴리즈 이후 병합된 PR의 전체 목록 (최신 순)

  • HTML : 시청 페이지 드롭다운 메뉴에서 플레이리스트를 알파벳 순으로 정렬하십시오 ([#4853], by @SamantazFox)
  • 비디오 : 설명/코멘트의 XSS 취약점 수정 ([#4852], thanks anonymous)
  • YtAPI : 클라이언트 버전 업데이트 ([#4849], by @SamantazFox)
  • SigHelper : 'check_update'에서 시간 비교를 반대로 수정 ([#4845], by @SamantazFox)
  • Storyboards : 다양한 수정 및 코드 정리 ([#4153], by SamantazFox)
  • #4876번 PR에서 소개된 린트 오류 수정 ([#4876], thanks @syeopite)
  • 검색 : Youtube URL 지원 추가 ([#4146], by @SamantazFox)
  • 채널 : 연령 제한 채널 표시 ([#4295], thanks @ChunkyProgrammer)
  • Ameba : 여러 가지 수정 사항 ([#4807], thanks @syeopite)
  • 업데이트 된 번역 ([#4659], by Hosted Weblate)
  • Ameba : Lint/UselessAssign 수정 ([#4876], thanks @syeopite)
  • HTML : 외부 링크에 rel="noreferrer noopener" 추가 ([#4667], thanks @ulmemxpoc)
  • Invidious::LogHandler에서 사용되지 않은 메서드 제거 ([#4812], thanks @syeopite)
  • Ameba : Lint/NotNilAfterNoBang 수정 ([#4796], thanks @syeopite)
  • Ameba : 사용하지 않은 인수 Lint 경고 수정 ([#4805], thanks @syeopite)
  • Ameba : i18next.cr 수정 ([#4806], thanks @syeopite)
  • Ameba : 규칙 사용하지 않도록 설정 ([#4792], thanks @syeopite)
  • 채널 : 구독자 수 및 채널 배너 파싱 ([#4785], thanks @ChunkyProgrammer)
  • 재생이 끝난 동영상의 재생 위치 수정 ([#4731], thanks @Fijxu)
  • 비디오 장르 URL 수정 ([#4717], thanks @meatball133)
  • API : 빈 플레이리스트의 범위 초과 에러 수정 ([#4696], thanks @Fijxu)
  • Podcast로 등록된 플레이리스트 처리 ([#4695], thanks @Fijxu)
  • API : 프록시 비디오 URL에서 중복된 쿼리 매개 변수 수정 ([#4587], thanks @absidue)
  • API : 실제 비디오 높이/너비/fps 반환 ([#4586], thanks @absidue)
  • 환경 설정 : 인기 페이지/엔드포인트 비활성화 시 적절한 오류 코드/메시지 반환 ([#4296], thanks @iBicha)
  • 로컬 HTML 파일에 비디오 포함 허용 ([#4450], thanks @tomasz1986)
  • CI : Crystal 버전 매트릭스 업데이트 ([#4654], by @SamantazFox)
  • YtAPI : 공식 클라이언트와 같은 API 키 제거 ([#4655], by @SamantazFox)
  • HTML : og:image 속성에 전체 URL 사용 ([#4675], thanks @Fijxu)
  • 트랜스크립트 로직을 더 일반적인 기능으로 다시 작성 ([#4747], thanks @syeopite)
  • CI에서 Ameba 실행 ([#4753], thanks @syeopite)
  • 릴리스 기반 컨테이너 추가 ([#4763], thanks @syeopite)
  • Helm 차트를 별도의 github 리포지토리로 이동 ([#4711], thanks @unixfox)

원문 내용

New features & important changes

For users

  • 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

For instance owners

  • 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).

For developpers

  • 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"

Bugs fixed

User-side

  • 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

API

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

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

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