Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for release of v4.1.0 #8209

Merged
merged 13 commits into from May 27, 2020
82 changes: 41 additions & 41 deletions History.markdown
Expand Up @@ -2,48 +2,57 @@

### Bug Fixes

* Memoize absolute_url and relative_url filters (#7793)
* Fix documentation comment for Jekyll::Converters::Identity (#7883)
* Optimize Jekyll::Filters#item_property (#7696)
* Allow multiple binary operators in where_exp filter (#8047)
* Memoize `absolute_url` and `relative_url` filters (#7793)
* Fix documentation comment for `Jekyll::Converters::Identity` (#7883)
* Optimize `Jekyll::Filters#item_property` (#7696)
* Allow multiple binary operators in `where_exp` filter (#8047)
* Fix documents custom-ordering logic (#8028)
* Use `layout.path` when rendering the Liquid layout (#8069)
* Reduce array allocations from `StaticFile#path` (#8083)
* Simplify `Jekyll::Renderer#validate_layout` (#8064)
* Add static file's basename to its url_placeholder (#7908)
* Add static file's basename to its `url_placeholder` (#7908)
* Clear cached Liquid template scope before render (#7967)
* Add slugified_categories URL placeholder (#8094)
* Cache URLFilter results of string inputs per site (#7990)
* Use platforms instead of install_if (#8140)
* Cache `URLFilter` results of string inputs per site (#7990)
* Use `platforms` instead of `install_if` in Gemfile (#8140)
* Config include trailing slash (#8113)
* Allow extensionless document in a strict site (#7950)
* Improve path normalization in liquid_renderer (#8075)
* Switch slugify regex to support more Unicode character groups (#8167)
* Check if entry is a directory once per enumerator (#8177)
* Filter out exclusively excluded entries sooner (#7482)
* Return `relative_url` if site.url is an empty string (#7988)
* Configure kramdown toc_levels as array by default (#8015)
* Reduce `Pathname` objects from front matter defaults (#8067)
* Simplify `Jekyll::Hooks.trigger` logic (#8044)
* Quicker categories for documents without superdirs (#7987)
* Reduce `Jekyll::Renderer` instances during a build (#7570)
* Escape regex characters in paths to match (#8138)
* Provide invokables for common drop query keys (#8165)
* Optimize path sanitization of default front matter (#8154)
* Initialize static files' data hash only if needed (#8188)
* Initialize include-files as Jekyll objects (#8158)

### Minor Enhancements

* serve: add support for ECC certificates (#7768)
* Update item_property to recognize integers (#7878)
* Include _config.yml in a new theme's gemspec (#7865)
* Update `item_property` to recognize integers (#7878)
* Include `_config.yml` in a new theme's gemspec (#7865)
* Add an option to easily disable disk-cache (#7928)
* Optimize markdown parsing with Kramdown by reusing the options and parser objects (#8013)
* Add PageDrop to provide Liquid templates with data (#7992)
* Add `PageDrop` to provide Liquid templates with data (#7992)
* Optimize `Kramdown::JekyllDocument#to_html` calls (#8041)
* Reduce Jekyll::Renderer instances during a build (#7570)
* Configure default language for syntax-highlighting (#8035)
* Remove dev dependencies from new theme-gem gemspec (#8042)
* Allow disabling import of theme configuration (#8131)
* Allow excerpts to be generated for Page objects (#7642)
* Profile various stages of a site's build process (#6760)
* Allow excerpts to be generated for `Page` objects (#7642)
* Profile various stages of a site's build process (#6760)
* Add find filters to optimize where-first chains (#8171)
* Make number_of_words respect CJK characters (#7813)
* Initialize static files' data hash only if needed (#8188)
* Make `number_of_words` filter respect CJK characters (#7813)
* Allow extensionless document in a strict site (#7950)
* Add `:slugified_categories` URL placeholder (#8094)

### Documentation

* Add dropped 'title: Staff' to the code (#7805)
* Add dropped 'title: Staff' to the code (#7805)
* Clarify docs for static files in collection (#7812)
* Rephrase the CircleCI v2 section (#7815)
* Update old GitHub wiki URL with new one (#7823)
Expand All @@ -52,7 +61,7 @@
* Doc: minor fix, should be greater or equal to min version (#7856)
* Update third-party.md - Fix broken link (#7857)
* clarify _config.yml/collections type (#7873)
* Replace `` with html tag (#7879)
* Replace backticks with HTML tags in data file (#7879)
* add new theme source (#7875)
* fixed grammatical error (it's --> its) (#7887)
* Docs: Clarify organizing pages into subfolders (#7896)
Expand All @@ -61,23 +70,23 @@
* docs: add options for watch and force polling (#7918)
* add install instructions for ArchLinux and openSUSE (#7920)
* Improve index page of Jekyll documentation (#7926)
* Include path in jekyll new commands (Usage docs) (#7931)
* Include path in `jekyll new` commands (Usage docs) (#7931)
* Change `affect` to `effect` in the collections docs (#7937)
* Changed deprecated command in themes documentation (#7941)
* Adds some documentation for the :clean, :on_obsolete hook (#7954)
* Adds some documentation for the `:clean`, `:on_obsolete` hook (#7954)
* docs: fix broken link (#7955)
* Corrected typo (#7975)
* Corrected typo (#7975)
* docs: remove watch option in config (#7940)
* Correct a sentence in the documentation (#7978)
* Fix YAML representation of `group_by` result (#7979)
* Move --baseurl to build command options (#7985)
* Move `--baseurl` to build command options (#7985)
* Correct documentation of filters (#7989)
* Document sorting two documents by their `date` (#7870)
* Fix English grammar error. (#7994)
* Fix English grammar error (#7994)
* Update 03-front-matter.md (#7996)
* Add Kentico Kontent CMS integration to resources (#8000)
* Update 07-assets.md (#7413)
* Fix file references in Step by Step Tutorial's Assets step (#8007)
* Fix file references in Step by Step Tutorial's Assets step (#8007)
* docs: improve highlighting of code blocks (#8017)
* remove leading slash from Sass file location (#8021)
* [Docs] Fix asset link ref in step-by-step tutorial (#8026)
Expand All @@ -103,7 +112,7 @@
* docs: update your-first-plugin.md (#8147)
* Fix typo in documentation on GitHub Actions (#8162)
* Ease discovery of CLI commands (in their entirety) (#8178)
* Remove sudo from Travis CI tutorial (#8187)
* Remove `sudo` from Travis CI tutorial (#8187)
* Add Gitlab Pages to 3rd party list (#8191)
* docs: add 21yunbox for deployment (#8193)
* Improve documentation on tags and categories (#8196)
Expand All @@ -112,40 +121,31 @@

* Ci/GitHub actions (#7822)
* Rubocop version upgrade (#7846)
* Split action steps to avoid using `&&` on Windows (#7885)
* Split action steps to avoid using `&&` on Windows (#7885)
* Upgrade rake to use version 13 (#7910)
* Update dependency constraint to allow RuboCop v0.76 (#7893)
* Use bash executable consistently (#7909)
* Test with JRuby 9.2.9.0 (#7779)
* Bump RuboCop to v0.79.x (#7970)
* Remove post-install message from gemspec (#7974)
* Return relative_url if site.url is an empty string (#7988)
* Attain Ruby 3.0 compatibility (#7948)
* Test where filter handling numeric property values (#7821)
* Test `where` filter handling numeric property values (#7821)
* chore(deps): rubocop 0.80.0 (#8012)
* Update unit tests for Kramdown-based converter (#8014)
* Add Visual Studio Code Development Container (#8016)
* Configure kramdown toc_levels as array by default (#8015)
* Simplify Jekyll::Hooks.trigger logic (#8044)
* chore: simplify require for Jekyll::VERSION (#8057)
* chore: simplify require for `Jekyll::VERSION` (#8057)
* Remove version-constraint relaxation for i18n gem (#8055)
* Mirror `spec.homepage` as `metadata["homepage_uri"]` (#8056)
* Reduce Pathname objects from front matter defaults (#8067)
* Quicker categories for documents without superdirs (#7987)
* Mirror `spec.homepage` as `metadata["homepage_uri"]` (#8056)
* Bump Ruby versions on Travis builds (#8088)
* Escape regex characters in paths to match (#8138)
* chore(ci): cache dependencies (#8168)
* Provide invokables for common drop query keys (#8165)
* Optimize path sanitization of default front matter (#8154)
* Initialize include-files as Jekyll objects (#8158)

### Site Enhancements

* Optimize rendering of the documentation site (#8020)
* Utilize relative_url filter in documentation site (#8089)
* Utilize `relative_url` filter in documentation site (#8089)
* Render tutorial metadata in documentation site (#8092)
* Improve syntax-highlighting in documentation site (#8079)
* Site: Filter through just the docs collection (#8170)
* Site: Filter through just the *docs* collection (#8170)

## 4.0.1 / 2020-05-08

Expand Down
61 changes: 61 additions & 0 deletions docs/_posts/2020-05-25-jekyll-4-1-0-released.markdown
@@ -0,0 +1,61 @@
---
title: 'Jekyll 4.1.0 Released'
date: 2020-05-25 19:25:30 +0530
author: ashmaroli
version: 4.1.0
category: release
---

Hello Jekyllers!

It's time for yet another release that includes enhancements, optimizations and bug-fixes. Highlights of this release
are:

* Jekyll now supports rendering excerpts for *pages* in addition to documents and posts.
* The `where_exp` filter got enhanced. Earlier, one could just use either `and` or `or` once per expression. Now, one
may use those binary operators multiple times in the filter's expression.
* Jekyll has a new set of filters based on *its flavor* of the `where` and `where_exp` filters. Named `find` and
`find_exp` filters respectively, they work similar to their ancestors except that they return **the first object** that
satisfies the given conditions.
ashmaroli marked this conversation as resolved.
Show resolved Hide resolved
* Jekyll's `number_of_words` filter can now take [an optional argument][filters-docs] to better count words of text
containing Chinese, Japanese or Korean characters.
* One may now use `:slugified_categories` in their permalink configurations to generate a more apt URL (categories are
downcased and non-alphanumeric characters replaced by dashes) for their for posts and documents.
* The logic for *slugifying* a given string has been enhanced to support more Unicode characters.
* If you face issues from Jekyll importing a config file bundled within a theme, you can now disable the import entirely
by setting `ignore_theme_config: true` in your site's configuration file.
* If you face issues from Jekyll's disk-caching feature, you can now disable the mechanism without opting to build in
`safe` mode, by either setting `disable_disk_cache: true` in your configuration file or by passing the CLI switch
`--disable-disk-cache` to `jekyll build` or `jekyll serve` commands.
* When you build a site with the `--profile` switch, Jekyll will now additionally output a small table showing the amount
of time taken during various stages of the *build process*.
* Jekyll's development server now supports certificates based on Elliptic-curve cryptography.

For the interest of plugin authors:
* `Jekyll::Page` now uses a Liquid Drop to expose attributes for Liquid templates. However, its subclasses will continue
using the legacy `ATTRIBUTES_FOR_LIQUID` hash by default. More details in the [associated documentation][page-drop-docs]
* Excerpts won't be generated for `Jekyll::Page` subclasses automatically unless such instances have an `excerpt` key in
their `data` hash.

For the interest of gem-based theme authors:
* From `v4.1.0` onwards, a newly generated theme workspace (via `jekyll new-theme ...`) will have the gemspec configured
to bundle a `_config.yml` at the root of the workspace. If you don't wish to include the configuration file in the
released gem, please remove `|_config\.yml` from the regular expression in the gemspec.

[filters-docs]: {{ 'docs/liquid/filters/' | relative_url }}
[page-drop-docs]: {{ 'docs/pages/#for-plugin-developers' | relative_url }}

We are thankful to our community for all the contributions that helped shape this release.
Special thanks to the following 78 contributors (in alphabetical order) who made this release possible and took the time
to submit a pull request:

Aaron Adams, Aaron K Redshaw, Alexandre Zanni, Anindita Basu, Arthur Zey, Artyom Tokachev, Ashwin Maroli, Atlas Cove,
Ben Stolovitz, Billy Kong, Christian Oliff, codenitpicker, csquare, Damien St Pierre, Daniel Leidert, David Zhang,
ddocs, dgolant, dkalev, Dmitry Egorov, dotnetCarpenter, Edward Thomson, Eric Knibbe, Frank Taillandier, Gabriel Rubens,
Gareth Mcshane, Grzegorz Kaczorek, guanicoe, Harry Wood, HTeuMeuLeu, iBug, İsmail Arılık, Itay Shakury, Ivan Gromov,
Ivan Raszl, J·Y, James Buckley, Jason Taylor, JC, jeffreytse, Johan Wigert, jonas-krummenacher, Justin Jia,
Kayce Basques, Kieran Barker, Leo, Liam Bigelow, lizharris, Lizzy Kate, Luis Puente, Mark Bennett, Matt Penna,
Matt Rogers, matt swanson, Max Chadwick, michaelcurrin, Mike Kasberg, Mike Neumegen, Muhammed Salih, Nikhil Benesch,
Paramdeo Singh, Patrik Eriksson, Phil Nash, Philip Eriksson, R.P. Pedraza, Radoslav Karlík, Riccardo Porreca,
sharath Kumar, Simone Arpe, Takashi Udagawa, Tobias Klüpfel, Toby Glei, vhermecz, Viktor Szakats, Ward Sandler, wzy,
XhmikosR, Zlatan Vasović.