-
Notifications
You must be signed in to change notification settings - Fork 97
/
RELEASE-NOTES.txt
308 lines (245 loc) · 17.1 KB
/
RELEASE-NOTES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
Apache Commons Crypto 1.2.0
RELEASE NOTES
The Apache Commons Crypto team is pleased to announce the release of Apache Commons Crypto 1.2.0.
Apache Commons Crypto is a cryptographic library optimized with AES-NI (Advanced Encryption Standard New Instructions).
It provides Java API for both the cipher level and Java stream level.
Developers can use it to implement high-performance AES encryption/decryption with minimum code and effort.
Please note that Crypto doesn't implement the cryptographic algorithm such as AES directly.
It wraps OpenSSL and JCE which implements the algorithms.
Features
--------
1. Cipher API for low level cryptographic operations.
2. Java stream API (CryptoInputStream/CryptoOutputStream) for high level stream encryption/decryption.
3. Both optimized with high performance AES encryption/decryption. (1400 MB/s - 1700 MB/s throughput in modern Xeon processors).
4. JNI-based implementation to achieve comparable performance to the native C/C++ version based on OpenSsl.
5. Portable across various operating systems (currently only Linux/MacOSX/Windows);
Apache Commons Crypto loads the library according to your machine environment (it checks system properties, `os.name` and `os.arch`).
6. Simple usage. Add the commons-crypto-(version).jar file to your classpath.
Export restrictions
-------------------
This distribution includes cryptographic software.
The country in which you currently reside may have restrictions
on the import, possession, use, and/or re-export to another country,
of encryption software. BEFORE using any encryption software,
please check your country's laws, regulations and policies
concerning the import, possession, or use, and re-export of
encryption software, to see if this is permitted.
See <http://www.wassenaar.org/> for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS),
has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,
which includes information security software using or performing
cryptographic functions with asymmetric algorithms.
The form and manner of this Apache Software Foundation distribution makes
it eligible for export under the License Exception
ENC Technology Software Unrestricted (TSU) exception
(see the BIS Export Administration Regulations, Section 740.13)
for both object code and source code.
The following provides more details on the included cryptographic software:
* Commons Crypto use [Java Cryptography Extension](http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) provided by Java
* Commons Crypto link to and use [OpenSSL](https://www.openssl.org/) ciphers
Minor release
(Java 8, OpenSSL 1.1.1)
Changes in this version include:
Fixed Bugs:
o CRYPTO-160: Enhance the quality of JavaCryptoRandom.
o CRYPTO-160: Package-private implementations of CryptoRandom extends java.util.Random but should not. Thanks to Gary Gregory.
o CRYPTO-163: Makefile does not recompile objects if local include files are changed
o CRYPTO-154: License header should be a plain comment #113.
o Fix PMD warning and don't init to defaults #128. Thanks to Arturo Bernal.
o Minor changes #135. Thanks to Arturo Bernal.
o Port from pre-Java 8 javah tool to Java 8 and up javac with the -h option. Thanks to Gary Gregory.
o Fix build on Java 11. Thanks to Gary Gregory.
o Fix build on Java 17. Thanks to Gary Gregory.
o CRYPTO-155: Minor improvement #115, #125. Thanks to Arturo Bernal.
o PositionedCryptoInputStream does not close its CryptoCipher instances. Thanks to Gary Gregory.
o Validate return value from OpenSslNativeJna.EVP_CIPHER_CTX_set_padding(). Thanks to Gary Gregory.
o Validate return value from OpenSslNativeJna.ENGINE_finish(). Thanks to Gary Gregory.
o Validate return value from OpenSslNativeJna.ENGINE_free(). Thanks to Gary Gregory.
o Add github/codeql-action 2 #159. Thanks to Gary Gregory, Dependabot.
o Add AES utility class. Thanks to Gary Gregory, Dependabot.
Changes:
o Bump actions/cache from 2.1.7 to 3.0.9 #150, #184. Thanks to Dependabot, Gary Gregory.
o Bump actions/checkout from 2 to 3.1.0 #149, #187. Thanks to Dependabot, Gary Gregory.
o Bump actions/setup-java from 2 to 3.6.0 #190. Thanks to Gary Gregory, Dependabot.
o Bump actions/upload-artifact from 3.1.0 to 3.1.1 #192. Thanks to Dependabot.
o CRYPTO-151: Migrate to Junit 5.9.1 #114, #171, #183. Thanks to Arturo Bernal, Dependabot.
o Bump jna from 5.5.0 to 5.13.0 #123, #139, #153, #167, #209. Thanks to Dependabot.
o Bump commons.japicmp.version from 0.14.3 to 0.17.1. Thanks to Gary Gregory.
o Bump maven-checkstyle-plugin from 3.1.1 to 3.2.0 #130, #176. Thanks to Dependabot.
o Bump jmh.version from 1.12 to 1.36 #119, #157, #194. Thanks to Dependabot.
o Bump exec-maven-plugin from 1.6.0 to 3.1.0 #121, #170. Thanks to Dependabot.
o Bump maven-antrun-plugin from 1.8 to 3.1.0 #120, #158. Thanks to Dependabot.
o Bump commons.japicmp.version from 0.15.2 to 0.15.7 #138. Thanks to Gary Gregory.
o Bump jacoco-maven-plugin from 0.6.6 to 0.8.8 #138, #154. Thanks to Gary Gregory.
o Bump maven-javadoc-plugin from 3.2.0 to 3.4.1 #138. Thanks to Gary Gregory.
o Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #140, #177, #178. Thanks to Gary Gregory.
o Bump pmd from 6.44.0 to 6.52.0. Thanks to Gary Gregory.
o Bump taglist-maven-plugin from 2.4 to 3.0.0 #147. Thanks to Dependabot.
o Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.3.0 #152, #160, #168, #174, #179, #189, #193. Thanks to Dependabot.
o Bump commons-parent from 52 to 56 #182, #196, #204. Thanks to Gary Gregory, Dependabot.
o Bump commons.surefire.version from 3.0.0-M5 to 3.0.0-M7. Thanks to Gary Gregory.
o Bump maven-resources-plugin from 3.2.0 to 3.3.0 #172. Thanks to Dependabot.
o Bump jaxb-impl from 2.3.6 to 2.3.7. Thanks to Gary Gregory.
Historical list of changes: https://commons.apache.org/proper/commons-crypto/changes-report.html
For complete information on Apache Commons Crypto, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Crypto website:
https://commons.apache.org/proper/commons-crypto/
Download page: https://commons.apache.org/proper/commons-crypto/download_crypto.cgi
Have fun!
-Apache Commons Team
-----------------------------------------------------------------------------
Apache Commons Crypto 1.1.0
RELEASE NOTES
The Apache Commons Crypto team is pleased to announce the release of Apache Commons Crypto 1.1.0.
Apache Commons Crypto is a cryptographic library optimized with AES-NI (Advanced Encryption
Standard New Instructions). It provides Java API for both cipher level and Java stream level.
Developers can use it to implement high performance AES encryption/decryption with the minimum
code and effort. Please note that Crypto doesn't implement the cryptographic algorithm such as
AES directly. It wraps to OpenSSL or JCE which implement the algorithms.
Features
--------
1. Cipher API for low level cryptographic operations.
2. Java stream API (CryptoInputStream/CryptoOutputStream) for high level stream encryption/decryption.
3. Both optimized with high performance AES encryption/decryption. (1400 MB/s - 1700 MB/s throughput in modern Xeon processors).
4. JNI-based implementation to achieve comparable performance to the native C/C++ version based on OpenSsl.
5. Portable across various operating systems (currently only Linux/MacOSX/Windows);
Apache Commons Crypto loads the library according to your machine environment (it checks system properties, `os.name` and `os.arch`).
6. Simple usage. Add the commons-crypto-(version).jar file to your classpath.
Export restrictions
-------------------
This distribution includes cryptographic software.
The country in which you currently reside may have restrictions
on the import, possession, use, and/or re-export to another country,
of encryption software. BEFORE using any encryption software,
please check your country's laws, regulations and policies
concerning the import, possession, or use, and re-export of
encryption software, to see if this is permitted.
See <http://www.wassenaar.org/> for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS),
has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,
which includes information security software using or performing
cryptographic functions with asymmetric algorithms.
The form and manner of this Apache Software Foundation distribution makes
it eligible for export under the License Exception
ENC Technology Software Unrestricted (TSU) exception
(see the BIS Export Administration Regulations, Section 740.13)
for both object code and source code.
The following provides more details on the included cryptographic software:
* Commons Crypto use [Java Cryptography Extension](http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) provided by Java
* Commons Crypto link to and use [OpenSSL](https://www.openssl.org/) ciphers
Minor release (Java 8 and OpenSSL 1.1.1)
Changes in this version include:
New features:
o CRYPTO-59: Support Galois/Counter Mode (GCM).
o CRYPTO-131: Provide FAQ page.
o CRYPTO-139: Add support for AARCH64.
o CRYPTO-139: Make org.apache.commons.crypto.stream.input.Input extend Closeable.
o CRYPTO-139: Make org.apache.commons.crypto.stream.output.Output extend Closeable.
Fixed Bugs:
o CRYPTO-125: CryptoOutputStream does not call write in a loop when underlying channel works in non-block mode.
o CRYPTO-134: CipherByteBufferExample should not truncate the string
o CRYPTO-137: Error compiling on Win64 with Mingw.
o CRYPTO-138: CipherByteArrayExample fails on OpenSSL 1.1.0g with java.lang.UnsatisfiedLinkError: EVP_CIPHER_CTX_cleanup.
o CRYPTO-141: Errors in native code can leave Java wrappers in bad state.
o CRYPTO-141: Intermittent Failure in GCMCipherTest#testGcmTamperedData() #105. Thanks to Alex Remily.
Changes:
o Add support for ARM.
o Add support for ARM-HF.
o Reset JAVA_HOME for aarch64 and ppc builds. Turn off maven-enforcer for Xenial builds #104. Thanks to Geoffrey Blake.
o Update maven-checkstyle-plugin 3.0.0 -> 3.1.1.
o Update commons-parent 51 -> 52.
o Update maven-resources-plugin 3.1.0 -> 3.2.0.
o Update Apache CLIRR to JApiCmp.
o Update FindBugs to SpotBugs.
Testing:
- darwin64-x86_64-cc; OpenSSL 1.1.1g; thanks to Gary Gregory, Alex Remily.
- debian-amd64; OpenSSL 1.0.1f; thanks to Gary Gregory.
- debian-amd64; OpenSSL 1.1.1g; thanks to Bruno P. Kinoshita.
- Linux x86_64; OpenSSL 1.1.1; thanks to Alex Remily.
- Windows 64 (mingw64); OpenSSL 1.1.1d; thanks to Alex Remily.
- linux-aarch64; OpenSSL 1.0.2k-fips; thanks to Geoffrey Blake.
- linux-riscv64; OpenSSL 1.1.1f; thanks to Ludovic Henry.
- debian-arm64; OpenSSL 1.1.1f; thanks to Geoffrey Blake.
Historical list of changes: https://commons.apache.org/proper/commons-crypto/changes-report.html
For complete information on Apache Commons Crypto, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Crypto website:
https://commons.apache.org/proper/commons-crypto/
-----------------------------------------------------------------------------
Apache Commons Crypto 1.0.0
RELEASE NOTES
The Apache Commons Crypto team is pleased to announce the release of Apache Commons Crypto 1.0.0
Apache Commons Crypto is a cryptographic library optimized with AES-NI (Advanced Encryption
Standard New Instructions). It provides Java API for both cipher level and Java stream level.
Developers can use it to implement high performance AES encryption/decryption with the minimum
code and effort. Please note that Crypto doesn't implement the cryptographic algorithm such as
AES directly. It wraps to OpenSSL or JCE which implement the algorithms.
Features
--------
1. Cipher API for low level cryptographic operations.
2. Java stream API (CryptoInputStream/CryptoOutputStream) for high level stream encryption/decryption.
3. Both optimized with high performance AES encryption/decryption. (1400 MB/s - 1700 MB/s throughput in modern Xeon processors).
4. JNI-based implementation to achieve comparable performance to the native C/C++ version based on OpenSsl.
5. Portable across various operating systems (currently only Linux/MacOSX/Windows);
Apache Commons Crypto loads the library according to your machine environment (it checks system properties, `os.name` and `os.arch`).
6. Simple usage. Add the commons-crypto-(version).jar file to your classpath.
Export restrictions
-------------------
This distribution includes cryptographic software.
The country in which you currently reside may have restrictions
on the import, possession, use, and/or re-export to another country,
of encryption software. BEFORE using any encryption software,
please check your country's laws, regulations and policies
concerning the import, possession, or use, and re-export of
encryption software, to see if this is permitted.
See <http://www.wassenaar.org/> for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS),
has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,
which includes information security software using or performing
cryptographic functions with asymmetric algorithms.
The form and manner of this Apache Software Foundation distribution makes
it eligible for export under the License Exception
ENC Technology Software Unrestricted (TSU) exception
(see the BIS Export Administration Regulations, Section 740.13)
for both object code and source code.
The following provides more details on the included cryptographic software:
* Commons Crypto use [Java Cryptography Extension](http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) provided by Java
* Commons Crypto link to and use [OpenSSL](https://www.openssl.org/) ciphers
Initial release
===============
The initial release is known to build on Linux, MacOS/X and Windows (using MinGW).
It may build on other systems.
Please note that the JNA interface to OpenSSL is a preliminary release.
It is relatively slow, but may be of use on systems which aren't yet supported by the JNI code.
Changes in this version include:
New features:
o CRYPTO-68: Enable common code quality reports.
o CRYPTO-11: User guide documentation . Thanks to Ke Jia, Jerry Chen.
o CRYPTO-12: Rename CryptoInputStream to CipherInputStream and CryptoOutputStream to CipherOutputStream . Thanks to Xianda Ke.
o CRYPTO-13: The API differences between apache.commons.crypto and JCE . Thanks to Xianda Ke.
o CRYPTO-40: Remove the full qualified package name for shadowed classes . Thanks to Xianda Ke, Jerry Chen.
o CRYPTO-42: Remove the header files required for cross platform compilation . Thanks to Dian Fu, Jerry Chen.
o CRYPTO-45: Document how to build Commons Crypto . Thanks to Dian Fu, Benedikt Ritter.
o CRYPTO-48: Setup site build as defined in commons-parent pom . Thanks to Benedikt Ritter, Dapeng Sun.
Fixed Bugs:
o CRYPTO-65: Warnings compiling on MacOSX - JNIEXPORT redefined. Thanks to sebb.
o CRYPTO-29: Make sure Cipher.ENCRYPT_MODE is consistent with JDK . Thanks to Dian Fu, Sebb.
o CRYPTO-30: Mutable fields should be private . Thanks to Ferdinand Xu, Sebb.
o CRYPTO-34: JavaSecureRandom should throw Exception if it cannot create the instance . Thanks to Dapeng Sun, Sebb.
o CRYPTO-47: Fix build of MAC_OS . Thanks to Dapeng Sun.
o CRYPTO-49: CRYPTO-1 Fix build of X86 . Thanks to Dapeng Sun.
o CRYPTO-57: Fix build on Mac OS Thanks to Benedikt Ritter.
o CRYPTO-61: Fix possible NPE in OpenSslCryptoRandom Thanks to Hendrik Saly.
o CRYPTO-54: US Export classification and ECCN registration for encryption Thanks to Stian Soiland-Reyes, Jerry Chen, Benedikt Ritter, Gary Gregory.
Changes:
o CRYPTO-26: Utility classes should not have public constructors . Thanks to Dapeng Sun.
o CRYPTO-28: Update the README.md of Apache Commons Crypto . Thanks to Ferdinand Xu, Ke Jia.
o CRYPTO-3: Change default cipher as OpenSslCipher . Thanks to ferdinand xu.
o CRYPTO-31: Make fields final wherever possible . Thanks to Ferdinand Xu, Sebb.
o CRYPTO-33: SecureRandom shadows JVM class . Thanks to Xianda Ke, Sebb.
o CRYPTO-38: Always use blocks . Thanks to Dapeng Sun, Gary Gregory.
o CRYPTO-7: Rename source code in Chimera to Apache name space . Thanks to ferdinand xu.
o CRYPTO-62: Add multithreaded related tests Thanks to Hendrik Saly.
Historical list of changes: https://commons.apache.org/proper/commons-crypto/changes-report.html
For complete information on Apache Commons Crypto, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Crypto website:
https://commons.apache.org/proper/commons-crypto/