Discourse 2.4.0.beta8 リリースノート

2.4.0.beta8 の新機能

タグの別名(Synonyms)

Discourse は、タグの別名設定およびタグの結合をサポートするようになりました。類似タグ、一般的な誤字、俗語などを単一のタグに統合できます。さらに、別名として設定されたタグが既に存在する場合は、そのタグが自動的に結合され、すべてのトピックがメインのタグに付け直されます。

テーマ管理の改善

Discourse のテーマシステムは、最近のリリースで飛躍的に進化しました。テーマコンポーネントが導入され、サイトデザイナーは単一のデザインや機能を作成し、ユーザーインターフェースを通じて既存の任意のテーマに簡単に追加できるようになりました。サイトが成長し、テーマやコンポーネントが増えるにつれて、すべてのテーマにすべてのコンポーネントを含めることを忘れがちになり、含める場合でも時間がかかるようになりました。

現在、サイトデザイナーはテーマコンポーネントページから離れることなく、テーマにコンポーネントを簡単に追加できます。また、アクティブなすべてのテーマにコンポーネントを素早く追加することも可能です。さらに、各コンポーネントを個別に選択する必要なく、アクティブなすべてのコンポーネントを単一のテーマに追加することもできます。

「すべて追加」機能は、アクティブなテーマ/コンポーネントのみを追加することに注意してください。他のテーマやコンポーネントによって使用されていないテーマやコンポーネントは、「すべて追加」では追加されません。そのようなテーマやコンポーネントは、少なくとも一度は個別に追加する必要があります。

投票機能の改善

Discourse の投票機能に 2 つの新機能が追加されました。以前は投票結果が棒グラフで表示されていましたが、現在では投票作成者が円グラフ表示を選択することもできます。ただし、円グラフ表示では誰が投票したか(公開投票)を表示することはできません。

棒グラフおよび円グラフの投票は、管理者が投稿から直接素早くエクスポートできるようになりました。エクスポートすると、管理者には完全な投票結果を含む CSV が提供され、必要に応じてさらに分析できます。この機能を使用するには、Data Explorer プラグインがインストールされ、有効になっている必要があります。

suppress from latest カテゴリ設定の削除

suppress from latest 設定を使用すると、サイト管理者は /latest/categories、またはその他のデフォルトのホームページから特定カテゴリのトピックを非表示にできました。しかし、この機能は、ユーザーがホームページの表示設定を変更した際に管理者やユーザーを混乱させる原因となりました。また、ホームページだけでなく、より徹底的にカテゴリを非表示にしたいという要望も寄せられました。さらに、これはサイト全体の設定だったため、ホームページにカテゴリを表示したいユーザーにはその選択肢がありませんでした。

suppress_from_latest に設定されていたすべてのカテゴリは、自動的にすべてのユーザーに対してミュートされます。その後、ユーザーは必要に応じてカテゴリのミュートを解除し、ホームページや Discourse の他の表示でそのカテゴリを表示できるようにできます。さらに、カテゴリ数が多く、デフォルトでユーザーに表示する必要がないカテゴリが多いサイト向けに、新しいサイト設定 mute all categories by default(デフォルトですべてのカテゴリをミュート)が追加されました。mute all categories by default を有効にした場合、管理者は default_categories_tracking および default_categories_watching 設定でカテゴリを設定し、ミュートを上書きして、新規ユーザーがサイトに登録した際に何らかの内容を見られるようにする必要があります。

信頼レベル 2 の PM

TL2 に到達したユーザーには、昇進を祝う自動 PM が送信され、高度なユーザーチュートリアルを開始するよう促されます。Discourse 内の他のすべてのテキストと同様に、この PM は管理者が必要に応じてカスタマイズできます。

その他多数!

しかし、まだあります!私たちは新しい機能や変更をできるだけ詳しく紹介していますが、変更が多すぎてすべてを詳細に説明するのは困難です。以下にいくつかの新しい機能を挙げていますが、新しい機能、バグ修正、UX 改善などの完全なリストについては、後述する「追加機能と修正」を確認してください。

  • PM にユーザー名のリストを貼り付けられるように対応
  • 疑わしいユーザーの発見機能の改善
  • グループメンバーシップリクエスト通知の統合
  • ユーザーのアクティブセッション数の制限
  • DMARC の判定に基づいて受信メールからの投稿を非表示
  • メールアドレス変更ワークフローの改善
  • 日付範囲によるレビュー対象のフィルタリング
  • カテゴリごとの新規投稿のDismiss機能
  • 認証手段が 1 つしかない場合、自動的に認証画面へリダイレクト
  • タグが投稿に追加された際にタグウォッチャーに通知
「いいね!」 37

Plugin improvements

Akismet

  • Track Akismet state for users
  • Bug fixes

Encrypt

  • Bug fixes

Assign

  • Add support for sending emails only when assigned by a different user (no self-assign emails)
  • Support filtering review queue by assigned user
  • Bug fixes

BCC

Initial release. See:

Math

  • Update KaTeX render to v0.11.1

Translator

  • Add Vietnamese support with Microsoft translator

Solved

  • Bug fixes

Chat integration

  • Bug fix

Voting

  • Bug fix

Tooltips

  • Bug fix

Yearly Review

  • Misc improvements

SAML

  • Support for syncing moderator, trust level, and groups by SAML attribute
  • Support additional SAML configuration like frame width/height, button title, and more.

Onebox

  • Bug fixes

Calendar

  • Use new core timezone user option instead of plugin user option.

Data Explorer

  • Adds poll result query to support new core poll export feature
  • Bug fixes

Patreon

  • Bug fixes

Group Tracker

  • Bug fix

Code Review

  • Prefer newer topics over older when showing next unreviewed topic
  • Bug fixes

Policy

  • Bug fix

RSS Polling

  • Bug fix

Additional Features and Fixes

Click to expand

New Features

  • Add topic_filtered_posts_count attribute to web hook post serializer.
  • Add hidden setting to allow unsafe-eval in CSP
  • Plugin outlet adjacent to new topic btn
  • Make site texts controller handle pages and locales
  • Add timezone to core user_options
  • New API to apply custom filters to the review queue
  • Support RS256 algorithm for webauthn
  • Normalize the service worker route
  • Block screaming frog SEO spider by default
  • Introduce default application level rate limiting by IP
  • Allow scoping search to tag
  • Allow FinalDestination to use custom user agent for specific hosts

Bug Fixes

  • Keep ruby & rt tags in html to markdown conversion.
  • Secure Upload URLs in lightbox
  • BufferedValuesString.split is not a function
  • Prevents multiple jumps to happen with LockOn
  • Allow for nil upload record when migrating to S3
  • Ensures the element is on the page before scroll with lockon
  • Use filtered posts when determining the next page
  • Add a component to all themes takes only active ones
  • Move select components/themes to top
  • Improve defaultIsAvailable
  • Add filter(Boolean) and remove btn class
  • Inbound link when the only slug available
  • Don’t allow category slugs to be entirely digits
  • Respect enable_inline_emoji_translation setting in titles
  • Prepends whitespace when inserting via emoji picker
  • Linting
  • Filter readers avatars correctly when the post is a whisper
  • Call the right method
  • Guarantee order to correctly defer replies in review queue
  • 500 error for missing badge grouping
  • Hide pie legend when results are grouped
  • Poll pie container was too large
  • Do not autocomplete categories or emojis in code blocks
  • Generate redirect URL correctly when using a subdirectory
  • Handle none path correctly with three levels
  • Ensures censor has always at least an empty string to handle
  • Delay the ‘send_advanced_tutorial_message’ job to prevent race conditions
  • Optimize quoted images
  • Add a unique index to developers table
  • Fix typo
  • Make sure the suspended status is up to date
  • Adds data-topic-id to quick-access-item
  • Improvement after code review
  • Improvement after code review2
  • Use mapBy and filterBy directly
  • Make Google Groups scraper work for G Suite users
  • Cache failed onebox URL request server-side
  • Mark secure media upload insecure automatically if used for theme component
  • Serve crawler view to Google PageSpeed
  • Correctly ignore/approve replies when acting on a flagged post
  • Do not start the login flow when logging out from SSO/Authenticator
  • Use dedicated Vimeo onebox for all video types
  • Correctly resize lazy loaded images in Oneboxes
  • Correct hostname in vimeo.com
  • Bypass finaldestination check for Vimeo links.
  • Do not validate topic when resetting bumped_at
  • Show updated_at for invite sent date.
  • Draft not clearing when replying to new topic
  • Oneboxer.js infinitely retrying failed requests
  • Improves recurring by ensuring DST is computed correctly
  • Don’t error when the empty current value in dif
  • The build; ran prettier
  • Update site data when we receive a list of categories
  • Only trigger upload ACL update when needed
  • Show quoted images correctly.
  • Be more tactical with replacing markdown chars
  • Replace %20 with space in markdown file name for uploads
  • When dismissing category inform via MessageBus
  • Prevents exception and more duplicates
  • Prevents timezone to show duplicated zones in preview
  • Method names incorrect
  • Always return secure_proxy_without_cdn url for secure media
  • Remove uneeded from discourse loader
  • Aliases for require functioning
  • Allow private media uploads to be reused in login_required sites
  • Replace this.get(“foo”) with this.foo to fix linting checks
  • Followup to a8d58c3b
  • Handle german quotes in discourse local-dates
  • Mobile top topic list with a period and a category or tag
  • Do not log if an invalid mime type is passed to app
  • EventTarget error
  • Add skip_validations in one more place for narrative bot plugin
  • Allow advanced tutorial when title emojis are disabled
  • Use correct MIME type for theme exports
  • Abort CensoredWordsValidator early if censored_words_regexp nil
  • Amazon video oneboxes were not working.
  • Allow secure uploads if global s3 setting active and enable_s3_uploads validations
  • More Promise uses that were not imported
  • For a single authenticator, do not interrupt registration flow
  • Email excerpts for posts starting with a quote were displaying a username
  • Turn off auto bumping for topics with scheduled bumps
  • Parallel spec system needs needs a dedicated upload folder for each worker.
  • ‘default_categories_muted’ site setting not working for anonymous users.
  • Do not insert conflict rows into category user
  • Automatically recover from bad sprockets cache in development
  • Unable to remove required tag group from a category
  • Errors when using tags with colons in their name
  • Ensure load-more considers current position
  • Better handling of Group model state
  • Enter key should submit password reset form, not refresh the page
  • PM glyph in user-menu should always be shown to staff
  • We don’t need to refresh dates so often
  • Attempts to be correct about dst when using recurrence
  • A pmOnly tag should link to messages
  • Don’t error CleanUpInactiveUserJob when user is missing
  • Ensure revisions are made to store edit reasons and no reasons get wiped
  • Support for rake db:rollback with plugins
  • Include 5 participants in topic summary
  • Use this.content.category instead of this.category on navigation-item
  • Confirm new email with backup codes enabled
  • Don’t show bots as post readers
  • Revert mobile jump to last post behaviour
  • SVG Sprite version hash should be based on bundle result
  • Tag topic lists should pass on noSubcategories when building the top menu
  • Tracking Topic State know about category_seen_at
  • Need to require open-uri for discourse-narrative-bot plugin
  • Allow importing themes with subdirectories in extra_js
  • Missing User objects in Utilities
  • Failing tests
  • Missing braces
  • Computed is part of @ember/object not @ember/object/computed
  • Allow forceActive without a customHref
  • Do not strip nil string
  • Do not deactivate admin accounts with recent posts or api keys
  • Update quotes after moving posts
  • Topic lists filtered by tag and a specified filter don’t work
  • Tag and category watchers regression
  • Better error handling for invalid locale bundle versions
  • In case @ember/object hasn’t been loaded yet
  • Do not skip some emails in user search
  • Keep emoji images in group bio excerpt
  • More missing RSVP imports
  • Was using a native browser Promise instead of RSVP
  • Use correct class variable to get notification levels.
  • Remove magic numbers in notification levels.
  • Update api_key rake task for recent changes
  • Return a deprecation for Discourse.Session
  • Add deprecation for Discourse.NavItem in case themes are using it
  • Ran prettier to fix build
  • Alias modules that are required AND imported
  • Count current penalty if it started more than 6 months ago
  • Use ‘about.json’ endpoint instead of using ember model to get the data.
  • Badge and user title interaction fixes
  • Ensure enforce 2FA for staff satisfied by security keys
  • Drafts are unique by draft_key and user_id
  • Correct display of last used date in API key details UI
  • Prettier to fix build
  • Downcase SSO external email before checking against Discourse email
  • Include onebox default options in development environment
  • The internal position on the topic timeline is a scroll position
  • Regression not showing excerpts in mobile timeline
  • Use long version of month names in date formats
  • Unicode group names encoded for url
  • Too much blank padding in video oneboxes

UX Changes

  • Prevent scrollbars on initial panel load
  • Adjusts wizard step margins
  • Skip leading spaces in selection when adding a link.
  • Show group full name even when title is same.
  • Do not show shadow on hover images on touch devices
  • Show obvious message when backup restoration is disabled
  • Adds hover effect on lightboxed images
  • Rename ‘Hide results’ to ‘Show vote’ in polls
  • Set selected scale to 100% if scale is undefined
  • Make share icons consistent color for dark themes
  • Increase fade on long sign-up form content for more evident scroll
  • More obvious alt auth link
  • Allow enter key to submit test email in admin panel
  • Instead of total user count display only the count of users going to be affected.
  • Adds +n indicator in PM topic list
  • Add CSP documentation link to content_security_policy_script_src setting
  • Do not add leading/trailing spaces when copying API key in Firefox

Performance

  • Do fewer queries when converting posts.
  • Cache static assets in NGINX for longer
「いいね!」 23