SophiaCompress(Java) 4.0
4.0.0 (2006年2月28日)
- GUI の刷新。ヘルプメッセージや Multi Files 機能などの新しい機能が追加されました。
- 圧縮機能の追加。不要なインターフェース、クラス、メソッドの削除、クラス変数の配列化、未使用返値の削除、gc() の削除等が行えます。
- 圧縮機能追加により圧縮率が平均 0.21%、最高 18.2%、最低 -0.40%変化したことを、当社調査にて確認しています。
SophiaCompress(Java) 3.1 Enterprise
3.2.1 Enterprise (2005年11月2日)
- CUIのコマンドのうち、-7zip が無視される不具合を修正。
- クラス融合機能のうち、定数の初期化などのスタティックブロックが実行されなくなることがある不具合、及びプリベリファイに失敗するようなクラスファイルが生成される不具合を修正。
- これらの機能修正により圧縮率が平均 -0.01%、最高 0.83%、最低 -2.63%変化したことを、当社調査で確認しています。
3.2.0 Enterprise (2005年9月16日)
- クラス融合機能の効率化。クラス融合にかかる時間が大幅に減少します。
- 融合オプションの仕様を変更。オプションの大きさは融合数と比例するようになります。
- ant などからの使用が可能になりました。
- -java など、幾つかのCUIのコマンドが無視される不具合を修正しました。
- 出力メッセージを修正しました。
- パスに空白を含む Java アプリが圧縮可能になりました。
- パスに空白を含むフォルダーにSCJをインストール可能になりました。
- これらの機能修正により圧縮率が平均 1.05%、最高 35.9%、最低 -2.93%変化したことを、当社調査で確認しています。この圧縮率の変化は主にクラス融合のオプションの仕様変更とテスト方法の変更によるものです。
3.1.0 Enterprise (2005年5月13日)
- UIの英語対応。日本以外のJavaプラットフォームで起動すると UI が英語で表示されます。
- 海外キャリア対応。日本のキャリア以外に Motorola, Nokia, Sumsung, そしてそれら以外のキャリアのための汎用MIDP圧縮機能を追加。
- JDK1.4でコンパイルされたアプリの圧縮に対応。これにより MIDP2.0 のアプリも圧縮できます。
- クラス名短縮機能のオプション追加。
- クラス融合のカスタムレベル追加。
- Canvasクラスのクラス融合禁止。これは実装によりCanvasクラスのインスタンスを一定数以上作成すると OufOfMemoryException が発生することから追加されました。
- クラス変数の配列化機能の削除。これは圧縮後のアプリの安全性が保てないことからの一時的な措置です。
- これらの機能修正、追加により圧縮率が平均 -0.20%、最高 0.32%、最低 -7.11%変化したことを、当社調査で確認しています。
3.0.11 Enterprise (2005年5月13日)
- アプリケーションクラスが複数ある場合に ADF ファイルのアプリクラスの記述が更新されない不具合を修正。この機能修正により圧縮率が平均 0.00%、最高 0.33%、最低 -0.26%変化したことを、当社調査で確認しています。
3.0.10 Enterprise (2005年3月18日)
- 前回のバージョンアップの際に開発途中の機能が組み込まれていた不具合を修正。この機能修正により圧縮率が平均 0.01%、最高 0.63%、最低 -0.25%変化したことを、当社調査で確認しています。
3.0.9 Enterprise (2005年3月8日)
- 圧縮後のアプリのメインクラス名を指定する機能を追加。この機能追加により圧縮率が平均 -0.02%、最高 0.25%、最低 -0.63%変化したことを、当社調査で確認しています。
3.0.8 Enterprise (2005年2月9日)
- 圧縮処理が異常終了することがある不具合を修正。この不具合は、プリミティブな型の配列について instanceof 演算子を使用するアプリの圧縮の際に、クラス融合機能を使用した場合に発生します。この機能修正により圧縮率が平均 0.00%、最高 0.29%、最低 -0.14%変化したことを、当社調査で確認しています。
3.0.7 Enterprise (2005年1月21日)
- 圧縮機能によって、クラスファイルの静的制限を越えた異常なクラスファイルを生成することがある不具合を修正。この機能修正により圧縮率が平均 0.00%、最高 0.23%、最低 -0.29%変化したことを、当社調査で確認しています。
3.0.6 Enterprise (2005年1月11日)
- 圧縮機能の一つである、不必要なスタックの削除の機能が働いていない不具合を修正。この機能修正により圧縮率が平均 0.15%、最高 5.05%、最低 -0.23%変化したことを、当社調査で確認しています。
3.0.5 Enterprise (2004年12月24日)
- 圧縮後のアプリの挙動が変わることがある不具合を修正。この不具合は、不必要なフィールドの削除機能の不全が原因でした。以上の機能修正により圧縮率が平均 -0.00%、最高 0.22%、最低 -0.30%変化したことを、当社調査で確認しています。
3.0.4 Enterprise (2004年12月3日)
- 圧縮処理中、プリベリファイの処理に失敗することがある不具合を修正。この不具合は、融合の結果 final メソッドを override してしまうことが原因でした。以上の機能修正により圧縮率が平均 0.03%、最高 0.38%、最低 -0.24%変化したことを、当社調査で確認しています。
3.0.3 Enterprise (2004年10月1日)
- 圧縮後のアプリが動作しない可能性がある不具合を修正。この不具合は、抽象クラスを融合することで、抽象クラスのインスタンス生成コードが生成されることが原因でした。
- 圧縮処理が異常終了することがある不具合を修正。この不具合は、 Deprecated属性 (非推奨であることを示す属性)がクラス、フィールド、メソッドにある場合に発生します。以上の機能修正により圧縮率が平均 -1.67%、最高 0.23%、最低 -29.09%変化したことを、当社調査で確認しています。
3.0.2 Enterprise (2004年9月13日)
- 圧縮後のアプリが携帯実機上で起動しない可能性がある不具合を修正。この不具合は、iアプリのアプリクラスを他のクラスと融合することで、アプリクラスのインスタンス生成コードができることが原因でした。この機能修正により圧縮率が平均 0.10%、最高 6.95%、最低 -10.94%変化したことを、当社調査で確認しています。
- クラス融合の強度を指定するオプションを追加。
3.0.1 Enterprise (2004年8月19日)
- 圧縮処理中、プリベリファイの処理に失敗することがある不具合を修正。この不具合は、プログラム中に '・' (半角) を含む文字列がある場合に起こることがあります。この機能修正により圧縮率が平均 0.00%、最高 0.20%、最低 -0.25%変化したことを、当社調査で確認しています。
3.0.0 Enterprise (2004年8月5日)
- クラス融合の機能を追加。この機能追加により圧縮率が平均 1.89%、最高 34.32%、最低 -0.49%変化したことを、当社調査で確認しています。
2.4.4 Enterprise (2004年5月10日)
- iアプリの JAM ファイル内に絵文字が使用されていた場合に、JAM ファイルを文字化けさせずに圧縮する方法を提供。
2.4.3 Enterprise (2004年4月9日)
- 圧縮処理が終了しないことがある不具合を修正。これは、圧縮するアプリに無限ループが存在する場合に起こることがあります。
- 圧縮後のアプリが誤った動作をすることがある不具合を修正。これは、「インライン展開」による圧縮の不具合です。
- これらの機能追加と修正により圧縮率が平均 0.29%、最高 26.21%、最低 -6.98%変化したことを、当社調査で確認しています。
- 付属の iKeyDriver を Ver3.4.5 から Ver3.4.6 にアップデート。
2.4.2 Enterprise (2004年3月15日)
- 圧縮後のアプリが誤った動作をすることがある不具合を修正。これは、「不必要なExceptionTableの削除」による圧縮の不具合で、RuntimeExceptionやErrorのサブクラスを捉えるtry-catch構文が使われているアプリで起こります。
- 圧縮中に失敗することがあった不具合を修正。これは、圧縮オプションで「変数の配列化」をチェックしていた場合に起こることがあります。
- 圧縮後にプリベリファイに失敗することがあった不具合を修正。これは、アプリ中の文字列として'・'を含むものがあった場合に起こることがあります。
- これらの機能追加と修正により圧縮率が平均 -0.02%、最高 0.02%、最低 -1.52%変化したことを、当社調査で確認しています。
2.4.1 Enterprise (2004年2月20日)
- 圧縮後のアプリが誤った動作をすることがある不具合を修正。これは、「不必要なExceptionTableの削除」による圧縮の不具合で、RuntimeExceptionやErrorを捉えるtry-catch構文が使われているアプリで起こります。この修正により圧縮率が平均 -0.05%、最高 0.03%、最低 -3.19%変化したことを、当社調査で確認しています。
- 付属のiKeyDriverをVer3.4.4からVer3.4.5にアップデート。
2.4.0 Enterprise (2003年12月18日)
- 圧縮機能としてインストラクションの最適化に関する機能を追加。
- 圧縮中に失敗することがあった不具合を修正。この不具合は、圧縮中に「入力クラスファイルのアトリビュートが異常です。」という警告と共に圧縮作業が中断されるもので、以前のバージョン全てで起こり得ます。
- これらの機能追加と修正により圧縮率が平均 0.83%、最高 7.36%、最低 -0.78%変化したことを、当社調査で確認しています。
2.3.2 Enterprise (2003年11月14日)
- 圧縮時やプリベリファイ時に圧縮に失敗することがあった不具合を修正。これはバージョン2.3から追加された、「不必要なスタック操作を削除する」による圧縮の不具合でした。この修正により圧縮率が平均 0.00%、最高 0.24%、最低 -0.08%変化したことを、当社調査で確認しています。
2.3.1 Enterprise (2003年10月20日)
- 圧縮時やプリベリファイ時に圧縮に失敗することがあった不具合を修正。この不具合は特にRetroGuardなどのオブファスケータを使用したJARファイルを圧縮する際に起こる可能性が高まります。この修正により圧縮率が平均0.00%、最高0.08%、最低-0.24%変化したことを、当社調査で確認しています。
2.3.0 Enterprise (2003年9月18日)
- CUI実行時にエラーがコンソールではなくポップアップとして表示される不具合を修正。
- 圧縮対象JARファイル内のマニフェストファイル内に、一行が72バイト以上にわたる行が存在する場合に、圧縮が失敗したりもしくは圧縮後のマニフェストファイルが文字化けする不具合を修正。
- 圧縮対象JARファイル内にアプリが複数ある場合にも圧縮できるよう仕様を変更。
- 付属のiKeyDriverをVer3.4.1からVer3.4.4にアップデート。このドライバはWindows 2000 ProfessionalのQ814033 パッチがインストールされている場合にiKeyDriverのインストールが失敗する不具合を修正したものです。
- 圧縮機能として、実行時に不必要なスタック操作を削除する機能を追加。
- 実行時に不要なフィールドの完全削除機能を追加。 以上の修正により圧縮率が平均0.30%、最高8.15%、最低-0.16%変化したことを、当社調査で確認しています。
2.2.0 Enterprise (2003年3月3日)
- iKeyを導入。
- 外部JAR圧縮プログラムとして7-ZIPに対応。
- GUI起動後の画面サイズ変更オプション"-resize"を追加。
2.1.7 Enterprise (2003年2月3日)
- ある程度大きなクラスファイルを含むJARファイルを圧縮する時に、圧縮が失敗することがあった不具合を修正。 (これにより圧縮率が平均0.01%、最高0.88%、最低-0.61%変化したことを、当社調査で確認しています。)
2.1.6 Enterprise (2003年1月25日)
- ライセンス機構の変更。
- クラス名変更部分で、package名なしで大文字アルファベット一文字等の短い名前のクラスとそれ以外のクラスが入ったJARファイルを圧縮する時に、圧縮が失敗するか、もしくはプリベリファイが通らない不具合を修正。
2.1.5 Enterprise (2002年12月10日)
- クラスファイルの解析・生成エンジンをバージョンアップ。
- 使われていないフィールドを削除する圧縮において、削除対象のフィールドに値を代入するインストラクションを修正する個所が他のインストラクションから参照されている場合に圧縮が失敗する不具合を修正。
- エラーメッセージの出力を変更。 (ポップアップ ダイアログにStack Trace表示を追加。)
2.1.4 Enterprise (2002年12月3日)
- 使われていないフィールドを削除する圧縮において、同一メソッド内に削除対象のフィールドに値を代入するインストラクションが複数存在する場合、圧縮が失敗することがあった不具合を修正。
- Java2 SDK 1.4以上のバージョンでコンパイルされたアプリを圧縮した場合、圧縮後のアプリが正常に動作しない不具合を修正。 (これにより圧縮率が平均0.02%、最高0.20%、最低-0.05%変化したことを、当社調査で確認しています。)
- エラーメッセージ出力変更。 (圧縮中に起こり得るすべての例外やエラーをポップアップ ダイアログにて出力するように変更。)
2.1.3 Enterprise (2002年11月19日)
- エラーメッセージの出力を変更。
2.1.2 Enterprise (2002年11月12日)
- J-Phone Javaアプリのマニフェストにある特定の2バイト文字がある場合に、マニフェストの自動変換が失敗する不具合を修正。
2.1.1 Enterprise (2002年11月11日)
- J-Phone JavaアプリのJADファイルに2バイト文字がある場合に、JADファイルの自動変換が失敗していた不具合を修正。
- 環境設定ファイルがないときにコマンドラインからの圧縮ができない不具合を修正。
- コマンドラインからの圧縮時にファイルの上書き等の確認を追加。
- エラーメッセージの出力を変更。
2.1.0 Enterprise(2002年11月6日)
- CUI版追加(コマンドライン)。
- エラーメッセージの出力を変更。
- Standardと分化。
2.0.3 (2002年10月10日)
- 使われていないフィールドを削除する圧縮において、削除対象のフィールドが long やdouble のときに失敗する不具合を修正。
2.0.2 (2002年10月4日)
- ・エラーメッセージの出力を変更。
2.0.1 (2002年9月2日)
- 日本語化。携帯電話用 Java アプリを圧縮する際、ADF ファイルを設定していないと圧縮できないように変更。
2.0.0 (2002年8月22日)
- SophiaCompress 2.0 をリリース。
Sophia Cradle, Inc.