v8.0.0
nats-io/nats-serverv8.0.0Sep 15, 2025by yoshinorin
AI Summary
A major version update dropping support for older Node.js versions and introducing new helper features, validation improvements, and performance optimizations.
Key Highlights
- Drops Node.js 16 and 18 support
- Adds URL configuration validation
- Adds permalink variable `timestamp`
- Improves performance for external links and post categories/tags
- Updates Cheerio to version 1.0.0
Breaking Changes
- Drop Node.js 16
- Drop Node.js 18
New Features
- Bind hexo context to helper function callback
- Add url config validation
- Add permalink variable `timestamp`
- Support additional options for Backtick Code Block
- Enforce stricter extension checks for load_config
Full Release Notes
## Breaking Changes
* chore: drop Node.js 16 by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5592
* chore: drop Node.js 18 by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5674
## New Features
* feat: bind hexo context to helper function callback by @dimaslanjaka in https://github.com/hexojs/hexo/pull/5555
* feat: add url config validation by @ShaytonXu in https://github.com/hexojs/hexo/pull/5578
* feat: add permalink variable `timestamp` by @uiolee in https://github.com/hexojs/hexo/pull/5611
* feat: Support additional options for Backtick Code Block by @D-Sketon in https://github.com/hexojs/hexo/pull/5625
* feat(load_config): enforce stricter extension checks by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5591
## Fixes
* fix:changed the judgement of whether it has been injected by @mRNA16 in https://github.com/hexojs/hexo/pull/5573
* fix(escapeAllSwigTags): backtrack when tag is incomplete by @D-Sketon in https://github.com/hexojs/hexo/pull/5618
* fix: `hexo.locals.get('posts')` doesn't show all posts by @D-Sketon in https://github.com/hexojs/hexo/pull/5612
* fix: Parsing error for code blocks in list items by @D-Sketon in https://github.com/hexojs/hexo/pull/5617
* fix(open_graph): sort the tags by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5656
* Escape HTML in title of `code` and `include_code` tags by @tommy351 in https://github.com/hexojs/hexo/pull/5688
## Performances
* perf(external_link): optimize external link filter by @D-Sketon in https://github.com/hexojs/hexo/pull/5598
* perf(PostCategory/PostTag): add binary relation index for performance by @D-Sketon in https://github.com/hexojs/hexo/pull/5605
* perf(listArchives): add cache for posts by @D-Sketon in https://github.com/hexojs/hexo/pull/5624
* perf(escapeAllSwigTags): reducing GC overhead by @D-Sketon in https://github.com/hexojs/hexo/pull/5620
* perf: skip tag render when there is no swigTags by @D-Sketon in https://github.com/hexojs/hexo/pull/5650
* perf: faster text-table by @D-Sketon in https://github.com/hexojs/hexo/pull/5665
* warehouse6
* perf(model): add caching for data keys by @D-Sketon in [#271](https://github.com/hexojs/warehouse/pull/271)
## Refactor
* refactor(common): delete unused function `ignoreTmpAndHiddenFile` by @yoshinorin in https://github.com/hexojs/hexo/pull/5600
* delete scripts `pretest` by @uiolee in https://github.com/hexojs/hexo/pull/5610
* refactor(moment): remove unused timezone setting by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5654
## Test
* test(box/file): extend the mocha timeout to prevent the async file read test from failing by @yoshinorin in https://github.com/hexojs/hexo/pull/5601
* test: improve coverage by @D-Sketon in https://github.com/hexojs/hexo/pull/5638
## Depenrencies
* chore(deps-dev): bump @types/node to ^20.16.10 by @uiolee in https://github.com/hexojs/hexo/pull/5558
* chore(deps): remove resolve by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5594
* chore(deps): update dependencies by @yoshinorin in https://github.com/hexojs/hexo/pull/5597
* chore(deps): update `cheerio` from `0.22` to `1.0.0` by @yoshinorin in https://github.com/hexojs/hexo/pull/5603
* chore(deps): migrate `husky` from `8.x` to `9.x` by @yoshinorin in https://github.com/hexojs/hexo/pull/5602
* chore(deps): update eslint by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5599
* chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/hexojs/hexo/pull/5684
* chore(deps): bump strip-ansi from 6.0.1 to 7.1.0 by @dependabot[bot] in https://github.com/hexojs/hexo/pull/5218
* chore: bump actions/setup-node from 4 to 5 by @dependabot[bot] in https://github.com/hexojs/hexo/pull/5687
## Misc
* chore(lint): apply eslint to test files by @yoshinorin in https://github.com/hexojs/hexo/pull/5655
## New Contributors
* @mRNA16 made their first contribution in https://github.com/hexojs/hexo/pull/5573
* @ShaytonXu made their first contribution in https://github.com/hexojs/hexo/pull/5578
**Full Changelog**: https://github.com/hexojs/hexo/compare/v7.3.0...v8.0.0