# 2.9.0.beta4: 보안 수정, 사이트맵, Discourse Connect 제공자 2FA 등

**URL:** https://meta.discourse.org/t/2-9-0-beta4-security-fixes-sitemaps-discourse-connect-provider-2fa-and-more/224271
**Category:** Announcements
**Tags:** release-notes
**Created:** [4월 14, 2022, 2:14오후 UTC](https://meta.discourse.org/t/2-9-0-beta4-security-fixes-sitemaps-discourse-connect-provider-2fa-and-more/224271 "2022-04-14T14:14:30Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [4월 14, 2022, 2:14오후 UTC](https://meta.discourse.org/t/2-9-0-beta4-security-fixes-sitemaps-discourse-connect-provider-2fa-and-more/224271/1 "2022-04-14T14:14:30Z")

</div>

## 2.9.0.beta4의 새로운 기능

> ⚠ **재빌드 필요.** 재빌드는 패키지 버전을 최신으로 업데이트하며, 지난 1일 동안 명령줄을 통해 사이트가 재빌드되지 않았다면 완료해야 합니다.

### 보안 업데이트

이 베타 버전에는 커뮤니티와 [HackerOne](https://hackerone.com/discourse)에서 보고한 문제에 대한 5가지 보안 수정 사항이 포함되어 있습니다.

- Nokogiri를 1.13.4로 업데이트.
- 일반 사용자에게 카테고리 그룹 권한이 노출되는 문제 수정.
- 카테고리 보기 시 비공개 그룹 이름이 노출되는 문제 방지.
- 사용자 활동 내보내기에서 비공개 카테고리 숨김 처리.
- 사용자 에이전트 기반 응답이 별도로 캐시되도록 보장.

❗ Discourse가 실행되는 Docker 이미지인 [discourse\_docker](https://github.com/discourse/discourse_docker)에도 보안 업데이트가 있습니다. 위의 수동 재빌드는 이 수정 사항을 가져오기 위해 필요합니다. 이로 인해 **다운타임** 이 발생할 것입니다.

### 사이트맵 지원 추가

Discourse는 이제 플러그인 없이 사이트맵을 지원합니다. 이는 [Discourse Sitemap](https://meta.discourse.org/t/discourse-sitemap/40348) 플러그인과 동일한 기능을 포함하며, 업데이트 후 해당 플러그인은 안전하게 제거할 수 있습니다.

### [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 제공자 2FA 지원

외부 사이트의 신원 제공자로 Discourse를 사용하는 경우, 이제 사용자가 2FA를 확인하도록 요구할 수 있습니다. 자세한 내용은 [GitHub](https://github.com/discourse/discourse/pull/16386)를 참고하세요.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [4월 14, 2022, 2:14오후 UTC](https://meta.discourse.org/t/2-9-0-beta4-security-fixes-sitemaps-discourse-connect-provider-2fa-and-more/224271/2 "2022-04-14T14:14:30Z")

</div>

### 더 많은 업데이트!

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

## 플러그인 개선 사항

### Assign

#### UX 변경 사항

- 토픽 목록 준비를 위한 추가 리팩토링

### Discourse Chat

#### 새로운 기능

- 토픽 페이지의 타임라인 및 푸터 아래에 채팅 버튼 추가
- 채널 전체 멘션 알림을 비활성화할 수 있는 옵션 추가
- 사용자 카드에 채팅 버튼 추가
- 메시지당 고유 이모지 반응 개수를 30개로 제한

#### 버그 수정

- 자신에게 DM을 보낼 수 있도록 허용
- DM 작성 시 올바른 초안이 생성되도록 보장
- 토픽 목록의 아이콘에 누락된 툴팁 추가
- 표시기가 표시되지 않도록 막는 회귀 버그 수정
- 서버로 메시지를 전송하므로 조리(Cooking) 과정이 필요하지 않음
- direct\_messages를 인덱스 라우트로 설정
- 요청 시점에 사용자 이름 형식화
- 결과가 없음을 깜빡이는 것을 방지하기 위해 즉시 필터링
- 인용 버튼의 복사본 변경
- 플레이스홀더에 절단(truncation) 적용
- 사소한 조정 사항
- 누락된 앱 이벤트 바인딩 수정
- use chatEventPrefix를 사용하여 composer insert-text 이벤트 처리
- 최대 신규 반응 수에 도달했을 때 새로운 중복 반응 허용
- 채팅이 활성화된 상태에서 익명 사용자가 다른 사용자를 볼 때 오류 발생 방지
- 테이블이 없음을 이유로 발생하는 오류 방지

#### UX 변경 사항

- 완전히 새로워진 다이렉트 메시지 작성기 구현
- 진행률 표시줄 구현
- 사용자 카드 버튼 배치용 플러그인 아웃렛 변경
- 길게 누를 때 답장 텍스트가 선택되지 않도록 방지
- 스크롤 시 길게 누르기 취소
- 더욱 일관된 채팅 알림 구현
- 길게 눌러 모바일 메뉴를 트리거하도록 구현
- 반응 아래에 약간 더 많은 패딩 추가
- 메시지를 위한 전용 모바일 메뉴 구현

### Voting

#### 새로운 기능

- 빈 페이지 증후군(blank page syndrome) 개선

#### 버그 수정

- 서버에서 boolean 값을 올바르게 처리

### Akismet

#### 버그 수정

- TL1 사용자의 첫 게시글 검토를 설정할 수 있도록 변경

### Calendar

#### 새로운 기능

- 토픽 목록에서 툴팁으로 전체 날짜 레이블 포함

#### UX 변경 사항

- 캘린더 이벤트 표시 조정

### [Data Explorer](https://meta.discourse.org/t/32566?silent=true)

#### 버그 수정

- 파일 선택 버튼에 새 속성 사용

### Encrypt

#### 버그 수정

- 암호화된 토픽의 빠른 편집 버튼 숨김
- 유효한 검색 결과만 추가
- 액세스 전에 캐시된 객체가 존재하는지 확인
- 기존 키가 존재하는 경우에만 업데이트

### Kolide

#### 버그 수정

- db 업데이트 수행 전에 장치 ID를 추출(Pluck)하도록 변경

### Docker Manager

#### 버그 수정

- 로고 URL을 동적으로 가져오도록 변경

### Code Review

#### 버그 수정

- 메시지가 없는 커밋 처리

### RSS Polling

#### 버그 수정

- 사용자가 존재하지 않을 경우 예외를 발생시키지 않도록 변경

### Policy

#### 버그 수정

- renew-start가 제거되면 next\_renew\_at를 지우도록 변경
- 표시되는 사용자를 정렬하고 비활성/정지된 사용자 제외

### Automation

#### 버그 수정

- 자동화 객체를 변형(mutate)하지 않도록 보장

#### UX 변경 사항

- 오류가 발생하는 자동화를 삭제할 수 있도록 허용

### Footnote

#### 버그 수정

- 동일한 각주에 대한 여러 참조 허용

### Salesforce

#### 버그 수정

- 사이트 설정에 누락된 로케일 항목 추가
- 사용되지 않는 관리자 라우트 제거
- 토픽 사용자 정의 필드 사전 로드

### Chat Integration

#### 새로운 기능

- Slack 전사본에서 `[quote]` 비활성화 허용

#### 버그 수정

- AdminDashboardData 문제 확인 시 오류 수정
- 플러그인/제공자가 활성화된 경우에만 관리자 대시보드 오류 표시

## 추가 기능 및 수정 사항

> **클릭하여 확장**
>
> ### 새로운 기능
> 
> - 게시글 직렬화 시 `user_suspended` 속성 추가
> - 선별된 IP 롤업 개선 및 IPv6 확장
> - S3 ACL 동기화를 위한 sidekiq 작업 추가
> - 이메일 다크 모드 추가
> - 정렬 가능한 json-editor 항목
> - 로컬 테마 js 자산 허용
> - 카테고리당 여러 필수 태그 그룹 허용
> - sync\_sso용 DiscourseEvent 훅
> - 다형(polymorphic) 북마크 pt. 1 (CRUD)
> - img 태그에서 upload:// URL 지원
> 
> ### 버그 수정
> 
> - 게시글 날짜 링크의 Href 속성
> - 게시글 날짜 링크 요소에 href 추가
> - 이모지 자동완성 오류 방지
> - 다크 모드 이메일 스타일 업데이트
> - allowed\_tags와 allowed\_tag\_groups가 제거될 수 있도록 보장
> - 첨부된 수신 이메일을 찾지 못하는 이메일 로그 문제 수정
> - category\_required\_tag\_groups가 tag\_groups와 함께 제거되도록 보장
> - ClipboardItem이 지원되지 않으면 clipboard.writeText로 폴백
> - iOS 12에서 버그 있는 토픽 스크롤 문제 수정
> - everyone 그룹에 대한 권한 직렬화
> - 잘못된 tag\_group id를 가진 필수 카테고리 태그 그룹 정리
> - 레거시 브라우저 처리가 전체 `<noscript>` 콘텐츠를 사용하도록 보장
> - модератор 사용자에 대한 사용자 알림 탭 숨김
> - Uppy-image-uploader 및 uppy-upload 믹신의 사소한 문제 수정
> - API 범위 허용 URL에서 중복 방지
> - 형식 제약이 없어도 API 범위의 허용 URL에 라우트 포함
> - 검색 인덱스에서 자동 앵커 제외
> - 검색 인덱스에서 최대 단어 길이 제한
> - 구형 모바일 브라우저에서 크롤러 콘텐츠 포함
> - 열린 태그 그룹에서 태그를 관찰하는 사용자에게 알림이 전송되지 않는 문제 수정
> - "오늘 늦게"를 표시할 때 "이번 주 늦게"를 숨길 필요 없음
> - 로딩이 완료될 때 이미지의 높이가 변경되지 않도록 보장
> - 초대받은 사용자를 해당 토픽으로 리다이렉트
> - raw\_html에 대해 pull\_hotlinked\_image를 시도하지 않도록 변경
> - 자동 생성된 이메일이 그룹 SMTP 이메일 폭주를 일으키는 문제 수정
> - 정수 사용자 이름으로 사용자를 생성할 때 발생하는 500 오류 수정
> - 게시글 소유자가 변경될 때 ‘posted’ 열 업데이트
> - 조치를 취한 후 리뷰 큐 스크롤이 작동하지 않는 문제 수정
> - 북마크 모달과 토픽-타이머 모달의 날짜 선택기에서 정렬 옵션 중지
> - Can\_permanently\_delete가 관리자 여부를 확인하도록 변경
> - 업로드를 생성할 수 없는 경우 테마 생성 중단
> - 올바른 게시글 및 토픽 shareUrl 생성
> - Zeitwerk가 ActiveSupport::Inflector를 사용하도록 보장
> - 카테고리 컨텍스트에서 태그 필터의 태그 수 숨김
> - 상단 위치가 잘못 선택되었을 때 popper 반전
> - esc 키를 누르면 사용자/그룹 카드 닫기
> - 전체 sidekiq conf를 `to_prepare`에 넣지 않도록 변경
> - 원격 이미지 다운로드 시 HTML ``\<img` 유지
> - 새 토픽을 검토로 보내기 전에 카테고리 태그 제한 검증
> - 선택 가능한 아바타 재설정 실패 문제 수정
> - 필요 시 제한된 그룹 경고 표시
> - tsqueries 주위에 unaccent를 감싸지 않도록 변경
> - 사용자 페이지에서 알림 수준을 muted/ignored로 설정하는 버그 수정
> - 그룹 업데이트 확인 시 `errors` 필드 추가
> - 존재하지 않는 경우 topic-list-item의 .title에 포커스를 시도하지 않도록 변경
> - 선택기를 닫을 때 포인터 이벤트를 전파하지 않도록 변경
> - max\_oneboxes\_per\_post가 강제 적용되도록 보장
> - embercli prod 빌드에서 `@ember/test` import 허용
> - 토픽 목록이 마지막 방문 포커스를 제외하는 경우 focus/blur 이벤트를 청취하지 않도록 변경
> 
> ### UX 변경 사항
> 
> - 모바일 토픽 목록 정렬 조정
> - 모바일에서 전체 토픽 행을 클릭 가능하도록 변경
> - 보안 키 버튼에 여백 추가
> - Auth 로그인 스타일 구체성 감소
> - 크롤러 스타일을 `<noscript>` 콘텐츠에 적용
> - 크롤러와 noscript의 헤더/푸터 HTML 일치시키기
> - 다양한 색상 스킴에서 크롤러 뷰를 사용 가능하도록 변경
> - 인라인 코드 블록 편집
> - 크롤러 뷰 스타일을 더 가독성 있게 업데이트
> - 초대받은 사용자에게 비밀번호 요구
> - 관리자 반송/거절 목록에 세부 정보 버튼 추가
> - GitHub oneboxes에 커밋된 날짜 사용
> - “답글 보기” 버튼이 삭제된 게시글에는 작동하지 않음을 표시
> - 사용자 활동 토픽 페이지의 빈 상태 메시지 개선
> 
> ### 성능
> 
> - 관리자 사용자 목록 메인 쿼리 속도 향상
> - API 키 last\_used\_at 업데이트 스로틀링
> - UserDestroyer를 배치로 히스토리와 작업을 가져오도록 업데이트
> 
> ### 접근성
> 
> - 게시글 스트림의 사용자 아바타를 탭 불가(tabbable)로 변경
> - 게시글 아래 내장된 답글의 접근성 개선
> - 좋아요/읽음 수 게시글 버튼의 접근성 개선
> - tabLoc tagName을 `<a>`에서 `<span>`으로 변경
> - 게시글 영역의 aria-label에 사용자 이름 포함
> - 토픽 목록의 views 열을 탭 가능(tabbable)하게 변경
> - 토픽 진입 모달 개선
> - 토픽 목록 열 헤더에 `aria-label` 추가
> - 토픽 목록의 Replies 셀에 aria-label 추가
> - 토픽 목록에서 마지막으로 본 토픽에 포커스 (3차 시도)
