The StackExchange network decided to switch to CommonMark.

The last time SE decided to make some changes, we experienced a lot of problems. Worse, any official position from the Powers That Be took more than three months to arrive; in the meantime, we were desperately waiting for a feedback. The community itself had to embark on a journey of its own and several users devoted a significant part of their online times to manually fix huge chunks of code in thousands and thousands of questions and answers.

According to their meta thread, the migration of TeX.sx posts is scheduled for June 10, 2020. By the time I am writing this thread, this event will take place tomorrow.

At the risk of sounding pessimistic, and to quote our friend Alan Munn, here we go again.

I suggest to use this thread as a curated list of potential issues emerged from the migration, as well as a perennial reminder to the SE network and Powers That Be to treat us fairly. Because, frankly, you still owe us a lot.

| |
  • 2
    As far as I can see, this will break syntax highlighting of all questions and answers that used things like <!-- language: lang-lua -->, which I used extensively in my older answers. – Henri Menke Jun 9 at 22:37
  • @HenriMenke it's not going to break your old answers for the time being. It would leave them as is until you (or someone else) goes in to edit them. Editing would be a good occasion to switch over to the new fenced code block notation but practically speaking, even then the <!-- language:...--> syntax continues to work for a while (even though I discourage using it). – Ham Vocke Jun 10 at 6:35

Reading some feedback on meta.stackexchange.com I got the impression that this community feels quite tense about the upcoming CommonMark migration. I feel that some extra levels of transparency shared right here might make your lives a little easier and help alleviate some of the tension, so let me try to address some of the concerns and give you a more detailed schedule so none of you needs to feel trapped waiting for the migration to kick off at any time today.


  • 12:06 UTC: kicking off the migration for tex.meta.se. CommonMark is enabled, posts are migrating
  • 12:11 UTC: posts on tex.meta.se are migrated. No problems detected.
  • 12:16 UTC: kicking off the migration for tex.se. CommonMark is enabled, posts are migrating
  • 12:48 UTC: migration for meta and the main sites are done. CommonMark is enabled for all new posts and incoming edits.

Schedule for tex.meta.se and tex.se

I'm in no rush to get this migration started right away. If you want to be around during the migration to double-check that nothing broke that's great.

I aim to run the migration around 12pm UTC.

Things might shift a bit since my days are sometimes unpredictable, but that's roughly what I'm aiming for. I'll update this post once I start the migration and once the migration has finished.

The migration run itself should not take longer than 15 minutes.

Will this break any posts?

I don't know the history of the issues during the last migration first hand but did my best to understand what happened based on what you shared on meta.se. I understand that this has been painful to find and fix.

To reiterate what's going to happen during the migration:

  1. we take the Markdown source of each post on a site
  2. we apply some fixes to make that Markdown CommonMark compliant
  3. we render the new, CommonMark compliant markdown source with our new CommonMark renderer to produce HTML output
  4. we take that HTML and compare it to the current HTML version of that post (the HTML that has been rendered with the old Markdown renderer)
  5. if we figure out that there's a difference between the old and the new HTML output, we will leave the post untouched and continue serving the old HTML version until someone goes in and edits the post in question
  6. if we think there's no difference between new and old HTML, we will store the new, tweaked markdown source as a new revision on the post. The new HTML will be served when viewing the post moving forward

This mechanism itself is quite defensive and will prevent breaking a large scale of posts at once. If a post looks differently after the migration, we won't touch it.

Using revisions allows us to undo things should we detect that something broke. We have a mechanism in place that can roll back all changes that have been done as part of this migration. I hope we never have to use it, but it's there just in case.

These precautions might alleviate some of the concerns we have and I personally put a lot of trust into this process. I tried to do my due diligence and tested scenarios specifically related to the last round of issues that you mentioned.

I also know that I'm fallible and things can go wrong for unforeseen reasons. Please don't take my word that things are going to be just fine. I appreciate feedback and double-checking that we didn't break anything - you all know this site better than I do.

I hope with this more detailed schedule and explanation we can make this experience as smooth as possible. I'll keep this post updated so that you know when you can start hunting for bugs!

| |
  • 8
    Thanks, Ham, for the insightful overview of the entire migration process, we really appreciate it! It seems the best we can do now is wait and see how conversion goes in the upcoming days. Just to give some context: what really hurt us in the last unfortunate event regarding conversion and whatnot wasn't the technical aspect per se, but the deadly silence of SE for months and months on end. If it weren't brave users to take a bold step and fix literally thousands and thousands of posts, this community would be no more. So that's why we are still skeptical of any SE move towards this community. – Paulo Cereda Jun 10 at 9:07
  • 3
    @PauloCereda I understand. Let me try to do better this time and keep the feedback loop as tight as possible! – Ham Vocke Jun 10 at 9:14
  • No hard feelings. :) Thanks a million, Ham! – Paulo Cereda Jun 10 at 9:32
  • 2
    @HamVocke I noticed in this post that previously I could write (read ' as a backtick because I never mastered the syntax in comments :) ''␣'a'' to get it rendered as 'a: that is, I used two backticks plus a space to have a backtick in inline code. After the switch, it renders the leading space, like ␣'a (with an extra leading space). I can see the reasoning for that (and it's really nice that the formatting doesn't change unless I edit the post) but how to I get 'a with the new syntax? (sorry if it's not the right place to ask) – Phelype Oleinik Jun 10 at 12:37
  • 1
    @PhelypeOleinik ''␣'a␣'' looks good to me using the new renderer. That is - include a trailing space to match the leading space. Interesting find! – Ham Vocke Jun 10 at 12:47
  • @HamVocke Oh, indeed, a trailing space works great. Thanks! – Phelype Oleinik Jun 10 at 12:49
  • Syntax highlighting in post previews no longer works. I also posted this on meta.sx, which I guess is the appropriate place. – schtandard Jun 10 at 20:46
  • Is there a list of posts that failed the check in Step 5 (those for which the new HTML would be different)? – ShreevatsaR Jun 25 at 20:23

For users who are curious about how the automated edits look like, and who want to review them for potential issues: visit the profile of the Community user (ID -1), and navigate to 'all actions' → 'revisions', or use this direct link.

They'll be recognizable by the edit summary "Commonmark migration":

enter image description here
(screenshot taken from Meta.SE pending the actual migration)

| |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .