ChangeLog 29 KB

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