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




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

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

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

LibreOffice 5.1
LibreOffice 5.1 Release Notes
LibreOffice 5.2
LibreOffice 5.2 Release Notes

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

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

$ git log --oneline a27fac3b8f2bae18f62bab315051732df1bb29ab^1.. | wc -l
15435

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

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

eafb1ebf74c3caf8fbecdc6a4fc7037c3c8f4964
GCC拡張による最適化のためのマクロ。しかし現時点ではあまり利用されていない模様。
9f84b757a2e6678a30a797e85d8236612b952646
HTMLをPNGやJPEGにエクスポートできるように。
07157e644fa9666850767ff6bd54c1511167a0a2
C++11のthread_localが使われる珍しいケース。
a46ef637d5f37962f826969cb2d7eb4cb9ba81c6
クラッシュレポートを送受信するためのBreakpadが組み込まれる。
e72cd4053676d826ef9a914e62e89e26247bdd5c
LibreOfficeプロジェクトでOffice-o-tronフォーク版をメンテナンスしている。
22629764d731d715125c82d9f12a31599264c63d
Transglobal Secure Collaboration Program (TSCP)のdocument classificationをサポートするための開発。これは各国の国防省での採用のためのものと思われる。
e5f56d0c6e2a7d75a1f5ee27550b1270641da977
Calcでの列選択のためのショートカットキーがCtrl+Spaceとなる。
d9f751a416db1a6d583e91d0d74b36185429245c
CalcでF4やShift+F4、Ctrl+Shift+F4というショートカットの扱いが変わる。
03637a75c1bebf8b35b520139b9ddfa3238ee53f
レガシーコードのRectangle型に対する悪態。
e45d80f20ff6a05888f92ae942abed67609d5b20
OpenGLによってレンダリングされるグリフのキャッシュにDirectWriteを使う。
32102b9aa75a296b99f3fdaf370bd83bfd629f4e
Windows 95のマウスホイールイベントのためのコードが葬られる。
4779f443e9a58e3bd9ec7668796a877ef2362d99
バージョン5.2.0.0.alpha1+のタグが打たれる。
7e0eeacd1d1aa4c8643f1f490cdd5102ee0434a8
モーリシャスにおける英語およびフランス語ロケールのサポート。
a42169cdae80f88e1c4b52c333e928d239d917f5
LinuxにおいてSSDを使っていたらページインしないようになる。
e8ab8d1ea86d2cadaeed05d14b21d14d23667913
macOSのHIGに従ったショートカットが増える。
61b43a02cc2b19cc39e801d68714958398d4a401
5.3.0.0.alpha0+のタグが打たれる。
2c08ec226e771de10c8863b7f1cda016fea442d2
西暦1583年より過去、もしくは9956年より未来のイースター(復活祭)の休日は扱わない。
92cee94a262a3a2f43c87bb940c50cb90a2ebd89
assertで不変条件を明確にすることによって、クライアントコードの問題が明らかになり修正される。
733198de1b7fc3907609217147704f493f6146e6
3.4より古いClangのサポートが切られる。
051329101dc249535dd09eeb34caf1c21719064f
2016/07/06でも取り上げた、浮動小数点数の小数部分近似のための効率の良いコード。
dc4797a79e3f465e1fa930be7c69d8ec7d91c15e
Windows XP向けのビルドが壊れ、サポートが危ぶまれたが無事修正される。
64d3270a89fd88d4d0cf70329af2c66f722fd95e
JDK 1.8.0でupdate version numberが102になり、3桁になるとクラッシュすることが分かったため修正される。
a4e81b7c313e5cb0e0f23a8605502b4b0b7f599e
macOS 10.12 SDKでQuickTime Frameworkがついに消された。
3cb45765f2accfa749cc56a087059600ec467f28
sparc64に移植する試みが始まる。
5941496601600269296dde3e4ff8b615a8bb45ca
ユーザープロファイルの項目には「姓」、「名」および「イニシャル」のフィールドが用意されているが、文化によって名前の要素が異なるという話。
1115281560a7e204386c21fe78b8c84ce42b2017
合衆国大統領選挙の日に。
5e416099f088a2f8a8980e08e3d5b731da0a6d9c
現在のTDF議長による最初のコミット。
6b14e198d31f3189b2f574898dbe6bf6067643ba
5.4.0.0.alpha0+のタグが打たれる。
a779b5f7f0dec55482172ca5dbe978dffbd46dac
コードベースをoss-fuzzで検証するために、ビルドの調整が始まる。
472c07ca0dfd87602cd6199fa4d1d756f17edf14
LibreOfficeには多数のconfigureオプションがある。どのオプションの組み合わせでもうまくビルドできるかどうかを試すために、option fuzzingと言うべき方法を導入している。
17fab5460332a75bcab0f734f17f7a2292a7aa27
手動で操作してUIをテストするテストケースを自動で実行できるようにする試みが開始される。
b08e48166310ab8a53f06f4fee227a948416cf4a
oss-fuzzによって検出された課題に対する最初の修正。ofzという接頭辞で課題の番号を参照している。

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


© 2006-2016 fixedpoint.jp