Discourse 2.4.0.beta7 릴리스 노트

2.4.0.beta7의 새로운 기능

관리자 API 키 개선

Discourse API는 Discourse 사이트와 상호작용하는 강력한 도구입니다. 최신 베타 버전에서는 API 키 시스템에 여러 가지 개선 사항을 적용하여 보안과 기능성을 모두 향상시켰습니다.

  • 이제 사용자는 1개 이상의 API 키를 생성할 수 있으므로, 키가 유출된 경우 개별 키를 무효화할 수 있습니다.
  • API 키에 설명을 추가할 수 있어 각 키의 용도를 추적할 수 있습니다.
  • 키를 완전히 삭제하지 않고도 무효화하여 사용을 방지할 수 있습니다.
  • 6개월간 사용되지 않은 API 키는 자동으로 삭제됩니다. 이 설정은 revoke_api_keys_days 사이트 설정을 통해 변경할 수 있습니다.

스태프 환영 메시지

신규 사용자 및 TL1에 도달한 사용자와 마찬가지로, 이제 스태프도 moderator 또는 admin 권한을 부여받을 때 환영 메시지를 받게 됩니다. 이 메시지는 스태프 팀에 대한 환영 인사를 전하고, 관리자 인터페이스에 접근하는 방법을 안내하며, 신규 스태프 구성원에게 유용한 리소스인 https://meta.discourse.org/t/discourse-moderation-guide/63116으로 연결합니다.

기본 태그 알림 상태를 위한 새로운 사이트 설정

관리자는 오랫동안 사용자가 포럼에 가입할 때 어떤 카테고리를 감시(watch), 추적(track), 음소거(mute)할지 제어할 수 있었습니다. 사용자는 또한 감시/추적/음소거할 태그를 제어할 수 있었지만, 이는 가입 전에 사이트에서 설정할 수 없었습니다. 이제 관리자는 새로운 사이트 설정을 통해 사용자가 가입 전에 추적할 태그를 결정할 수 있습니다:

  • default_tags_watching
  • default_tags_tracking
  • default_tags_muted
  • default_tags_watching_first_post

기본 사이트 설정 변경 시 모든 사용자의 사용자 설정 업데이트

이전에는 default_ 사이트 설정이 수정되면 신규 사용자에게만 적용되었습니다. 기존 사용자는 변경 사항의 영향을 받지 않았습니다. 이제 관리자는 변경 사항을 과거 데이터에도 적용하거나, 신규 사용자에게만 적용하도록 선택할 수 있습니다.

새로운 카테고리 태그 설정: 태그 그룹에서 태그를 가진 새 주제 요구

태그 그룹을 활용하는 사이트에서, 스태프는 이제 주제가 생성되기 전에 해당 카테고리 내의 모든 새 주제가 태그 그룹에서 최소 x개의 태그를 가져야 한다고 요구할 수 있습니다. 이는 주제를 정리하는 데 매우 좋은 방법입니다.

예를 들어, 사용자가 다양한 멋진 튜닝 내용을 공유하는 자동차 튜닝 카테고리가 있다고 가정해 보겠습니다. 타이어, 휠, 외부, 내부, 조명과 같은 태그를 포함하는 차량 부위 태그 그룹을 생성할 수 있습니다. 이 태그 그룹을 새로운 설정에 추가하면, 사용자는 주제에 이 태그 중 최소 하나를 추가해야 하며, 이를 통해 다른 사용자가 해당 튜닝이 무엇에 관한 것인지 한눈에 알아볼 수 있게 됩니다.

사용자가 선택하는 기본 그룹

user selected primary groups라는 새로운 사이트 설정을 추가했습니다. 이 설정이 활성화되면 사용자는 자신의 기본 그룹으로 어떤 그룹을 선택할지 결정할 수 있습니다. 이는 기본 그룹이 아바타 플레어를 제공하는 사이트에서 유용하며, 사용자는 표시할 플레어를 전환할 수 있는 기능을 원합니다. 사이트 설정이 활성화되면, 그룹의 구성원인 사용자는 계정 탭에서 새로운 기본 그룹 사용자 설정 드롭다운을 볼 수 있습니다.

image

설정 가능한 이메일 스타일

사이트는 이제 맞춤형 HTML과 CSS를 사용하여 알림 이메일의 모양과 느낌을 사용자 정의할 수 있습니다. 새로운 이메일 사용자 정의 옵션은 /admin/customize/email_style에서 찾을 수 있습니다.

하이퍼링크 삽입 시 주제 검색

주제 작성기에서 링크를 삽입할 때, 이제 하이퍼링크 모달에서 기존 주제를 직접 검색할 수 있습니다.

37개의 좋아요

더 많은 내용!

잠깐, 더 있습니다! 새로운 기능과 변경 사항을 강조해 드리기 위해 최선을 다하고 있지만, 상세히 나열할 변경 사항이 항상 너무 많습니다. 새로운 기능, 버그 수정, UX 개선 등 전체 목록을 확인하시려면 아래에 나열된 추가 기능 및 수정 사항을 꼭 검토해 주세요.

보안 업데이트

이 베타 버전에는 커뮤니티와 HackerOne에서 보고된 문제를 해결하기 위한 보안 수정 1건이 포함되어 있습니다.

  • 멘션 자동완성 시 권한 확인

플러그인 개선

사용자 노트

  • 버그 수정

투표

  • 버그 수정

해결됨

  • 버그 수정

Patreon

  • 선택적 기부 요청 추가
  • 버그 수정

OAuth2 Basic

  • 복사 기능 개선

데이터 탐색기

  • 보고서 공유 가능한 링크
  • 버그 수정

할당

  • “할당되지 않음” 내비게이션 메뉴를 추가하는 새 카테고리 설정
  • 할당 목록을 역순 뱀 날짜로 정렬 (이전에는 무작위)
  • 버그 수정

Akismet

  • 버그 수정
  • 코드 리팩토링

Docker 매니저

  • 보고된 취약점을 해결하기 위한 의존성 업데이트
  • 대시보드에서 항상 /admin/upgrade 링크 표시

번역기

  • 버그 수정

RSS 폴링

  • wellfed에서 이름 변경
  • 버그 수정

Onebox

  • 버그 수정

No Bump

  • 버그 수정

제한된 답변

  • 초기 릴리스

WP Discourse

  • DiscourseUtilities::get_discourse_categories에 고유한 일시적 키 사용. 이 함수는 플러그인의 내부 사용을 위해 설정된 일시적 데이터보다 더 많은 데이터를 반환합니다.
  • 잘못 포맷된 헤더 키 수정

Zendesk

  • 버그 수정

스타일 가이드

  • 새 날짜-시간 입력 지원 추가

정책

  • 정책 동의 이력 유지
  • 버그 수정

추가 기능 및 수정 사항

클릭하여 확장

새로운 기능

  • JS eval 없이 번역 오버라이드 로드
  • 추가 내비게이션 항목을 위한 “init” 메서드 추가
  • 로컬 또는 네트워크 전체에 Docker 개발 환경 게시 허용
  • 라이트박스에서 제목이 없는 경우 이미지 파일명보다 대체 텍스트(alt)를 우선 사용
  • 매개변수를 가진 임베드에서 새 주제 생성 버튼
  • 메시지와 속삭임에 대해 사용자의 last_posted_at 업데이트 중단
  • 단계별 사용자에게 대량 초대 보내기 허용
  • 수신된 이메일에 대한 첨부 파일 제거 및 raw 필드 잘라내기
  • SES 스팸 헤더를 인식된 스팸 헤더에 추가
  • 그룹 개인 메시지에 대한 주제 목록 기억 기능 추가
  • 위키 편집자가 위키 주제의 태그를 편집할 수 있도록 허용
  • 주제 직렬화기에 이미지 URL 포함
  • 개인 메시지 목록에서 스크롤 위치 기억
  • 개인 메시지 목록에서 위치 기억
  • 초안 백업을 위한 실험적 숨김 설정
  • 이메일 템플릿 커스터마이징을 위해 스태프가 topic_url 사용 허용
  • 허니팟 및 챌린지 로직 개선
  • 'nofollow’와 함께 ‘ugc’ rel 속성 사용
  • 로그인 페이지 제목에 짧은 사이트 설명 추가

버그 수정

  • 검색 브리프에서 오디오/비디오 확인 시 잘못된 URL 건너뛰기
  • 요약 이메일에 <img> alt 속성 추가
  • restorer 스펙을 안정적으로 조정
  • 하위 카테고리에 대해 아무것도 선택되지 않은 경우 태그 주제 목록을 올바르게 표시
  • 가져오기 시 prettier로 빌드
  • 초기화 프로그램에서 테마 번역에 액세스할 수 있도록 허용
  • FilterQueryParams가 본질적으로 전역인 상태를 변경
  • 이미지 크기 조절에 사용되는 정규식 개선
  • 모바일 설정이 활성화되어 있을 때 navItem에 활성 상태 설정이 작동하지 않음
  • iOS에서 앱 전환 시 composer blur 이벤트 건너뛰기
  • 초대 재전송 시 created_at 날짜 업데이트하지 않음
  • 모바일 앱 트래픽을 크롤러 방문으로 간주하지 않음
  • onebox에서 cache 옵션을 전달할 필요 없음
  • Dropbox 비디오가 로드되지 않음
  • 데스크톱에서만 메뉴가 너무 높지 않도록 확인
  • zeitwerk로 whitelisted_generic_onebox_spec 실패 방지
  • 업데이트 액션은 설정-컴포넌트 믹스에 있어야 함
  • 메뉴 패널이 화면에 너무 높지 않도록 보장
  • TopicQuery가 정의되지 않은 하위 카테고리에 잘 반응하지 않음
  • 개인 메시지가 비활성화된 경우 사용자 메뉴에 개인 메시지 링크를 추가하지 않음
  • 린팅
  • makeArray를 discourse-common으로 이동
  • 누락된 run 가져오기
  • 비활성화될 때 플러그인 CSS/JS 자산 로드하지 않음
  • 속삭임이 마지막 게시물인 경우 읽지 않은 주제가 해제되지 않음
  • 모바일에서 음소거된 하위 카테고리 숨김
  • 양식의 Enter 키가 새로 고침 대신 제출
  • 알림 동의 배너를 키보드와 스크린리더로 사용 가능하도록 만들기
  • attachment_css_class 상수를 discourse-markdown-it의 upload-short-url에서 이동
  • 멀티사이트 테넌트별로 Discourse.system_user를 별도로 캐싱
  • 일부 조건에서 저장되지 않았는데도 초안이 저장 중이라고 표시
  • q 매개변수 없이 categoryId로 태그 필터링 가능
  • 기본 사용자 선호 카테고리가 관리자 사이트 설정 UI에서 업데이트되지 않음
  • 믹스 가져오기 시 Prettier
  • 바이오를 표시하기 전에 발췌문이 있는지 확인
  • 슬러그 유효성 검사 수정
  • 백업 복원 시 빈 업로드 디렉터리 고려
  • 슬러그가 비어 있는 경우 카테고리 URL을 올바르게 생성
  • /tags/filter/search 라우트에서 q 매개변수 필수로 설정
  • pretty text에서 ember 가져오기 사용 금지
  • 테스트에서 Ember.run.debounce 해킹에 모듈 사용
  • 린팅 수정 추가
  • 키워드를 사용하여 사용자 정의 필드를 업서트할 때 배열 키가 문자열로 변환됨
  • 더 불안정한 jobs_base_spec.rb
  • 불안정한 jobs_base_spec.rb
  • 이미지 스케일 버튼을 무조건적으로 배치
  • ESC 키 및 외부 클릭 시 모달 닫기
  • 이메일 주소로 개인 메시지 전송 시 오류 수정
  • Category.find_by_slug을 Category.find_by(slug: …)보다 우선 사용
  • TopicQuery의 슬러그 기반 카테고리 조회
  • category_id가 비어 있는 경우 사용자 검색에 올바르게 응답
  • 테마 컴포넌트 설정이 UI에서 업데이트되지 않음
  • 개발 중 플러그인 번역 재로드
  • 마법사를 실행하고 사용자 정의 테마를 사용할 때 base_scheme_id가 nil인 경우 color_scheme 이름으로 폴백
  • oauth2_user_infos에 고유하지 않은 행 저장 허용
  • rack-mini-profiler 업데이트
  • 음소거된 하위 카테고리 숨김
  • 아바타의 nil 경우 처리, 혹시 모를 상황에 대비하여
  • 리디렉트를 따르는 아바타 다운로드 허용
  • 손상된 인증서
  • prettier로 빌드 실패
  • Oneboxed 게시물에서 투표자 표시
  • 알림 생성 전에 좋아요 받은 게시물의 존재 확인
  • restorer 스펙에 대한 Rubocop 규칙
  • 비멀티사이트 복원이 재연결 단계에서 오류를 발생시키지 않음
  • 컴파일되지 않은 이메일 스타일 css에 대한 후방 호환성
  • 사용자가 볼 수 없는 경우 그룹 멤버 로드하지 않음
  • 새 주제 생성 중 주제 입력을 비활성화해서는 안 됨
  • 새 로더로 마법사 테스트가 깨짐
  • Sortable 컨트롤러 변수 충돌
  • 테스트 스위트 수정
  • ImportExport 모듈의 올바른 경로
  • 복원 프로세스의 재연결이 올바른 DB에 연결
  • 특정 조건에서 알림이 누락됨
  • tl3 links no follow 설정 준수
  • 파일 크기로 인해 아바타 다운로드가 불가능한 경우 빈 아바타 반환
  • web_hook_topic_view_serializer에서 image_url 제외
  • 500 오류를 유발하는 널 바이트 검색 방지
  • 리디렉트 따르기가 응답 코드가 200인 경우 URL 반환
  • xkcd 이미지 리사이즈하지 않음
  • 알림 웹훅에 사용자 ID 포함
  • 일부 속성이 누락된 경우 사용자 모델 로드
  • 카테고리 업데이트 슬러그 유효성 검사를 멱등(idempotent)으로 만들기
  • 알림 수를 새로고침할 때 알림만 재로드
  • 작업에 대한 Zeitwerk 관련 수정
  • 레이트 리밋 및 하이재크 인증서 생성
  • onebox 오디오 및 비디오 태그에 일반적인 HTML5 미디어 확장자 추가
  • 보안되지 않은 카테고리에서 새 주제의 멘션 자동완성 수정
  • ‘only_hidden_tags_changed?’ 메서드가 태그가 변경되지 않았더라도 'true’를 반환함
  • to_i’d되었기 때문에 id는 항상 true
  • D-버튼의 기본 유형을 button으로 설정
  • zeitwerk로 플러그인 생성기 수정
  • 초안 시스템에 대한 다양한 수정
  • Redis gem을 4.1.3 버전으로 업데이트
  • IE11에서 NodeList의 forEach 지원 폴리필
  • 하위 카테고리의 인코딩된 슬러그 처리
  • 인코딩된 슬러그를 잘라내지 않음
  • '_MF’가 아닌 키에 대한 사이트 텍스트 오버라이드 표시
  • 유효한 보간을 확인하기 위해 복수형 키를 .other로 변환
  • Redis gem을 4.1.3 버전으로 업데이트
  • redis freedom 패치 제거
  • 인코딩된 슬러그 수정 추가
  • URL을 두 번 인코딩하지 않음
  • 인코딩된 슬러그를 처리하는 더 많은 위치
  • /categories의 nil 슬러그 처리
  • 하위 카테고리 조회 시 nil 고려
  • 주제 타임라인 위치 계산 수정
  • 부모 태그가 있는 두 개의 태그 그룹에 속하는 경우 태그를 사용할 수 없음
  • 예시 텍스트에서 인용 생성기 사용
  • 빈 push_url로 알림을 보내지 않음
  • push_url이 비어 있는 경우 알림 API 호출을 하지 않음
  • 카테고리 슬러그의 인덱스를 수정하기 위한 마이그레이션 추가
  • 프로필에서 입력을 제출할 때 쓰레기 버튼에 포커스가 가는 것을 방지
  • 사용자 초대 알림 이메일에 private_email 설정 준수
  • 기존 사용자를 주제/PM에 초대할 때 주제 링크 포함
  • GitHub 커밋 onebox의 줄 수 링크 수정
  • 테스트에서 Public_file_server.enabled가 false
  • 카테고리의 중복 슬러그를 방지하기 위한 고유 인덱스 추가
  • Category.find_by_slug
  • iOS에서 이모지를 선택할 때 답장 상자를 고정 해제하지 않음
  • 더 이상 필요하지 않은 hiredis gem 제거
  • 하위 카테고리 권한 유효성 검사
  • 카테고리 트리 깊이 유효성 검사
  • 사용자가 게시물을 올린 경우에만 알림 수준을 이동
  • 작업에 대한 Zeitwerk 관련 수정
  • 예약된 작업이 로드되도록 보장
  • ‘local_cdn_url’ 메서드는 로컬 상대 URL에서도 작동해야 함
  • 테마가 js 파일을 업로드하고 서빙할 수 있도록 허용
  • 사용 가능한 경우 composer 미리보기에서 업로드의 cdn url 사용
  • TOTP로 비밀번호 변경 허용
  • 더 많은 결과를 표시할 때 검색 메뉴 패널 스크롤 허용
  • 깨진 테스트 하나 더 제거
  • 이 이모지 테스트도 깨져 있었음
  • 불안정한 테스트
  • reviewable_scores의 sub_total 계산 정확화
  • 구성에 따라 올바르게 인코딩된 슬러그
  • 업로드 생성 시 디스크에서 임시 파일을 제거하도록 보장
  • 연속된 단락을 편집할 때 올바른 diff 표시
  • 중복된 TopicAllowedUsers 생성 방지
  • 사소한 Github onebox 레이아웃 문제
  • 검토 가능 목록에 대한 모바일 조정

UX 변경 사항

  • 태그 입력에서 선택된 태그가 없으면 필수 태그를 제안
  • “관리자 권한 부여” 이메일 및 UI에 사용자 이메일 주소 표시
  • 태그 그룹 이름 입력 필드 확장 및 플레이스홀더 텍스트 추가
  • 접근성 향상을 위해 경고 및 모달 닫기를 버튼으로 변환
  • 다크 테마에서 <select>에 올바른 배경 적용
  • iOS에서 인용 개선
  • iOS composer 회귀 문제 수정
  • 비활성화된 드롭다운 스타일을 색상 변수로 업데이트
  • 검색 메뉴 결과에서 태그 표시 표준화
  • 대시보드 링크를 git 커밋 목록으로 변경 (git 비교 대신)
  • 그룹 멤버십 UI를 더 명확하게 만들기
  • 발췌문에서 로컬 날짜가 UTC임을 강조
  • GitHub onebox 정보가 불필요하게 줄바꿈되지 않도록 보장
  • 이메일에서 새 GitHub onebox 렌더링 개선
  • 투표 빌더를 위해 투표 태그 닫기 후 줄바꿈 추가
  • 더 나은 정렬 옵션을 위해 다이제스트 이메일 푸터를 테이블로 감싸기
  • composer 링크 모달 검색 결과에 메타데이터 포함
  • 더 쉬운 스타일링을 위해 다이제스트 이메일 템플릿에 CSS 클래스 추가

성능

  • 배너를 위한 필터 인덱스 추가
  • 게시물 이동을 가속화하기 위해 알림에 인덱스 추가
  • 답글을 게시할 때 클라이언트에서 초안을 파괴하지 않음
  • 비용이 많이 드는 업로드 정리 덜 자주 실행
  • 요약 이메일에 신규 사용자 수 캐싱
  • category_groups의 group에 인덱스 추가
  • oauth2_user_infos(user_id, provider)에 고유 인덱스 추가
  • 읽음 상태 이동 속도 향상
26개의 좋아요