Latest 10.10.4 beta excises troublesome discoveryd code, but why?

On Tuesday Apple released a new beta version of OS X Yosemite. The new 10.10.4 release, build 14E26a, went into the hands of developers and Mac users who are signed up for Apple's AppleSeed public testing program. And it makes an important change to OS X's underlying network technology that may yield improvements for those of us who have been suffering a host of problems for the past several months.

Specifically, a key piece of networking code called discoveryd is gone. In its place is mDNSResponder, the old code that was in Mavericks and every OS X release since Mac OS X 10.2 "Jaguar" came out in 2002. 9to5Mac reported the change late Tuesday.

The problems with Yosemite's networking have run the gamut

Discovery has been at the heart of criticism lobbed at Apple by developers for months. The problems with Yosemite's networking have run the gamut. Wake from sleep stopped working consistently, for example. You'd open your laptop only to stare at a blank screen or a cursor without any activity. Wake On Demand (a feature that makes a Mac wake up when it's pinged by another device over the network) stopped working consistently. Bonjour, Apple's implementation of zero-configuration networking, stopped working consistently. Devices on the network would get renamed with incremented numbers (like "Peter's MacBook Pro (2)"). And DNS, the core technology that translates human-readable domain names (like "imore.com") into their IP addresses, would randomly stop working.

Not all of these may be related exclusively to discoveryd, but discoveryd certainly is contributing to many of them. Discoveryd also demonstrated a penchant for grabbing 100 percent of the CPU's attention and grabbing huge amounts of RAM, too.

Discoveryd was introduced when Yosemite came on the scene last year, and even during the initial beta period, it appeared to cause a lot of trouble. Through months of incremental updates to Yosemite, the problems haven't gone away.

Replacing discoveryd with mDNSResponder is a procedure described on developer discussion boards. It's a fairly elaborate process. It requires using the Terminal command line, so it's not something within the range of many Mac users who prefer to spend their time working in the relative comfort of the Mac graphical user interface. But developers have gotten it to work. Apple seems to have elected to go that route rather than continue to distribute discoveryd, which clearly wasn't up to snuff for many users.

For better or worse, Apple rarely communicates with developers and end users about problems like this

For better or worse, Apple rarely communicates with developers and end users about problems like this. It's frustrating, even for seasoned Mac and iOS developers, when months of complaints, bug filings in Apple's "Radar" system and queries posted to Apple discussion forums lead nowhere. Apple hasn't, to the best of my recollection, published any support articles to help Mac users troubleshoot these problems, either. For that matter, we still don't have a clear idea of why discoveryd replaced mDNSResponder when Yosemite was first released. All we know is that things have sucked since then.

So the latest beta release of 10.10.4 comes as a surprise — a welcome surprise for many of us who have been suffering from discoveryd problems, obviously. But there's still no clear communication from Apple to explain the change. What's more, the 10.10.4 release is a beta. There's no way to know if this is a permanent change from Apple or a temporary fix while Apple address discoveryd problems in a more substantive way.

Since I installed the latest beta, my Mac's network name hasn't jumped any digits. It's waking from sleep faster than at any time I can remember since I installed Yosemite. To that end, trusty old mDNSResponder seems to do the job better than discoveryd. I'll temper my optimism by reminding you that I've had the latest beta installed for less than a day.

Will this change be permanent? I doubt it. Apple replaced mDNSResponder with discoveryd for a reason. But it's certainly an improvement for now, and I welcome it.

Are you using the latest beta? Or are you still suffering problems in 10.10.3? Sick and tired of networking problems plaguing your Yosemite machines? Or are you not having trouble at all? Sound off in the comments.

Peter Cohen