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