ChangeLog 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047
  1. 2024-11-05 mio <stigma@disroot.org>
  2. Fix crash when downloading Ugoira
  3. pixiv now expects a 'i.pximg.net' host for Ugoira.
  4. 2024-10-27 mio <stigma@disroot.org>
  5. v2024.10
  6. Fix typo in update_git_version
  7. Mention macOS build limitation in INSTALL
  8. Support building on macOS/SCons/DMD
  9. 2024-10-26 mio <stigma@disroot.org>
  10. Add deprecation notice to configure.ac
  11. Update INSTALL instructions
  12. 2024-10-26 mio <stigma@disroot.org>
  13. Add scons build script
  14. Yes, another build script. While dub is the de facto build tool for D,
  15. it doesn't allow people to install programs or libraries. Meson works
  16. *fine*, but I'm not a huge fan of it. SCons seems nice?
  17. dub, meson, and scons will be supported.
  18. Honestly, if CMake provided support for D, I'd use that.
  19. 2024-10-26 mio <stigma@disroot.org>
  20. Update README
  21. 2024-10-26 mio <stigma@disroot.org>
  22. Add update_git_version.d to replace dub.sdl script
  23. On macOS, the '-i' option for sed (BSD) required an argument, however,
  24. GNU sed will not work if an argument is provided for the '-i' option.
  25. Yay!
  26. 2024-10-26 mio <stigma@disroot.org>
  27. Update mlib.directories to 0.5.1
  28. This add support for stateDir on macOS
  29. Fixes: https://codeberg.org/supercell/pixiv_down/issues/33
  30. 2024-10-15 mio <stigma@disroot.org>
  31. Add docs/meson.build
  32. daily: Prohibit BEGIN without END or END > BEGIN
  33. Update documentation for daily command
  34. 2024-10-15 mio <stigma@disroot.org>
  35. Add support for automatic daily end date.
  36. Dates are stored in $XDG_STATE_HOME/pixiv_down/last_daily_run on a
  37. single line using the format YYYY-MM-DD. No time is recorded, since
  38. the daily command will use midnight as the end time (00:00)
  39. Resolves: https://codeberg.org/supercell/pixiv_down/issues/32
  40. 2024-10-15 mio <stigma@disroot.org>
  41. Configure guix.scm to use meson build system
  42. 2024-10-13 mio <stigma@disroot.org>
  43. Update PHPSESSID link
  44. Fix version generation with dub (non-git)
  45. Update version strings
  46. Include meson files with autoconf dist
  47. Improve git version tagging across build systems
  48. Require --public or --private (following)
  49. This has been the requirement per the help messages, but wasn't enforced
  50. if another argument was provided, such as --skip.
  51. Improve message when fetching accounts (following)
  52. Use meson on the README
  53. 2024-10-13 mio <stigma@disroot.org>
  54. Add meson build files
  55. (not tested on macOS yet)
  56. This will probably take over the autoconf files that are currently
  57. present. Not that I have anything against autoconf, but meson supports
  58. D out of the box.
  59. There is still some more changes to the meson files that I need to work
  60. out (such as vcs_tag).
  61. The autoconf files will be removed after 2024.10 release.
  62. 2024-10-12 mio <stigma@disroot.org>
  63. Use OS 'state' directory for logs (XDG)
  64. See: https://codeberg.org/supercell/pixiv_down/issues/33
  65. 2024-09-25 mio <stigma@disroot.org>
  66. Add docs/Makefile.am
  67. 2024-09-24 mio <stigma@disroot.org>
  68. v2024.09
  69. Reformat the NEWS file
  70. 2024-09-24 mio <stigma@disroot.org>
  71. Add --force option to daily command
  72. Very useful for times when pixiv changes the AJAX API, breaking
  73. pixiv_down, and the author hasn't realized, so all the images you
  74. thought you were downloading for the last week or so, were actually HTML
  75. files.
  76. *cough*
  77. (running 'find /path/to/pixiv-pictures -size -200c' should help)
  78. 2024-09-24 mio <stigma@disroot.org>
  79. Add --force option to artwork command
  80. Fix downloading images (pixiv change)
  81. At some point, it seems that pixiv started reading the 'accepts' header
  82. a bit differently.
  83. Update mlib.directories to 0.5.0
  84. 2024-08-08 mio <stigma@disroot.org>
  85. Add bookmarked configuration docs
  86. Add configuration for bookmarked always_remove_invalid
  87. Also cleanup the configuration.d file a bit.
  88. 2024-08-07 mio <stigma@disroot.org>
  89. Fix crash when fetching CSRF token
  90. Fixes: https://codeberg.org/supercell/pixiv_down/issues/31
  91. 2024-08-04 mio <stigma@disroot.org>
  92. Add default DFLAGS -g -O2
  93. This bloats the binary, but makes it easier to debug anything crashes.
  94. You can just change this by settings DFLAGS when calling make. E.g:
  95. make DFLAGS='-O3 -frelease'
  96. 2024-08-01 mio <stigma@disroot.org>
  97. Fix autotools-based compilation for GDC12
  98. Bump UserAgent to Firefox 126
  99. Add bookmarked 'remove-from-file' option
  100. Potential fixes for CSRF Token fetching
  101. Instead of requesting the home page (www.pixiv.net), we now request
  102. the 'bookmarks' page of the authenticated account. I think there may
  103. have been some issues with certain IPs making the homepage request,
  104. since it seemed to encounter a Cloudflare verification more often then
  105. not. We also only send a request to fetch the CSRF token if the 'bookmarked'
  106. command is invoked, not for every command except for help.
  107. 2024-07-27 mio <stigma@disroot.org>
  108. Add GNU Guix package definition for development
  109. Remove fetch_dependencies script
  110. It hasn't done anything for a couple of months (0d9ac1895f).
  111. Support for D 2076.
  112. I've been playing around with Guix. Unfortunately, the latest supported
  113. version of GDC (as of writing) is 11, which only supports D 2.076.
  114. Convert Ruby 'configure' to Autotools
  115. I didn't really have anything against using Ruby, other than it meant
  116. depending on another language that may or may not be installed by
  117. default on different distributions.
  118. 2024-07-23 mio <stigma@disroot.org>
  119. Remove magickd from dub.selections.json
  120. Remove man pages when running make uninstall
  121. 2024-07-21 mio <stigma@disroot.org>
  122. v2024.07
  123. Simplify the fetch_dependencies script
  124. Improve message no content to download (`artist`)
  125. Fix artist novel offset not working
  126. 2024-07-02 mio <stigma@disroot.org>
  127. Update CHANGELOG
  128. Fix GIF generation on POSIX
  129. Previously GIFs would play the 'second frame' first and the
  130. 'first frame' second because GraphicsMagick will prepend an
  131. image to the list if there is no previous image in the list.
  132. 2024-06-03 mio <stigma@disroot.org>
  133. Fix endless loop in daily command (pt. 2)
  134. This was an error from 8036e5e9f6ef931f4ec75f6834731651f3f26f63.
  135. Fixes: https://codeberg.org/supercell/pixiv_down/issues/30
  136. 2024-06-02 mio <stigma@disroot.org>
  137. Fix endless loop in daily command
  138. Fixes: https://codeberg.org/supercell/pixiv_down/issues/30
  139. 2024-05-31 mio <stigma@disroot.org>
  140. v2024.05
  141. Update CHANGELOG
  142. Accept --output-directory= and --config-file=
  143. 2024-05-26 mio <stigma@disroot.org>
  144. Remove magickd from README
  145. Update fetch_dependencies.sh
  146. It is likely this script will be removed in a future version.
  147. 2024-05-26 mio <stigma@disroot.org>
  148. Remove dependency on magickd
  149. GraphicsMagick is still used for POSIX builds, however, it is now loaded
  150. via dlopen. There are a couple for this change. Firstly, it simplifies
  151. building when "dub" isn't present. Secondly, it *should* allow us to
  152. support ImageMagick as well.
  153. See: https://codeberg.org/supercell/pixiv_down/issues/29
  154. 2024-05-24 mio <stigma@disroot.org>
  155. Fix invalid array index for help
  156. 2024-05-23 mio <stigma@disroot.org>
  157. Fix building errors (incorrect parameters)
  158. 2024-05-22 mio <stigma@disroot.org>
  159. Add support for CLI configuration overrides
  160. Just need to add the --OPTION=ARG variants.
  161. See: https://codeberg.org/supercell/pixiv_down/issues/26
  162. 2024-05-19 mio <stigma@disroot.org>
  163. Miscellaneous changes (tidy up)
  164. 2024-05-19 mio <stigma@disroot.org>
  165. Improve fallback for building in non-VCS env.
  166. This prevents Make from rebuilding when nothing changed. Only remaining
  167. issue is that magickd isn't present by default.
  168. See: https://codeberg.org/supercell/pixiv_down/issues/28
  169. 2024-05-19 mio <stigma@disroot.org>
  170. Provide a fallback for building in non-VCS env.
  171. 2024-05-18 mio <stigma@disroot.org>
  172. Update CHANGELOG
  173. Allow 'compact' when invalid ID and in interactive
  174. Fix crash in compact command when ID isn't valid.
  175. 2024-05-16 mio <stigma@disroot.org>
  176. Fix crash when downloading an artist
  177. 2024-04-22 mio <stigma@disroot.org>
  178. Send `lang` in pixiv requests
  179. This will localize error messages from the pixiv API, which would
  180. be helpful, if the error messages weren't just "Unknown error occurred".
  181. Fix log formatting in cmds.daily
  182. Get the current locale for error messages
  183. Fix configure script for Ruby 3+
  184. 2024-04-20 mio <stigma@disroot.org>
  185. v2024.04
  186. Fix logging formatting
  187. Remove Ugoira temp files & enable cursor on error
  188. Copyright update
  189. Remove empty EXAMPLES from pixiv_down.1
  190. Remove `nt` module
  191. I created these functions because I'm not a fan of how the phobos
  192. implementations throw exceptions... if these should error than I
  193. don't think the program needs to abort. I'm removing these just to
  194. reduce the number of files to compile and remove duplicate functionality
  195. (since these functions exist in the standard library).
  196. Update README
  197. 2024-04-18 mio <stigma@disroot.org>
  198. Add notice about building with gamut to dub.sdl
  199. Warn when an Ugoira is enountered with gamut
  200. 2024-04-16 mio <stigma@disroot.org>
  201. Fix some incorrectly formatted logging calls
  202. Add initial support for building with gamut
  203. See: https://codeberg.org/supercell/pixiv_down/issues/25
  204. 2024-04-13 mio <stigma@disroot.org>
  205. Don't fetch CSRF Token for help command
  206. Add custom FileLogger
  207. Continuing on from 79726c5a75df9ad3035bd7c55bb24059a8bc8036
  208. Update CHANGELOG.md
  209. 2024-04-13 mio <stigma@disroot.org>
  210. Remove -fpreview=in from GDC build
  211. This has been causing segfaults. While GraphicsMagick is the one that
  212. reports the segfault...
  213. Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
  214. ...running pixiv_down through GDB seems to reveal an issue with
  215. std.regex. This doesn't happen with DMD or LDC, so the flag remains in
  216. use for those compilers.
  217. 2024-04-07 mio <stigma@disroot.org>
  218. update .editorconfig
  219. Replace logger.d with std.experimental.logger
  220. It was causing some issues with GraphicsMagick, causing the occasionaly
  221. segfault. Probably wasn't written properly. I'll add a custom format
  222. at some point, since the default isn't really nice to look at.
  223. 2024-04-05 mio <stigma@disroot.org>
  224. Add 'bookmarked' command to README
  225. Remove util$converToString
  226. Compile with -preview=in
  227. Move terminal-related functions to term.d
  228. Closes: https://codeberg.org/supercell/pixiv_down/issues/22
  229. 2024-04-04 mio <stigma@disroot.org>
  230. Add pixiv_down-bookmarked.1
  231. Support for removing invalid novel bookmarks
  232. See: https://codeberg.org/supercell/pixiv_down/issues/15
  233. 2024-04-04 mio <stigma@disroot.org>
  234. Implement 'bookmarked --remove-invalid' option
  235. To send a POST request on pixiv, you need a CSRF token which, rather
  236. conveniently, pixiv provides as part of the initial HTML response for
  237. (seemingly) and web page. It then removes it after loading, so secrets
  238. can stay hidden.
  239. There is some more information that can be found in the linked ticket.
  240. See: https://codeberg.org/supercell/pixiv_down/issues/15
  241. 2024-04-03 mio <stigma@disroot.org>
  242. Improve 'bookmarked' command
  243. A new --skip option was added since it is probably unreasonable to
  244. assume people are happy to sit for however long to download 1600+ works.
  245. To assist with this, the number of *processed* works are printed after
  246. every page, this number includes and works which are no longer available
  247. to download so the --skip option works as expected.
  248. There was also a crash that would occur when an artwork was "masked".
  249. It turns out the API returns an integer artwork ID if the work is masked
  250. instead of a string, so we perform a check for that as well.
  251. 2024-04-03 mio <stigma@disroot.org>
  252. Update .gitignore
  253. Move pixiv_down version info to separate module
  254. 2024-04-02 mio <stigma@disroot.org>
  255. Begin implementing 'bookmarked' command
  256. See: https://codeberg.org/supercell/pixiv_down/issues/15
  257. Add list with supported content types to man pages
  258. Add pixiv_down-novel.1
  259. Add pixiv_down-following.1
  260. Write pixiv_down-daily.1
  261. Update CHANGELOG.md
  262. 2024-04-02 mio <stigma@disroot.org>
  263. Use std.getopt rather than custom argument parsing
  264. The only place it hasn't been used is in app.d, since std.getopt doesn't
  265. support "commands", so there would be no benefit.
  266. See: https://codeberg.org/supercell/pixiv_down/issues/24
  267. 2024-04-02 mio <stigma@disroot.org>
  268. Remove deprecation message for config base_folder
  269. As with the change in configuration file name, this setting will
  270. now be supported indefinitely.
  271. See: 90e48e436d8990d0f5d9d6c7d6158799f5e94b3f
  272. 2024-04-02 mio <stigma@disroot.org>
  273. update mlib/directories to 0.4.0
  274. 2024-04-01 mio <stigma@disroot.org>
  275. Change the access and modification times of GIFs
  276. Support PIXIV_DOWN_SESSID environment variable
  277. Closes: https://codeberg.org/supercell/pixiv_down/issues/23
  278. 2024-03-31 mio <stigma@disroot.org>
  279. Use real account IDs in pixiv_down-artist.1
  280. They stand out a bit more than 1 2 3
  281. Add installation of manual pages to Makefile.in
  282. Fix reference in pixiv_down.1
  283. Add manual page for 'pixiv_down prune'
  284. 2024-03-31 mio <stigma@disroot.org>
  285. Change default configuration file name
  286. Now called 'pixiv_down.conf'. Reason? PIXIV_DOWN.CONF(5) fits better
  287. than PIXIV_DOWN-SETTINGS.CONF(5).
  288. The old name will be supported indefinitely.
  289. 2024-03-31 mio <stigma@disroot.org>
  290. Begin writing manual pages
  291. 2024-03-30 mio <stigma@disroot.org>
  292. Fix GIFs not being recreated after SIGINT [GM]
  293. When calling WriteImages, GraphicsMagick will write each frame of the
  294. GIF directly to the provided output filename. In our case that was the
  295. final '.gif', which meant that with the changes introduced in commit
  296. f09e5e180703b67861954b587775ec579f78d749 pixiv_down wouldn't attempt to
  297. recreate the GIF if it had previously been interrupted with ^C, for
  298. example.
  299. Because "fTemporayPath" ends with '.part', which isn't an image type,
  300. GraphicsMagick assumes the output image is the same format as the input.
  301. To prevent this, we specifically set the first frame's "magick".
  302. Fixes: https://codeberg.org/supercell/pixiv_down/issues/21
  303. 2024-03-30 mio <stigma@disroot.org>
  304. Fix incorrect progress reporting for Ugoira
  305. See: https://codeberg.org/supercell/pixiv_down/issues/20
  306. Makefile.in improvements
  307. pixiv_down will only rebuild if there have been new commits since the
  308. last build.
  309. Check if Ugoira exists before downloading ZIP
  310. Fixes: https://codeberg.org/supercell/pixiv_down/issues/18
  311. 2024-03-29 mio <stigma@disroot.org>
  312. Update README with new build instructions
  313. Mention the new configure script and clarify that macOS does not need
  314. GraphicsMagick.
  315. configure script fixes for macOS
  316. Generate githash with Makefile.in
  317. Replace Makefile with configure script
  318. The end goal is to allow macOS to build using ./configure && make
  319. without having to change anything. (This currently works on linux)
  320. 2024-03-10 mio <stigma@disroot.org>
  321. Fix macOS compilation
  322. Update README
  323. Update CHANGELOG
  324. Add GIFWriter and ImageReader for GraphicsMagick
  325. ugoira support for macOS
  326. While it may have been possible to create ugoira using GraphicsMagick,
  327. this makes use of CoreFoundation and ImageIO provided by macOS.
  328. Add configuration for macOS
  329. Improve POSIX support for nt.file.setTimes
  330. Update mlib/directories to 0.3.0
  331. Update mlib/trash.d to 0.4.0
  332. 2024-03-07 mio <stigma@disroot.org>
  333. Log Ugoira mimetype in debug
  334. 2024-02-03 mio <stigma@disroot.org>
  335. v2024.02
  336. 2024-01-27 mio <stigma@disroot.org>
  337. Don't use page number in filename if single page
  338. Illustrations with multiple pages and Manga will continue to use the
  339. page number and be located in a sub-directory. For illustrations with
  340. a single page, his just re-creates the behaviour before
  341. 91005492bb34ba497de6e73e1aa5368a2b573083
  342. 2024-01-26 mio <stigma@disroot.org>
  343. Update 'help' help with novel support
  344. Fixes for -preview=in
  345. I'm not going to force compilation with -preview=in yet. But this is in
  346. preparation for when I do, or when (if ever) it becomes the default.
  347. Allow DFLAGS if used in Makefile
  348. Add PHPSESSID HowTo
  349. Closes: https://codeberg.org/supercell/pixiv_down/issues/14
  350. Add --sfw-only option to daily command
  351. Closes: https://codeberg.org/supercell/pixiv_down/issues/12
  352. Update CHANGELOG
  353. Support for downloading an artist's novels
  354. Closes: https://codeberg.org/supercell/pixiv_down/issues/8
  355. Provide some documentation to nt.prelude.Optional
  356. Implement downloading daily novels
  357. See: https://codeberg.org/supercell/pixiv_down/issues/8
  358. 2024-01-25 mio <stigma@disroot.org>
  359. Add ability to download novels
  360. Currently only works via the new 'novel' command, but fetching all
  361. novels from an account, and fetching the latest novels from all followed
  362. accounts will be implemented soon.
  363. See: https://codeberg.org/supercell/pixiv_down/issues/8
  364. 2024-01-25 mio <stigma@disroot.org>
  365. Build individual object files
  366. Implement --skip-manga and --skip-illust
  367. Closes: https://codeberg.org/supercell/pixiv_down/issues/7
  368. Create a spinner when downloading/creating Ugoira
  369. Move runSpinner from prune.d to util.d
  370. 2024-01-23 mio <stigma@disroot.org>
  371. Remove dependency on pixivd
  372. Small tidy up
  373. Move following command to separate file
  374. Add nothrow variant of std.conv
  375. Add pixiv.fetchUser
  376. Replaces pixivd.client.Client.fetchUserAll. With this, the only
  377. remaining method to port is fetchFollowing.
  378. Add private makeRequest
  379. Add pixiv.fetchUserProfile
  380. Replaces pixivd.client.Client.fetchUserAll
  381. Move daily command in to separate file
  382. 2024-01-23 mio <stigma@disroot.org>
  383. Rewrite daily command to use pixiv module
  384. I have also removed the 'restrict' option, which would allow people to
  385. specify whether to download content that is either R18, Safe, or Both.
  386. The option never actually did anything, with the daily command always
  387. downloading Both content types. The option may come back.
  388. See: https://codeberg.org/supercell/pixiv_down/issues/12
  389. Closes: https://codeberg.org/supercell/pixiv_down/issues/13
  390. 2024-01-23 mio <stigma@disroot.org>
  391. Use Flag rather than bool in term.d
  392. 2024-01-21 mio <stigma@disroot.org>
  393. Build object files for graphicsmagick_c
  394. This won't really speed up build times yet, but once pixivd is removed the
  395. files in source/ can be compiled to object files and hopefully that will
  396. speed up build times a little.
  397. 2024-01-21 mio <stigma@disroot.org>
  398. Add support for downloading Ugoira in pixiv
  399. This took a while to implement because I had recently updated
  400. GraphicsMagick versions and the previous code was incorrect for creating
  401. GIFs. It took some time to figure it out (completely missing the entry
  402. in the NEWS file...) All that needed to change was adding the
  403. GetFirstImageInList call.
  404. Closes: https://codeberg.org/supercell/pixiv_down/issues/10
  405. 2024-01-21 mio <stigma@disroot.org>
  406. Fix incorrect format
  407. Fix dynamic build linkage
  408. 2024-01-20 mio <stigma@disroot.org>
  409. Separate pixiv API requests and downloading
  410. 2024-01-20 mio <stigma@disroot.org>
  411. Remove ProgressMonitor and downloadIllust
  412. The functionality is provided by downloadArtworkWith and
  413. downloadArtworkWithPageNotifier.
  414. Work still needs to be done on supporting Ugoira and novels.
  415. 2024-01-20 mio <stigma@disroot.org>
  416. Improve progress reporting for some commands
  417. Improved for the artist, artwork, and daily commands.
  418. 2024-01-20 mio <stigma@disroot.org>
  419. Implement downloading for pixiv.downloadArtwork
  420. All that is missing is support for ugoira and novels.
  421. See: https://codeberg.org/supercell/pixiv_down/issues/11
  422. 2024-01-18 mio <stigma@disroot.org>
  423. Add prune command to CHANGELOG
  424. Remove ability to build with local archives
  425. Use either make (git submodule update --init && make) or dub.
  426. 2024-01-18 mio <stigma@disroot.org>
  427. Begin implementation of pixiv.downloadArtwork
  428. The intention is to replace pixiv.downloadIllust with this new function.
  429. Currently it's not complete (doesn't even download!) but there shouldn't
  430. be too much more work.
  431. Then the pixiv module needs a method of supporting Ugoira.
  432. 2024-01-18 mio <stigma@disroot.org>
  433. Remove excessive private modifier
  434. Move artist command to separate file
  435. Replace phobos setTimes with nothrow version
  436. This was the start of an attempt to make pixiv.setDate nothrow, however,
  437. considering that Systime.fromISOExtString and dirEntries can both throw,
  438. I'm not sure that will happen :(
  439. Move artwork command to separate file
  440. Log execution date
  441. 2024-01-16 mio <stigma@disroot.org>
  442. Create data directory if needed in resetSessionID
  443. check for GraphicsMagick before building
  444. 2024-01-14 mio <stigma@disroot.org>
  445. Move downloadIllust function to new pixiv module
  446. The new pixiv module will be where all pixiv-related functionality will
  447. be located.
  448. Move convertToString to util.d
  449. Also mark it as nothrow
  450. 2024-01-13 mio <stigma@disroot.org>
  451. Add prune documentation to README
  452. Update mlib.configparser to 0.5.2
  453. Move configparser module to mlib
  454. Move directories module to mlib package
  455. 2024-01-13 mio <stigma@disroot.org>
  456. Fully replace std logger with custom logger
  457. Rewrite the logger module to use C functions since the D stdio seemed to
  458. be locking incorrectly when calling too many write functions in quick
  459. succession (messages weren't being written after the first few).
  460. This also adds an environment variable PIXIV_DOWN_LOG_LEVEL which (at
  461. startup) sets gMinLogLevel if the value is valid.
  462. 2024-01-13 mio <stigma@disroot.org>
  463. Add prune command
  464. This replaces the pixivd_tools' remove_unfollowed program.
  465. 2024-01-11 mio <stigma@disroot.org>
  466. Remove pixiv_down.png
  467. A remanent from when I was going to provide an AppImage for
  468. pixiv_down.
  469. 2024-01-05 mio <stigma@disroot.org>
  470. Add source/mlib/search_params
  471. 2024-01-04 mio <stigma@disroot.org>
  472. Remove hard coding linux terminal
  473. A leftover from having the incorrect escape codes.
  474. 2024 pt.1
  475. Update README
  476. Fix erroneous exit in GMagick_Dynamic builds
  477. main.loadLibGM was returning the value of
  478. graphicsmagick_c.config.loadGraphicsMagick
  479. which returns false when the library was
  480. correctly loaded, but some symbols could
  481. not be found. pixiv_down should be able
  482. to run under these conditions still.
  483. generate githash with dub
  484. make clean
  485. Fix colour output for tmux
  486. Replace GNUmakefile with Makefile
  487. Has been tested with both GNU Make and NetBSD Make (bmake).
  488. Deprecate fetch_dependencies script
  489. I won't remove the script, but I also won't be testing it.
  490. Either use git submodules or dub.
  491. Add ability to build using git submodules & make
  492. 2023-12-10 mio <stigma@disroot.org>
  493. Use custom logging for 'compact' command
  494. update pixivd
  495. 2023-12-09 mio <stigma@disroot.org>
  496. Update CHANGELOG for 'compact' command
  497. Implement 'compact' command
  498. Replaces the pixivd_tools/pixiv_combine_users found at
  499. https://osdn.net/users/nemophila/pf/pixivd_tools/wiki/FrontPage
  500. 2023-11-28 mio <stigma@disroot.org>
  501. Fix unittest compilation
  502. Reformat and update CHANGELOG
  503. Log compilation information to LogFile
  504. Make loadConfig public
  505. have makeSafe treat more characters as invalid
  506. Turns out this is really dependent on the filesystem's format
  507. (e.g. ext4, exfat, ntfs, etc.). This will assume unicode is valid, but
  508. will restrict the possible characters to 'work characters', periods, and
  509. hyphens.
  510. 2023-10-29 mio <stigma@disroot.org>
  511. Move configuration to separate module
  512. Slowly going around and breaking down the main file.
  513. Add .editorconfig
  514. Replace global 'log' with stdThreadLocalLog
  515. 2023-10-26 mio <stigma@disroot.org>
  516. Improve display of skipping followed artists
  517. Change the behaviour so that using --skip <num> won't print:
  518. 'Downloading artist 1 of <total>'
  519. but instead print:
  520. 'Downloading artist <num + 1> of <total>'.
  521. Generate entire 'git_version' file.
  522. Implement command to reset PHPSESSID
  523. 2023-10-25 mio <stigma@disroot.org>
  524. Log data directory
  525. Helps locate the file when an update of PHPSESSID is required.
  526. Need to add an option for changing this...
  527. 2023-10-25 mio <stigma@disroot.org>
  528. Replace OSDN repository links
  529. The servers haven't been reliable for a few months.
  530. 2023-09-30 mio <stigma@disroot.org>
  531. Cleanup project imports
  532. 2023-09-29 mio <stigma@disroot.org>
  533. Fix trailing percentage for previously downloaded
  534. e.g.:
  535. Previously downloaded page 1/2.%).
  536. Previously downloaded page 2/2.
  537. 2023-09-29 mio <stigma@disroot.org>
  538. Further improvements to the progress bar
  539. Still can't say I'm completely happy with this (trailing newlines and
  540. single-paged illustrations not changing the final message to 'Finished')
  541. but it's an improvement.
  542. I did spend a while trying to get a graphic progress bar, but couldn't
  543. integrate the UI in a way that I liked (the current implementation looks
  544. better IMO).
  545. See: https://codeberg.org/supercell/pixiv_down/issues/2
  546. 2023-09-27 mio <stigma@disroot.org>
  547. Use same indentation for options in help messages
  548. Pad 'Already downloaded page X' values
  549. Also considering changing the message to 'Already downloaded page x/y'
  550. 2023-08-16 mio <stigma@disroot.org>
  551. fix resuming a previous download of a manga.
  552. previously, if you cancelled a manga download partway, attempting to
  553. resume the download would result in the "Already downloaded" message,
  554. this was fixed with a commit[1] in pixivd, so we're just updating the
  555. version here.
  556. [1]: 1085361d86366542741e8ae5b845fed74c0a8aa5
  557. 2023-08-13 mio <stigma@disroot.org>
  558. Add initial version of a progress bar
  559. Not the final design, but at least it shows which page we're downloading
  560. and how far through we are.
  561. See: https://codeberg.org/supercell/pixiv_down/issues/2
  562. 2023-08-07 mio <stigma@disroot.org>
  563. Update pixivd
  564. This fixes an issue with GIF (Ugoira) not having a valid filename when
  565. calling the GraphicsMagick WriteImages function.
  566. Fixes https://codeberg.org/supercell/pixiv_down/issues/9
  567. 2023-08-07 mio <stigma@disroot.org>
  568. Change version identifier to date+hash
  569. 2023-07-23 mio <stigma@disroot.org>
  570. Update MagickD and PixivD versions
  571. 2023-07-16 mio <stigma@disroot.org>
  572. Update CHANGELOG.md
  573. - Reorganize some sections.
  574. - Downloads both manga and illustrations by default
  575. - Temporary(?) removal of `--limit` option for following command.
  576. Fix falling back to user picture directory
  577. Fix loading config when dir exists but not file
  578. 2023-06-24 mio <stigma@disroot.org>
  579. Add CHANGELOG.md
  580. Re write the 'following' command.
  581. I removed the --limit option since it's use is rather... limited. It'd
  582. be better served as an actual limit on the number of accounts to
  583. download, rather than the number of accounts per-page.
  584. Replace custom logger with Phobos FileLogger
  585. Rewrite 'following' help.
  586. 2023-06-23 mio <stigma@disroot.org>
  587. Create a new log file each run
  588. 2023-06-22 mio <stigma@disroot.org>
  589. Improve 'artwork' command
  590. The main change is the --group-errors option which will only print the
  591. errors just before the command has finished executing, rather than
  592. immediately after the error occurrs.
  593. This means you don't have to go searching for any errors after
  594. downloading the artworks.
  595. 2023-06-22 mio <stigma@disroot.org>
  596. Re-work 'artist' command
  597. This really addressed two issues regarding the artist command. Some of
  598. the messaging could use improvement, but I haven't quite figured out how
  599. I want this to work with the progressbars that will be implemented.
  600. See Also:
  601. Change default behaviour of 'artist' command
  602. https://codeberg.org/supercell/pixiv_down/issues/4
  603. Allow downloading of multiple artists when using the artist cmd
  604. https://codeberg.org/supercell/pixiv_down/issues/5
  605. 2023-06-20 mio <stigma@disroot.org>
  606. Clarify README notice
  607. Improve the 'daily' help
  608. I also took the liberty to re-format the dailyHandle function and
  609. improve some of the messaging there as well.
  610. 2023-06-17 mio <stigma@disroot.org>
  611. Update pixiv_down to use new directories API
  612. Update directories module to v0.2.0
  613. There are quite a few changes to the API which I'll need to address, but
  614. the big addition is support for Windows -- making us a step closer to
  615. supporting Windows in pixiv_down.
  616. Move config reading out of main
  617. Move loading of GraphicsMagick out of main
  618. Improve help message for artist command
  619. Remove `printMainHelp`
  620. 2023-06-16 mio <stigma@disroot.org>
  621. Reformat main function
  622. Improve 'unknown command' message
  623. 2023-06-15 mio <stigma@disroot.org>
  624. Replace ': ' with 'v' for version info
  625. Futher improve default help message
  626. Provide better default help message
  627. This will be displayed when there are no arguments provided or
  628. when -h/--help/help is provided.
  629. 2023-06-14 mio <stigma@disroot.org>
  630. Better handle invalid dates for --daily
  631. 2023-04-25 mio <stigma@disroot.org>
  632. Change 'daily' behaviour when begin and end equal
  633. 2023-01-28 mio <stigma@disroot.org>
  634. Initial commit