Image: make it Serializable
[nikiroo-utils.git] / changelog.md
CommitLineData
b771aed5
NR
1# nikiroo-utils
2
b4884dbe
NR
3## Version WIP
4
5- new: server: count the bytes we rec/send
d6ab0dab 6- new: CryptUtils
1dd9b99f 7- new: streams classes
a64a1754 8- fix: IOUtils.readSmallStream and \n at the end
08f80ac5 9- fix: Base64 implementation changed
a64a1754 10- change: serial: SSL -> CryptUtils
d2219aa0
NR
11- change: markableFileInputStream moved to nikiroo.utils.streams
12- change: break compat with package utils.server
13- change: break compat with base64 methods in StringUtils (now it works correctly, too)
14- change: TestLauncher is now "silent" by default (no exception details, see setDetails(true))
b4884dbe 15
3fb0b4a7
NR
16## Version 4.7.2
17
18- fix: Downloader issue with caching (input was spent when returned the first time)
19- fix: IOUtil.forceResetableStream
20
c75022d6 21## Version 4.7.1
82fcfcde
NR
22
23- new: can now select the TempFiles root
24- new: can now select the Image temporary root
25- fix: Cache now offer some tracing when cleaning the cache
c75022d6 26- fix: TemporaryFiles.close() was not indempotent (and was called in finalize!)
82fcfcde 27
ce3972ea 28## Version 4.7.0
e361afe4
NR
29
30- tracer: traces on stderr by default
ce3972ea
NR
31- new: downloader one more public method
32- fix: downloader use original URL for cache ID
e361afe4 33
79961c53 34## Version 4.6.2
5b46737c 35
79961c53 36- fix: formatNumber/toNumber and decimals
5b46737c 37
43d2b562
NR
38## Version 4.6.0
39
40- new: proxy
41- new: StringUtils formatNumber and toNumber
42- fix: UI Desc (NPE)
43
40fe10ff 44## Version 4.5.2
3f277541
NR
45
46- Serial: fix b64/not b64 error
b6200792
NR
47- Serial: perf improvement
48- Base64: perf improvement
875fbf21 49- new: Proxy selector
3f277541 50
96d4aebe
NR
51## Version 4.5.1
52
53- Progress: fix deadlock in rare cases
54
a359464f
NR
55## Version 4.5.0
56
57- Base64: allow access to streams
58- Deprecated: do not use our on deprecated functions
59- Serial: fix ZIP/noZIP error
60
bb60bd13
NR
61## Version 4.4.5
62
63- Base64: allow access to not-zipped Base64 utilities
64- Justify text: better handling of full text lines
65- jDoc: improve
66- IOUtils: new convenience method for reading a File into bytes
67
903453a2
NR
68## Version 4.4.4
69
70- Java 1.6: fix bad dependency so it can compiles on 1.6 again
71- TempFilesTest: fix test
72- Serial: fix for some constructors
73- Serial: better default choice for ZIP/noZIP content
74
3232fdd1
NR
75## Version 4.4.3
76
77- Test assertions: fix files/dir content comparison code
78
d62784c7
NR
79## Version 4.4.2
80
81- Test assertions: can now compare files/dir content
82
8d56ee50
NR
83## Version 4.4.1
84
85- Image: fix undocumented exception on save images
86- TempFiles: crash early on error
87
c022aaa5 88## Version 4.4.0
ce060f5a 89
c022aaa5
NR
90- Text justification: now supports bullet lists and HR lines
91- Text justification: fix a bug with dashes (-) and a crash
ce060f5a 92- Image to text converion fixes
c022aaa5
NR
93- Serial: now supports anonymous inner classes
94- Test: now allow an Exception argument to the "fail(..)" command
95- Downloader: add an optional cache
96- Cache: auto-clean when saving
97- Bridge: fix a NPE when tracing
98- New: justify, img2aa and bridge tools (see package Main)
99
ce060f5a 100
4110f63b
NR
101## Version 4.3.0
102
103- New: IOUtils.Unzip()
f6d228ae 104- TestCase: better message for lists comparisons
4110f63b 105
e772626b
NR
106## Version 4.2.1
107
108- Fix small bug in Downloader
109
1ca23ef7 110## Version 4.2.0
9695f591 111
1ca23ef7 112- New getLanguage() in TransBundle
9695f591 113
6f0d5ab1
NR
114## Version 4.1.0
115
116- New TempFiles (Image.java now uses it instead of memory)
117- Auto cache cleaning + better errors in ImageUtilsAndroid
118- New String justification options
119
e8aa5bf9
NR
120## Version 4.0.1
121
122- Android compatibility (see configure.sh --android=yes)
123
80500544
NR
124## Version 4.0.0
125
126- Deplace all dependencies on java.awt into its own package (ui)
127
f4053377
NR
128## Version 3.1.6
129
130- Fix Serialiser issue with custom objects and String in a custom object
131- Fix Progress/ProgressBar synchronisation issues
132- Fix Bridge default maxPrintSize parameter
133
d827da2a
NR
134## Version 3.1.5
135
136- Fix Cache with no-parent file
137- Fix Progress (Error <> RuntimeException)
138
0ff71477
NR
139## Version 3.1.4
140
141- Fix error handling for tracers in Server
142
4b7d32e7
NR
143## Version 3.1.3
144
145- Fix ImageUtils.fromStream with non-resetable streams
146
217a3310
NR
147## Version 3.1.2
148
149- Fix Server regarding the client version passed to the handler
150- Improve ServerBridge options
151
452f38c8
NR
152## Version 3.1.1
153
154- Some fixes and trace handling changes in ServerBridge
155- Some fixes in Import/Export (objects serialisation)
156
8537d55a
NR
157## Version 3.1.0
158
159- New ServerBridge (including tests)
160
79ce1a49 161## Version 3.0.0
f157aed8
NR
162
163- jDoc
164- Fix bugs in Server (it was not possible to send objects back to client)
79ce1a49
NR
165- Improve code in Server (including tests), breaks API
166- Remove some deprecated things
f157aed8 167
530d4062
NR
168## Version 2.2.3
169
170- Fix in readSmallStream
171- Change traces handling
172
2ee6c205
NR
173## Version 2.2.2
174
175- New method in Cache: manually delete items
176
5e66d142
NR
177## Version 2.2.1
178
179- Small fixes, especially in Progress
180
16c492f5
NR
181## Version 2.2.0
182
183- New classes:
184 - Downloader: download URL from recalcitrant websites
185 - Cache: manage a local cache
186
3f8349b7
NR
187## Version 2.1.0
188
189- Better IOUtils
190
b771aed5
NR
191## Version 2.0.0
192
193- API change
194 - IOUtils is now split between itself and ImageUtils -- some changes required in dependant projects
195 - Some slight renaming in StringUtils/IOUtils/ImageUtils
196
197- New class ImageText
198 - To create ASCII art
199
200## Version 1.6.3
201
202- Version.java
203 - Fix toString issues + test + update scripts
204
205## Version 1.6.2
206
207- Version.java
208 - Now supports "tag" on the versions (i.e., 0.0.4-niki1 -> tag is "niki", tagVersion is 1)
209
210## Version 1.6.1
211
212- Serialisation utilities
213 - Now supports enums and BufferedImages
214
215## Version 1.6.0
216
217- Serialisation utilities
218 - Server class to send/receive objects via network easily
219 - Serialiser now supports Arrays + fixes
220
221## Version 1.5.1
222
223- Serialisation utilities
224 - SerialUtils is now public and can be used to dynamically create an Object
225 - The Importer is now easier to use
226
227## Version 1.5.0
228
229- Bundles: change in Bundles and meta data
230 - The meta data is more complete now, but it breaks compatibility with both Bundles and @Meta
231 - A description can now be added to a bundle item in the graphical editor as a tooltip
232
233- Serialisation utilities
234 - A new set of utilities to quickly serialise objects
235
236## Version 1.4.3
237
238- Bugfix: unhtml
239 - Also replace non-breakable spaces by normal spaces
240
241## Version 1.4.2
242
243- Bugfix: Deltree
244 - Deltree was not OK for files...
245
246## Version 1.4.1
247
248- Progress
249 - Better handling of min==max case
250 - New methods .done() and .add(int step)
251
252## Version 1.4.0
253
254- R/W Bundles
255 - Bundle is now Read/Write
256
257- Bundle Configuration
258 - New UI controls to configure the Bundles graphically
259
260## Version 1.3.6
261
262- Fix for Java 1.6 compat
263 - Java 1.6 cannot compile it due to variables with ambigous names (which
264 - Java 1.8 can identify)
265
266## Version 1.3.5
267
268- Improve ProgressBar UI
269 - It now shows all the progression bars of the different steps of progression at the same time
270
271## Version 1.3.4
272
273- Improve TestCase error reporting
274 - We know display the full stack trace even for AssertionErrors
275
276- Extends Version
277 - ...with new methods: isOlderThan(Version) and isNewerThan(Version)
278
279## Version 1.3.3
280
281- New Version class
282 - Which can parse versions from the running program
283
284## Version 1.2.3
285
286- Add openResource and getVersion in IOUtils
287 - The file VERSION is supposed to exist
288
289- Give more informartion on AssertErrors
290 - The TestCase were not always helpful in case of AssertExceptions; they now print the stacktrace (they only used to do it for non-assert exceptions)
291
292- Fix configure.sh
293 - The VERSION file was not added, the Main method was not the correct one (so it was not producing working runnable JAR, yet it stated so)
294
295## Version 1.2.2
296
297- Fix bug in Bundle regarding \t handling
298 - ...tests should be written (later)
299
300## Version 1.2.1
301
302- New drawEllipse3D method
303 - ...in UIUtils
304
305## Version 1.1.1
306
307- Add UI component for Progress
308 - Still a WIP, it only show the current progress bar, still not the children bars (it's planned)
309
310## Version 1.1.0
311
312- Add progress reporting, move to ui package
313 - A new progress reporting system (and tests) in the new ui package (some other classes have been moved into ui, too: WrapLayout and UIUtils)
314
315## Version 1.0.0
316
317- Add WrapLayout and UIUtils
318 - A FlowLayout that automatically wrap to the next line (from existing code found on internet) and a method to set a fake-native look & feel
319
320## Version 0.9.7
321
322- Improve toImage and allow non-resetable InputStreams
323 - ...though they are then automatically saved onto disk then re-opened, then the file is deleted at the end of the process -- bad perfs
324 - Worse, it does it even if no EXIF metadata are present (because it cannot know that before reading the Stream, and cannot save a partially, non-resetable Stream to disk)
325
326- Reoarganize some methods from String to IO
327
328## Version 0.9.6
329
330- New test system
331 - Now some unit tests have been added, as well as the support classes
332
333## Version 0.9.5
334
335- Resource bundle bug
336 - UTF-8 strings were sometimes wrangled
337 - It is fixed by using a Bundle#Control, whih sadly is only available in Java 1.6+
338
339## Version 0.9.4
340
341- Compatibility bug
342 - Again... because of some useless imports made there for a wrong jDoc comment
343
344## Version 0.9.3
345
346- Compatibility bug
347 - The library did not work with JDK versions prior to 1.8 because of a dependency on Base64
348 - A new (public domain) class was used instead, which is compatible with Java 1.5 this time
349
350## Version 0.9.2
351
352- Initial version
353 - ...on GIT
354