Home Creators Posts Import Register Favorites Logout

Content

It's time to finally move forward with development on the new version! 🎉This time it should be (at least that’s my intention, barring any unforeseen issues) a shorter wait than usual, as I’d like to release the next public version by Christmas 🎅Below this post, you’ll find the changelog, which I’ll keep updated as new features and fixes are added over time.

🚨 As usual I remember to Premium members that you can find here on Patreon the nightly builds posts where you'll can download the nightly versions which will already include the new features/bugfixes listed below 👍

Nightly build (2025-10-25):

Completely rewrote the Dynasty Reader framework to support oneshot chapters as well (a feature requested by a Premium subscriber).

Nightly build (2025-11-13):

Fixed a bug that prevented the option to automatically start the download queue when adding new downloads from working properly.

Added support for comix.to

Added support for weebdex.org

Fixed and improved support for onepiecepower.com

Nightly build (2025-12-05):

Fixed support for comix.to, which had already been broken by a recent site update

Fixed a bug where the option to use a custom path for the Imagemagick executable would reset to the system-installed version at restart

Warning: in this nightly build, since work on the new "Library" mode is nearly complete, the old "Bookmarks" system may be unstable and could cause issues. With the large number of changes made over the past weeks, I honestly can’t remember whether I modified or removed any legacy functionality that the old system relied on. I am releasing this nightly build only because it was specifically requested by a Premium subscriber (as part of their benefits) to fix Comix support; otherwise, given the current level of instability, I would not have released it at all. Please use it only if you need Comix support; otherwise, it’s better to stay on the previous nightly build to avoid any risk.

Nightly build (2025-12-09):

Fixed Comix support once again, as it had broken due to further changes on the site’s source code.

Added support for MangaTown.

Fixed the support for Templetoons.

Added the Regex library required for GraalVM.

Added new Batoto-specific logic intended to address the download issues caused by their servers in recent weeks: if a page download fails, the next attempt (so make sure to set at least one extra retry in the program settings) will automatically replace the server identifier in the URL from k to n, as suggested in issue #961.

Added a fix to remove GraalVM’s overly verbose logging, which was unnecessarily cluttering log files.

Nightly build (2025-12-16):

Increased the maximum number of simultaneous downloads from 10 to 30 for all Patreon supporters! Please make sure to read this specific article beforehand: https://www.patreon.com/posts/feature-preview-145751534

Improved thread management to properly support the increase mentioned above: additional synchronization checks have been introduced to prevent concurrent access to disk and online resources, reducing the risk of errors.

Added a small random initial micro-delay to downloads (always below half a second) to prevent all downloads from starting at exactly the same time. This helps avoid potential disk write conflicts and, more importantly, prevents web requests from hitting the server simultaneously and being mistakenly flagged as a DDoS attack (especially when the concurrent download limit is set to high values).

Implemented a logic similar to Batoto for Mangapark as well, since it has been experiencing increasing server-related issues. When a download fails, the next retry will use a different server (up to 10 different servers). Please remember to configure the retry count in the application settings: if set to 10, all available servers will be tested.

The logic behind the Batoto fix for server-related issues has been changed: the new server "n" will now be tried first, and only if an error occurs will the system attempt old server "k" on the next try. This approach should help reduce the number of error messages shown in the log, and the download process itself (hopefully requiring fewer attempts) should take roughly half the time.

Added support for myhero-academia.online

Added support for mangadistrict.com

Nightly build (2025-12-17):

Added support for Batoto v4 framework (https://bato.ing or https://bato.si)

Added support for all currently existing Batoto mirrors: ato.to, dto.to, fto.to, hto.to, jto.to, lto.to, mto.to, nto.to, vto.to, wto.to, xto.to, yto.to, vba.to, wba.to, xba.to, yba.to, zba.to, bato.ac, bato.bz, bato.cc, bato.cx, bato.id, bato.pw, bato.sh, bato.vc, bato.day, bato.red, bato.run, batoto.in, batoto.tv, batotoo.com, batotwo.com, batpub.com, batread.com, battwo.com, xbato.com, xbato.net, xbato.org, zbato.com, zbato.net, zbato.org, comiko.net, comiko.org, mangatoto.com, mangatoto.net, mangatoto.org, batocomic.com, batocomic.net, batocomic.org, readtoto.com, readtoto.net, readtoto.org, kuku.to, okok.to, ruru.to, xdxd.to

Files

Comments

psi-pisi

Hi! First of all thanks for all the work on this app! I am just wondering if the bato.to v4 changes are in the latest release or still only available in the nightly build?

redsquirrel87

Batoto v4 support is also available in the public version, yes. Has it stopped working?

psi-pisi

I just tried adding couple bato.ing urls but getting "Sorry, an error occured while getting the chapters" error. I don't think I am banned as I never downloaded anything from .ing url before. And I can open the chapters from web.

redsquirrel87

That's strange, I just tested it with a random link (this one: https://bato.ing/title/221176-helmut ) and didn't have any issues 🤔 Please make sure the version shown in the program title is 73.7, maybe the update didn't download for some reason?

psi-pisi

yep it's v73.7. Can it be the java version? Couple months ago there was a java version issue but not sure what is the latest version we can use now.

redsquirrel87

Please check the jvm_log.txt file after you get the error, it should contain the technical specifications of the error, which will help us identify the cause of the issue 👍

psi-pisi

If it helps the partial error log: [Sun Jan 04 11:20:23 EST 2026] Framework: BATOTOV4 [Sun Jan 04 11:20:23 EST 2026] Error while performing HTTP GET request: javax.net.ssl.SSLException: Unsupported or unrecognized SSL message // stacktrace lines [Sun Jan 04 11:20:23 EST 2026] Error: NULL HTML code. [Sun Jan 04 11:20:23 EST 2026] Error: NULL chapters list.

redsquirrel87

From this log it appears that this is an SSL certificate issue with the replies of their server. This likely means you’re using an older version of Java that doesn’t include the modern certificate used by that site. Anyway, to be sure, you can check the second (or third?) line at the beginning of the jvm_log.txt file, it should indicate which version of Java you’re currently running

psi-pisi

[Sun Jan 04 11:17:43 EST 2026] JAM (formerly Manga Downloader) v73.7 [Sun Jan 04 11:17:43 EST 2026] OS: Windows 11 (amd64) | JVM: 23.0.1 [Sun Jan 04 11:17:43 EST 2026] [COVERS] Current mode: FILESYSTEM [Sun Jan 04 11:17:45 EST 2026] [DB] Database current version: 11 Though, I just updated to JVM 25.0.1 but still getting the same error :/

redsquirrel87

Yeah, actually version 23 is fairly recent, so it really should have worked fine for you as well. I thought you were still on JRE 8, which is usually the one that comes preinstalled by default. It’s very strange that I don’t get the same error since I’m also using 25, but on Windows 10. I’ll try checking whether it might be a Windows 11 issue by testing it on a PC running that system and I'll let you know asap 👍 P.s.: in the meantime, try replacing the domain in the URL from .ing to .si. The two sites are identical mirrors, so the rest of the URL stays the same, you only need to change the domain. Maybe the other mirror site has the server configured differently and it will work with that one

redsquirrel87

So, I ran quite a few tests both on different networks and different PCs to make sure it wasn’t something related to a firewall or DNS. Unfortunately (or fortunately 😅 ) it still works fine for me without any SSL errors, both on the .ing and .si domains, even on another PC running Windows 11, and even after disabling Google DNS on my connection (I thought maybe those were helping somehow). At this point, I wonder if there might be something in your network setup (a proxy, antivirus, firewall, etc.) that could be interfering, since it doesn’t seem to be a Batoto server issue. If possible, would you be able to try from another PC or network, just so we can rule out a local configuration issue on that machine?

psi-pisi

.si works! Thanks a lot for spending time for debugging and helping to find a workaround!

psi-pisi

oh actually still not working 😅I was able to get the list of chapters but when I tried to download again got an error javax.net.ssl.SSLException: Unsupported or unrecognized SSL message at java.base/sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:462) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:175) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) at mainpackage.Manga.GetHTML(Manga.java:713) at mainpackage.Manga.GetHTML(Manga.java:542) at mainpackage.Batotov4.GetPages(Batotov4.java:90) at mainpackage.Job.run(Job.java:562) at mainpackage.ThreadManager.lambda$checkAndRunNextJob$0(ThreadManager.java:137) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) at java.base/java.lang.Thread.run(Thread.java:1474) [Sun Jan 04 15:59:00 EST 2026] Error: NULL HTML code.

redsquirrel87

So the issue occurs during the chapter fetching stage with the .ing domain, but not with .si? Just to be sure, have you tested other titles to see if this is a general issue, or if it’s isolated to the specific manga you are trying to download?

psi-pisi

Yes, for .ing I don't even see the chapters, for .si I am able to load the chapters but getting the same error while downloading the chapters. I also tried the same scenario with two random webtoons on a linux machine with Java 25 and got the same result. Btw would you like me to create a github issue for easier tracking and commenting?

redsquirrel87

Thank you, that would actually be ideal, since commenting and posting logs here on Patreon is quite a mess 😅 Just to be safe, could you also link me a specific manga where the issue occurs? I’d like to check whether I can reproduce it on my side as well. Since Batoto has been having server issues for over a month now, I’m not sure whether the problem is random (which would explain why it doesn’t always happen for me), or if there’s something more specific going on