linkinator: v7.1.3
7.1.3 (2025-10-05)
release
Features
- accept globs for paths (#199) (b47f4b6)
- add --server-root flag (#191) (bae9d38)
- add
filterfunction as an option to linkinator.check() (#120) (8240159) - add a --format flag to allow output in json or csv (#54) (fdb2311)
- add basic support for markdown (#188) (524f600)
- add option for setting user agent (#612) (929caa7)
- add retry-errors option (#354) (2ca5a36)
- add srcset attribute support (#51) (3569d51)
- add support for config files (#74) (2c118b3)
- add support for multiple paths (#194) (e70dff6)
- add support for url rewrites (#317) (2f1b5b1)
- add support for xhtml (#93) (08084de)
- add timeout config option (#168) (2f3a6d3)
- add verbosity flag to CLI (#214) (d20cff5)
- allow --skip to be defined multiple times (#399) (5ca5a46)
- auto-enable markdown parsing when in path (#200) (c40be4b)
- cli: add silent flag (#58) (10d6fb1)
- Config: Support for Javascript based config files (#516) (1013780)
- convert to es modules, drop node 10 (#359) (efee299)
- create new release with notes (#508) (2cab633)
- distribute bundled binaries (#204) (8d8472a)
- drop support for node 18 (#670) (25711d9)
- enable concurrent requests (#101) (9c3d184)
- exponential backoff (#355) (3f24ea6)
- expose error details when verbosity=DEBUG (#215) (cf29469)
- handle cloudflare bot protection (#686) (e59fcd8)
- introduce retry-after detection (#221) (cebea21)
- re-enable binary releases (#697) (f083dd9)
- release 7.0 (#689) (45121ca)
- release 7.0 (#690) (839f3b8)
- release 7.0 actually (#688) (223b5f2)
- require node.js 16 and up (#550) (4310692)
- require node.js 16 and up (#551) (4d682bf)
- scan all href, src, or other valid url attrs (#25) (ddf1fa4)
- scan opengraph and twittercard style meta links (#217) (a8c0a43)
- Send requests with human User-Agent header to reduce false positives. (#134) (9a32354)
- support directory listings (#225) (39cf9d2)
Bug Fixes
- add caching to avoid cycles (4d130d2)
- add cleanup setInterval() (#358) (39a8da2)
- add declaration true to compilerOptions to generate d.ts files (#576) (b806665)
- add try/catch for malformed links (#50) (477d749)
- address srcset parsing with multiple spaces (#512) (fefb5b6)
- allow server root with trailing slash (#370) (8adf6b0)
- allow skip to be defined as an array (#222) (c752724)
- allow system to generate random port when desired (#319) (#328) (7b9d493)
- always send custom User-Agent (#210) (7c84936)
- bug where it would fail urls that were valid (#159) (2f5599b)
- bump dependencies (#94) (f651772)
- calc relative paths based on current url (#42) (56a74e8)
- cli: load linkinator.config.json by default (#611) (0aea0f1)
- configure OIDC publishing, attempt 2 (#702) (7b6f64e)
- decode path parts in local web server (#369) (4696a0c)
- deps: revert back to marked 13 (#665) (ddb7f92)
- deps: update dependency chalk to v3 (#100) (407684f)
- deps: update dependency chalk to v4 (#162) (9c26c5a)
- deps: update dependency chalk to v5 (#362) (4b17a8d)
- deps: update dependency ecstatic to v4 (#52) (35362db)
- deps: update dependency gaxios to v2 (#56) (343fe12)
- deps: update dependency gaxios to v3 (#157) (d27cbfb)
- deps: update dependency gaxios to v4 (#185) (c915959)
- deps: update dependency gaxios to v5 (#391) (48af50e)
- deps: update dependency htmlparser2 to v9 (#547) (1a58441)
- deps: update dependency jsonexport to v3 (#170) (f7c6b3a)
- deps: update dependency marked to v10 (#578) (9abb602)
- deps: update dependency marked to v13 (#606) (5d4e747)
- deps: update dependency marked to v16 (#660) (cb2dadb)
- deps: update dependency marked to v2 [security] (#271) (f9c13e9)
- deps: update dependency meow to v13 (#584) (c50b02f)
- deps: update dependency meow to v6 (#125) (3bd911c)
- deps: update dependency meow to v7 (#169) (a6ed6f0)
- deps: update dependency meow to v8 (#186) (e23c0dd)
- deps: update dependency meow to v9 (#232) (6374c60)
- deps: update dependency mime to v3 (#351) (e51c8a8)
- deps: update dependency update-notifier to v3 (#65) (4c44706)
- deps: update dependency update-notifier to v4 (#126) (6f1ecdb)
- deps: update dependency update-notifier to v5 (#181) (e5b1aca)
- deps: update to the latest version of cheerio (#316) (999fca3)
- deps: upgrade marked to v7 (#564) (07013cc)
- deps: upgrade node-glob to v8 (#397) (d334dc6)
- deps: upgrade to cheerio 1.0.0-rc.5 (#229) (936af89)
- deps: upgrade to glob 9.x (#542) (18780cb)
- deps: upgrade to htmlparser10 (#661) (8f366fd)
- deps: upgrade to htmlparser2 v8.0.1 (#396) (ba3b9a8)
- deps: upgrade to marked 16 (#671) (2dd258b)
- deps: upgrade to marked v12 (#603) (862d89e)
- deps: upgrade to meow 12.x (#549) (03417c4)
- deps: upgrade to meow 14 (#683) (291cbc0)
- deps: upgrade to the latest meow (#530) (e3d929b)
- do not crash on unresolved domain (#22) (629b83c)
- do not follow data URIs (#98) (f8eefcb)
- do not follow irc links (#97) (e55edb1)
- do not include skipped links in the final link count (#277) (ea89b42)
- docs: fix spelling errors (#109) (1d10a00)
- drop CSV quotes when not needed (#692) (0109d35)
- ensure cli process exits (#698) (6b365ea)
- ensure verbosity flag is enabled for config (#266) (668aad6)
- export getConfig from index (#371) (0bc0355)
- export getConfig from index (#626) (ba65cf0)
- follow verbosity rules for JSON and CSV (#216) (9eb5590)
- get the tests passing (#17) (e2faf3f)
- handle base correctly (#114) (9813a61)
- handle querystring parameters in path (#276) (245b3bd)
- handle trailing slash on redirects (#699) (5f62d75)
- hide links with no results in silent mode (#102) (164a074)
- ignore all non-http[s] links (#111) (2f28114)
- ignore prefetch and connect for link (#145) (154eb2b)
- improve the output style (a3ee71d)
- JSON stringify failure details for CSV (#613) (13ab5b0)
- map paths in results back to filesystem (#231) (5f7bb18)
- migrate from gaxios to undici (#684) (8df9423)
- migrate to release-please (#704) (5460ddc)
- only crawl exact host matches (#99) (846f545)
- perf: links are queued just once (#154) (5f89458)
- perf: reduce total memory consumption (#153) (aa139da)
- perf: refactor to use htmlparser2 (#335) (ce88410)
- perf: use request streams to reduce memory usage (#336) (6e33b39)
- print the stats even after a fail (#38) (a4136aa)
- properly calculate relative paths (#40) (aa2e9c9)
- properly parse srcset attribute (#510) (9a8a83c)
- remove express dependency (#198) (429b325)
- remove file import prefix to please ncc (#526) (ca3f275)
- remove update-notifier (#519) (90fa80e)
- repair windows support, add CI (#64) (2f4e462)
- report links in all parent contexts (#696) (b4b1088)
- resolve conflict with -s short flag (#72) (1784b38)
- resolve glob paths based on server root (#218) (fee112b)
- respect recursive rules (#26) (877a32b)
- retry on href not host (#357) (54a1994)
- send a HEAD instead of GET at first (#29) (7dc7139)
- skip mailto links (#23) (25e1882)
- skip scanning non-html files (#31) (28c52b1)
- special handling of srcset attribute (#342) (ea23759)
- stream CSV results (#507) (a376199)
- stringify js for json (#118) (d653f2c)
- support commas and spaces in linksToSkip (#226) (a7d8625)
- throw error when glob returns no results (#207) (217074e)
- upgrade to mime v4 (#586) (4009fa9)
- use custom HTTP server (#265) (9b0b206)
- use GET instead of HEAD for now (a59e7aa)
- use OIDC for releases (#700) (5f9c5b9)
- use OIDC for releases, attempt 3 (#703) (fe9a8dd)
- use recursive scanning (850d5b0)