As you may have read, recently GitHub Pages updated the version of Jekyll they run to 3.0.

With that, there’s a number of features they mention as requiring some manual intervention. Right at the bottom of the GitHub post, there’s a link to the Jekyll Upgrade Guide.

One of the features mentioned in this document is the --future flag. This is a feature that was previously true by default, but now is false by default.

What this feature does is allow future-dating of posts: you can write something and it will be in your git repo, but not be published until you build after the post date.

Which means that if I write and test a new post locally this is fine, but if I push it to GitHub, it may not appear. I wrote a quick post yesterday at around 8am my time, and it didn’t appear on GitHub.

Yesterday was Feb 29. So, I assumed (spoiler: incorrectly) that this was a leap year bug.

What actually happened is I blogged in the morning.

Turns out since being forced to use Jekyll 3, this was the first time I had posted so early as to appear as though I was future-dating content, which by default is now not displayed. And GitHub Pages runs on Pacific time (UTC-08:00). I’m current on UTC+11:00. Can you see the problem?

According to GitHub, I’m posting from the future!

Now, the fix for this is as follows: add this to your config.yml

timezone: Australia/Sydney

.. replacing timezone with a value as defined by tzdata.

To enable future-posting, set:

future: true

But, because this issue just happened to be encountered on Feb 29, it was assumed to be a Leap Year bug. I wasn’t the only one to think this. This is just another example of bias being attributed to a misdiagnosis of a problem.