-# nikiroo-utils
+# Fanfix
## Version WIP
-- 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
+- new: http/https remote library
+- new: use git submodules instead of sub branches
+- new: remove configure.sh, use simple Makefile
## Version 3.1.2
-- Fix Server regarding the client version passed to the handler
-- Improve ServerBridge options
+- fix: publication/creation date formated
+- e621: fix order again
+- e621: option to use a Login/API key to evade blacklists
+- e621: better metadata
## Version 3.1.1
-- Some fixes and trace handling changes in ServerBridge
-- Some fixes in Import/Export (objects serialisation)
+- 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
-- 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
+- MangaHub: a manga website (English)
+- MangaFox: removed (too many unfriendly changes, bye)
+- e621: fix cover not saved
-- Small fixes, especially in Progress
+## Version 3.0.1
-## Version 2.2.0
+- 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
-- New classes:
- - Downloader: download URL from recalcitrant websites
- - Cache: manage a local cache
-
-## Version 2.1.0
+## Version 3.0.0
-- Better IOUtils
+- 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
-- 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
+- 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
-- Version.java
- - Fix toString issues + test + update scripts
+- 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
-- 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
+- FimFiction: Fix tags metadata on FimFiction 4
-- Serialisation utilities
- - A new set of utilities to quickly serialise objects
+## Version 1.5.1
-## Version 1.4.3
+- FimFiction: Update to FimFiction 4
+- eHentai: Fix some meta data that were missing
-- Bugfix: unhtml
- - Also replace non-breakable spaces by normal spaces
+## Version 1.5.0
+
+- 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
-
-- Fix for Java 1.6 compat
- - Java 1.6 cannot compile it due to variables with ambigous names (which
- - Java 1.8 can identify)
+- 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)
-## Version 1.3.5
+## Version 1.3.1
-- Improve ProgressBar UI
- - It now shows all the progression bars of the different steps of progression at the same time
+- GUI: can now display books by Author
-## Version 1.3.4
+## Version 1.3.0
-- Improve TestCase error reporting
- - We know display the full stack trace even for AssertionErrors
+- 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)
-- Extends Version
- - ...with new methods: isOlderThan(Version) and isNewerThan(Version)
+## Version 1.2.4
-## 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