Skip to content

Comments

Release 8.2.0#38848

Open
rocketchat-github-ci wants to merge 133 commits intomasterfrom
release-8.2.0
Open

Release 8.2.0#38848
rocketchat-github-ci wants to merge 133 commits intomasterfrom
release-8.2.0

Conversation

@rocketchat-github-ci
Copy link
Collaborator

@rocketchat-github-ci rocketchat-github-ci commented Feb 20, 2026

You can see below a preview of the release change log:

8.2.0

Engine versions

  • Node: 22.16.0
  • Deno: 1.43.5
  • MongoDB: 8.0
  • Apps-Engine: 1.60.0

Minor Changes

  • (#38099) Adds file metadata to the Apps.Engine for messages with multiple files

  • (#38173) Adds a new endpoint to delete uploaded files individually

  • (#38356) Creates a new setting with an extra layer of validation to restrict the usage of federation to only users with a validated email address that matches the configured federation domain.

  • (#38044) Adds configurable SSRF validation for HTTP calls made from server

  • (#38532) Standardizes the display of username with @ before

Patch Changes

  • (#38374) Fixes an issue where apps logs were being lost in nested requests

  • (#38283) Fixes an issue with encrypted room's message previews on the sidebar not always being properly decrypted

  • (#37776) Prevents over-assignment of omnichannel agents beyond their max chats limit in microservices deployments by serializing agent assignment with explicit user-level locking.

  • (#35971 by @JASIM0021) Fixes an issue where the Resend Verification Email could be abused to spam mail servers

  • (#38653 by @copilot-swe-agent) Fixes an issue where messages could be sent to archived rooms via the API

  • (#38794 by @copilot-swe-agent) Fixes preview generation for vendor-specific image formats like .dwg (AutoCAD) files. Files with MIME types such as image/vnd.dwg and image/vnd.microsoft.icon are now excluded from preview generation as they cannot be processed by the Sharp image library, preventing failed preview attempts.

  • (#38796 by @copilot-swe-agent) Fixes an issue where regular users could start video conference calls in read-only channels bypassing message restrictions

  • (#38379) Fixes association of encrypted messages and encrypted files, so that if one of them is removed, the other gets removed as well.

  • (#38616) Fixes device management logout not redirecting to login page.

  • (#37356 by @MrKalyanKing) Fixes issue that caused Outgoing Webhook Retry Count to not be a number

  • (#38491) Fixes an issue where the camera could stay on after closing the video recording modal.

  • (#38267) Fixes an issue where web clients could remain with a stale slashcommand list during a rolling workspace update

  • (#38319) Fixes incoming webhook integrations not receiving parsed JSON from x-www-form-urlencoded payload field.

  • (#38579 by @ScriptShah) Fixes an issue where managers table loading skeleton column mismatch with headers

  • (#38318) Fixes room header toolbar different spacing on Options menu

  • (#38366) Fixes the sort parameter validation on /api/v1/audit.settings endpoint to accept string format.

  • (#38279) Fixes issue when trying to create an unencrypted discussion when a parent channel is encrypted

  • (#38262) Fixes an issue with the sidebar message preview (extended layout) showing undefined when the message has no previewable content

  • (#38282) Fixes dismissed banner popups reappearing after server restart.

  • (#38292) Fixes room message export to correctly handle messages with multiple files.

  • (#38376) Fix a validation issue in the livechat/custom-fields.save endpoint

  • (#38415) Fixes delete message permission check in read-only rooms to validate the deleting user's unmuted status instead of the message sender's

  • (#38265) Fixes endpoints omnichannel/contacts.update and omnichannel/contacts.conflicts where the contact manager field could not be cleared.

  • (#38596) Adjusts the minimum supported MongoDB version from 8.2 (Rapid Release with short support lifecycle) to 8, ensuring stable and long-term compatibility

  • (#38568) Adds automatic cleanup of statistics collection with 1-year retention via TTL index.

  • Updated dependencies [bbc1489, 1182145, d3758a7, 398fca0, 098f0a7, fbc4935, e57f158, 11e1c51, 88da141, 1c47458, 75d089c, a75e1f1, 3b003e6, 87faec1, d6ef0db, 508b4a1, 379c2b2, 562d5ce, 123aebe]:
    • @rocket.chat/apps-engine@1.60.0
    • @rocket.chat/model-typings@2.1.0
    • @rocket.chat/core-typings@8.2.0
    • @rocket.chat/models@2.1.0
    • @rocket.chat/message-parser@0.31.34
    • @rocket.chat/core-services@0.13.0
    • @rocket.chat/i18n@2.1.0
    • @rocket.chat/rest-typings@8.2.0
    • @rocket.chat/http-router@7.9.18
    • @rocket.chat/ui-voip@18.0.0
    • @rocket.chat/server-fetch@0.1.0
    • @rocket.chat/federation-matrix@0.0.13
    • @rocket.chat/presence@0.2.51
    • @rocket.chat/apps@0.6.4
    • @rocket.chat/fuselage-ui-kit@28.0.0
    • @rocket.chat/omnichannel-services@0.3.48
    • @rocket.chat/abac@0.1.4
    • @rocket.chat/license@1.1.11
    • @rocket.chat/media-calls@0.2.4
    • @rocket.chat/pdf-worker@0.3.30
    • @rocket.chat/api-client@0.2.51
    • @rocket.chat/cron@0.1.51
    • @rocket.chat/gazzodown@28.0.0
    • @rocket.chat/message-types@0.1.0
    • @rocket.chat/ui-avatar@24.0.0
    • @rocket.chat/ui-client@28.0.0
    • @rocket.chat/ui-contexts@28.0.0
    • @rocket.chat/web-ui-registration@28.0.0
    • @rocket.chat/omni-core-ee@0.0.16
    • @rocket.chat/instance-status@0.1.51
    • @rocket.chat/omni-core@0.0.16
    • @rocket.chat/network-broker@0.2.30
    • @rocket.chat/server-cloud-communication@0.0.2
    • @rocket.chat/ui-theming@0.4.4
    • @rocket.chat/ui-video-conf@28.0.0

wx-11 and others added 30 commits January 21, 2026 07:31
Co-authored-by: Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com>
Co-authored-by: Tasso Evangelista <2263066+tassoevan@users.noreply.github.com>
Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com>
Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com>
…m is encrypted (#38279)

Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com>
ggazzo and others added 20 commits February 19, 2026 17:03
…se the new link function for URL formatting.
#38442)" (#38818)

Co-authored-by: Kevin Aleman <kaleman960@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
)

Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>
Co-authored-by: Kevin Aleman <kaleman960@gmail.com>
Co-authored-by: Guilherme Gazzo <guilherme@gazzo.xyz>
#38796)

Co-authored-by: Guilherme Gazzo <guilherme@gazzo.xyz>
#38796)

Co-authored-by: Guilherme Gazzo <guilherme@gazzo.xyz>
Co-authored-by: Guilherme Gazzo <guilherme@gazzo.xyz>
Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sampaiodiego <8591547+sampaiodiego@users.noreply.github.com>
Co-authored-by: Diego Sampaio <chinello@gmail.com>
@rocketchat-github-ci rocketchat-github-ci requested review from a team as code owners February 20, 2026 17:47
@changeset-bot
Copy link

changeset-bot bot commented Feb 20, 2026

🦋 Changeset detected

Latest commit: d97ea5f

The changes in this PR will be included in the next version bump.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@dionisio-bot
Copy link
Contributor

dionisio-bot bot commented Feb 20, 2026

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label
  • This PR is missing the required milestone or project

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 20, 2026

Important

Review skipped

Too many files!

This PR contains 281 files, which is 131 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 1173 files

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".github/actions/docker-image-size-tracker/action.yml">

<violation number="1" location=".github/actions/docker-image-size-tracker/action.yml:305">
P2: When there’s no baseline, the compare step exits before setting the new `failed` output, so `steps.compare.outputs.failed` is empty. Set it to `false` in the early-exit path to keep outputs consistent.</violation>
</file>

<file name="apps/meteor/app/2fa/server/twoFactorRequired.ts">

<violation number="1" location="apps/meteor/app/2fa/server/twoFactorRequired.ts:23">
P2: The inner function has no type annotations for `this` or `args`, making them implicitly `any`. Combined with the `as` assertion on the return, this bypasses TypeScript's type checking inside the function body. Consider annotating `this` as `AuthenticatedContext` and `args` as `any[]` to preserve internal type safety while keeping the external signature via the cast.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

echo "No baseline available"
echo "size-diff=0" >> $GITHUB_OUTPUT
echo "size-diff-percent=0" >> $GITHUB_OUTPUT
echo "comment-triggered=false" >> $GITHUB_OUTPUT
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: When there’s no baseline, the compare step exits before setting the new failed output, so steps.compare.outputs.failed is empty. Set it to false in the early-exit path to keep outputs consistent.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/actions/docker-image-size-tracker/action.yml, line 305:

<comment>When there’s no baseline, the compare step exits before setting the new `failed` output, so `steps.compare.outputs.failed` is empty. Set it to `false` in the early-exit path to keep outputs consistent.</comment>

<file context>
@@ -272,13 +290,19 @@ runs:
           echo "No baseline available"
           echo "size-diff=0" >> $GITHUB_OUTPUT
           echo "size-diff-percent=0" >> $GITHUB_OUTPUT
+          echo "comment-triggered=false" >> $GITHUB_OUTPUT
 
           cat > report.md << 'EOF'
</file context>
Suggested change
echo "comment-triggered=false" >> $GITHUB_OUTPUT
echo "comment-triggered=false" >> $GITHUB_OUTPUT
echo "failed=false" >> $GITHUB_OUTPUT
Fix with Cubic

): (this: Meteor.MethodThisType, ...args: Parameters<TFunction>) => Promise<ReturnType<TFunction>> {
return async function (this: Meteor.MethodThisType, ...args: Parameters<TFunction>): Promise<ReturnType<TFunction>> {
) =>
async function (this, ...args) {
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The inner function has no type annotations for this or args, making them implicitly any. Combined with the as assertion on the return, this bypasses TypeScript's type checking inside the function body. Consider annotating this as AuthenticatedContext and args as any[] to preserve internal type safety while keeping the external signature via the cast.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/meteor/app/2fa/server/twoFactorRequired.ts, line 23:

<comment>The inner function has no type annotations for `this` or `args`, making them implicitly `any`. Combined with the `as` assertion on the return, this bypasses TypeScript's type checking inside the function body. Consider annotating `this` as `AuthenticatedContext` and `args` as `any[]` to preserve internal type safety while keeping the external signature via the cast.</comment>

<file context>
@@ -3,11 +3,24 @@ import { Meteor } from 'meteor/meteor';
-): (this: Meteor.MethodThisType, ...args: Parameters<TFunction>) => Promise<ReturnType<TFunction>> {
-	return async function (this: Meteor.MethodThisType, ...args: Parameters<TFunction>): Promise<ReturnType<TFunction>> {
+) =>
+	async function (this, ...args) {
 		if (!this.userId) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'twoFactorRequired' });
</file context>
Suggested change
async function (this, ...args) {
async function (this: AuthenticatedContext, ...args: any[]) {
Fix with Cubic

@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

❌ Patch coverage is 77.13126% with 169 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.55%. Comparing base (6d98be1) to head (d97ea5f).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #38848      +/-   ##
==========================================
- Coverage   70.79%   70.55%   -0.25%     
==========================================
  Files        3142     3187      +45     
  Lines      108949   112613    +3664     
  Branches    19620    20390     +770     
==========================================
+ Hits        77131    79454    +2323     
- Misses      29820    31101    +1281     
- Partials     1998     2058      +60     
Flag Coverage Δ
e2e 60.38% <48.79%> (+0.04%) ⬆️
e2e-api 47.86% <ø> (-1.25%) ⬇️
unit 71.53% <84.04%> (-0.38%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.