Major Enhancements
- Liquid profiler (i.e. know how fast or slow your templates render) (#3762)
- Incremental regeneration (#3116)
- Add Hooks: a new kind of plugin (#3553)
- Upgrade to Liquid 3.0.0 (#3002)
site.posts
is now a Collection instead of an Array (#4055)- Add basic support for JRuby (commit: 0f4477)
- Drop support for Ruby 1.9.3. (#3235)
- Support Ruby v2.2 (#3234)
- Support RDiscount 2 (#2767)
- Remove most runtime deps (#3323)
- Move to Rouge as default highlighter (#3323)
- Mimic GitHub Pages
.html
extension stripping behavior in WEBrick (#3452) - Always include file extension on output files (#3490)
- Improved permalinks for pages and collections (#3538)
- Sunset (i.e. remove) Maruku (#3655)
- Remove support for relative permalinks (#3679)
- Iterate over
site.collections
as an array instead of a hash. (#3670) - Adapt StaticFile for collections, config defaults (#3823)
- Add a Code of Conduct for the Jekyll project (#3925)
- Added permalink time variables (#3990)
- Add
--incremental
flag to enable incremental regen (disabled by default) (#4059)
Minor Enhancements
- Deprecate access to Document#data properties and Collection#docs methods (#4058)
- Sort static files just once, and call
site_payload
once for all collections (#3204) - Separate
jekyll docs
and optimize external gem handling (#3241) - Improve
Site#getConverterImpl
and call itSite#find_converter_instance
(#3240) - Use relative path for
path
Liquid variable in Documents for consistency (#2908) - Generalize
Utils#slugify
for any scripts (#3047) - Added basic microdata to post template in site template (#3189)
- Store log messages in an array of messages. (#3244)
- Allow collection documents to override
output
property in front matter (#3172) - Keep file modification times between builds for static files (#3220)
- Only downcase mixed-case categories for the URL (#2571)
- Added per post
excerpt_separator
functionality (#3274) - Allow collections YAML to end with three dots (#3134)
- Add mode parameter to
slugify
Liquid filter (#2918) - Perf:
Markdown#matches
should avoid regexp (#3321) - Perf: Use frozen regular expressions for
Utils#slugify
(#3321) - Split off Textile support into jekyll-textile-converter (#3319)
- Improve the navigation menu alignment in the site template on small
screens (#3331) - Show the regeneration time after the initial generation (#3378)
- Site template: Switch default font to Helvetica Neue (#3376)
- Make the
include
tag a teensy bit faster. (#3391) - Add
pkill -f jekyll
to ways to kill. (#3397) - Site template: collapsed, variable-driven font declaration (#3360)
- Site template: Don't always show the scrollbar in code blocks (#3419)
- Site template: Remove undefined
text
class fromp
element (#3440) - Site template: Optimize text rendering for legibility (#3382)
- Add
draft?
method to identify if Post is a Draft & expose to Liquid (#3456) - Write regeneration metadata even on full rebuild (#3464)
- Perf: Use
String#end_with?("/")
instead of regexp when checking paths (#3516) - Docs: document 'ordinal' built-in permalink style (#3532)
- Upgrade liquid-c to 3.x (#3531)
- Use consistent syntax for deprecation warning (#3535)
- Added build --destination and --source flags (#3418)
- Site template: remove unused
page.meta
attribute (#3537) - Improve the error message when sorting null objects (#3520)
- Added liquid-md5 plugin (#3598)
- Documentation: RR replaced with RSpec Mocks (#3600)
- Documentation: Fix subpath. (#3599)
- Create 'tmp' dir for test_tags if it doesn't exist (#3609)
- Extract reading of data from
Site
to reduce responsibilities. (#3545) - Removed the word 'Jekyll' a few times from the comments (#3617)
bin/jekyll
: with no args, exit with exit code 1 (#3619)- Incremental build if destination file missing (#3614)
- Static files
mtime
liquid should return aTime
obj (#3596) - Use
Jekyll::Post
s for both LSI indexing and lookup. (#3629) - Add
charset=utf-8
for HTML and XML pages in WEBrick (#3649) - Set log level to debug when verbose flag is set (#3665)
- Added a mention on the Gemfile to complete the instructions (#3671)
- Perf: Cache
Document#to_liquid
and invalidate where necessary (#3693) - Perf:
Jekyll::Cleaner#existing_files
: Callkeep_file_regex
and
keep_dirs
only once, not once per iteration (#3696) - Omit jekyll/jekyll-help from list of resources. (#3698)
- Add basic
jekyll doctor
test to detect fsnotify (OSX) anomalies. (#3704) - Added talk.jekyllrb.com to "Have questions?" (#3694)
- Performance: Sort files only once (#3707)
- Performance: Marshal metadata (#3706)
- Upgrade highlight wrapper from
div
tofigure
(#3779) - Upgrade mime-types to
~> 2.6
(#3795) - Update windows.md with Ruby version info (#3818)
- Make the directory for includes configurable (#3782)
- Rename directory configurations to match
*_dir
convention for consistency (#3782) - Internal: trigger hooks by owner symbol (#3871)
- Update MIME types from mime-db (#3933)
- Add header to site template
_config.yml
for clarity & direction (#3997) - Site template: add timezone offset to post date frontmatter (#4001)
- Make a constant for the regex to find hidden files (#4032)
- Site template: refactor github & twitter icons into includes (#4049)
- Site template: add background to Kramdown Rouge-ified backtick code blocks (#4053)
Bug Fixes
post_url
: fix access deprecation warning & fix deprecation msg (#4060)- Perform jekyll-paginate deprecation warning correctly. (#3580)
- Make permalink parsing consistent with pages (#3014)
time()
pre-filter method should accept aDate
object (#3299)- Remove unneeded end tag for
link
in site template (#3236) - Kramdown: Use
enable_coderay
key instead ofuse_coderay
(#3237) - Unescape
Document
output path (#2924) - Fix nav items alignment when on multiple rows (#3264)
- Highlight: Only Strip Newlines/Carriage Returns, not Spaces (#3278)
- Find variables in front matter defaults by searching with relative file path. (#2774)
- Allow variables (e.g
:categories
) in YAML front matter permalinks (#3320) - Handle nil URL placeholders in permalinks (#3325)
- Template: Fix nav items alignment when in "burger" mode (#3329)
- Template: Remove
!important
from nav SCSS introduced in #3329 (#3375) - The
:title
URL placeholder for collections should be the filename slug. (#3383) - Trim the generate time diff to just 3 places past the decimal place (#3415)
- The highlight tag should only clip the newlines before and after the entire block, not in between (#3401)
- highlight: fix problem with linenos and rouge. (#3436)
Site#read_data_file
: read CSV's with proper file encoding (#3455)- Ignore
.jekyll-metadata
in site template (#3496) - Template: Point documentation link to the documentation pages (#3502)
- Removed the trailing slash from the example
/blog
baseurl comment (#3485) - Clear the regenerator cache every time we process (#3592)
- Readd (bring back) minitest-profile (#3628)
- Add WOFF2 font MIME type to Jekyll server MIME types (#3647)
- Be smarter about extracting the extname in
StaticFile
(#3632) - Process metadata for all dependencies (#3608)
- Show error message if the YAML front matter on a page/post is invalid. (#3643)
- Upgrade redcarpet to 3.2 (Security fix: OSVDB-120415) (#3652)
- Create #mock_expects that goes directly to RSpec Mocks. (#3658)
- Open
.jekyll-metadata
in binary mode to read binary Marshal data (#3713) - Incremental regeneration: handle deleted, renamed, and moved dependencies (#3717)
- Fix typo on line 19 of pagination.md (#3760)
- Fix it so that 'blog.html' matches 'blog.html' (#3732)
- Remove occasionally-problematic
ensure
inLiquidRenderer
(#3811) - Fixed an unclear code comment in site template SCSS (#3837)
- Fix reading of binary metadata file (#3845)
- Remove var collision with site template header menu iteration variable (#3838)
- Change non-existent
hl_linenos
tohl_lines
to allow passthrough in safe mode (#3787) - Add missing flag to disable the watcher (#3820)
- Update CI guide to include more direct explanations of the flow (#3891)
- Set
future
tofalse
in the default config (#3892) - filters:
where
should compare stringified versions of input & comparator (#3935) - Read build options for
jekyll clean
command (#3828) - Fix #3970: Use Gem::Version to compare versions, not
>
. - Abort if no subcommand. Fixes confusing message. (#3992)
- Whole-post excerpts should match the post content (#4004)
- Change default font weight to 400 to fix bold/strong text issues (#4050)
- Document: Only auto-generate the excerpt if it's not overridden (#4062)
- Utils:
deep_merge_hashes
should also mergedefault_proc
(45f69bb) - Defaults: compare paths in
applies_path?
asString
s to avoid confusion (7b81f00)
Development Fixes
- Remove loader.rb and "modernize"
script/test
. (#3574) - Improve the grammar in the documentation (#3233)
- Update the LICENSE text to match the MIT license exactly (#3253)
- Update rake task
site:publish
to fix minor bugs. (#3254) - Switch to shields.io for the README badges. (#3255)
- Use
FileList
instead ofDir.glob
insite:publish
rake task (#3261) - Fix test script to be platform-independent (#3279)
- Instead of symlinking
/tmp
, create and symlink a localtmp
in the tests (#3258) - Fix some spacing (#3312)
- Fix comment typo in
lib/jekyll/frontmatter_defaults.rb
(#3322) - Move all
regenerate?
checking toRegenerator
(#3326) - Factor out a
read_data_file
call to keep things clean (#3380) - Proof the site with CircleCI. (#3427)
- Update LICENSE to 2015. (#3477)
- Upgrade tests to use Minitest (#3492)
- Remove trailing whitespace (#3497)
- Use
fixture_site
for Document tests (#3511) - Remove adapters deprecation warning (#3529)
- Minor fixes to
url.rb
to follow GitHub style guide (#3544) - Minor changes to resolve deprecation warnings (#3547)
- Convert remaining textile test documents to markdown (#3528)
- Migrate the tests to use rspec-mocks (#3552)
- Remove
activesupport
(#3612) - Added tests for
Jekyll:StaticFile
(#3633) - Force minitest version to 5.5.1 (#3657)
- Update the way cucumber accesses Minitest assertions (#3678)
- Add
script/rubyprof
to generate cachegrind callgraphs (#3692) - Upgrade cucumber to 2.x (#3795)
- Update Kramdown. (#3853)
- Updated the scripts shebang for portability (#3858)
- Update JRuby testing to 9K (3ab386f)
- Organize dependencies into dev and test groups. (#3852)
- Contributing.md should refer to
script/cucumber
(#3894) - Update contributing documentation to reflect workflow updates (#3895)
- Add script to vendor mime types (#3933)
- Ignore .bundle dir in SimpleCov (#4033)
Site Enhancements
- Add 'info' labels to certain notes in collections docs (#3601)
- Remove extra spaces, make the last sentence less awkward in permalink docs (#3603)
- Update the permalinks documentation to reflect the updates for 3.0 (#3556)
- Add blog post announcing Jekyll Help (#3523)
- Add Jekyll Talk to Help page on site (#3518)
- Change Ajax pagination resource link to use HTTPS (#3570)
- Fixing the default host on docs (#3229)
- Add
jekyll-thumbnail-filter
to list of third-party plugins (#2790) - Add link to 'Adding Ajax pagination to Jekyll' to Resources page (#3186)
- Add a Resources link to tutorial on building dynamic navbars (#3185)
- Semantic structure improvements to the post and page layouts (#3251)
- Add new AsciiDoc plugin to list of third-party plugins. (#3277)
- Specify that all transformable collection documents must contain YAML front matter (#3271)
- Assorted accessibility fixes (#3256)
- Update configuration docs to mention
keep_files
fordestination
(#3288, #3296) - Break when we successfully generate nav link to save CPU cycles. (#3291)
- Update usage docs to mention
keep_files
and a warning aboutdestination
cleaning (#3295) - Add logic to automatically generate the
next_section
andprev_section
navigation items (#3292) - Some small fixes for the Plugins TOC. (#3306)
- Added versioning comment to configuration file (#3314)
- Add
jekyll-minifier
to list of third-party plugins (#3333) - Add blog post about the Jekyll meet-up (#3332)
- Use
highlight
Liquid tag instead of the four-space tabs for code (#3336) - 3.0.0.beta1 release post (#3346)
- Add
twa
to the list of third-party plugins (#3384) - Remove extra spaces (#3388)
- Fix small grammar errors on a couple pages (#3396)
- Fix typo on Templates docs page (#3420)
- s/three/four for plugin type list (#3424)
- Release jekyllrb.com as a locally-compiled site. (#3426)
- Add a jekyllrb.com/help page which elucidates places from which to get help (#3428)
- Remove extraneous dash on Plugins doc page which caused a formatting error (#3431)
- Fix broken link to Jordan Thornquest's website. (#3438)
- Change the link to an extension (#3457)
- Fix Twitter link on the help page (#3466)
- Fix wording in code snippet highlighting section (#3475)
- Add a
/
topaginate_path
in the Pagination documentation (#3479) - Add a link on all the docs pages to "Improve this page". (#3510)
- Add jekyll-auto-image generator to the list of third-party plugins (#3489)
- Replace link to the proposed
picture
element spec (#3530) - Add frontmatter date formatting information (#3469)
- Improve consistency and clarity of plugins options note (#3546)
- Add permalink warning to pagination docs (#3551)
- Fix grammar in Collections docs API stability warning (#3560)
- Restructure
excerpt_separator
documentation for clarity (#3550) - Fix accidental line break in collections docs (#3585)
- Add information about the
.jekyll-metadata
file (#3597) - Document addition of variable parameters to an include (#3581)
- Add
jekyll-files
to the list of third-party plugins. (#3586) - Define the
install
step in the CI example.travis.yml
(#3622) - Expand collections documentation. (#3638)
- Add the "warning" note label to excluding
vendor
in the CI docs page (#3623) - Upgrade pieces of the Ugrading guide for Jekyll 3 (#3607)
- Showing how to access specific data items (#3468)
- Clarify pagination works from within HTML files (#3467)
- Add note to
excerpt_separator
documentation that it can be set globally (#3667) - Fix some names on Troubleshooting page (#3683)
- Add
remote_file_content
tag plugin to list of third-party plugins (#3691) - Update the Redcarpet version on the Configuration page. (#3743)
- Update the link in the welcome post to point to Jekyll Talk (#3745)
- Update link for navbars with data attributes tutorial (#3728)
- Add
jekyll-asciinema
to list of third-party plugins (#3750) - Update pagination example to be agnostic to first pagination dir (#3763)
- Detailed instructions for rsync deployment method (#3848)
- Add Jekyll Portfolio Generator to list of plugins (#3883)
- Add
site.html_files
to variables docs (#3880) - Add Static Publisher tool to list of deployment methods (#3865)
- Fix a few typos. (#3897)
- Add
jekyll-youtube
to the list of third-party plugins (#3931) - Add Views Router plugin (#3950)
- Update install docs (Core dependencies, Windows reqs, etc) (#3769)
- Use Jekyll Feed for jekyllrb.com (#3736)
- Add jekyll-umlauts to plugins.md ($3966)
- Troubleshooting: fix broken link, add other mac-specific info (#3968)
- Add a new site for learning purposes (#3917)
- Added documentation for Jekyll environment variables (#3989)
- Fix broken configuration documentation page (#3994)
- Add troubleshooting docs for installing on El Capitan (#3999)
- Add Lazy Tweet Embedding to the list of third-party plugins (#4015)
- Add installation instructions for 2 of 3 options for plugins (#4013)
- Add alternative jekyll gem installation instructions (#4018)
- Fix a few typos and formatting problems. (#4022)
- Fix pretty permalink example (#4029)
- Note that
_config.yml
is not reloaded during regeneration (#4034) - Apply code block figure syntax to blocks in CONTRIBUTING (#4046)
- Add jekyll-smartify to the list of third-party plugins (#3572)