Releases: hexojs/hexo
v7.3.0
New Features
- feat(renderScaffold): deepMerge frontMatter of post and scaffold by @uiolee in #5472
- feat: add option to use slug as title of post by @uiolee in #5470
- feat(helper/toc): specify maximum number of items to output by @KentarouTakeda in #5487
Fixes
- Revert "refactor: backslashes on Windows (#5457)" by @stevenjoezhang in #5481
Performances
- perf(processor/post): improve processing speed when
config.post_asset_folder
is enabled by @yoshinorin in #5473
Test
CI
Misc
Full Changelog
v7.2.0
New Features
Improved type definitions
- refactor: refactor types by @D-Sketon in #5398
- chore: make callback on exit optional by @dimaslanjaka in #5421
- refactor: migrate typescript by @D-Sketon in #5417
- refactor: migrate typescript by @D-Sketon in #5430
Fixes
- Fix typos by @mobeicanyue in #5426
- fix: post_link behaviour when using subdir by @leafbird in #5419
- fix(tag): use url_for by @stevenjoezhang in #5385
- fix(tag/include_code): prevent path traversal by @stevenjoezhang in #5251
- revert(categories,tags): revert behavior of locals.tags and locals.categories by @uiolee in #5388
Refactor
- refactor: backslashes on Windows by @stevenjoezhang in #5457
Test
CI/CD
Docs
Dependencies
- chore(deps): bump hexo-fs from ^4.1.1 to ^4.1.3 by @D-Sketon in #5463
- chore(deps-dev): Limited
@types/node
version by @uiolee in #5411
New Contributors
- @mobeicanyue made their first contribution in #5426
- @leafbird made their first contribution in #5419
Full Changelog: v7.1.1...v7.2.0
v7.1.1
Fixes
Misc
- chore: use
prepublishOnly
instead ofprepublish
and runnpm install
inprepublishOnly
script by @yoshinorin in #5399
Full Changelog: v7.1.0...v7.1.1
v7.1.0
Notable Changes
- chore(Hexo): add event emitter descriptor by @dimaslanjaka in #5302
- refactor: refactor types by @D-Sketon in #5344
New Features
- Added URL hash support for post_link tag by @iliayatsenko in #5356
Fixes
- fix(types): cast from
number
tostring
explicitly by @yoshinorin in #5342 - fix: permalink should be overwritten when post_asset_folder is true by @D-Sketon in #5254
- fix(escapeAllSwigTags): check tag completeness by @uiolee in #5395
CI/CD
- ci(commenter): use workflows_run event to comment flamegraph by @uiolee in #5384
- ci(benchmark): add PR permissions for comment by @uiolee in #5334
Dependencies
- chore: bump typescript from 4.9.5 to 5.3.2 by @dependabot in #5358
- chore(deps-dev): remove @ts/eslint-plugin, parser by @uiolee in #5290
- chore: bump c8 from 8.0.1 to 9.0.0 by @dependabot in #5391
- chore(dev-deps): bump sinon from 15.2.0 to 17.0.1 by @dependabot in #5343
- chore(dev-deps): bump lint-staged from 14.0.1 to 15.2.0 by @dependabot in #5373
New Contributors
- @iliayatsenko made their first contribution in #5356
Full Changelog: v7.0.0...v7.1.0
v7.0.0
Migration Guide
built-in tags
WARNING
Some of the built-in tags have been dropped (gist
,youtube
,jsfiddle
, andvimeo
). If you use those tags in your existing blog posts, you can install hexo-tag-embed to continue using them with Hexov7.0.0
.
Note
No need to install it if you are not using (or will not use)gist
,youtube
,jsfiddle
,vimeo
tags in your post or page.
$ npm i hexo-tag-embed
Syntax highlighting
WARNING
Syntax highlighting is refactored and controlled by the following settings. See Syntax Highlighting for more details.
syntax_highlighter: highlight.js # highlight.js | prismjs | <empty>
Breaking Changes
- chore: require node14+ by @yoshinorin in #5061
- Dropped tag features. Please see
Migration Guid
section.- refactor: drop
gist
tag by @yoshinorin in #5067 - refactor: drop
youtube
tag by @yoshinorin in #5064 - refactor: drop
jsfiddle
tag by @yoshinorin in #5066 - refactor: drop
vimeo
tag by @yoshinorin in #5065
- refactor: drop
- Dropped features
- refactor: drop
external_link
boolean type by @yoshinorin in #5063 - refactor: drop
use_date_for_updated
option forupdated_option
by @yoshinorin in #5062 - feat(post): remove front-matter property
link
(#5253) by @stevenjoezhang in #5253
- refactor: drop
- revert: Access data files from source folder (#1969) (#5325) by @stevenjoezhang in #5325
- refactor highlight: add extend api for highlight by @stevenjoezhang in #5095
Notable Changes
- Migrate TypeSctipt
- refactor: prepare for migration to typescript by @stevenjoezhang in #5094
- refactor: migrate typescript by @stevenjoezhang in #5092
- Refactor types by @Pcrab in #5178
New Features
- feat(tags/post_link): search for both slug and title by @stevenjoezhang in #5114
- feat(open_graph): drop google_plus by @stevenjoezhang in #5115
- feat(tags/img): support quotes in img title and alt by @stevenjoezhang in #5112
- feat(console-new): support default title from path by @xu-song in #4714
- feat: add an option to disable titlecase in post by @renbaoshuo in #5156
- feat: add exclude_languages feature to prismjs by @D-Sketon in #5182
- feat(tags/post_link): use slug when title is empty by @stevenjoezhang in #5220
- feat: add url_for and full_url_for tag plugins by @D-Sketon in #5198
- feat: allow top-level await in plugins or scripts by @Pcrab in #5228
- feat: define global variable hexo (#5242) by @dimaslanjaka in #5242
Fixes
- fix(#1099): hexo server error when changing the config by @D-Sketon in #5055
- fix: exclude_languages does not work in code blocks by @stevenjoezhang in #5088
- When promisifying, store does not preserve disableNunjucks property by @tcr in #2670
- fix(post): skip before_post_render and after_post_render on non-posts by @stevenjoezhang in #5118
- fix: Failed to create post with special character title by @D-Sketon in #5149
- fix(box): check for invalid file by @stevenjoezhang in #5173
- fix(backtick_code): handle empty code block by @stevenjoezhang in #5206
- fix(moize): helper function not working fine with relative_url by @D-Sketon in #5217
- fix(post): skip_render not working in post_asset_folder (#5258) by @D-Sketon in #5258
- Revert "fix(backtick_code): handle empty code blocks (#5206)" (#5257) by @stevenjoezhang in #5257
- fix(post-asset): strip extensions better on permalink (#5153) by @KagamigawaMeguri in #5153
- Reverted in: Revert "fix(post-asset): strip extensions better on permalink (#5153)" (#5308) by @stevenjoezhang in #5308
Performance
- perf: reduce the number of traversals through posts by @stevenjoezhang in #5119
- perf(post): cache tags getter (#5145) by @SukkaW in #5145
Refactor
- refactor: use the
WHATWG URL API
instead ofurl.resolve
by @yoshinorin in #5136
CI/CD
- ci: reduce the running of ci (#5282) by @uiolee in #5282
- ci: reduce the running of ci (#5291) by @uiolee in #5291
Dependencies
- chore: bump sinon from 13.0.2 to 14.0.0 by @dependabot in #4965
- chore: bump lint-staged from 11.2.6 to 13.0.3 by @dependabot in #5008
- chore: bump husky from 7.0.4 to 8.0.1 by @dependabot in #4966
- chore: bump hexo-fs from 3.1.0 to 4.0.0 by @dependabot in #5077
- chore: bump hexo-renderer-marked from 5.0.0 to 6.0.0 by @dependabot in #5081
- chore: bump hexo-front-matter from 3.0.0 to 4.0.0 by @dependabot in #5087
- chore: bump abbrev from 1.1.1 to 2.0.0 by @dependabot in #5093
- chore: bump hexo-i18n from 1.0.0 to 2.0.0 by @dependabot in #5099
- chore: bump hexo-util from 2.7.0 to 3.0.1 by @dependabot in #5107
- chore: bump warehouse from 4.0.2 to 5.0.0 by @dependabot in #5101
- chore(deps): update
hexo-log
from3.2.0
to4.0.1
by @yoshinorin in #5096 - chore: bump sinon from 14.0.2 to 15.0.0 by @dependabot in #5121
- chore: change dependencies version by @Pcrab in #5202
- chore: bump c8 from 7.14.0 to 8.0.0 (#5227) by @dependabot in #5227
Test
- test(benchmark): update hexo-many-posts repo by @SukkaW in #5128
- test(list_route): improve coverage by @stevenjoezhang in #5097
- test: improve coverage by @D-Sketon in #5221
- test: improve coverage by @D-Sketon in #5223
Misc
- fix typo (#5245) by @stevenjoezhang in #5245
- chore(github): delete
other
issue template (#5248) by @yoshinorin in #5248 - chore(lint-staged): remove
git-exec-and-restage
(#5281) by @uiolee in #5281 - chore(github): use github issue form (#5319) by @uiolee in #5319
New Contributors
- @D-Sketon made their first contribution in #5055
- @xu-song made their first contribution in #4714
- @tcr made their first contribution in #2670
- @Pcrab made their first contribution in #5178
- @KagamigawaMeguri made their first contribution in #5153
- @dimaslanjaka made their first contribution in #5242
- @uiolee made their first contribution in #5281
Full Changelog
Appendix: Changes between v7.0.0(RC2) and v7.0.0
Breaking Changes
- revert: Access data files from source folder (#1969) (#5325) by @stevenjoezhang in #5325
- feat(post): remove front-matter property
link
(#5253) by @stevenjoezhang in #5253
New Feature
- feat: define global variable hexo (#5242) by @dimaslanjaka in #5242
Performance
Fixes
- fix(post): skip_render not working in post_asset_folder (#5258) by @D-Sketon in #5258
- Revert "fix(backtick_code): handle empty code blocks (#5206)" (#5257) by @stevenjoezhang in #5257
- fix(post-asset): strip extensions better on permalink (#5153) by @KagamigawaMeguri in #5153
- Reverted in: Revert "fix(post-asset): strip extensions better on permalink (#5153)" (#5308) by @stevenjoezhang in #5308
CI/CD
- ci: reduce the running of ci (#5282) by @uiolee in #5282
- ci: reduce the running of ci (#5291) by @uiolee in #5291
Dependencies
- chore: bump c...
v7.0.0 (RC2)
Changes since v7.0.0 (RC1)
New Features
- feat: add exclude_languages feature to prismjs by @D-Sketon in #5182
- feat(tags/post_link): use slug when title is empty by @stevenjoezhang in #5220
- feat: add url_for and full_url_for tag plugins by @D-Sketon in #5198
- feat: allow top-level await in plugins or scripts by @Pcrab in #5228
Fixes
- fix(backtick_code): handle empty code block by @stevenjoezhang in #5206
- fix(moize): helper function not working fine with relative_url by @D-Sketon in #5217
Refactor
Test
Dependencies
New Contributors
Full Changelog: v7.0.0-rc1...v7.0.0-rc2
Changes between v6.3.0 and v7.0.0 (RC1)
Migration Guide
Some of the built-in tags have been dropped (E.g. gist
, youtube
, jsfiddle
, and vimeo
). If you use those tags in your existing blog posts, you can install hexo-tag-embed to continue using them with Hexo 7.0.0.
Note
No need to install it if you are not using (or will not use)
gist
,youtube
,jsfiddle
,vimeo
tags in your post or page.
$ npm i hexo-tag-embed
Breaking Changes
- chore: require node14+ by @yoshinorin in #5061
- Dropped tag features. Please see
Migration Guid
section.- refactor: drop
gist
tag by @yoshinorin in #5067 - refactor: drop
youtube
tag by @yoshinorin in #5064 - refactor: drop
jsfiddle
tag by @yoshinorin in #5066 - refactor: drop
vimeo
tag by @yoshinorin in #5065
- refactor: drop
- Dropped features
- refactor: drop
external_link
boolean type by @yoshinorin in #5063 - refactor: drop
use_date_for_updated
option forupdated_option
by @yoshinorin in #5062
- refactor: drop
Notable Changes
- Migrate TypeSctipt
- refactor: prepare for migration to typescript by @stevenjoezhang in #5094
- refactor: migrate typescript by @stevenjoezhang in #5092
New Features
- feat(tags/post_link): search for both slug and title by @stevenjoezhang in #5114
- feat(open_graph): drop google_plus by @stevenjoezhang in #5115
- feat(tags/img): support quotes in img title and alt by @stevenjoezhang in #5112
- feat(console-new): support default title from path by @xu-song in #4714
- feat: add an option to disable titlecase in post by @renbaoshuo in #5156
Fixes
- fix(#1099): hexo server error when changing the config by @D-Sketon in #5055
- fix: exclude_languages does not work in code blocks by @stevenjoezhang in #5088
- When promisifying, store does not preserve disableNunjucks property by @tcr in #2670
- fix(post): skip before_post_render and after_post_render on non-posts by @stevenjoezhang in #5118
- fix: Failed to create post with special character title by @D-Sketon in #5149
- fix(box): check for invalid file by @stevenjoezhang in #5173
Performance
- perf: reduce the number of traversals through posts by @stevenjoezhang in #5119
Refactor
- refactor highlight: add extend api for highlight by @stevenjoezhang in #5095
- refactor: use the
WHATWG URL API
instead ofurl.resolve
by @yoshinorin in #5136
Dependencies
- chore: bump sinon from 13.0.2 to 14.0.0 by @dependabot in #4965
- chore: bump lint-staged from 11.2.6 to 13.0.3 by @dependabot in #5008
- chore: bump husky from 7.0.4 to 8.0.1 by @dependabot in #4966
- chore: bump hexo-fs from 3.1.0 to 4.0.0 by @dependabot in #5077
- chore: bump hexo-renderer-marked from 5.0.0 to 6.0.0 by @dependabot in #5081
- chore: bump hexo-front-matter from 3.0.0 to 4.0.0 by @dependabot in #5087
- chore: bump abbrev from 1.1.1 to 2.0.0 by @dependabot in #5093
- chore: bump hexo-i18n from 1.0.0 to 2.0.0 by @dependabot in #5099
- chore: bump hexo-util from 2.7.0 to 3.0.1 by @dependabot in #5107
- chore: bump warehouse from 4.0.2 to 5.0.0 by @dependabot in #5101
- chore(deps): update
hexo-log
from3.2.0
to4.0.1
by @yoshinorin in #5096 - chore: bump sinon from 14.0.2 to 15.0.0 by @dependabot in #5121
Test
- test(benchmark): update hexo-many-posts repo by @SukkaW in #5128
- test(list_route): improve coverage by @stevenjoezhang in #5097
New Contributors
- @D-Sketon made their first contribution in #5055
- @xu-song made their first contribution in #4714
- @tcr made their first contribution in #2670
Full Changelog: 6.3.0...v7.0.0-rc1
v7.0.0 (RC1)
Migration Guide
Some of the built-in tags have been dropped (E.g. gist
, youtube
, jsfiddle
, and vimeo
). If you use those tags in your existing blog posts, you can install hexo-tag-embed to continue using them with Hexo 7.0.0.
Note
No need to install it if you are not using (or will not use)
gist
,youtube
,jsfiddle
,vimeo
tags in your post or page.
$ npm i hexo-tag-embed
Breaking Changes
- chore: require node14+ by @yoshinorin in #5061
- Dropped tag features. Please see
Migration Guid
section.- refactor: drop
gist
tag by @yoshinorin in #5067 - refactor: drop
youtube
tag by @yoshinorin in #5064 - refactor: drop
jsfiddle
tag by @yoshinorin in #5066 - refactor: drop
vimeo
tag by @yoshinorin in #5065
- refactor: drop
- Dropped features
- refactor: drop
external_link
boolean type by @yoshinorin in #5063 - refactor: drop
use_date_for_updated
option forupdated_option
by @yoshinorin in #5062
- refactor: drop
Notable Changes
- Migrate TypeSctipt
- refactor: prepare for migration to typescript by @stevenjoezhang in #5094
- refactor: migrate typescript by @stevenjoezhang in #5092
New Features
- feat(tags/post_link): search for both slug and title by @stevenjoezhang in #5114
- feat(open_graph): drop google_plus by @stevenjoezhang in #5115
- feat(tags/img): support quotes in img title and alt by @stevenjoezhang in #5112
- feat(console-new): support default title from path by @xu-song in #4714
- feat: add an option to disable titlecase in post by @renbaoshuo in #5156
Fixes
- fix(#1099): hexo server error when changing the config by @D-Sketon in #5055
- fix: exclude_languages does not work in code blocks by @stevenjoezhang in #5088
- When promisifying, store does not preserve disableNunjucks property by @tcr in #2670
- fix(post): skip before_post_render and after_post_render on non-posts by @stevenjoezhang in #5118
- fix: Failed to create post with special character title by @D-Sketon in #5149
- fix(box): check for invalid file by @stevenjoezhang in #5173
Performance
- perf: reduce the number of traversals through posts by @stevenjoezhang in #5119
Refactor
- refactor highlight: add extend api for highlight by @stevenjoezhang in #5095
- refactor: use the
WHATWG URL API
instead ofurl.resolve
by @yoshinorin in #5136
Dependencies
- chore: bump sinon from 13.0.2 to 14.0.0 by @dependabot in #4965
- chore: bump lint-staged from 11.2.6 to 13.0.3 by @dependabot in #5008
- chore: bump husky from 7.0.4 to 8.0.1 by @dependabot in #4966
- chore: bump hexo-fs from 3.1.0 to 4.0.0 by @dependabot in #5077
- chore: bump hexo-renderer-marked from 5.0.0 to 6.0.0 by @dependabot in #5081
- chore: bump hexo-front-matter from 3.0.0 to 4.0.0 by @dependabot in #5087
- chore: bump abbrev from 1.1.1 to 2.0.0 by @dependabot in #5093
- chore: bump hexo-i18n from 1.0.0 to 2.0.0 by @dependabot in #5099
- chore: bump hexo-util from 2.7.0 to 3.0.1 by @dependabot in #5107
- chore: bump warehouse from 4.0.2 to 5.0.0 by @dependabot in #5101
- chore(deps): update
hexo-log
from3.2.0
to4.0.1
by @yoshinorin in #5096 - chore: bump sinon from 14.0.2 to 15.0.0 by @dependabot in #5121
Test
- test(benchmark): update hexo-many-posts repo by @SukkaW in #5128
- test(list_route): improve coverage by @stevenjoezhang in #5097
New Contributors
- @D-Sketon made their first contribution in #5055
- @xu-song made their first contribution in #4714
- @tcr made their first contribution in #2670
Full Changelog: 6.3.0...v7.0.0-rc1
6.3.0
New Features
- feat(tag/post_link): throw on post_link error by @xbc5 in #4938
- feat(tag/include_code): robust for url compuation of
view raw
by @stevenjoezhang in #4996 - feat(paginator): allow custom class name by @renbaoshuo in #5001
- feat(helper/toc): more flexible class name by @renbaoshuo in #5010
- feat(helper/tagcloud): show_count option (#5047) by @renbaoshuo in #5048
- feat(tag/code): add
language_attr
option (hexojs/hexo-util#278) by @renbaoshuo in #5017 - feat(helper/is): add
is_home_first_page()
helper by @renbaoshuo in #5006
Improvements
Fixes
- fix(hexo/index):
db.json
file path in debug logging on Windows by @stevenjoezhang in #4994 - fix(tag): show source file in unformatted error message by @curbengh in #5031
- Don't use data-uri for og:image by @KentarouTakeda in #5053
Refactors
- refactor(helper/open_graph): use whatwg url api by @renbaoshuo in #5007
- chore(mail_to): use native URLSearchParams by @renbaoshuo in #5002
Test
- test: replace nyc with c8 by @stevenjoezhang in #5040
- chore(test/extend/tag): async function (#3328) by @renbaoshuo in #5003
CI/CD
- chore: Set permissions for GitHub actions by @neilnaveen in #4947
- chore: delete
release-drafter
by @yoshinorin in #5044 - chore: improved benchmark result in github actions by @renbaoshuo in #5013
Dependencies
- chore(deps): bump hexo-util and warehouse by @yoshinorin in #5028
- chore(deps): bump hexo-log from 3.0.0 to 3.2.0 by @yoshinorin in #5054
Misc
- Update license year by @renbaoshuo in #5041
- chore: update issue template by @yoshinorin in #5030
- chore: update .gitignore by @yoshinorin in #4967
New Contributors
- @xbc5 made their first contribution in #4938
- @neilnaveen made their first contribution in #4947
- @ppwwyyxx made their first contribution in #4973
Full Changelog: 6.2.0...6.3.0
6.2.0
Fixes
- fix(#4917): suppress YAMLException when load js-yaml by @yoshinorin in #4927
- This change is workaround for #4917. Please see PR comments.
- chore(deps): bump warehouse from 4.0.0 to 4.0.1 by @yoshinorin in #4943
- This change is workaround for #4922. Please see hexojs/warehouse#123
Refactors
- chore: replace deprecated String.prototype.substr() by @CommanderRoot in #4918
Dependencies
- chore: bump sinon from 12.0.1 to 13.0.2 by @dependabot in #4944
- chore: bump mocha from 9.2.2 to 10.0.0 by @dependabot in #4960
- chore(deps): bump hexo-util from 2.6.0 to 2.6.1 by @yoshinorin in #4957
- chore: bump actions/checkout from 2 to 3 by @dependabot in #4905
Miscs
- chore(bot): delete stale bot by @yoshinorin in #4901
- chore(ISSUE_TEMPLATE): delete
Your theme _config.yml
section by @yoshinorin in #4931
New Contributors
- @CommanderRoot made their first contribution in #4918
Full Changelog: 6.1.0...6.2.0
5.4.2
Fixes
- fix(#4917): downgrade
js-yaml
fromv4.x
tov3.14.x
by @yoshinorin in #4932
Full Changelog: 5.4.1...5.4.2