Switch 25.11 リリースノート
アップグレードの前に
アップグレード後、初めてSwitchを起動する前に「Switchアプリケーションデータルート」をバックアップすることを強くお勧めします。
MongoDBのアップグレードとハードウェア互換性の項目を確認してください。AVX2およびFMA3拡張命令セットがお使いのマシンで利用可能か、みなさんにご確認いただく必要があります。
リリーススケジュール
今回から名称が変更されたことからも分かる通り、Switchも他のEnfocus製品のリリーススケジュールに合わせていきます。今後はSwitch SpringやFallといった製品名は使用されません。
2026年以降、Switchは3月、7月、11月と3回アップデートされる予定です。
Node.jsの改善
Node.jsスクリプトエグゼキュータの安定性が向上
Node.jsスクリプト実行環境の安定性とパフォーマンスを向上させるため、Node.jsスクリプトエグゼキュータ向けに最適化されたクリーンアップロジックを実装しました。
Switchは、レガシースクリプトとNode.jsスクリプトを別々の「スクリプトエグゼキュータ」で実行します。これらのスクリプトエグゼキュータは、必要に応じて再利用または新規に起動されます。スクリプトが実行されると、Switchはエグゼキュータを検索または起動し、スクリプトと処理に必要なデータを転送します。
Node.jsスクリプトエグゼキュータは、次の場合に終了するようになりました。
- 5分間アイドル状態が続く
- 処理済みタスクが5000件に達する
- メモリ消費量が150MBに達する
- 開いているファイルハンドルが1024個に達する
このバージョンでは、Node.js環境に自動エグゼキュータ置換機能が追加されました。これにより、エグゼキュータがリソースを開いたままにしてエラーや予期せぬ動作が発生するのを防ぎます。
この改善により、メモリリークが削減され、リソース効率がよくなり、Switchの全体的な信頼性が向上し、「ソケットハングアップ」や「プロセスが予期せず停止しました」というエラーの防止にもつながります。
高負荷時の信頼性の向上
Switch 25.11では、内部通信の改善により、Node.jsスクリプト実行中の高負荷時に発生する可能性のある「ソケットハングアップ」および「ECONNRESET」エラーを防止します。
主な改善点
- ソケットベース通信の監視と再試行処理の強化
- HTTPエージェントの監視とエラー処理の強化により、ジョブの失敗を防止
これらの変更により、高負荷時や長時間実行されるタスクの処理時に、SwitchでのNode.jsスクリプトの安定性が大幅に向上します。
最適化されたNode.jsスクリプト処理
スクリプトの実行効率とパフォーマンスを向上させるため、新しいバンドル最適化が実装されました。
Node.jsに精通したスクリプト作成者向けの情報として、ESモジュールはパッケージを処理することで既にサポートされていましたが、このステップは、ESモジュールを使用しないパッケージをスキップすることで最適化されました。
全体的なパフォーマンスの向上
Qt 6.3 アップグレード
Switch 25.11はQt 6.3を採用し、パフォーマンス、安定性、そして長期サポートが向上しました。Qtは、Switchのグラフィカルユーザーインターフェースを作成するためのフレームワークとしてだけでなく、レガシースクリプトを支えるQSAエンジンなど、アプリケーションの他の多くの部分のフレームワークとしても機能します。
このアップグレードにより、SwitchはAppleシリコン(ARM)でネイティブにサポートされるようになり、AppleのRosetta 2への依存が排除されました。
Appleシリコンプロセッサでは、ユーザーインターフェースの環境設定で、HTMLをDesignerでレンダリングするオプションが利用できるようになりました。有効にすると、メッセージパネルとスクリプト式エディタがブラウザではなくDesignerウィンドウ内で開きます。
主な改善点
- より高速でスムーズなUI – レスポンスの向上と高DPIディスプレイのサポート
- パフォーマンスの最適化 – メモリ管理とグラフィックレンダリングの改善
- クロスプラットフォームサポートの強化 – Appleシリコンを含むmacOSとWindowsで効率的に動作
Qt6 移行の変更点
Switch 25.11におけるQtアップグレードにより、正規表現の処理、XMLバリデーション、コーデックサポートに重要な変更点があります。
その内容と対応方法について説明します。
- 正規表現の互換性 – Qt 5からQt 6へのアップグレードにより、正規表現エンジンが変更され、より厳密な構文要件(PCRE)が適用されるようになりました。
これにより、以前のSwitchバージョンでは動作していた一部の正規表現がサポートされなくなり、文字列として扱われる場合があります。詳細は25.11リファレンスガイドおよびスクリプティングガイドをご参照ください。
今回のSwitchバージョンでは正規表現に対する実行時検証が追加されており、最も顕著な例は量指定子(quantifier)の使用です。例えば、最初のインデックスを省略した{,3}のような表現は許可されず、最初のインデックスを{0,3}のように明示する必要があります。もし量指定子の省略表現が使用されていた場合、Switchは自動的に欠落しているゼロを補完し、詳細な警告メッセージをログに記録します。
この検証は、Node.jsベースのスクリプトやアプリによって実行される正規表現には適用されません。つまり、プロパティ値として直接使用される場合やスクリプトやアプリのコード内で定義されたものは無視されます。これは、Node.jsが異なる正規表現エンジンを使用しており、このような省略表現は元々サポートされていないためです。 - XMLバリデーション – Qt 6におけるXML処理はより厳格になり、パーサーはXML準拠を厳密にチェックするようになりました。
その結果、無効なXML文字を含むフロープロパティや設定は受け付けられなくなります。
これに対応するため、既存のXMLコンテンツから非準拠の文字を削除し、互換性を確保してパースエラーを防ぐよう、事前にサニタイズを行っています。 - 制限されたコーデック – Qt 6ではいくつかのテキストエンコーディング形式が廃止され、本バージョンには含まれていません。
廃止されたエンコーディング形式は現在あまり使用されていませんが、影響を最小限に抑えるため、25.11レガシースクリプティングガイドで言及されているいくつかの欠落コーデックを本バージョンに含めています。
MongoDB 8.0 へのアップグレード
Switch 25.11はMongoDB 8.0上で動作するようになり、データベースのパフォーマンスが向上し、セキュリティが強化されました。これは、ジョブ処理時の全体的な速度と効率性に影響を与えます。
仮想マシン上でSwitchを実行しているWindowsユーザーやx86ハードウェアを使用しているWindowsユーザー、そしてmacOS Intelユーザーは、動作環境ページのハードウェア互換性をご確認ください。
主な改善点
- データ処理の高速化 – クエリとリソース効率の最適化
- 信頼性の向上 – インデックス作成とトランザクション処理の改善
- 互換性の向上 – 最新のデータベース機能とMac ARMバイナリをサポート
その他のアップデート
コアライブラリのアップデート
いくつかのコアライブラリがアップデートされ、セキュリティ、安定性、およびパフォーマンスが強化されました。
Node.jsパッケージのアップデート
複数のNode.jsパッケージが最新の安定したバージョンにアップグレードされ、セキュリティ上のリスクが緩和されました。
システム動作環境
Switch 25.11ではシステム動作環境が変更されています。
- Windows – Windows Server 2025がサポートされました
- macOS – macOS 10、11がサポートされなくなりました
なお、Switch 25.11はmacOS 26(Tahoe)でのテストが行われていないため、現時点では公式にはサポートされていません。
リリースノートアーカイブ
- Switch 25.11 リリースノート
- Switch 25.07 リリースノート
- Switch 2024 Fall リリースノート
- Switch 2024 Spring リリースノート
- Switch 2023 Fall リリースノート
- Switch 2022 Fall リリースノート
- Switch 2022 Spring リリースノート
- Switch 2021 Fall リリースノート
- Switch 2021 Spring リリースノート
- Switch 2020 Fall リリースノート
- Switch 2020 Spring リリースノート
- Switch 2019 リリースノート
- Switch 2018 アップデート3 リリースノート
- Switch 2018 リリースノート
- Switch 2017 アップデート2 リリースノート
- Switch 2017 リリースノート
- Switch 13 アップデート1 リリースノート
- Switch 12 アップデート3 リリースノート
- Switch 12 アップデート2 リリースノート
- Switch 11 アップデート5 リリースノート
- Switch 11 アップデート4 リリースノート
- Switch 11 アップデート3 リリースノート
- Switch 10 リリースノート
- Switch 09 リリースノート