Jekyll v4.0.0.pre Release Notes

Release Date: 2019-03-19 // about 5 years ago
  • Major Enhancements

    • ⬇️ Drop ruby 2.3 (#7454)
    • ⬇️ Drop support for Ruby 2.1 and 2.2 (#6560)
    • ⬇️ Drop support for older versions of Rouge (#6978)
    • ⬇️ Drop support for pygments as syntax-highlighter (#7118)
    • ⬇️ Drop support for Redcarpet (#6987)
    • ⬇️ Drop support for rdiscount (#6988)
    • ⬇️ Drop support for jekyll-watch-1.4.0 and older (#7287)
    • Incorporate relative_url filter in link tag (#6727)
    • 🔨 Refactor highlight tag to behave like the raw tag (#6821)
    • ⬆️ Upgrade kramdown dependency to v2.x (#7492)
    • ⬆️ Upgrade i18n to v1.x (#6931)
    • ➕ Add Jekyll::Cache class to handle caching on disk (#7169)
    • Cache converted markdown (#7159)
    • Cache: Do not dump undumpable objects (#7190)
    • 0️⃣ Cache matched defaults sets for given parameters (#6888)
    • Ignore cache directory (#7184)
    • Add Site#in_cache_dir helper method (#7160)
    • ✂ Remove 'cache_dir' during jekyll clean (#7158)
    • 📜 Cache parsed Liquid templates in memory (#7136)
    • Only read layouts from source_dir or theme_dir (#6788)
    • 👍 Allow custom sorting of collection documents (#7427)
    • Always exclude certain paths from being processed (#7188)

    🐛 Bug Fixes

    • 🔒 Security: fix include bypass of EntryFilter#filter symlink check (#7226)
    • Theme gems: ensure directories aren't symlinks (#7419)
    • ➕ Add call to unused method validate_options in commands/serve.rb (#7122)
    • Check if scope applies to type before given path (#7263)
    • Document two methods, simplify one of the methods (#7270)
    • Check key in collections only if it isn't "posts" (#7277)
    • Interpolate Jekyll::Page subclass on inspection (#7203)
    • Measure the no. of times a template gets rendered (#7316)
    • ⬇️ Reduce array traversal in Jekyll::Reader (#7157)
    • Re-implement handling Liquid blocks in excerpts (#7250)
    • Documents should be able to render their date (#7404)
    • 🛠 Fix Interpreter warning from Jekyll::Renderer (#7448)
    • Loggers should accept both numbers and symbols (#6967)
    • Replace regex arg to :gsub with a string arg (#7189)
    • Dont write static files from unrendered collection (#7410)
    • Excerpt handling of custom and intermediate tags (#7382)
    • 🔄 Change future post loglevel to warn to help user narrow down issues (#7527)
    • 🖐 Handle files with trailing dots in their basename (#7315)
    • 🛠 Fix unnecessary allocations via StaticFileReader (#7572)
    • Don't check if site URL is absolute if it is nil (#7498)
    • Avoid unnecessary duplication of pages array (#7272)
    • Memoize Site#post_attr_hash (#7276)
    • 📝 Memoize Document#excerpt_separator (#7569)
    • Optimize Document::DATE_FILENAME_MATCHER to match valid filenames (#7292)
    • Escape valid special chars in a site's path name (#7568)
    • Replace name in Page#inspect with relative_path (#7434)
    • ⚠ Log a warning when the slug is empty (#7357)
    • Push Markdown link refs to excerpt only as required (#7577)

    Minor Enhancements

    • ✨ Enhance --blank scaffolding (#7310)
    • 🛠 Fix custom 404 page for GitHub pages (#7132)
    • Load config file from within current theme-gem (#7304)
    • 👉 Use jekyll-compose if installed (#6932)
    • Suggest re-running command with --trace on fail (#6551)
    • 👌 Support for binary operators in where_exp filter (#6998)
    • Automatically load _config.toml (#7299)
    • ➕ Add vendor folder to a newly installed site's .gitignore (#6968)
    • Output Jekyll Version while debugging (#7173)
    • 📝 Memoize computing excerpt's relative_path (#6951)
    • Skip processing posts that can not be read (#7302)
    • 📝 Memoize the return value of Site#documents (#7273)
    • 0️⃣ Cache globbed paths in front matter defaults (#7345)
    • Cache computed item property (#7301)
    • Cleanup Markdown converter (#7519)
    • Disable Liquid via front matter (#6824)
    • Do not process Liquid in post excerpt when disabled in front matter (#7146)
    • Liquefied link tag (#6269)
    • ⚡️ Update item_property to return numbers as numbers instead of strings (#6608)
    • 👉 Use .markdown extension for page templates (#7126)
    • ➕ Add support for *.xhtml files (#6854)
    • 👍 Allow i18n v0.9.5 and higher (#7044)
    • Ignore permission error of /proc/version (#7267)
    • Strip extra slashes via Jekyll.sanitized_path (#7182)
    • 🚚 Site template: remove default config for markdown (#7285)
    • ➕ Add a custom inspect string for StaticFile objects (#7422)
    • Remind user to include gem in the Gemfile on error (#7476)
    • 0️⃣ Search Front matter defaults for Page objects with relative_path (#7261)
    • 🔧 Configure cache_dir (#7232)
    • 🔒 Lock use of tzinfo gem to v1.x (#7521, #7562)
    • Utilize absolute paths of user-provided file paths (#7450)

    🛠 Development Fixes

    • 👉 Use communicative method parameters (#7566)
    • Scan assert_equal methods and rectify any offenses with a custom RuboCop cop (#7130)
    • ➕ Add a script to profile docs with CI (#7540)
    • ✅ Test with Ruby 2.6 on AppVeyor (#7518)
    • ⚡️ Update gemspec (#7425)
    • ⬆️ Upgrade liquid-c to v4.0 (#7375)
    • ⬆️ Bump RuboCop to v0.63.x (#7489)
    • ⬆️ Bump RuboCop to v0.62.x (#7449)
    • ⬆️ Bump RuboCop to v0.61.x (#7401)
    • ⬆️ Bump RuboCop to v0.60.x (#7338)
    • ⬆️ Bump RuboCop to v0.59.0 (#7237)
    • ⬆️ Bump RuboCop to v0.57.x (#7078)
    • 😌 Relax version constraint on classifier-reborn gem (#7471)
    • ✅ Test with Ruby v2.6 (#7438)
    • Create symlink only if target is accessible (#7429)
    • ✅ Test with oldest and latest Ruby only (#7412)
    • Switch to :install_if for wdm gem (#7372)
    • ⚡️ Update excludes for CodeClimate Analyses (#7365)
    • 👯 CI(Appveyor): shallow clone with 5 last commits (#7312)
    • ⚡️ update yajl-ruby (#7278)
    • ➕ Add cucumber feature to test include_relative tag (#7213)
    • 🔨 Small benchmark refactoring (#7211)
    • 🔒 Lock Travis to Bundler-1.16.2 (#7144)
    • 🛠 Fix incorrectly passed arguments to assert_equal (#7134)
    • 🛠 fix up refute_equal call (#7133)
    • 🛠 Fix RuboCop offences in test files (#7128)
    • 👉 Use assert_include (#7093)
    • 🚀 Remember to release docs gem (#7066)
    • ⚡️ Update RuboCop's config (#7050)
    • 🚚 Useless privates removed (#6768)
    • ✅ Load Rouge for TestKramdown (#7007)
    • ⚡️ yajl-ruby update to v1.4.0 (#6976)
    • ⚡️ Update instructions for releasing docs Gem (#6975)
    • 💎 We are not using Ruby 2.2 anymore (#6977)
    • ✂ Remove unnecessary Jekyll::Page constant (#6770)
    • ✂ Remove unused error class (#6511)

    📚 Documentation

    • ➕ Add Installation Instructions for Ubuntu (#6925)
    • ➕ add liquid tag jekyll-flickr (#6946)
    • ⚡️ Updated copy - fixed casing of SaaS on resources page. (#6949)
    • Do not advise users to install Jekyll outside of Bundler (#6927)
    • Don't prompt for sudo when installing with Ubuntu WSL (#6781)
    • 🛠 Fix typo (#6969)
    • Add version number for group_by_exp doc (#6956)
    • ⚡️ Update Windows install docs (#6926)
    • ✂ Remove documentation for using Redcarpet (#6990)
    • 📚 Updated nginx configuration for custom-404-page documentation (#6994)
    • List all static files variables (#7002)
    • Document that _drafts need to be contained within the custom collection directory (#6985)
    • 🔄 Change for passive voice. (#7005)
    • ➕ Added the CAT plugin to the plugin list (#7011)
    • ⚡️ Updated to supported version (#7031)
    • Clarify definition of 'draft' (#7037)
    • 🔌 Listed the jekyll-target-blank plugin in plugins list. (#7046)
    • Typo (#7058)
    • ➕ Add Hints for some Improved Travis Config in Doc (#7049)
    • ➕ Added plugin json-get. (#7086)
    • ⚡️ Update travis-ci.md to point out "this is an example Gemfile" (#7089)
    • ➕ Adding jekyll-info plugin (#7091)
    • GitHub enables you to use themes from other repos (#7112)
    • ⚡️ Updates to CODE OF CONDUCT (v1.4.0) (#7105)
    • 🐧 Instructions to view theme’s files under Linux (#7095)
    • ➕ Add jekyll-xml-source (#7114)
    • ➕ Add the jekyll-firstimage filter plugin (#7127)
    • 👉 Use a real theme in the example (#7125)
    • ⚡️ Update docs about post creation (#7138)
    • ➕ Add DEV Community's Jekyll tag to community page (#7139)
    • 🎉 Initialize upgrading doc for v4.0 (#7140)
    • ➕ Add version badge for date filters with ordinal (#7162)
    • ➕ Add closing tags for <a> (#7163)
    • ➕ Add TSV to list of supported _data files. (#7168)
    • Corrected sample usage of postfiles (#7181)
    • ➕ Add missing html end tag for code example in section 'For loops' (#7199)
    • 📦 Resolve "Unable to locate package ruby2.4" error (#7196)
    • Installation instructions for Fedora (#7198)
    • 🆕 New docs (#7205)
    • List all standard liquid filters (#7333)
    • 💅 Correct stylesheet url in tutorial step 7 (#7210)
    • ➕ Add some minor improvements to image loading in Showcase page (#7214)
    • 🛠 Fix minor grammatical error (#7215)
    • ➕ Add developer.spotify.com to the Jekyll Showcase (#7217)
    • ✂ Removes quotes from markdown for assets (#7223)
    • Clarified front matter requirement (#7234)
    • 🛠 Minor whitespace fixes (#7238)
    • Explicit location of where to create blog.html (#7241)
    • 🛠 Fix a small grammar error/typo in the docs (#7260)
    • 🏗 Reference the build command options that allows multiple config files (#7266)
    • 🚀 Update 10-deployment.md (#7268)
    • ➕ Add more issue template(s) and pull request template (#7269)
    • 👷 Suggest sites use OpenSSL instead of GnuTLS for their site's CI (#7010)
    • 🛠 Fix broken Contributors link in README.markdown (#7200)
    • ➕ Add title tag to item in RSS template (#7282)
    • More inclusive writing (#7283)
    • Document converter methods (#7289)
    • ➕ Add link tag to item in RSS template (#7291)
    • ➕ Add Isomer to showcase (#7300)
    • ➕ Added missing semicolon (#7306)
    • "This restricts you..." to "This restricts your" (#7307)
    • ➕ Add a link to Giraffe Academy's tutorial (#7325)
    • Grammar correction (#7327)
    • Document Jekyll Filters with YAML data (#7335)
    • ✂ Remove redundant instruction comment (#7342)
    • Minimize rendering count (#7343)
    • ⚡️ Update posts.md (#7360)
    • ➕ Add info how to deploy using pre-push git hook (#7179)
    • 🔌 Textile is only supported through a converter plugin (#7003)
    • ➕ Add documentation for custom tag blocks (#7359)
    • ➕ Added 99inbound's Jekyll post to form resources (#7348)
    • Document page.dir and page.name (#7373)
    • ✂ Remove installation instructions with Homebrew (#7381)
    • 🛠 Fix dead link and misleading prose (#7383)
    • 🛠 Fix content management section (#7385)
    • Proposed re-wording of Sass note. :) (#7392)
    • 💎 Apply ruby official guide documents (#7393)
    • Fix group_by_exp filter example (#7394)
    • Adjust team page listings (#7395)
    • ⚡️ Update resources.md (#7396)
    • ⚡️ Update resources.md (#7397)
    • ✂ Remove alt attribute from a tags (#7407)
    • 🛠 Fix grammatical error in permalinks.md (#7409)
    • 🛠 Fix BASH code-block in ubuntu.md (#7420)
    • zlib is missing (#7428)
    • 📄 Include docs for {{ page.collection }} (#7430)
    • 🛠 Permalink docs typo fixes (#7459)
    • 🛠 Fixed unnecessary aticles and pronouns (#7466)
    • Grammatical correction (#7464)
    • ⚡️ Update resources.md (#7472)
    • Store SSL key and cert in site source (#7473)
    • 🛠 Minor doc fixes (#7495)
    • 🔄 Changed order of steps (#7503)
    • Hosting with AWS Amplify (#7510)
    • 🛠 Fix typo in tutorial for converting existing site (#7524)
    • ➕ Add CloudSh to resource page. (#7497)
    • Check if var exists before include tag (#7530)
    • ➕ Added formX to form-backend resources (#7536)
    • 📄 Clarify docs on collections regarding the need for front matter (#7538)
    • 🛠 Fix incorrect Windows path in themes.md (#7525)
    • Document where Jekyll looks for layouts in a site (#7564)
    • 🔌 Mention CommonMark plugins (#7418)
    • ➕ Addresses bundle not found. (#7351)
    • 🚀 Example of CircleCI deployment through CircleCI v2 (#7024)
    • v4.0 development post (#6934)
    • 🚀 Release post for v3.8.0 (#6849)
    • 🚀 Release Post for v3.6.3, v3.7.4 and v3.8.4 (#7259)

    Site Enhancements

    • ➕ Add @ashmaroli to Core Team listing (#7398)
    • Lnk to Tidelift in site's footer (#7377)
    • 🔗 Link to OpenCollective backing (#7378
    • 🔗 Link to sponsor listing in README (#7405)
    • 👍 Better Performance (#7388)

    🚀 release

    • 🚀 Release v4.0.0.pre.alpha1 (#7574)