Development

Google Chrome 63: Goodbye .dev, Hello .test

December 7 is a date which lives in infamy. Chrome 63 was officially released. Okay, so really the attack on Pearl Harbor is what is worth remembering about this date, but let’s talk about why the release of Chrome 63 is important to those of us in the world of development.

We are saying goodbye to an old friend: the .dev top-level domain.

Feel free to let that one play while you read on…

What has changed? Well, to start Google bought the .dev top-level domain (TLD). Chrome 63 is the first release that forces HTTPS on .dev domains. So when you go to http://mysite.dev in Chrome 63 and get redirected to https://mysite.dev without any interaction with the server, you’ll know why.

In actuality, you can still use .dev in Chrome, but you need to enable HTTPS for it. You may also need to address any mixed-content errors—trying to load assets like CSS or JavaScript over HTTP when the site is HTTPS. These are good practices anyway, but you may not have planned on fixing that today.

If you’re working on a site that is specifically not HTTPS in production, you want to test as HTTP to make sure everything is 100%.

If you just want to get things done today, close Chrome and use Firefox, Safari, Opera or even Internet Explorer until you can change the top-level domain away from .dev.

Alternatives

Unbeknownst to all of the clever developers using .dev for development, the friendly folks over at the Internet Society hashed this out almost 20 years ago:

   To safely satisfy these needs, four domain names are reserved as
   listed and described below.

                   .test
                .example
                .invalid
              .localhost

      ".test" is recommended for use in testing of current or new DNS
      related code.

      ".example" is recommended for use in documentation or as examples.

      ".invalid" is intended for use in online construction of domain
      names that are sure to be invalid and which it is obvious at a
      glance are invalid.

      The ".localhost" TLD has traditionally been statically defined in
      host DNS implementations as having an A record pointing to the
      loop back IP address and is reserved for such use.  Any other use
      would conflict with widely deployed code which assumes this use.

Others have considered using some alternates in the face of the disruption Chrome 63 caused:

At WebDevStudios, we did a simple poll of the recommended IETF names and wound up with .test (mostly because it’s the shortest to type).

Why Standardize?

There are several reasons to standardize. When working with teams, configuration data is shared. It’s much easier to be able to transfer database data without reconfiguration.

Also, when working on client sites, if you have licensed software from Gravity Forms, Easy Digital Downloads, etc. their license/activation is based on a domain. If you standardize, only one development domain is used per project.

It’s really not a big deal to switch it up. Things will be okay. We promise. You don’t have to switch all of your development sites at once. Just switch them as needed. After you’re done, you might be asking why you didn’t start using .test back in 1999.

Comments

13 thoughts on “Google Chrome 63: Goodbye .dev, Hello .test

  1. For local development I use to set a dev.subdomain instead. Some plugins and services (like Vimeo for example) allows you to set particular domains where their services (videos in case of Vimeo) will be allowed. If I set domain.dev it won’t work, but if I set dev.domain.com (or the actual TLD of the real Live Site, the same set on Vimeo for the videos) they’ll work. So for Local Development, as I use Local by Flywheel and it allows me to set in any way, that’s the way. For Staging Sites, I just use staging.domain.tld… Cheers!

    1. Hi Ben,

      By live staging site what did you mean? I’m guessing you’re referring to the subdomain? What’s happened refers to local development sites, because instead of using `localhost:81/about/`, you could change that to devsite.dev/about/. You aren’t allowed to use .com for local development sites, but now that Chrome treats .dev just like .com, then the browser will think hey this devsite.dev has got to mean something online! No, it wouldn’t check if you meant your local development site unfortunately.

      If you would like HTTPS on your local development site, there are nice programs for this. If you’re already using a local development environment, check if your tool provides HTTPS support. I use Laragon to build my wordpress websites and it is great! Hey you know I could also recommend you try Flywheel Local as they can deal with the HTTPS for you local development environment. That tool is WordPress only but it does it magnificently and it’s pretty easy to use (and it’s free!).
      Please let me know how it goes.

      Kind regards,

      Mic Sumner

  2. This explains a lot! All of the sudden I couldn’t access my local .dev sites. I lost the ability to hit the advanced button, set my site to ignore the warning, and get to work. It forced me to get serious about Local by Flywheel, which solved my problem. Thanks for putting this out there and giving me 3rd-party confirmation that I wasn’t just losing my mind!

    1. I thought I was going mad when I first saw it as well. Then noticed I was running a newer version of chrome than a colleague who wasn’t seeing the problem. Happy to help!

    1. Yep, Firefox, Opera, Safari and IE will be immune to this problem, at least for the time being. Google did purchase the .dev top level domain, so they eventually will start using it for public purposes.

      1. Probably makes sense to add these (temporary?) workarounds to the main article. A lot of people probably aren’t going to scroll down and chip through the comments.

        Just a thought that could help.

  3. Now I understand. I was finishing a site on my local machine and I usually use the .dev domain. It stopped working on Chrome so I have to finish it in Safari.

    Now I understand why. Thanks for the tip, I will start using .test

Have a comment?

Your email address will not be published. Required fields are marked *

accessibilityadminaggregationanchorarrow-rightattach-iconbackupsblogbookmarksbuddypresscachingcalendarcaret-downcartunifiedcouponcrediblecredit-cardcustommigrationdesigndevecomfriendsgallerygoodgroupsgrowthhostingideasinternationalizationiphoneloyaltymailmaphealthmessagingArtboard 1migrationsmultiple-sourcesmultisitenewsnotificationsperformancephonepluginprofilesresearcharrowscalablescrapingsecuresecureseosharearrowarrowsourcestreamsupporttwitchunifiedupdatesvaultwebsitewordpress