Releases: IsmaelMartinez/teams-for-linux
2.5.11
2.5.10
Summary
- Disable all audio in screen sharing to try to fix issue #1800
- Might fix audio echo during Wayland/Pipewire sessions (needs user testing to verify)
- Update dependencies: Electron 37.6.0, ESLint 9.36.0 for latest security patches
Changes Made
- Audio Echo Fix: Force disable all audio in screen sharing to prevent echo issues
- Dependency Updates: Electron 37.5.0 → 37.6.0, @eslint/js & eslint 9.35.0 → 9.36.0
- Code Quality: Replace window with globalThis, forEach with for...of, setAttribute with dataset API
What's Changed
- Attempt to fix audio echo in screen sharing on Wayland/Pipewire (issue #1800) by @IsmaelMartinez in #1854
Full Changelog: v2.5.9...v2.5.10
2.5.9
Summary
This PR implements comprehensive improvements to Teams for Linux with three key features:
🔒 Secure Token Cache Storage part of #1357
- Implement secure token cache storage using Electron safeStorage API
- Tokens are now encrypted using OS-level security (Keychain/DPAPI/kwallet) instead of plain localStorage
- Provides fallback mechanisms: safeStorage → localStorage → memory storage
- Improved security posture before addressing the authentication persistence issues
- This isn't really needed as the browser has those tokens public, but I just wanted to go the extra mile
📈 Increased Cache Size Limit tries to fix #1841 and #1845
- Increase default cache size limit from 300MB to 600MB
- Reduces frequency of automatic cache cleanup operations
- We might make this cache cleanup disabled by default if cache issues still happening.
🎤 DisableAutogain Bug Fix fixes #1846
- Resolve disableAutogain initialization failure that prevented microphone auto-gain control from being disabled properly
- Fix function call bug where
init()was callingdisableAutogain()instead ofapplyDisableAutogainPatch()
What's Changed
- feat: secure token cache storage using Electron safeStorage API (v2.5.9) by @IsmaelMartinez in #1839
Full Changelog: v2.5.8...v2.5.9
2.5.8
What's Changed
- Restore disableAutogain functionality removed in v2.3.0 by @IsmaelMartinez in #1836
Full Changelog: v2.5.7...v2.5.8
2.5.7
Summary
• Restores tray icon badge count functionality that was missing since v2.3.0
• Re-applies the TrayIconRenderer fix that was previously reverted
• Updates version to 2.5.7 with proper release notes
• Fixes #1795 by releasing the wrongly direct push to main of 82ac088
Changes Included
- Reverted the revert commit to restore the tray icon fix
- Updated package.json to version 2.5.7
- Added release entry to appdata.xml with release notes
- Generated release-info.json for build process
What's Changed
- Fix tray icon badge count functionality by @IsmaelMartinez in #1834
Full Changelog: v2.5.6...v2.5.7
2.5.6
What's Changed
- Fix: Ensure microsoft-identity-broker is started before use by @FingerlessGlov3s in #1829
New Contributors
- @FingerlessGlov3s made their first contribution in #1829
Full Changelog: v2.5.5...v2.5.6
2.5.5
🔧 Diagnostic Logging Enhancement Release
Added comprehensive diagnostic logging to help troubleshoot three major user-reported issues:
- 🖥️ Screen Sharing Echo Investigation - Added [SCREEN_SHARE_DIAG] logging with audio track analysis and preview window monitoring to investigate #1800
- 🔔 Tray Notification Timing - Added [TRAY_DIAG] logging with performance metrics to troubleshoot notification display issues #1795
- 🔐 Intune SSO Integration - Enhanced [INTUNE_DIAG] logging with D-Bus troubleshooting guidance for enterprise environments
📚 Documentation & Updates:
- Updated RPM installation instructions to use modern dnf commands. Fixes #1811
- Comprehensive Intune SSO documentation for enterprise deployments
- Electron updated to 37.5.0 with latest security patches
This release focuses on diagnostic capabilities to help identify and resolve persistent user issues through enhanced logging.
What's Changed
- Add comprehensive diagnostic logging and update documentation for v2.5.5 by @IsmaelMartinez in #1831
Full Changelog: v2.5.4...v2.5.5
2.5.4
What's Changed
- Reaction Bar Bugfix for Wayland by @DerekCorniello in #1826
New Contributors
- @DerekCorniello made their first contribution in #1826
Full Changelog: v2.5.3...v2.5.4
2.5.3
Summary
Try to fix Microsoft Teams authentication refresh issues from #1357 by providing the missing _tokenCache interface to the Teams authentication provider. Should eliminate the frequent "Please sign in again" prompts after system sleep/wake cycles.
Other small fixes and enhanced login implemented as shown in the highlights
Highlights
- Authentication Re-login Fix: Implemented a localStorage-backed token cache bridge to resolve persistent re-authentication issues (#1357), allowing the Teams authentication provider to perform silent token refreshes and maintain user sessions across restarts and sleep/wake cycles.
- Enhanced Diagnostic Logging: Added comprehensive diagnostic logging for both authentication and screen sharing functionalities. This includes detailed insights into token cache operations, authentication state, screen sharing stream creation, and cleanup, which will aid in diagnosing future issues like screen sharing echo (#1800).
- Configuration Updates: Updated default application settings to enable the screen sharing thumbnail to always be on top and to enable incoming call toasts by default, improving user experience.
- Extensive Documentation: Introduced new detailed documentation, including an issue investigation report, a Product Requirements Document (PRD), and technical research documents covering the token cache authentication fix and future secure storage plans. This provides a clear roadmap and rationale for the changes.
Attempts to fix #1357 and add more logging to diagnose #1800
2.5.2
Summary
- Restored Teams DOM access by disabling Electron
contextIsolationandsandboxsecurity features while maintainingnodeIntegration: false - Implemented comprehensive security compensating controls including CSP headers and IPC channel validation
- Added React version detection to monitor for breaking changes in React 19+ timeline
- Consolidated documentation structure following architectural guidelines
- Version bump to 2.5.2 following proper release workflow
- Changed from --webDebug --logConfig='{}' to ELECTRON_ENABLE_LOGGING=true teams-for-linux --logConfig='{}'
Background
Teams for Linux relies on accessing React internals through deprecated APIs (_reactRootContainer, _internalRoot) that will be completely removed in React 19 (expected Q4 2025). To maintain functionality while these APIs still exist, we've restored DOM access by temporarily disabling Electron security isolation features and implementing robust
compensating security controls. Previous attempts to remove DOM access in v2.3.0 highlighted this critical dependency.
Documentation Updates
- Restructured configuration.md with proper TOC and categorized options (Core, Authentication, Security, etc.)
- Created development documentation with consolidated research and security architecture
- Enhanced v2.5.2 release notes to include security and quality improvements
- Archived planning documents to maintain clean documentation structure
Security Implementation
While contextIsolation and sandbox are disabled for the main Teams window, we've implemented multiple compensating controls:
✅ Content Security Policy headers preventing malicious script injection
✅ IPC channel allowlisting with payload validation and prototype pollution protection
✅ Teams domain validation before DOM access (teams.microsoft.com, teams.live.com only)
✅ Node.js access prevention (nodeIntegration: false maintained)
✅ Screen sharing windows maintain full security isolation (they don't need DOM access)
Testing Performed
✅ ReactHandler successfully accesses Teams React internals
✅ Screen sharing functionality preserved with secure isolation
✅ React version detection working across multiple detection methods
✅ IPC validation preventing unauthorized channel access
✅ Documentation builds successfully in Docusaurus
✅ ESLint validation passes with no errors