Official plugins hexo-util 2.1.0 and hexo-fs 3.0.1 released

In preparation for the eventual release of Hexo 5.0.0, we have released new versions of the official plugins hexo-util and hexo-fs.

Summary:

  • We are dropping support of Node 8 across Hexo ecosystem, please upgrade to Node 10.13 or higher.
  • Currently Hexo has compatibility issues with Node 14, to be fixed in Hexo 5.0.0. See below for temporary workarounds.

Workarounds

There are two temporary workarounds in Node 14 usage:

  1. Downgrade to Node 10 or 12. If you use .nvmrc as part of your CI workflow, you need to change the content to 10 or 12.
  2. If you prefer to use Node 14, force upgrade hexo-util and hexo-fs:
package.json
{
...
"dependencies": {
"hexo": "^4.0.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-category": "^1.0.0",
"hexo-generator-index": "^1.0.0",
"hexo-generator-tag": "^1.0.0",
"hexo-renderer-ejs": "^1.0.0",
"hexo-renderer-stylus": "^1.1.0",
"hexo-renderer-marked": "^2.0.0",
"hexo-server": "^1.0.0",
+ "hexo-util": "^2.1.0",
+ "hexo-fs": "^3.0.1"
}
}
$ rm -rf node_modules/
$ npm install

The upcoming Hexo 5.0.0 will be compatible with Node 14. Stay tune.

hexo-util 2.1.0

Breaking change

hexo-util 2.0.0

Breaking change

Fix

Misc

Dependencies

  • chore(deps-dev): bump rewire from 4.0.1 to 5.0.0 #187

hexo-fs 3.0.1

Changes

  • Requires at least Node 10.13 @curbengh #63
    • Requires Node 10.12+ to create folder recursively using mkdirs() and mkdirsSync() #55. While hexo-fs previously supported this feature, it had custom implementation; hexo-fs 3+ uses native implementation instead.
  • chore(deps): update hexo-util to 2.0.0 @curbengh #64

hexo-fs 3.0.0

Breaking change

Feature

  • Utilize native recursive option for mkdirs() and mkdirsSync() @segayuu #55

Fix

  • fix compatibility issue with Node.js 14 in writeFile() and copyFile() @SukkaW #60

Refactor

  • Replace escape-string-regexp package with hexo-util escapeRegex() @SukkaW #56
  • refactor: es6 syntax @SukkaW #57
  • Utilize native promise API in fs.promises @segayuu #53
    • If you need to catch error code, it’s now err.code, not err.cause.code, see #190

Misc

  • Add release-drafter for easier changelog editing @YoshinoriN #58
  • chore(deps-dev): bump nyc from 14.1.1 to 15.0.0 #52
  • chore(deps-dev): bump mocha from 6.2.2 to 7.0.0 #54
  • Bump eslint-config-hexo from 3.0.0 to 4.0.0 #48