fixedpoint.jp - 2017年におけるLibreOfficeの開発をgitログから振り返る




2017年におけるLibreOfficeの開発をgitログから振り返る

この記事はLibreOffice Advent Calendar 2017の12月25日分です。

2017年も残すところ1週間足らずとなりましたが、この1年のうちにLibreOfficeは順調にリリースが進められました。

LibreOffice 5.3
LibreOffice 5.3 Release Notes
LibreOffice 5.4
LibreOffice 5.4 Release Notes

そしてLibreOffice 6.0もRC1が公開されており、おそらく来年2月頭にリリースされる予定です。

今回はLibreOfficeのgitレポジトリのmasterブランチのコミットから、2017年になされた変更を追いました。Gitでは各コミットにはその変更がなされた日付がともないますが、レポジトリにpushされるまでさらに時間がかかる場合があることに注意してください。d3c44886c56f401cc18c2ba480131a621d06c781が2017年最初のmasterにおけるコミットと仮定すると、

$ git log --oneline d3c44886c56f401cc18c2ba480131a621d06c781^1.. | wc -l
15786

となるように15,000件以上のコミットがあります。バージョンごとの新規機能や相互運用性の改善はリリースノート等で取り上げられていますので、そういったもの以外で面白いものを探しました。特に、歴史が感じられるもの、トリビア、ネタを選んでいます。

以下のリストは(おおよそ)上から順に1月から12月へ向かっています。

801e8041438636f264d8d11aa2b6f088fab3d073
Useless Use of Cat (UUOC)やbacktick command substitutionが置き換えられる。
6bd7451ecd66417a4e8b8dff3874c15ba4d1536e
昨年から開始したoss-fuzzを利用する取り組みが本格化。例えば最新のoss-fuzzビルドのログが見られるようになる。
6574aa57db96938248388c470d4061eca70bfa2e
Sun Studioコンパイラ用のコードが削除される。
e57ca02849c3d87142ff5ff9099a212e72b8139c
C++11でdeprecatedになり、C++17で無くなるdynamic exception specificationがコードベースから取り除かれる。
9ee0f108ca104ec76d2d73220686fb10c89e78e8
開発者の間でGCC 7が使われ始める。
608b749f27a38c267b599968e60dd87bbd9abde6
満州語をサポート。
e0d86cff2b3314576c6cb857da06d6b6d217f89b
シベ語をサポート。
c7e1c9dc63a5986fc70fd86f36c8755b6c2a1f98
Aboutダイアログでgit hashがクリックできるようになる。
23f7e82c7bafd3af97466761e01667d583db6af8
Google Driveに直接対応するようになったため、Google Docs用拡張ooo2gdが削除される。
8646ab97dc37c0606b19057686bf3d610f9c15ee
MinGWによる(クロス)ビルドのサポートを止める。
84b36c704d73362d4d86dc9e9c0efa0625958347
MSVC 2013のサポートを止める。
faef35d8653003786f9a0ea2ae1a2330fd15d632
外部ライブラリのソースtarballなどのハッシュを計算するアルゴリズムをMD5からSHA256に変える。この時期に公表されたSHA1 collisionによる影響と考えられる。
57909620b4493ae7c8fe950c47e2c826b3c164aa
Baseで取り扱う最大の日付についての制限が無くなる。
57b8a0c3178a0899f5a607e275b5ef8d7c986255
スライドショーにおいて、GIFアニメーションが終わったら最後のフレームを表示するようになる。
36b4b0fb8c9a3499cfd2f05687ff30c2bfa13706
BASICの関数CurDirで小文字の引数が許すなどの修正。
9ac98e6e3488e434bf4864ecfb13a121784f640b
MSVC向け内部用コードでも、Unicode文字を扱うために(実装依存のwchar_tではなく)char16_tを使うようになる。
9009663deb8f0862f419fd99bf0b761c7f923eff
ピボットチャートの実装。
50057a37a877213d935958d5c643fde1434d680c
C++17std::string_viewに似たテンプレートが導入される。
e60bf59bbc7bc2d5265393f8001acb692136f85d
内部向けAPIやCalcのコードでドイツ語だったコメントが英訳済みになる。
7c4ad801bf9812851d911aca1a6c8d8a965f475a
5.5.0.0.alpha0+のタグが打たれる。
7dcee9790c18a594236dc32a534c20f1e7447ee6
サポートするmacOSのバージョンが10.9以上となる。
36b1e6270bf2fbb333e2a69c4bb5931eba418289
サポートするWindowsのバージョンが7以降となる。
893fe19fcdf5d3edefc4b19a021ebc2b11f5ab9f
次のLibreOfficeのメジャーバージョンが5.5ではなく6.0となることが決まる。
876c035dc448314eb6a44cf4692b90188478f797
ヘブライ語における記数法では例外として15や16のことを9+6や9+7と表すとのこと。
77fcd7c819a4455fd6d21df3c8c0a74a34545140
Calc関数GRETPIVOTDATA()などの引数の個数の制限(30個まで)を撤廃。
f58bca9d8ca01db299f1f62da61f2c8118c8f822
使われていないコードを見つけるためのスクリプトが削除される。つまり、そういったコードがほぼコードベースから無くなったことを意味する。
278bdbca318defa3bb862e0422cff2492ef46705
繁体字中国語圏で使われている既定のフォントが見直される。
b97e713e76c88141d26f6e19a74db80a105cb911
Notoフォントを既定で同梱するように。
08404bbb90a8978b70698ef057a4a46ad4fceae3
外部ライブラリに依存しないswarmベースの非線形ソルバーが実装される。
2569e688ed34dac7282e362a6f0432e1e26cfae4
6.1.0.0.alpha0+のタグが打たれる。
4099b7628405e0ad16844eb59a916aa56ffa76ad
オープンソースのヘブライ語用フォントを既定で同梱するように。
4eaeb8058d75d03e782d37b430b68890aa374f2c
オープンソースのアラビア語用フォントを既定で同梱するように。

長くなりましたが、以上のリストからLibreOfficeの開発に生き生きとしたものを感じていただければ幸いです。おそらく来年もLibreOfficeはさらに多くのユーザーに使われ、さらに多くの貢献に支えられて、より便利なソフトウェアになると期待されます。


© 2006-2017 fixedpoint.jp