weblib: zoom: width AND width-limited + fix height icon
[fanfix.git] / changelog.md
index 21f865f520ed1cab62754bc0bae3eaec0a135f3f..1a8630ddb33c9c48669c1ba9cf79ee2bc731057f 100644 (file)
-# nikiroo-utils
+# Fanfix
+
+# Version WIP
+
+- new: http/https remote library
 
-## Version WIP
+# Version 3.1.2
+
+- fix: publication/creation date formated 
+- e621: fix order again
+- e621: option to use a Login/API key to evade blacklists
+- e621: better metadata
 
-- new: IOUtils: openResource with anchor class
-- new: ConfigItem: easier to extend
-- fix: CacheMemory: fix stackoverflow bug
-- fix: Bundles/TransBundles: def values
+# Version 3.1.1
 
-## Version 5.1.0
-
-- Downloader: new Offline mode for cache accesses only
-- Cache: make sure an immedate SAVE/LOAD always work, even with 0 retention delays
-
-## Version 5.0.0
-
-- new: server: count the bytes we rec/send
-- new: CryptUtils
-- new: stream classes
-- new: Bundles can now also set Boolean, Integer... and not just get them
-- new: Bundles get/setList()
-- new: Bundles can now use the default values provided by the Meta
-- new: GUI presentation for Bundles is much improved
-- fix: IOUtils.readSmallStream and \n at the end
-- fix: Base64 implementation changed, no strange errors anymore
-- android: binary code (.class) is now bundled in the jar, too
-- change: StringUtils.unzip64(String) now returns a byte[] (StringUtils.unzip64s(String) can be used instead)
-- change: be.nikiroo.utils.markableFileInputStream moved to be.nikiroo.utils.streams (old class still present in @Deprecated state for now)
-- change: TestLauncher is now "silent" by default (no exception details, see setDetails(true))
-- runtime: serial: SSL -> CryptUtils (both are **runtime** incompatible and CryptUtils is slower)
-- runtime: break **runtime** compat with package utils.serial (Objects) -- ServerString should still be compatible (if not SSL obviously)
-
-## Version 4.7.3
-
-- fix: Downloader: POST and 302 redirects
-
-## Version 4.7.2
-
-- fix: Downloader issue with caching (input was spent when returned the first time)
-- fix: IOUtil.forceResetableStream
-
-## Version 4.7.1
-
-- new: can now select the TempFiles root
-- new: can now select the Image temporary root
-- fix: Cache now offer some tracing when cleaning the cache
-- fix: TemporaryFiles.close() was not indempotent (and was called in finalize!)
-
-## Version 4.7.0
-
-- tracer: traces on stderr by default
-- new: downloader one more public method
-- fix: downloader use original URL for cache ID
-
-## Version 4.6.2
-
-- fix: formatNumber/toNumber and decimals
-
-## Version 4.6.0
-
-- new: proxy
-- new: StringUtils formatNumber and toNumber
-- fix: UI Desc (NPE)
-
-## Version 4.5.2
-
-- Serial: fix b64/not b64 error
-- Serial: perf improvement
-- Base64: perf improvement
-- new: Proxy selector
-
-## Version 4.5.1
-
-- Progress: fix deadlock in rare cases
-
-## Version 4.5.0
-
-- Base64: allow access to streams
-- Deprecated: do not use our on deprecated functions
-- Serial: fix ZIP/noZIP error
-
-## Version 4.4.5
-
-- Base64: allow access to not-zipped Base64 utilities
-- Justify text: better handling of full text lines
-- jDoc: improve
-- IOUtils: new convenience method for reading a File into bytes
-
-## Version 4.4.4
-
-- Java 1.6: fix bad dependency so it can compiles on 1.6 again
-- TempFilesTest: fix test
-- Serial: fix for some constructors
-- Serial: better default choice for ZIP/noZIP content
-
-## Version 4.4.3
-
-- Test assertions: fix files/dir content comparison code
-
-## Version 4.4.2
-
-- Test assertions: can now compare files/dir content
-
-## Version 4.4.1
-
-- Image: fix undocumented exception on save images
-- TempFiles: crash early on error
-
-## Version 4.4.0
-
-- Text justification: now supports bullet lists and HR lines
-- Text justification: fix a bug with dashes (-) and a crash
-- Image to text converion fixes
-- Serial: now supports anonymous inner classes
-- Test: now allow an Exception argument to the "fail(..)" command
-- Downloader: add an optional cache
-- Cache: auto-clean when saving
-- Bridge: fix a NPE when tracing
-- New: justify, img2aa and bridge tools (see package Main)
-
-
-## Version 4.3.0
-
-- New: IOUtils.Unzip()
-- TestCase: better message for lists comparisons
-
-## Version 4.2.1
-
-- Fix small bug in Downloader
-
-## Version 4.2.0
-
-- New getLanguage() in TransBundle
-
-## Version 4.1.0
-
-- New TempFiles (Image.java now uses it instead of memory)
-- Auto cache cleaning + better errors in ImageUtilsAndroid
-- New String justification options
-
-## Version 4.0.1
-
-- Android compatibility (see configure.sh --android=yes)
-
-## Version 4.0.0
-
-- Deplace all dependencies on java.awt into its own package (ui)
-
-## Version 3.1.6
-
-- Fix Serialiser issue with custom objects and String in a custom object
-- Fix Progress/ProgressBar synchronisation issues
-- Fix Bridge default maxPrintSize parameter
-
-## Version 3.1.5
-
-- Fix Cache with no-parent file
-- Fix Progress (Error <> RuntimeException)
-
-## Version 3.1.4
-
-- Fix error handling for tracers in Server
-
-## Version 3.1.3
-
-- Fix ImageUtils.fromStream with non-resetable streams
-
-## Version 3.1.2
-
-- Fix Server regarding the client version passed to the handler
-- Improve ServerBridge options
-
-## Version 3.1.1
-
-- Some fixes and trace handling changes in ServerBridge
-- Some fixes in Import/Export (objects serialisation)
-
-## Version 3.1.0
-
-- New ServerBridge (including tests)
-
-## Version 3.0.0
-
-- jDoc
-- Fix bugs in Server (it was not possible to send objects back to client)
-- Improve code in Server (including tests), breaks API
-- Remove some deprecated things
-
-## Version 2.2.3
-
-- Fix in readSmallStream
-- Change traces handling
-
-## Version 2.2.2
-
-- New method in Cache: manually delete items
-
-## Version 2.2.1
-
-- Small fixes, especially in Progress
-
-## Version 2.2.0
-
-- New classes:
-  - Downloader: download URL from recalcitrant websites
-  - Cache: manage a local cache
-
-## Version 2.1.0
-
-- Better IOUtils
-
-## Version 2.0.0
-
-- API change
-  - IOUtils is now split between itself and ImageUtils -- some changes required in dependant projects
-  - Some slight renaming in StringUtils/IOUtils/ImageUtils
-
-- New class ImageText
-  - To create ASCII art
-
-## Version 1.6.3
-
-- Version.java
-  - Fix toString issues + test + update scripts
+- e621: fix chapters in reverse order for pools
+- fix: sort the stories by title and not by date
+- fix: expose the story name on progress bars
+
+# Version 3.1.0
+
+- MangaHub: a manga website (English)
+- MangaFox: removed (too many unfriendly changes, bye)
+- e621: fix cover not saved 
+
+# Version 3.0.1
+
+- fix: update for e621 (and it is no more a BasicSupport_Deprecated)
+- fix: for unsupported URL, do not errors out with a "file://" related message
+
+# Version 3.0.0
+
+- new: now Android-compatible (see [companion project](https://gitlab.com/Rayman22/fanfix-android))
+- new: story search (not all sources yet)
+- new: proxy support
+- fix: support hybrid CBZ (with text)
+- fix: fix DEBUG=0
+- fix: fix imported stories that don't immediatly appear on screen
+- gui: focus fix
+- gui: bg colour fix
+- gui: fix keyboard navigation support (up and down)
+- gui: configuration is now much easier
+- gui: can now prefetch to cache all the sories of a group at once
+- MangaLEL: website has changed
+- search: Fanfiction.net support
+- search: MangaLEL support
+- FimFictionAPI: fix NPE
+- remote: encryption mode changed because Google
+- remote: not compatible with 2.x
+- remote: can now use password from config file
+- remote: worse perfs but much better memory usage
+- remote: log now includes the time of events
+
+# Version 2.0.3
+
+SoFurry: fix for stories only available to registrated users
+
+# Version 2.0.2
+
+- i18n: setting the language in the option panel now works even with $LANG set
+- gui: translated into French
+- gui: ReDownload does not delete the original book anymore
+- gui: internal viewer fixes 
+- gui: some translation fixes
+
+# Version 2.0.1
+
+- core: a change of title/source/author was not always visible at runtime
+- gui: only reload the stoies when needed
+
+# Version 2.0.0
+
+- new: sources can contain "/" (and will use subdirectories)
+- gui: new Properties page for stories
+- gui: rename stories, change author
+- gui: allow "all" and "listing" modes for sources and authors
+- gui: integrated viewer for stories (both text and images)
+- tui: now working well enough to be considered stable
+- cli: now allow changing the source, title and author
+- remote: fix setSourceCover (was not seen by client)
+- remote: can now import local files into a remote library
+- remote: better perfs
+- remote: not compatible with 1.x
+- fix: deadlock in some rare cases (nikiroo-utils)
+- fix: the resume was not visible in some cases
+- fix: update nikiroo-utils, better remote perfs
+- fix: eHentai content warning
+
+# Version 1.8.1
+
+- e621: the images were stored in reverse order for searches (/post/)
+- e621: fix for /post/search/
+- remote: fix some timeout issues
+- remote: improve perfs
+- fix: allow I/O errors on CBZ files (skip image)
+- fix: fix the default covers directory
+
+# Version 1.8.0
+
+- FimfictionAPI: chapter names are now correctly ordered
+- e621: now supports searches (/post/)
+- remote: cover is now sent over the network for imported stories
+- MangaLel: new support for MangaLel
+
+# Version 1.7.1
+
+- GUI: tmp files deleted too soon in GUI mode
+- fix: unavailable cover could cause a crash
+- ePub: local EPUB import error when no cover
+
+# Version 1.7.0
+
+- new: use jsoup for parsing HTML (not everywhere yet)
+- update nikiroo-utils
+- android: Android compatibility
+- MangaFox: fix after website update
+- MangaFox: tomes order was not always correct
+- ePub: fix for compatibility with some ePub viewers
+- remote: cache usage fix
+- fix: TYPE= not always correct in info-file
+- fix: quotes error
+- fix: improve external launcher (native viewer)
+- test: more unit tests
+- doc: changelog available in French
+- doc: man pages (en, fr)
+- doc: SysV init script
+
+# Version 1.6.3
+
+- fix: bug fixes
+- remote: progress report
+- remote: can send large files
+- remote: detect server state
+- remote: import and change source on server
+- CBZ: better support for some CBZ files (if SUMMARY or URL files are present in it)
+- Library: fix cover images not deleted on story delete
+- fix: some images not supported because not jpeg-able (now try again in png)
+- remote: fix some covers not found over the wire (nikiroo-utils)
+- remote: fix cover image files not sent over the wire
 
 ## Version 1.6.2
 
-- Version.java
-  - Now supports "tag" on the versions (i.e., 0.0.4-niki1 -> tag is "niki", tagVersion is 1)
+- GUI: better progress bars
+- GUI: can now open files much quicker if they are stored in both library and cache with the same output type 
 
 ## Version 1.6.1
 
-- Serialisation utilities
-  - Now supports enums and BufferedImages
+- GUI: new option (disabled by default) to show one item per source type instead of one item per story when showing ALL sources (which is also the start page)
+- fix: source/type reset when redownloading
+- GUI: show the number of images instead of the number of words for images documents 
 
 ## Version 1.6.0
 
-- Serialisation utilities
-  - Server class to send/receive objects via network easily
-  - Serialiser now supports Arrays + fixes
+- TUI: new TUI (text with windows and menus) -- not compiled by default (configure.sh)
+- remote: a server option to offer stories on the network
+- remote: a remote library to get said stories from the network
+- update to latest version of nikiroo-utils
+- FimFiction: support for the new API
+- new: cache update (you may want to clear your current cache)
+- GUI: bug fixed (moving an unopened book does not fail any more)
 
-## Version 1.5.1
+## Version 1.5.3
 
-- Serialisation utilities
-  - SerialUtils is now public and can be used to dynamically create an Object
-  - The Importer is now easier to use
+- FimFiction: Fix tags and chapter handling for some stories
 
-## Version 1.5.0
+## Version 1.5.2
+
+- FimFiction: Fix tags metadata on FimFiction 4
 
-- Bundles: change in Bundles and meta data
-  - The meta data is more complete now, but it breaks compatibility with both Bundles and @Meta
-  - A description can now be added to a bundle item in the graphical editor as a tooltip
+## Version 1.5.1
 
-- Serialisation utilities
-  - A new set of utilities to quickly serialise objects
+- FimFiction: Update to FimFiction 4
+- eHentai: Fix some meta data that were missing
 
-## Version 1.4.3
+## Version 1.5.0
 
-- Bugfix: unhtml
-  - Also replace non-breakable spaces by normal spaces
+- eHentai: new website supported on request (do not hesitate!): e-hentai.org
+- Library: perf improvement when retrieving the stories (cover not loaded when not needed)
+- Library: fix the covers that were not always removed when deleting a story
+- GUI: perf improvement when displaying books (cover resized then cached)
+- GUI: sources are now editable ("Move to...")
 
 ## Version 1.4.2
 
-- Bugfix: Deltree
-  - Deltree was not OK for files...
+- GUI: new Options menu to configure the program (minimalist for now)
+- new: improve progress reporting (smoother updates, more details)
+- fix: better cover support for local files
 
 ## Version 1.4.1
 
-- Progress
-  - Better handling of min==max case
-  - New methods .done() and .add(int step)
+- fix: UpdateChecker which showed the changes of ALL versions instead of the newer ones only
+- fix: some bad line breaks on HTML support (including FanFiction.net)
+- GUI: progress bar now working correctly
+- update: nikiroo-utils update to show all steps in the progress bars
+- ( --End of changes for version 1.4.1-- )
 
 ## Version 1.4.0
 
-- R/W Bundles
-  - Bundle is now Read/Write
-
-- Bundle Configuration
-  - New UI controls to configure the Bundles graphically
-
-## Version 1.3.6
+- new: remember the word count and the date of creation of Fanfix stories
+- GUI: option to show the word count instead of the author below the book title
+- CBZ: do not include the first page twice anymore for no-cover websites
+- GUI: update version check (we now check for new versions)
 
-- Fix for Java 1.6 compat
-  - Java 1.6 cannot compile it due to variables with ambigous names (which
-  - Java 1.8 can identify)
+## Version 1.3.1
 
-## Version 1.3.5
+- GUI: can now display books by Author
 
-- Improve ProgressBar UI
-  - It now shows all the progression bars of the different steps of progression at the same time
+## Version 1.3.0
 
-## Version 1.3.4
+- YiffStar: YiffStar (SoFurry.com) is now supported
+- new: supports login/password websites
+- GUI: copied URLs (ctrl+C) are selected by default when importing a URL
+- GUI: version now visible (also with --version)
 
-- Improve TestCase error reporting
-  - We know display the full stack trace even for AssertionErrors
+## Version 1.2.4
 
-- Extends Version
-  - ...with new methods: isOlderThan(Version) and isNewerThan(Version)
-
-## Version 1.3.3
-
-- New Version class
-  - Which can parse versions from the running program
+- GUI: new option: Re-download
+- GUI: books are now sorted (will not jump around after refresh/redownload)
+- fix: quote character handling
+- fix: chapter detection
+- new: more tests included
 
 ## Version 1.2.3
 
-- Add openResource and getVersion in IOUtils
-  - The file VERSION is supposed to exist
-
-- Give more informartion on AssertErrors
-  - 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)
-
-- Fix configure.sh
-  - 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)
+- HTML: include the original (info_text) files when saving
+- HTML: new input type supported: HTML files made by Fanfix
 
 ## Version 1.2.2
 
-- Fix bug in Bundle regarding \t handling
-  - ...tests should be written (later)
+- GUI: new "Save as..." option
+- GUI: fixes (icon refresh)
+- fix: handling of TABs in user messages
+- GUI: LocalReader can now be used with --read
+- ePub: CSS style fixes
 
 ## Version 1.2.1
 
-- New drawEllipse3D method
-  - ...in UIUtils
+- GUI: some menu functions added
+- GUI: right-click popup menu added
+- GUI: fixes, especially for the LocalReader library
+- GUI: new green round icon to denote "cached" (into LocalReader library) files
 
-## Version 1.1.1
+## Version 1.2.0
 
-- Add UI component for Progress
-  - Still a WIP, it only show the current progress bar, still not the children bars (it's planned)
+- GUI: progress reporting system
+- ePub: CSS style changes
+- new: unit tests added
+- GUI: some menu functions added (delete, refresh, a place-holder for export)
 
 ## Version 1.1.0
 
-- Add progress reporting, move to ui package
-  - A new progress reporting system (and tests) in the new ui package (some other classes have been moved into ui, too: WrapLayout and UIUtils)
+- CLI: new Progress reporting system
+- e621: fix on "pending" pools, which were not downloaded before
+- new: unit tests system added (but no test yet, as all tests were moved into nikiroo-utils)
 
 ## Version 1.0.0
 
-- Add WrapLayout and UIUtils
-  - 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
-
-## Version 0.9.7
-
-- Improve toImage and allow non-resetable InputStreams
-  - ...though they are then automatically saved onto disk then re-opened, then the file is deleted at the end of the process -- bad perfs
-  - 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)
-
-- Reoarganize some methods from String to IO
-
-## Version 0.9.6
-
-- New test system
-  - Now some unit tests have been added, as well as the support classes
+- GUI: it is now good enough to be released (export is still CLI-only though)
+- fix: bug fixes
+- GUI: improved (a lot)
+- new: should be good enough for 1.0.0
 
 ## Version 0.9.5
 
-- Resource bundle bug
-  - UTF-8 strings were sometimes wrangled
-  - It is fixed by using a Bundle#Control, whih sadly is only available in Java 1.6+
+- fix: bug fixes
+- new: WIN32 compatibility (tested on Windows 10)
 
 ## Version 0.9.4
 
-- Compatibility bug
-  - Again... because of some useless imports made there for a wrong jDoc comment
+- fix: bug fixes (lots of)
+- new: perf improved
+- new: use less cache files
+- GUI: improvement (still not really OK, but OK enough I guess)
 
 ## Version 0.9.3
 
-- Compatibility bug
-  - The library did not work with JDK versions prior to 1.8 because of a dependency on Base64
-  - A new (public domain) class was used instead, which is compatible with Java 1.5 this time
+- fix: bug fixes (lots of)
+- GUI: first implementation (which is ugly and buggy -- the buggly GUI)
 
 ## Version 0.9.2
 
-- Initial version
-  - ...on GIT
+- new: minimum JVM version: Java 1.6 (all binary JAR files will be released in 1.6)
+- fix: bug fixes
+
+## Version 0.9.1
+
+- initial version