Safari 14、iOS & iPad OS 14

こんにちは。福岡です。

Safari14 がMacでは9月16日にリリースされています。だいぶ遅れましたが、変更をまとめておきます。

Safari 14

Release Note
https://developer.apple.com/documentation/safari-release-notes/safari-14-release-notes

WebClass と関係しそうなところは以下です

  • Flash の機能は削除されました
  • PDF ファイルのインクリメンタルなロードに対応しました
    • Chrome のPDFビューアも、ファイルを分割して段階的にロードして表示することで最初の1ページを表示するまでにかかる時間を短くしています

その他、プライバシー・セキュリティ対応やJS/CSSなどの新機能対応があります。

iOS & iPadOS 14

また、iOS&iPadOS 14 も同じ日にリリースされています。

Release Note
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-14-release-notes

iOS 14 update

WebClass と関係しそうな点としてはデフォルトブラウザを変えれるようになっています。

その他

Web Extension Support

Mac の Safari14 では、リリースノートに Web Extension のサポートが加わったとあります。

Safari には以前から拡張機能があったような気がしましたが、Safari独特のものだったかもしれません。一方、Chrome や Firefox などの拡張機能は WebExtensionAPI に準拠しています。そのため、WebExtensionAPIを使ったブラウザ拡張開発では複数のブラウザに対応させやすかったのが、Safari だけ蚊帳の外だったのでしょう。

Safar Extensions
https://developer.apple.com/safari/extensions/
https://developer.apple.com/documentation/safariservices/safari_web_extensions

インストールする方法はこちら
https://support.apple.com/ja-jp/HT203051

HTTP/3 プロトコル対応

まだ試験段階ですが、HTTP/3 プロトコルが使えるようになっています。

これについてはどこかで改めて調べ直したいですが、HTTP/3 プロトコルはWebの通信プロトコルの次世代版です。

現在は HTTP1.1 に加えて HTTP2 が使われ始めています。1つのページがCSSやJS、イメージなど多数のリソースで構成されているケースが増えてきていますが、1ページを表示するにあたって同時にたくさんのリソースを取得する時、HTTP1.1 では通信の仕組みとして無駄がありました。それを改善してページ表示を早くするためのプロトコルの改善が行われています。HTTP2 とHTTP3 はGoogleが提案したもので、Chrome では以前からHTTP3 が試せるようになっています。

HTTP2 は例えば SAKURA interne のこのような解説があります。
https://ssl.sakura.ad.jp/column/http2/

WebClass でも試してみたいところです。

さらに、そもそもTCP ではやりとりが丁寧すぎるということで、UDP にしたのが HTTP/3 です。

同じく SAKURA internet に以下のように解説があります。
https://ssl.sakura.ad.jp/column/http3/

TCP と UDP は通信の信頼性の差で優劣をつけるものではなく、通信の目的によって使い分けられるものです。例えば動画などのストリーミングデータ配信では多少の欠損があっても連続的にどんどんデータを流せるUDPが使われたりします。

そういえば、PDF も今ではファイルのデータを全部ダウンロードするまで待たずに表示しています。もはや動画のストリーミングデータみたいなノリです。Google 的には、Web ページのデータはもはやこのようなストリーミングデータ的にブラウザにどんどん流れ込んでくるようなものと考えていい、というノリなのでしょうか。

Chrome 86

こんにちは。福岡です。

Chrome for Desktop 86 が 10月6日にリリースされています。また、このChromiumエンジンベースの Microsoft Edge 86が10月9日にリリースされています。

Chrome 86 Release note

Chrome 86 に関する情報は以下です。こちらに、主な変更点の情報へのリンクがあります。

https://developers.google.com/web/updates/tags/chrome86

JavaScript の言語レベルの変更はこちらにも情報があります。

https://v8.dev/blog/v8-release-86

CSS/JS の Chrome Platform の更新はこちらです。

https://www.chromestatus.com/features#milestone%3D86

Pickup for webclass

Release Note から辿った情報で、WebClassを利用するにあたって特に気になる変更はありません。

Others

PDF 表示について

blog:Google Chrome でのPDFプレビュー で、資料やテストにPDFを取り込んでいるとき、1ページ目しか表示できない問題について記載しました。この問題はまだ治っていないので、WebClass v11.9.1 で対策しました。

拡張された機能

このバージョンから File System Access API が安定版として実装されたようです。Webのシステムからはセキュリティなどの問題でクライアントのディスクにほとんどアクセスできなかったのですが、一定の制約のもとでできるようになりました。興味深い機能です。

https://developers.google.com/web/updates/2020/10/nic86

今後のリリース

Chrome 87 のリリースは11/17の予定です。

その他ブラウザのリリースはこちらにまとめています。

https://webclass.jp/documents/system-admin/browser-releases

Firefox 82

Firefox Desktop Browser 82 が10月20日にリリースされました。

Release notes

Firefox 82 release notes

Firefox 82 release notes for developers

いつのまにか Firefox Site Compatibility のページが消えてました。

Not found

https://twitter.com/FxSiteCompat/status/1314624406543634434

事情は分かりませんが、今までありがとうございました。

Pickup for WebClass

ビデオの Picture-In-Picture 機能の変更

コントロール UI の見た目が変わった他、Picture-In-Picture 開始ショートカットキーが追加 (Mac) されました。

ブラウザのパフォーマンス向上

ページロードと起動時間が早くなりました。

ネスト/再起的に呼び出される Document.execCommand() が動作しなくなった

Document.execCommand() 自体、廃止の方向のようですので、今後は使わない方がいいでしょう。WebClass でも使用している箇所がありましたので、実装方針を見直していきます。

今後の Firefox のリリースについて

Firefox Release Calendar

その他ブラウザのリリースはこちらにまとめています。

GitLab がインストールされた Debian をアップグレードする

弊社では、ソースコード管理に GitLab を使用しています。VM 上の Debian に Omnibus バージョンをパッケージからインストールする形です。今回、ホスト OS を Debian 8 (jessie) から Debian 10 (buster) にアップグレードしました。それに伴い、GitLab も v12.4.1 から v13.4.1 にアップデートしました。手順の中で注意点がありましたので書き残しておきます。

基本方針は、Debian, GitLab それぞれの公式ページに詳しいのでその通りに行います。
Update GitLab installed with the Omnibus GitLab package
Chapter 4. Upgrades from Debian 8 (jessie)
Chapter 4. Upgrades from Debian 9 (stretch)

GitLab のアップデート時、メジャーバージョンが上がる場合、途中ステップを踏まないといけません
Ex. 11.5.x -> 11.11.x -> 12.0.x -> 12.10.x -> 13.0.x
Debian をアップグレードするために単純に apt-get upgrade すると、GitLab の配布されている最新バージョンをインストールしようとしてしまいます。自分の場合これが原因で、内部データとインストールされている PostgreSQL のバージョンが食い違うという状況になり、最初からやり直すはめになってしまいました。Debian アップグレード前に GitLab をアップデートするか、Debian アップグレード完了後に GitLab をアップデートするようにしましょう。今回後者の方法をとりました。

Debian アップグレード時に GitLab をアップデートさせないようにするために、apt-mark コマンドを使います。

apt-mark hold gitlab-ce

解除するためには以下のようにします。

apt-mark unhold gitlab-ce

全体としては以下のような流れになります。

apt-mark hold gitlab-ce
apt-get upgrade
apt full-upgrade
apt-mark unhold gitlab-ce
apt install gitlab-ce=12.10.14-ce.0
apt install gitlab-ce=13.0.14-ce.0
apt install gitlab-ce

Firefox 81

Firefox Desktop Browser 81 が9月22日にリリースされました。

Relase notes

Firefox 81 release notes

Firefox 81 release notes for developers

Site compatibility

Pickup for WebClass

ビルトインPDFビューアがAcroFormをサポートするようになった

AcroFormにより、PDF上に入力フォームを設定できるようです。

今後の Firefox のリリースについて

Firefox Release Calendar

その他ブラウザのリリースはこちらにまとめています。