Apple unveiled the highly anticipated iPhone Duo today, its first-ever foldable iPhone. I spent a quick few minutes with the device after it was announced, here’s what it looks like in the real world.
Following today’s announcement of the iPhone Duo, Apple has launched a new set of resources to help developers prepare their apps for the company’s first foldable iPhone. Here are the details.
Following today’s “Surprise and Shine” event, Apple has now updated its official Design Resources portal with new product bezels for the iPhone Duo and iPhone 18 Pro. Here are the details.
watchOS 27 includes one new watch face: Siri Modular. The new face is available on both Apple Watch Series and Ultra models. However, the version on Ultra has a few more customization options. Check it out.
Apple today published a new support article that provides more detail on Apple Intelligence usage terms, limits, and restrictions. Here’s what the company says.
Today Apple introduced iPhone 18 Pro and Pro Max, its latest flagship models. While each Pro model is largely identical, there are two exclusive new advantages—one for each model.
If you like the new wallpapers Apple created for the iPhone 18 Pro and iPhone 18 Pro Max, you don’t need to buy a new iPhone to get them. You can download them right here.
iPhone Duo is the name of Apple’s new foldable model, and it’s perhaps the most fascinating new model since the original iPhone. Here are all the little iPhone Duo details you might have missed.
During today’s “Surprise and Shine” event, Apple confirmed the rollout timeline for the new Siri AI, which will launch in English before expanding to five more languages in October. Here are the details.
Apple today unveiled AirPods 5, available to order now starting at just $129, the new version of its entry-level AirPods.
The biggest takeaway is that — among a sea of Apple price increases — the new AirPods are actually cheaper than ever, despite coming with Active Noise Cancellation as standard, and a few other niceties. Here’s what’s new compared to…
Today Apple unveiled three flagship new iPhone models: iPhone 18 Pro and Pro Max as well as the foldable iPhone Duo. Here’s an overview of the key differences between each model.
Apple is launching an all-new set of features called Audio Intelligence, starting with today’s new Apple Watch Series 12 and Apple Watch Ultra 4. The company details how the new feature works, especially around privacy, in a new paper.
Just a month after raising trade-in values across much of its product lineup, Apple has updated them once again following its “Surprise and Shine” event, lowering values for iPhones while increasing them for iPads and most Macs. Here are the new values.
Apple has officially announced the iPhone Duo, its first foldable display device. Additionally, the company has detailed how third-party apps will work with the larger display. This includes three modes for apps that target iOS 26, iOS 27.0, and iOS 27.1.
New Release Candidates for macOS Tahoe 26.7 and macOS Sequoia 15.8 are available to developers and users in the public beta program. Here are the details.
Apple today confirmed that macOS 27 Golden Gate will launch on September 14, alongside iOS 27, iPadOS 27, and its other operating systems. Here’s the full list of compatible Macs.
With the iPhone 18 Pro and Pro Max now starting $100 more than their predecessors, Apple has also applied the price hike to the entire iPhone lineup, including the phones that didn’t change at all.
With the “Surprise and Shine” event now in the books, Apple is now rolling out the first developer and public Release Candidate of macOS 27 Golden Gate ahead of the operating system’s public launch. Here are the details.
Apple has released the first iOS 27 release candidate for testing. The update brings Apple’s next major iPhone software release one step closer to public launch, with Siri AI leading the list of changes.
During its “Surprise and Shine” event today, Apple confirmed that iPadOS 27 will be released in just a few days, on September 14. Here are the compatible devices.
Today Apple unveiled the first foldable iPhone ever: iPhone Duo. But the new model won’t launch alongside iPhone 18 Pro. Instead, Apple has confirmed an October release date.
We didn’t get the new Apple TV 4K model some had predicted in today’s fast-paced ‘Surprise and shine’ event, but the developer and public Release Candidate (RC) of tvOS 27 is now rolling out …
watchOS 27 is coming this month, and now we have an official release date. Apple says we can expect the Apple Watch software update on Monday, September 14. The Apple Watch software update brings Siri AI, new ways to launch apps, and more changes to the device.
Apple today confirmed at its “Surprise and Shine” event that iOS 27 will be released in less than a week, on September 14. Here are the compatible devices.
Apple Watch Series 12 and Apple Watch Ultra 4 are official. Apple has announced its two new Apple Watch models as part of its product event today. An upgraded health tracking system is key to both models.
Today Apple unveiled its latest hardware products during the “Surprise and shine” event, where we also learned the release date for visionOS 27, the new software update for Vision Pro.
Apple today unveiled the A20 Pro, its first chip built on 2nm technology at its “Surprise and Shine” event, bringing major CPU, GPU, and AI upgrades to the iPhone Duo, iPhone 18 Pro, and iPhone 18 Pro Max. Here are the details.
Apple is introducing a new Reference Image feature as part of the new iPhone 18 Pro, which digitally authenticates that the image you took with the camera has not been altered later by AI. If edits have been made, users can see the ‘digital negative’ original and compare the differences.
This is Apple’s answer to the rise of synthetic AI-generated…
Update: Apple’s all-new AirPods 5 now available for pre-order at Amazon from $129 on the base model and the higher-end Wireless Charging Case variant
Just ahead of $50 off, the AirTag 2 all-time low is back, and we are once again tracking $100 off AirPods Max 2. Today’s 9to5Toys Lunch Break is, however, headlined by a giant $500 price…
9to5Mac’s Apple event coverage is brought to you by iMazing: iMazing’s platform for data transfer and device management keeps getting better. Get 20% off iMazing with code 9TO5-SEP26-20OFF.
I’m at Apple Park for today’s “Surprise and shine” event, headlined by the rumored announcement of the iPhone 18 Pro and the foldable iPhone Duo. We’re also expecting the Apple Watch…
Fossil eggshells believed to be from some of the biggest dinosaurs that ever lived have been found in a surprisingly cool climate far from the equator. But those titanosaurs were too big to sit on their eggs. Microscopic evidence shows what they did instead to keep the eggs warm enough to hatch.
John Ternus, ahead of his first product unveiling as Apple CEO, has just posted a mysterious video teasing what may be iPhone 18 Pro’s new camera feature.
We’re just hours away from Apple’s “Surprise and shine” special event, where it’s expected to announce the foldable iPhone Duo, the iPhone 18 Pro, new Apple Watch models, and AirPods 5.
It was widely expected that the first foldable iPhone set to be launched later today would be named the iPhone Ultra. However, a report yesterday said that the device will instead be called the iPhone Duo.
If accurate, it’s an interesting development as it might potentially point to the company reserving the Ultra suffix for a completely different…
9to5Mac Security Bite is exclusively brought to you by Mosyle, the only Apple Unified Platform.Making Apple devices work-ready and enterprise-safe is all we do. Our unique integrated approach to management and security combines state-of-the-art Apple-specific security solutions for fully automated Hardening & Compliance, Next Generation EDR, AI-powered Zero Trust, and exclusive Privilege Management with the most powerful and…
Following the usual tradition, the Apple Store is down ahead of this morning’s September Apple event, kicking off at 10 AM Pacific Time.
We are expecting Apple to announce the new iPhone 18 Pro and Pro Max, the foldable iPhone Duo, Apple Watch Series 12, and updated AirPods (fifth-generation).
Samsung says it welcomes Apple’s entry into the foldable smartphone market, although the company appears to feel threatened by the likely build quality of the iPhone Duo/Ultra.
A Samsung exec said he sees Apple’s launch as “acknowledging and recognizing” the Korean company’s “pioneering” lead …
Apple has hiked priced across its range of products the past few months, but the iPhone has so far escaped unscathed. That is set to change today when Apple unveils its newest lineup of high-end iPhone models, including iPhone 18 Pro, iPhone 18 Pro Max, and the brand new foldable device, the iPhone Duo.
Apple will announce the new Apple Watch lineup later today, and Mark Gurman at Bloomberg has the early scoop. He reports that the Apple Watch Series 12 and Apple Watch Ultra 4 will include a new AI feature that ambiently listens to the microphone, GPS, and uses other sensor data, to generate daily recaps of what you did, including conversation…
Apple is officially set to unveil its first foldable iPhone in a few hours. On the eve of the event, Mark Gurman at Bloomberg has reported some last-minute details, including a spoiler for the foldable iPhone’s actual name: iPhone Duo.
Apple is expected to announce its first-ever foldable iPhone tomorrow, which rumors say could be called the iPhone Ultra. Here are some last-minute rumors about what to expect.
Apple TV subscribers can now watch the first two episodes of “Last Seen,” an Australian kidnapping drama starring Patrick Brammall (Glitch). Watch the trailer below.
Apple has added new hardware identifiers for iPhones, iPads, Macs, and other devices, some of which could be announced as soon as tomorrow at its “Surprise and Shine” event. Here are the details.
Bloomberg reports that the UK intends to introduce legislation that would require Apple and Google to “stop children from taking, sharing or viewing nude images on their phones and tablets.” Here are the details.
A new TrendForce report shows that Apple saw a 14% year-over-year increase in smartphone production during Q2 2026, reaching a 19% share of global production, second only to Samsung. Here are the details.
A new Counterpoint Research report shows Apple, Garmin, and Huawei bucking a market-wide decline in smartwatch shipments in Q2 2026, with Huawei reaching a record share of global shipments. Here are the details.
Meta AI just launched a brand-new iPhone app called Muse from Meta. Similar to Grok Bot in presentation, Muse is a personal AI agent that handles tasks for you.
Last week Sonos unveiled several new features coming to its app soon, and now the first of those upgrades are here in the ‘Sonos 27’ app update. Here are the details.
In April, OpenAI released upgraded image generation technology with ChatGPT Images 2. Five months later, the company is releasing an enhanced version, ChatGPT Images 2.5.
Rumors about the new Apple TV 4K have long suggested it will have a more modern chip to enable Apple Intelligence support. But a new leak uncovered by Aaron Perris points to an even more powerful chip than previously expected.
When tvOS 27 is released later this month, Apple TV users will gain an overhauled Podcasts app. The new version includes Apple’s new video podcast streaming technology.
However, eagle-eyed users may notice that the upcoming software update removes one feature that may be missed after updating: support for shows followed by a URL.
Tomorrow is Apple’s biggest product launch event of the year, with new Apple Watch models expected to debut. And now in an unusual move, the Apple Watch SE 3 is completely unavailable in all configurations on Apple’s website.
While the Labor Day sales are over now, Amazon is still offering holiday deal pricing on AirPods Pro 3 at $50 off and it has brought back all-time lows on AirTag 2 at $20 each. But today’s 9to5Toys Lunch Break is headlined by the very first discount on the brand new M5 Max Mac Studio ahead of delivery this month,…
EU filings revealed today that Apple has acquired a company called Sonera, makers of wearable-centered technology that sounds like it’s from the future.
Apple Arcade adds new titles to its library of ad-free, in-app purchase-free games every month. And next month, five new games are coming per Apple’s latest announcement.
Apple Watch Ultra 4 and Series 12 will be unveiled tomorrow, and a last-minute leak may reveal new features coming in watchOS 27 for the latest models and more.
Counterpoint Research has predicted that global foldable phone shipments will surpass 100 million units by the end of this year, with the iPhone Ultra playing a major role in this growth. The firm says it expects Apple to take 25% of the entire market this year – and it may be the biggest player by the same time next year.
· CBC | Technology News · Amir Said · ~1 min · · note
The Alberta government will work with the Wild Horses of Alberta Society to use contraception for horse population control this fall, with Health Canada granting a research authorization for a birth control vaccine in August.
Code reportedly found in the Camera app in the latest iOS 27 beta appears to point to the introduction of some major pro photography and videography features.
While the stock camera app has grown in power over time, the reported discoveries seem surprising for an app primarily geared to point-and-shoot usage …
Apple @ Work is exclusively brought to you by Mosyle, the only Apple Unified Platform. Mosyle is the only solution that integrates in a single professional-grade platform all the solutions necessary to seamlessly and automatically deploy, manage & protect Apple devices at work. Over 45,000 organizations trust Mosyle to make millions of Apple devices work-ready with no effort and…
For the last few years, the Margaree Salmon Association in northern Cape Breton has been using a method called electrofishing to collect data about the fish in the Margaree River.
Programmable physical controls are becoming key to power user workflows, including agentic programming. Now Logitech is bringing to market a compact solution that fits on any desk.
Logitech today announced the MX Keypad, a $99.99 accessory with nine customizable full-color LCD keys for launching commands, running macros, and accessing AI tools.
Fernando connects from IFA in Berlin to discuss Apple’s forthcoming iPhone Ultra, alongside the five other products that will be announced at this Wednesday’s Surprise and Shine event.
Sponsored by Bitwarden: Register for the free, virtual Open Source Security Summit on September 17, featuring cybersecurity leaders David Sanger and Joseph Menn — and check out Bitwarden for trusted open source…
Flights to and from Indonesia’s capital of Jakarta resumed early Tuesday after ash from a volcanic eruption forced a two-day closure that halted nearly 3,000 flights.
WhatsApp is working on a new feature that will let users connect third-party AI agents to the app, chat with them, and give them instructions to carry out tasks on their behalf. Here are the details.
Apple’s WebKit team is inviting developers to submit their ideas for Interop 2027, the next edition of the cross-browser initiative aimed at improving web interoperability. Here are the details.
Apple TV just wrapped up the third season of its hit sci-fi series Silo, with a fourth and final season already dated for summer next year.
But it seems the streamer has more ambitious plans yet. According to reliable Apple TV reporter Sigmund Judge, Apple is working on a spin-off show that could go into pre-production later in the…
There have long been reports and rumours about Apple working on a foldable clamshell device that is either an iPad, a Mac, one of each, or a hybrid of the two.
A recent report said that although this was once a priority for new CEO John Ternus, the project had been cancelled – but I don’t…
Labor Day 2026 has arrived and you have less than 24 hours left to get in on the massive Amazon and $20 each, AirPods Pro 3 are down at $50 off and you can now score the latest AirPods Max 2 at $100 off the list price.
Those offers join the lowest prices anywhere on the brand new M6 Mac…
If you’re willing to exercise a little patience rather than rushing out to buy a shiny new Apple product on launch day, then Apple’s refurbished store has always been an excellent option. Typically, there will be around a three-month wait between a product launch and the first refurbished models appearing on Apple’s website.
Other companies offers their own alternatives, like…
The prestigious television Emmy Awards began this weekend, with the winners announced for Creative Arts categories. The Primetime award ceremony is coming up on September 14th, which will include the big categories like Best Drama and Best Comedy.
So far, though, Apple will be very happy with the recognition it has gotten, with Apple TV leading the weekend with a…
· CBC | Technology News · Nick Logan · ~1 min · · note
Scientists in the state of Vermont have spent the summer spreading Dutch elm disease to thousands of trees. It’s an experiment to see if a new generation of elms might have resistance to a plague that has been decimating elm populations in the U.S. and Canada for decades.
Apple’s “Rise and Surprise” event is just a few days away on Wednesday, September 9, at 10 am PT. The company is set to unveil the foldable iPhone Ultra and new iPhone 18 Pro and iPhone 18 Pro Max, among other new hardware products.
Looking for new iPhone and iPad games to play? The App Store has plenty of games without ads and in-app purchases.
Apple Arcade is a great subscription option for families, though it’s not the only game in town. If you’re a Netflix subscriber, you’re also paying for a huge catalog of great iPhone and iPad games.
According to the latest edition of the Power On newsletter from Mark Gurman, Apple is reportedly considering making some changes to its App Store. The goal? To increase the potential revenue it brings in.
As drought dries B.C. streams, volunteers are moving stranded salmon and other fish to deeper water. But scientists warn rescue efforts are becoming harder to sustain as waterways shrink and extreme heat intensifies.
As soon as next month, Apple is expected to introduce its next MacBook Pro redesign. We’ll be seeing OLED, the first touchscreen on a Mac, a thinner chassis, Dynamic Island, and much more. This upgrade was rumored to be called MacBook Ultra, though it wasn’t necessarily clear where that’d leave the MacBook Pro brand. Now, it’s a lot more…
Last year, Apple completely reinvented multitasking on the iPad, with the introduction of windowing in iPadOS 26. At first, this meant the removal of the simpler version of multitasking, Split View and Slide Over. Those features did eventually return, but at a cost – they required you to use the clunky new windowing system. I was hoping iPadOS 27…
Welcome to Indie App Spotlight. This is a weekly 9to5Mac series where we showcase the latest apps in the indie app world. If you’re a developer and would like your app featured, get in contact.
Calendar events can often be missed, especially since they’re usually just a notification. If you’re in do not disturb or simply aren’t looking…
This month, Apple will be unveiling its first foldable iPhone – rumored to be called iPhone Ultra. It’s going to feature a 5.5-inch outer display and 7.6-inch inner display. In July, Samsung introduced the new Galaxy Z Fold 8 – and it comes with those same screen sizes.
Whether or not you believe Samsung only made this phone to preempt…
Apple @ Work is exclusively brought to you by Mosyle, the only Apple Unified Platform. Mosyle is the only solution that integrates in a single professional grade platform all the solutions necessary to seamlessly and automatically deploy, manage, and protect Apple devices at work. Over 45,000 organizations trust Mosyle to make millions of Apple devices work ready with no…
· CBC | Technology News · Colin Butler · ~1 min · · note
New research suggests Great Lake sturgeon may live more than 400 years — far longer than previously thought. The discovery is forcing scientists to rethink the already-generations-long effort to bring the giant fish back from the brink of extinction.
CarPlay has picked up its fifth major AI chatbot app with the addition of Claude. Anthropic’s iPhone app adding CarPlay is the second AI chatbot app to be updated with support this week.
When watchOS 27 is released later this month, Apple Watch users may notice that some things work a bit differently. The upcoming software update removes three features that users may miss after updating.
In August, Fender released the $299 MIX wireless headphones. The over-ear headphones come with a replaceable battery and the FWD Tx USB-C wireless transmitter for low-latency, lossless connectivity. Fender MIX headphones also now include an iPhone app for tuning the experience.
John Ternus became Apple’s new CEO this week, and today the Financial Timespublished a profile that offers fresh insights into Ternus’s life and reputation among Apple employees and partners.
My door has had a smart lock on it for 5-6 years, and I’ve tried plenty of options. The ULTRALOQ Bolt Fingerprint is a great option for almost anyone thanks to its Apple Home integration, built-in Wi-Fi, and plenty of ways to lock and unlock your door. Whether you’re looking for fingerprint ID unlock or a simple PIN, this lock…
Last month, SpaceXAI launched Grok Bot, an iMessage-style AI system that displays agents as teammates. The product originally arrived as an iPhone and Mac app with a very expensive price tag. In the weeks since launch, Grok Bot has expanded to the iPad and dramatically lowered the cost.
The United Nations on Friday voted for a shift away from the 16th-century Mercator global map toward one more accurately reflecting countries’ true size, a resolution sponsored by African states to counter perceptions that the continent is peripheral.
Silo’s season 3 finale is available now, and Apple TV has already announced the release date for season 4. Here’s when it’s coming, plus the first Silo season 4 trailer.
In general, we’re not expecting the iPhone 18 Pro to be a significant upgrade over its predecessor. Indeed, if you currently have an older iPhone there are arguments for buying the iPhone 17 Pro ahead of next week’s launch.
Of the few upgrades we are expecting, the biggest one on paper is going to be a variable aperture lens for…
Apple is launching new iPhones next week, and a Bloomberg report today details what to expect from those models as well as the roadmap for 2027 and 2028 debuts.
We are heading into the weekend with the massive Labor Day sale at Amazon and the ongoing $50 price drop on AirPods Pro 3, but at $329 off, this standard Studio Display model at the all-time low, and some Apple Refurb options at up to $500 off. Just be sure to also scope out this Midnight 16GB/1TB 13-inch M5…
Apple TV is now airing Ted Lasso season 4, and more high-profile shows and movies are coming to the streamer soon. Here’s everything in Apple TV’s fall lineup so far, which could keep growing as more premieres are announced.
iPhone 18 Pro and Pro Max will be unveiled next week, and a new report offers fresh details on the flagship “mechanical aperture” camera feature that’s coming, plus mentions an improved vapor chamber and more.
Apple has several new HomePod features in development, based on new code references discovered in audioOS 27. The code seemingly suggests work on a new surround sound system, something called Party Mode, and more.
Apple is about to launch several new Home products, but per a new Bloomberg report, the company has a home security and monitoring service in the works for 2027 too.
We’re less than a week away from Apple announcing its first-ever foldable iPhone. A new supply chain report today says that Apple’s “extremely high quality control standards” have led to a much slower ramp for iPhone Ultra production so far.
Back in July, Apple updated its TestFlight app with a basic search feature. While you might think this simple update would be universally welcomed, the same TestFlight app introduced a pretty frustrating bug for a lot of users.
There’s a new original movie streaming today on Apple TV: a new action-comedy called Mayday, starring Ryan Reynolds and Kenneth Branagh.
Streaming for free with an Apple TV subscription, Mayday sees Troy (Reynolds) infiltrate Russian territory amidst the Cold War. Ex-KGB agent Nikolai (Branagh) becomes an unlikely ally in this caper.
A soaking wet bald eagle that was unable to fly was rescued from the Brantford Landfill Site Scale and is recovering at a wildlife rehabilitation facility. “She was soaked to the skin,” says the authorized wildlife custodian at Hobbitstee Wildlife Refuge.
· CBC | Technology News · Kevin Maimann · ~1 min · · note
Tech experts are warning of dire consequences if AI systems continue to escape human control, after a group of OpenAI agents went rogue in July and hacked into a billion-dollar company — what some are calling a “warning shot” amid the rapid development of artificial intelligence.
· CBC | Technology News · David Thurton · ~1 min · · note
The federal government’s new report summarizing the latest science on climate change warns that under current climate policies, the impact on Canadians will likely be “far from benign.”
Apple released the all-new MacBook Neo earlier this year, and it’s been a resounding success by all indications. Here’s everything we know so far about what’s next for Apple’s most affordable laptop …
iPhone 18 Pro and Pro Max will have the same screen sizes as their predecessors, but rumors indicate their displays will be upgraded in two other ways. Here’s what’s coming.
Benjamin and Chance talk about John Ternus’s first week in the job as Apple CEO, and how much Tim Cook will still be involved. Also, it’s the last chance for iPhone event rumors, with details about some health updates for the Apple Watch Series 12 coming to the fore. And there was an Apple TV subscription price hike, for the…
A team of University of Waterloo scientists won this year’s Ig Nobel Physics Prize for their “theoretical and experimental attempts to design a splash-free urinal.”
iOS 27 adds a variety of new features for popular apps like Notes, Reminders, and Calendar—and the Calendar app gets some notable design changes too. Here’s what’s new.
Update: A day later, GPT-6 Astra is rolling out to Business and Pro customers on the $100/month or $200/month plan. This follows other new model releases before Plus customers on the $20/month plan gain access.
Update #2: A few hours later, Plus users with the $20/month subscription now have Astra access as well.
Apple has three new flagship iPhones launching next week: iPhone 18 Pro and Pro Max and iPhone Ultra. Apple’s Pro models will have several advantages over the Ultra, but here are three ways the high-end Ultra will come out on top.
We’ve seen several stories about Apple Vision Pro being used in healthcare settings. This week, Stryker announced the completion of the first surgical procedure using an innovative new app on Vision Pro.
I mentioned today in my Siri AI Apple Watch piece that there’s one change I still hope Apple makes to watchOS 27 before it ships this month. It’s one of those common muscle-memory features that have existed for years, and I’ve been missing it all summer.
A new Omdia research note today outlined Apple’s reported Mac and iPad roadmap for the years ahead, and it also mentioned that a key rumored product has been canceled. Here are the details.
A new report from Omdia offers fresh details on Apple’s roadmap for new MacBook Pro, MacBook Air, and iPad models in the years ahead. Here’s what it says is coming.
The giant Labor Day sales roll on at both Amazon and AirTag 2 at $20 each. But today’s 9to5Toys Lunch Break is headlined by this 2026 Apple Studio Display XDR hitting the Amazon all-time low at $329 off (or up to $500 off via Apple refurb store) and the most affordable current-gen iPad Air at $100 off. We…
Apple’s biggest event of the year is just days away. September 9 will bring the “huge launch” new CEO John Ternus recently teased, with rumors indicating new iPhones, Apple Watch models, and AirPods are coming—and possibly more. Here are the six major products expected to debut.
Siri AI on Apple Watch arrived two cycles late for watchOS 27 beta this summer. I had high hopes for how new Siri could transform Apple Watch into an AI wearable.
What actually happened in July and August is that Siri has been remarkably unusable in watchOS 27 beta. Like “hold off on updating” bad.
Brydge, the Apple accessory company that came back from the dead back in 2023, has just announced a new set of colour-matched keyboards for the entry-level iPad.
While Apple offers the iPad itself in a choice of four colours, the Magic Keyboard for it is only available in white. That’s what prompted Brydge to launch its latest lineup ……
The El Niño weather phenomenon is set to intensify further into 2027 and could be the strongest ever, raising risks of extreme weather into next year, the World Meteorological Organization said on Thursday.
While Apple has long used privacy as a selling point for both its hardware and services, I do wonder whether it now regrets introducing one privacy measure: App Tracking Transparency (ATT).
For something with rather limited scope, it sometimes feels like scarcely a month goes by without a new antitrust lawsuit or regulator challenging it. A third ATT lawsuit is…
Mark Robinson, a meteorologist and storm chaser with The Weather Network, says the hail, high winds and lightning from Wednesday’s storms in southern Ontario show just how much energy they produced.
A new market intelligence report suggests that Apple will be paying four times more for iPhone 18 Pro memory than it did for last year’s model.
TrendForce says that Apple won’t be passing on the full impact to customers, and will be increasingly looking to Services revenue to offset higher hardware manufacturing costs …
Syncing your Philips Hue lights to your TV display used to be a rather expensive undertaking, at $385 for the company’s Sync Box 8K. A couple of new products now bring that cost down to as little as $120.
Additionally, you can now integrate Nanoleaf wall panels into your Philips Hue ecosystem thanks to a new $40 Wall Light Module…
Apple’s AirPods lineup is stronger than ever, but there are already rumors about what’s coming next. Here’s everything we know so far about when Apple will release new AirPods.
Apple TV kicks off its big fall lineup this week with Mayday, a new Ryan Reynolds film that’s part buddy comedy, part action spy thriller. And the first reviews say the movie’s a winner.
iOS 27 is packed with powerful features like Siri AI and upgrades to productivity apps like Apple Mail, Notes, Reminders, and Calendar. But for many users, some of iOS 27’s best changes might be bug fixes that make apps run better than ever—here are three coming to Apple Mail.
GymKit has been one of Apple Watch’s smartest fitness features since it launched in 2017. Tap your watch to compatible gym equipment, and Apple Watch shares your heart rate while the machine sends back metrics like distance, incline, pace, and calories.
With iOS 27, Apple is expanding that idea beyond Apple Watch. I tested the new GymKit on iPhone and…
Apple won the ‘Best Picture’ Oscar for CODA back in 2022, and now director Siân Heder is back with another potential winner: Being Heumann. Here’s the new trailer.
In a strategic retreat in the fight against climate change, the United Nations has acknowledged that Earth has lost its chance to prevent some of the worst of global warming’s harms. Officials say the world must now figure out how to get temperatures below the danger zone and back to safety.
Apple has a new M6 MacBook Pro launching this fall with a 14-inch screen and the current industrial design. Now that the M6 chip has officially been unveiled, here are three upgrades to expect from the new MacBook Pro.
Apple is rolling out support for Apple Wallet driver’s license integration to a new state. Starting today, Oklahoma residents can add their license to the Wallet app on iPhone and Apple Watch for easy mobile access.
Elon University has partnered with The Washington Post to conduct what turned out to be a worrying survey about Americans viewing AI chatbots as virtual friends or therapists.
The results very much vindicate Apple’s careful decision to ensure that Siri AI doesn’t encourage such pseudo-relationships …
Adobe is bringing its creative and productivity tools directly into Slack, letting teams create and edit images, videos, designs and PDFs without leaving the conversations where projects already take shape.
Greenpeace says the adoption of AI poses the biggest threat to Apple’s environmental track record, and argues that how the company responds will be the “defining test” of whether it really means what it says.
Apple’s environmental achievements to date have been unrivalled, but the massive data center demands created by Siri AI and other Apple Intelligence features could change…
The Federal Bureau of Investigation (FBI) is reportedly investigating identity theft as digital scans of more than 153 million driver’s licenses went on sale on the dark web. Additional documents offered through a massive security breach include medical cards, residence cards, and more.
The licenses belong to people in the US and Canada, and appear to have been…
Based on a whole succession of leaks, there’s a clear consensus view on two of the three colors we can expect when the iPhone 18 Pro is unveiled next week.
But two prominent leakers have different expectations when it comes to whether the third colour will be silver or black …
Riding on Prime Minister Mark Carney’s use of the proper word for a body of water, a London, Ont., company has created T-shirts emblazoned with “My hydronyms are Lake and Ontario.” A portion of the apparel sales proceeds go to Swim Drink Fish Canada, a charity that connects people with the lake, and works to keep it safe and clean.
Apple started informing developers today that universal macOS apps on the Mac App Store that require macOS 13 or later can now drop support for Intel-based Macs.
Go’s concurrency features are powerful and easy to use, but
that same ease can sometimes lead even seasoned developers to make
mistakes.
Fortunately, the Go ecosystem comes equipped with useful tools for
debugging, e.g., the race detector,
but even existing tools may miss some concurrency bugs,
such as the topic of this article, the goroutine leak.
Goroutines synchronize or exchange information
via shared concurrency primitives, e.g., channels, locks, and wait groups.
While communicating, goroutines often block on these primitives,
as in, wait until some condition is met;
ubiquitous examples include waiting to acquire a held mutex,
or receive a message over a channel.
Goroutines can also block on operating system operations, like reading from a network socket or a file.
We may consider a goroutine leaked if it is blocked,
but the conditions needed to unblock it can never be met.
Over time, an accumulation of leaked goroutines degrades
performance through excessive memory usage (by the leaked
goroutines themselves or the memory they reference), as well as
CPU usage from the garbage collector, especially
if GOMEMLIMIT is in use.
Goroutine leaks can be notoriously difficult to detect.
In unit testing, the most significant breakthroughs include
the open-source library goleak,
which can instrument individual tests to signal any
un-terminated goroutines after the test wraps up as suspicious.
Similarly, Go 1.25 introduced the synctest package to
the standard library; it can significantly improve
the quality of unit tests in concurrent code by giving
Go developers more control over the ordering of concurrent events
in order to reliably test hard-to-reproduce scenarios.
Unfortunately, neither approach can check for goroutine leaks
in production systems, especially at larger scales,
which may behave in ways unaccounted for by tests.
Goroutine profiles are a rudimentary way to check for operations
that block too many goroutines, or analyze growth trends.
However, goroutine profiles cannot distinguish between
goroutines which are leaked, and those which are temporarily blocked
in high numbers by design, e.g., as caused by increased
traffic in a microservice.
Likewise, leaks which are low in number may slip by undetected for many years.
Go 1.27 introduces the goroutine leak profiler,
a flexible and lightweight mechanism for finding
goroutine leaks in running Go programs, including production systems.
Unlike previous approaches, which require human analysis,
this mechanism is precise and generates little-to-no false positives.
The trade-off is that it is limited to a subset of goroutine leaks:
goroutines permanently blocked on channels or primitives
in the sync package.
Luckily for us, this already covers a very large subset of goroutine leaks,
as we’ll see in our examples.
In the following sections, we showcase how to use the feature, followed by
some additional examples of detectable leaks, and a description of the
underlying implementation and trade-offs.
Example: concurrent workers
Consider a function that processes work items concurrently:
typeresultstruct{resworkResulterrerror}funcprocessWorkItems(ws[]workItem)([]workResult,error){// Process work items in parallel, aggregating results in ch.
ch:=make(chanresult)for_,w:=rangews{gofunc(){res,err:=processWorkItem(w)ch<-result{res,err}}()}// Collect the results from ch, or return an error if one is found.
varresults[]workResultforrangelen(ws){r:=<-chifr.err!=nil{// This early return may cause goroutine leaks.
returnnil,r.err}results=append(results,r.res)}returnresults,nil}
Because ch is an unbuffered channel, each worker goroutine blocks when sending
its result until the main goroutine receives from the channel.
If processWorkItems returns early due to an error, the receiving loop terminates,
and all remaining sender goroutines block forever.
This example is emblematic of a common mistake discovered in real Go programs,
including Uber production services.
Let’s see how we can find these leaks by using the
new goroutine leak profiler.
Debugging with the goroutine leak profiler
The profile is available through the
runtime/pprof package, as the
goroutineleak profile type, or by installing the profile handlers defined
by the net/http/pprof package.
If you already have net/http/pprof set up in your service,
then you don’t need to do anything else! The profile will be
automatically made available for collection at the /debug/pprof/goroutineleak
endpoint on whatever host and port the handlers are installed.
Let’s put our concurrency bug in context and set up the net/http/pprof package.
This way, you can try it yourself!
packagemainimport("errors""log""net/http"_"net/http/pprof""time")typeworkIteminttypeworkResultintfuncprocessWorkItem(wworkItem)(workResult,error){time.Sleep(10*time.Millisecond)ifw==5{return0,errors.New("simulated error")}returnworkResult(w*2),nil}typeresultstruct{resworkResulterrerror}funcprocessWorkItems(ws[]workItem)([]workResult,error){ch:=make(chanresult)for_,w:=rangews{gofunc(){res,err:=processWorkItem(w)ch<-result{res,err}}()}varresults[]workResultforrangelen(ws){r:=<-chifr.err!=nil{returnnil,r.err}results=append(results,r.res)}returnresults,nil}funcmain(){// Start pprof server
gofunc(){log.Println(http.ListenAndServe("localhost:6060",nil))}()// Repeatedly trigger the leak
for{items:=[]workItem{1,2,3,4,5,6,7,8,9,10}_,err:=processWorkItems(items)iferr!=nil{log.Printf("Error processing items: %v",err)}time.Sleep(time.Second)}}
Build the program above, then run it:
$ go build -o leaky
$ ./leaky
Collecting the profile
It won’t take long for the program to start accumulating
leaks, which you can then view by using the web UI
at http://localhost:6060/debug/pprof.
Alternatively, you can collect the goroutine
leak profile using curl, and then examine it with go tool pprof:
$ curl http://localhost:6060/debug/pprof/goroutineleak > leak.prof
$ go tool pprof leak.prof
Type: goroutineleak
Time: 2026-03-01 13:19:49 UTC
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) list processWorkItems
Total: 116
ROUTINE ======================== main.processWorkItems.func1 in .../main.go
0 116 (flat, cum) 100% of Total
. . 31: go func() {
. . 32: res, err := processWorkItem(w)
. 116 33: ch <- result{res, err}
. . 34: }()
The profile reveals the goroutines leaked at
ch <- result{res, err} (line 33), pinpointing the culprit operation.
Notably, the longer the program is running, the larger the number of leaked
goroutines.
Addressing the leak
This leak can be simply fixed by giving ch a buffer:
ch:=make(chanresult,len(ws))
This allows all the work item goroutines to send a message without blocking
in the event of a premature return of processWorkItems.
This section is for those interested how leak detection
works under the hood of the goroutine leak profiler.
For details strictly pertaining to performance overhead and limitations,
skip ahead to this section.
Core concept
Let’s start with an initial observation: if a goroutine
is blocked over some concurrency primitive that no other goroutine has access to
(in this case, via a reference in memory), then it is obviously leaked.
This is already a strong lead, we can generalize it further into a definition
for when a goroutine is not leaked, a property we term as liveness.
We formally define liveness, an inductive property
as follows:
A goroutine is live if:
it is not blocked by a concurrency primitive, or
at least one concurrency primitive that blocks it is referenced
by another live goroutine.
In the trivial case, goroutines which are not blocked are obviously
not leaked.
In the inductive case, the underlying assumption is that
any goroutine which is not leaked may eventually use
concurrency primitives it references to unblock any
other goroutines blocked by those primitives.
To find all live goroutines, we start from the obviously live
unblocked goroutines and trace any references
they hold, i.e., through their local variables, to find
the concurrency primitives they have access to.
We then incrementally include any goroutines blocked over those
primitives as live, and repeat the process until no
additional live goroutines are discovered.
Fortunately for us, the Go runtime already computes memory reachability
through the garbage collector (GC),
so the next step is to adapt the GC to suit our purposes.
You can quickly compare the two GCs with the following diagrams:
A complete overhaul of the GC is not necessary.
The Go runtime uses a concurrent tri-color mark-and-sweep garbage collector,
(now with the Green Tea variant!),
so its MO already neatly aligns with our goals.
Only a few key changes are needed:
In the initial phases, the regular GC marks all goroutines (and global variables)
as reachable, such that they would never be considered garbage,
i.e., they are mark roots.
We change it to instead only include unblocked goroutines,
since these are guaranteed to be live.
This is followed by the marking phase, where the GC traces objects referenced
(transitively) by the mark roots, and marks them as usable memory.
Even though we do not modify this phase directly, the changes in step 1.
implicitly ensure that the GC only marks memory referenced by live goroutines.
The marking phase is finalized by inspecting all the blocked
goroutines not included as mark roots in step 1.
If a goroutine is blocked by at least one concurrency
primitive that has been marked in step 2., it is added as a mark root,
and the GC resumes the marking phase from step 2.
This coincides with the inductive step in the definition
of liveness.
Once all live goroutines have been discovered, any goroutine
which has not been added as a mark root has its status set to leaked.
The marking phase then resumes one last time with all the leaked goroutines
added as mark roots, allowing the GC to mark all the memory it would have
marked during a regular run.
Once the GC cycle is complete, the goroutine leak profiler picks up
like in a regular goroutine profile, and filters for strictly
leaked goroutines.
Limitations
The examples above demonstrate the usefulness of goroutine leak profiles.
Nevertheless, the garbage collector has some limitations that may lead
it to miss leaks:
Memory overreach: if a concurrency primitive is
consistently reachable through global variables or runnable goroutines,
then goroutines blocking on it are never reported as leaked, even if
that concurrency primitive is never used in the future.
This can be alleviated by better regimenting access to
concurrency primitive references, and more clearly
delineating their lifecycle.
Non-standard blocking:
For the sake of correctness, goroutine leak detection is strictly limited
to Go first-class concurrency primitives, which includes:
channel send and receive operations (including over nil channels),
blocking select statements, i.e., with no default case, up to, and including
select statements with no cases, and members of the
sync package, specifically Mutex,
RWMutex, WaitGroup and Cond.
Goroutines blocked for any other reason, e.g.,
file and network IO, or direct system calls
are never considered as leaked.
This likewise applies for custom, user-defined concurrency,
e.g., spin locks, unless they rely on the primitives outlined above
for their underlying implementation.
Non-determinism: leaks can be detected only after
they have occurred, but cannot be otherwise predicted,
so reproducing and diagnosing leaks in flaky programs
continues to be a challenge.
For the best results, we encourage mixing approaches, by using
goroutine leak profiles at various layers, up to, and including production,
as well as comprehensive test suites instrumented with goleak and synctest.
Performance impact
Goroutine leak detection is carefully designed to minimize
performance impact, but there are, nevertheless, some costs.
While memory overhead is negligible, only limited to small additions
required for bookkeeping, goroutine leak detection can be slower
than the regular GC.
This is best illustrated through a pathological case we
call the “daisy-chain”:
In this leak-free example, runnable goroutine G₀ has a
reference to primitive P₁ which blocks G₁, and so on.
This implies that proving liveness for some Pᵢ₊₁,
requires proving liveness for Pᵢ, which introduces
two costs:
The GC marking phase is effectively serialized relative to the
order in which goroutines can be scanned, as all the memory reachable
from some Pᵢ must be marked before Pᵢ₊₁ can be added as a root.
The inspection currently checks all blocked goroutines
at the end of each marking round, for a worst-case of O(n²) steps for one
GC cycle, where n is the total number of goroutines.
While the second point can eventually be optimized for,
the first point is an intrinsic limitation of leak detection
that cannot be circumvented.
Regardless, we remind the reader that, unless configured otherwise
via runtime flags, the GC still operates concurrently with user code.
Furthermore, if a goroutine leak can be observed at some point in time, then it
can also be observed at any future point during the same execution.
Periodic profiling infrastructures can therefore tune profiling frequency,
e.g., every 4 hours, to minimize overhead at virtually no cost in
leak detection capabilities.
The transition from academic prototype to actual Go feature was made possible
with the guidance of Michael Knyszek and Michael Pratt on the Go team at Google, and
PJ Malloy (@thepudds).
Additional examples
The following are coding patterns that lead to leaks, as
observed in industrial-scale codebases and open source projects,
in ascending order of complexity.
You can quickly test drive the goroutine leak detector on them in
the Go playground, as well as
experiment with your own leaks.
Example: Double send
Some of the simplest leaks occur when more messages
are sent over a channel than expected.
Below, a goroutine is expected to send one message to the main goroutine
over an unbuffered channel.
However, the return statement is missing after the send operation
in the error case.
For every error, the sender will, therefore, attempt to send two messages,
which causes a leak.
funcDoubleSend(){ch:=make(chanany)gofunc(errerror){iferr!=nil{// In case of an error, send nil.
ch<-nil// Return statement is missing.
}// Otherwise, continue with normal behaviour.
// This send is still executed, which causes a leak in the error case.
ch<-struct{}{}}(fmt.Errorf("error"))// Receive only one message.
<-ch}
While the profile does not explicitly highlight the missing return
as the cause, it at least directs you to the faulty function, by
highlighting the leaking send operation.
(pprof) list DoubleSend
Total: 1
ROUTINE ======================== main.DoubleSend.func1 in .../main.go
0 1 (flat, cum) 100% of Total
. . 118: go func(err error) {
. . 119: if err != nil {
. . 121: ch <- nil
. . 123: }
. 1 126: ch <- struct{}{}
. . 127: }(fmt.Errorf("error"))
. . 129: <-ch
This leak can be addressed simply by adding a return statement after the
send operation in the error case.
Example: Early return
The inverse situation is just as common, where the receiver
omits communication on some control flow paths,
in what is effectively a simplified version of the introductory example.
// Incoming error simulates an error produced internally.
funcEarlyReturn(errerror){ch:=make(chanany)// Create a worker goroutine.
gofunc(){// Send something to the channel.
// Leaks if the parent goroutine terminates early.
ch<-struct{}{}}()iferr!=nil{// The parent goroutine quits too early in case of an error.
// Sender leaks.
return}// Receive is only executed if there is no error.
<-ch}
The goroutine leak is exposed by the profile:
ROUTINE ======================== main.EarlyReturn.func1 in .../main.go
0 1 (flat, cum) 100% of Total
. . 140: go func() {
. 1 143: ch <- struct{}{}
. . 144: }()
. . 145:
. . 146: if err != nil {
The leak can be addressed by giving ch a buffer of size 1.
Example: Timeout
A variation of the Early return pattern above involves contexts
and non-deterministic choice (select statements):
funcTimeout(ctxcontext.Context){// An unbuffered channel is used to coordinate
// a worker and parent thread
ch:=make(chanany)// Create worker goroutine
gofunc(){// Perform some work then signal to the parent thread.
ch<-struct{}{}}()// Wait for message from worker or context
// to be cancelled or timed out.
select{case<-ch:// Receive message from worker
case<-ctx.Done():// Sender leaks because there is no
// future rendezvous over the channel.
}}
If the context is cancelled before the sender synchronizes with the parent,
the sender will leak:
(pprof) list Timeout
Total: 10
ROUTINE ======================== main.Timeout.func1.1 in .../main.go
0 10 (flat, cum) 100% of Total
. . 198: go func() {
. 10 201: ch <- struct{}{}
. . 202: }()
As in the previous example, the fix is to give the channel
buffer of size 1.
Example: Range over channel without closing
Iterating over channels by using range
allows you to repeatedly receive values from a channel in a loop.
Once the channel is closed and all values that have been enqueued
in the channel’s buffer have been received, the loop exits.
Importantly, if the channel is never closed, a range loop will block
the executing goroutine forever.
Omitting the close operation is a common mistake, as below:
// Incoming list of items and the number of workers.
funcnoCloseRange(list[]any,workersint){// Create a channel that distributes work items.
ch:=make(chanany)// Create the worker goroutines.
fori:=0;i<workers;i++{gofunc(){// Each worker pulls items from the channel
// and then processes it.
foritem:=rangech{// Process each item
_=item}}()}// Queue items to the workers by using the channel.
for_,item:=rangelist{// The parent leaks by sending an item if workers == 0
// or if all the workers panic, but the panic is recovered.
ch<-item}// Otherwise, the channel is never closed, so workers
// leak once there are no more items left to process.
}...gonoCloseRange([]any{1,2,3},3)// Leaks all 3 workers
A goroutine leak profile for such a program would include the following:
Type: goroutineleak
(pprof) list noCloseRange.func1
Total: 4
ROUTINE ======================== main.noCloseRange.func1 in .../main.go
0 3 (flat, cum) 75.00% of Total
. . 82: go func() {
. 3 84: for item := range ch {
. . 86: _ = item
. . 87: }
. . 88: }()
We see the 3 workers blocked at the range ch operation, which
gives an ample hint as to the cause of the leak. The leak can be
addressed by simply closing the channel once all messages have been sent:
for_,item:=rangelist{ch<-item}// All items have been sent. It is now safe to close.
close(ch)
Bonus! Eagle-eyed readers may have spotted another potential
leak in this example, if the number of workers is mistakenly set to zero,
which will lead the parent sender to leak:
gonoCloseRange([]any{1,2,3},0)// Sender leaks with 0 workers
This is also captured by the profile:
(pprof) list noCloseRange$
Total: 4
ROUTINE ======================== main.noCloseRange in .../main.go
0 1 (flat, cum) 25.00% of Total
. . 76:func noCloseRange(list []any, workers int) {
...
. . 92: for _, item := range list {
. 1 95: ch <- item
. . 96: }
While workers > 0 can be assumed to hold in realistic production systems,
goroutine leak profiles can nevertheless be used to implicitly monitor for off-chance
violations without conservative workers <= 0 checks.
Example: Method contract violations
The patterns seen so far have been relatively constrained in their lexical scope.
However, as functionality is spread out across functions, methods and packages, and
implementations are obfuscated by interfaces, the difficulty of manually detecting
leaks drastically increases.
Such a case is exemplified in this section, with the custom worker type that embeds two channel
fields, ch and done and creates a looping goroutine with its Start method that
reads from both channels with a select statement.
Said goroutine can only be terminated by receiving a message through the done channel,
which is closed by the Stop method.
The Start method can be invoked any number of times, but if it is invoked
at least once, Stop should eventually be called.
As a result, Start and Stop form an implicit contract that dictates the order
in which the methods should be invoked.
Breaking that contract can lead to undesirable behavior,
in this case, goroutine leaks:
funcMethodContractViolation(){items:=make([]any,10)// Create a new worker
w:=NewWorker()// Start worker
w.Start()// Operate on worker
for_,item:=rangeitems{w.AddToQueue(item)}// Exits without calling ’Stop’.
}typeworkerstruct{chchananydonechanany}typeWorkerinterface{Start()Stop()AddToQueue(itemany)}funcNewWorker()Worker{return&worker{ch:make(chanany),done:make(chanany),}}// Start spawns a background goroutine that extracts items pushed to the queue.
func(w*worker)Start(){gofunc(){for{select{case<-w.ch:// Normal workflow
case<-w.done:return// Shut down
}}}()}func(w*worker)Stop(){// Allows goroutine created by Start to terminate
close(w.done)}func(w*worker)AddToQueue(itemany){w.ch<-item}
This issue is further exacerbated in practice, where such custom types are only
exported as interfaces, in this case, through the non-descript
Worker type.
Clients may not even be aware of the underlying implementation and,
consequently, violate the implicit contract without realizing.
Fortunately, soliciting a goroutine leak profile can reveal the defect:
(pprof) list Start
Total: 1
ROUTINE ======================== main.(*worker).Start.func1 in .../main.go
0 1 (flat, cum) 100% of Total
. . 266: go func() {
. . 267: for {
. 1 268: select {
. . 269: case <-w.ch:
. . 270: case <-w.done:
. . 271: return
Naturally, the fix involves following the trail to the Start call
and adding an invocation of Stop.
Example (Cockroach): Missing unlock
The following example
is taken from CockroachDB.
It involves acquiring and releasing a lock in a loop,
but forgetting to unlock it
before executing a break statement:
typeGossipstruct{musync.Mutexclosedbool}func(g*Gossip)bootstrap(){for{g.mu.Lock()ifg.closed{// Missing g.mu.Unlock
break}g.mu.Unlock()}}funcCockroach584(){g:=&Gossip{closed:true,}// ...
g.bootstrap()g.bootstrap()// Causes a leak
}
In such a case, the goroutine will leak when failing to acquire the lock.
(pprof) list Gossip
Total: 1
ROUTINE ======================== main.(*Gossip).bootstrap in .../main.go
0 1 (flat, cum) 100% of Total
. . 165:func (g *Gossip) bootstrap() {
. . 166: for {
. 1 167: g.mu.Lock()
. . 168: if g.closed {
. . 170: break
. . 171: }
. . 172: g.mu.Unlock()
Adding a call to Unlock before the break addresses the issue.
Example (etcd): Unexpected channel operation orderings
This example,
found in etcd,
shows how an unexpected ordering between channel
operations can lead to a goroutine leak:
The run method fires a loop which expects to
repeatedly receive messages over the status channel
(sent by invoking the Status method).
At the same time, it can also receive one message over the
stop channel (sent via the Stop method),
at which point it closes the done channel and exits.
The Stop method itself then waits to receive message
over done, which is unblocked once done is closed.
A leak may occur if the run, Status, and Stop methods
run concurrently.
The Stop and run goroutines can synchronize
and exit without receiving the message issued
by Status, causing it to block forever.
(pprof) list Status
Total: 8
ROUTINE ======================== main.(*node).Status in .../main.go
0 8 (flat, cum) 100% of Total
. . 16:func (n *node) Status() struct{} {
. . 17: c := make(chan struct{})
. 8 18: n.status <- c
. . 19: return <-c
. . 20:}
Wrapping the send to status in a select statement
where the other case branch tries to receive a message
over done allows the goroutine running to Status
to gracefully exit if it lost the race with a Stop
call.
Example (Kubernetes): Mutual blocking between channels and mutexes
This example
occurs in Kubernetes,
as a result of mixing channels and locks:
The goroutine running WriteFrame may acquire the
idle-aware framer lock, followed by sending a message over the
resetChan channel, while the monitor goroutine
waits to receive a message over the closeChan channel.
Once a message has been dispatched, the monitor goroutine
will attempt to acquire the same lock.
However, since there isn’t any traffic over resetChan, the send operation
blocks forever, preventing the monitor goroutine from releasing
the lock.
This, in turn, causes both goroutines to leak.
(pprof) list AwareFramer
Total: 200
ROUTINE ======================== main.(*idleAwareFramer).WriteFrame in .../main.go
0 100 (flat, cum) 50.00% of Total
. . 32:func (i *idleAwareFramer) WriteFrame() {
. . 33: i.writeLock.Lock()
. . 34: defer i.writeLock.Unlock()
. . 35: if i.resetChan == nil {
. . 36: return
. . 37: }
. 100 38: i.resetChan <- true
. . 39:}
ROUTINE ======================== main.(*idleAwareFramer).monitor in .../main.go
0 100 (flat, cum) 50.00% of Total
. . 21:func (i *idleAwareFramer) monitor() {
. . 22: var resetChan = i.resetChan
. . 23: for range i.conn.closeChan {
. 100 24: i.writeLock.Lock()
. . 25: close(resetChan)
The fix is to set up a separate goroutine after a message is received
over closeChan in the monitor goroutine that drains the resetChan
before attempting to acquire the lock.
typeManagerstruct{plugins[]int}func(pm*Manager)init(){vargroupsync.WaitGroupgroup.Add(len(pm.plugins))for_,p:=rangepm.plugins{gofunc(pint){defergroup.Done()}(p)group.Wait()// Block here
}}funcMoby25384(){pm:=&Manager{plugins:[]int{1,2},}gopm.init()}
The group wait group increments its counter
depending on the number of plugins held by the
plugin manager pm, then iterates over each plugin
and spawns a goroutine.
Each goroutine decrements the counter once it finishes
its task with the Done method.
However, group erroneously invokes Wait inside
the loop body, instead of after it!
This will cause any goroutine running the init method
when the manager has more than one plugin to leak.
(pprof) list init
Total: 1
ROUTINE ======================== main.(*Manager).init in .../main.go
0 1 (flat, cum) 100% of Total
. . 17: group.Add(len(pm.plugins))
. . 18: for _, p := range pm.plugins {
. . 19: go func(p int) {
. . 20: defer group.Done()
. . 21: }(p)
. 1 22: group.Wait() // Block here
. . 23: }
This can be easily addressed by moving the Wait outside
the loop.
Example (Moby): Mutual blocking between channels and mutexes
Another example
in Moby
showcases a mixed channel-lock leak:
The goroutine invoking StateChanged may acquire the lock
of the container stored by the daemon, then invoke
the updateHealthMonitorElseBranch method on
the daemon, which attempts to send a message over
the stop channel of the container.
However, the goroutine running monitor
may fail to receive a message over stop, if the message
is not already in-flight, and instead unblock by picking
the default case of the select statement.
This will lead it to try to acquire the same container
lock that is already held by the StateChanged
goroutine, leading both goroutines to leak.
(pprof) list .CloseMonitorChannel
Total: 2
ROUTINE ======================== main.(*Health).CloseMonitorChannel in .../main.go
0 1 (flat, cum) 50.00% of Total
. . 66:func (s *Health) CloseMonitorChannel() {
. . 67: if s.stop != nil {
. 1 68: s.stop <- struct{}{}
. . 69: }
. . 70:}
(pprof) list main.handleProbeResult
Total: 2
ROUTINE ======================== main.handleProbeResult in .../main.go
0 1 (flat, cum) 50.00% of Total
. . 83:func handleProbeResult(c *Container) {
. 1 84: c.Lock()
. . 85: // Additional work...
. . 86: defer c.Unlock()
. . 87:}
The fix is to close the stop channel instead
of sending a message over it.
Since closing a channel is not a blocking operation,
the StateChanged goroutine is then able to release
the lock.
In turn, this unblocks the monitor goroutine,
which may now terminate by picking unblocked
<-stop case branch in the select statement
on the next loop iteration.
Earlier this year, Apple announced a partnership with Ford to bring native Apple Maps integration to the automaker’s upcoming Universal Electric Vehicle (UEV) Platform, including what we now know is called the Fathom.
A group of mathematicians and computer scientists has cracked the code to create dice that can determine a winner in single roll with no chance of a tie.
In a new regulatory filing today, Apple revealed that new CEO John Ternus is receiving a pay package with $58 million in salary and target stock awards. The company also shared details on Tim Cook’s lucrative new deal as Apple’s executive chairman.
If you head to Apple Maps today, you’ll notice that Apple has started renaming Lake Ontario to “Lake America.” The move follows Trump’s order last week to change the name as part of an ongoing trade dispute with Canada.
Next week, the iPhone Ultra will be unveiled at Apple’s September event, and today a new Tom’s Guide interview with Mark Gurman reveals several fresh details on what to expect from specs, software, launch timing, and more.
Scientists at a little-known federal agency in Ottawa reveal the forensic tools that helped crack the largest art fraud case in history. For decades, the forgery ring produced thousands of fake paintings attributed to famed Anishinaabe artist Norval Morrisseau.
Apple Watch Series 12 is coming next week, launching at the September event alongside Apple Watch Ultra 4. Here are three new features rumored for Apple Watch Series 12.
In June, Anthropic first released Fable 5, its Mythos-class AI model for Claude. Three months later, Anthropic is enhancing Claude with its new Fable 5.1 model upgrade.
New Apple CEO John Ternus has just sent his first company-wide memo. In it, Ternus thanks Tim Cook and recognizes that Apple is “so lucky to have had a CEO who led with his values and with such decency and humanity.”
“We have a huge launch next week that’s going to be phenomenal,” Ternus also says, in reference to Apple’s…
Today is John Ternus’s first day as Apple CEO. A new Bloomberg report has more details on other executive changes, plus tidbits on changes Ternus might make.
Meta is launching Muse Voice Transcribe, its first real-time audio perception model. It brings multilingual, streaming transcription to Meta AI for Mac, Muse Code, and developers through the Meta Model API.
Today alongside launching two new products, Sonos has unveiled ‘Sonos 27’ branding for its software platform and detailed four new features coming soon for Sonos users.
Sonos has announced two new hardware products today—Ace headphones and a Beam soundbar with ‘Ultra’ branding—alongside rebranding its software as ‘Sonos 27.’ Here are the details.
The new Apple CEO has just launched their social media presence on X, with the handle @johnternus. His bio is simply ‘ CEO’, and his first post simply reads ‘hello’.
Aside from being featured by Apple in the M6 Mac mini launch, Perplexity has been relatively quiet on the Mac front this summer. That changes today with hybrid compute for Mac.
John Ternus is officially Apple’s CEO starting today, and his new bio page on Apple’s website reveals some of Ternus’s key priorities, as noted by Myke Hurley.
Multiple Dropbox users have been emailed by the cloud storage company to advise them that a security breach saw unauthorised access to their account. Update: the company has said that about 5,000 accounts were compromised, with files downloaded from around 1,500 of them.
The root cause appears to be a lack of authentication by Dropbox when attackers created a single…
Bloomberg carries a piece noting the astonishing gains made by Apple stockholders during the time when Tim Cook was CEO. The cumulative gain was 2,275% – or a total return of 2,736% when accounting for dividend payments also.
The site suggests this will make him a tough act to follow, but my own view is that new CEO John Ternus
Apple yesterday presented what it said was “shocking evidence” based on analysis of a MacBook owned by Chang Liu, a former employee who moved to OpenAI. The company is alleging that two of its former employees stole trade secrets relating to hardware design and more.
The AI company hit back with its own legal filing, saying that…
9to5Mac Security Bite is exclusively brought to you by Mosyle, the only Apple Unified Platform.Making Apple devices work-ready and enterprise-safe is all we do. Our unique integrated approach to management and security combines state-of-the-art Apple-specific security solutions for fully automated Hardening & Compliance, Next Generation EDR, AI-powered Zero Trust, and exclusive Privilege Management with the most powerful and…
Today is September 1st, and Apple has officially handed over the reins of CEO from Tim Cook to John Ternus. This commences a new era with Ternus leading the company.
You can see the change reflected on the company’s newly-updated leadership page, with Ternus getting the CEO title and Cook moving to the Board of Directors section in his…
Apple @ Work is exclusively brought to you by Mosyle, the only Apple Unified Platform. Mosyle is the only solution that integrates in a single professional grade platform all the solutions necessary to seamlessly and automatically deploy, manage, and protect Apple devices at work. Over 45,000 organizations trust Mosyle to make millions of Apple devices work ready with no…
Dawn, fuzzy fat father who likes the taste of rocks, is officially the most popular yellow-bellied marmot in Gothic, Colo. The Fat Marmot Week contest is the brainchild of the Marmot Project, a long-term research initiative whose future hangs in the balance amid U.S. funding cuts.
9to5Mac is brought to you by Memoket: The Memoket Gem is an 11g AI wearable that slots beside your Apple Watch in a co-wear band. Press once to capture a conversation, and Gem connects it to what you discussed weeks ago — surfacing the earlier thread with a source link. From $179, shipping August 2026.
It’s Roborock’s 12th anniversary, and the high-tech cleaning company is celebrating by offering generous discounts across its range of robot cleaners and other products between now and September 6.
Discounts range from 25% to over 50% across the products and bundles included in the anniversary sale, with savings as high as $1600 …
iPhone 18 Pro will be unveiled next week, and while most iPhone 17 Pro owners won’t upgrade so soon, for those considering a new iPhone there are three main features likely to motivate them.
· 9to5Mac · also via Hacker News · Chance Miller · ~1 min · · note
Apple has filed a new document in its ongoing lawsuit against OpenAI as it continues to push for expedited discovery. In today’s filing, Apple says that it has new “shocking evidence” based on early forensic inspection of a laptop used by former engineer Chang Liu.
Love Mario Kart 64 and want to play it on iPhone? You may have tried Delta or another N64 emulator in the past to make that happen. And while that works, it’s now possible to run the classic cart racer with native Metal rendering on iPhone.
As we’ll discuss in this video and post, running Mario Kart 64 with native…
Apple will unveil its foldable iPhone Ultra next week at the September event, but it’s unclear exactly when the new model will ship to users. Here’s what to expect per the latest reporting.
The dream for your Apple gear while traveling is one thing, not a collection of cables and wall adapters. There are plenty of options for that, but often they are bulky. Anker’s Prime Qi2 25W Foldable 3-in-1 Wireless Charger aims to address that. It folds flat, weighs about as much as an iPhone 17 Pro Max, and charges your iPhone,…
Continuing Apple’s weekly test releases ahead of the official launch of macOS 27 Golden Gate, the company is now rolling out beta 8 for developers. Here’s what to expect.
Update 5:04 p.m. ET: Now available for public beta testers as well.
Apple has released the eighth iOS 27 beta for developer testing. iOS 27 beta 8 continues Apple’s summer beta cycle ahead of a public release in September. We’ll update our devices and share what we discover.
Update 5:04 p.m. ET: Now available for public beta testers as well.
· Dropbox Tech · Yasmin McDowell,Lawrence Good · ~10 min · · note
Our cookie auditor acts like a privacy-conscious user by visiting web pages and checking that they only load cookies consistent with that user’s preferences.
Read more
As AI and automation become a bigger part of digital experiences, it’s increasingly important that people stay in control of the choices they make. They should be able to benefit from new technology without losing the preferences they’ve already expressed.
Cookie banners are one of the most familiar places where people express those preferences online. They’re also one of the most visible parts of a company’s privacy program. And for companies that operate a large, dynamic collection of websites, keeping them working as intended can be challenging. A banner might work correctly when a page launches, but changes made later can affect how someone’s cookie preferences are saved or applied. When someone accepts, declines, or customizes cookies, the website needs to remember that choice and behave accordingly. New integrations, experiments, or even changes to a page’s settings can unintentionally affect that behavior.
Manually checking that cookie banners continue to work as expected across all of our websites requires hours of quality assurance. To make those checks more manageable, we built a cookie auditor that acts like a privacy-conscious user. It visits Dropbox web pages and checks that they only load cookies consistent with that user’s privacy preferences. This gives us a scalable way to put our privacy commitments into practice as our web presence continues to evolve.
Challenges in cookie banner compliance
Most of us are familiar with cookies, but we don’t always think about what they mean for the choices we make online. Cookies are small pieces of data sent to a browser when someone visits a website. Some are strictly necessary, meaning they serve an essential purpose like keeping a user logged in or remembering language settings. Others are non-essential and support things like analytics, marketing, performance, or advertising. Strictly necessary cookies load automatically, but privacy laws in some places require companies to get consent before loading non-essential ones.
On the surface, cookie compliance can seem pretty straightforward. Websites show a banner, provide buttons to accept or decline, record the choice, and load cookies accordingly. But at scale, things can get a bit more complicated. Dropbox operates over 200 web surfaces across different products and teams, and the cookies on each page can vary depending on that surface’s purpose. URLs also change all the time as pages are launched, retired, redirected, localized, or included in experiments.
Plus, cookie banners aren’t the only way people can communicate their privacy preferences. Global Privacy Control (GPC), for example, is a technical standard that lets people set a privacy preference in their browser that can be communicated automatically to the websites they visit. Our system needed to recognize GPC signals and respect those preferences, too.
It’s also important to look beyond cookie banners themselves. Even when a banner appears to work correctly, we still need to verify that someone’s choice is actually being applied. That means checking which cookies load before and after someone makes a selection, and that their preference continues to apply after the page reloads. That’s where our cookie auditor comes in.
Turning privacy requirements into testable rules
Before we began building a cookie auditor, our Privacy and Engineering teams first needed to agree on what the system should consider correct behavior. That meant deciding which websites should be audited, what kind of banner behavior would constitute a violation, and which third-party cookies and other artifacts should be tracked separately. We also defined when a missing banner should be considered a problem and when it was expected, such as on a web page that was no longer in use.
Privacy programs often depend on legal concepts that require human interpretation, such as opt-in or opt-out, strictly necessary, and affirmative consent. But a machine needs much more concrete instructions about what should happen when someone makes a particular choice and what to flag when something doesn’t behave as expected. Turning those concepts into outcomes the cookie auditor could actually test was an important part of the work.
We also kept these classifications outside the auditor’s source code. That meant the Privacy team could update the list of approved cookies and known exceptions without waiting for engineers to change the code and release a new version. Importantly, it also made the system easier to adapt as Dropbox services and regulatory guidance evolve, helping our privacy protections keep pace with both.
Because we built our cookie banner in-house rather than using an off-the-shelf product, we could integrate the auditor directly with our existing consent infrastructure. That gave us more control over how the auditor and consent system worked together and made it easier to adjust what we tested as our websites, services, and privacy requirements evolved. Instead of treating compliance as a fixed set of rules, we built a system that could change along with those requirements.
Testing the experience like a user
Defining the criteria that’d govern our cookie auditor was only one part of the challenge. We also needed a way to test those criteria against what someone really experiences when they visit a Dropbox website. To do that, we designed the auditor to behave much like a real visitor would. It uses Playwright, a browser automation library, to open a Dropbox web page in a fresh, isolated browser session and observe what happens from the moment the page loads.
For every page we check, the cookie auditor runs three separate tests to account for different privacy experiences. One simulates a standard US visitor, another simulates a visitor in the EU, and the third uses a GPC signal. Each test starts from scratch, with no existing cookies or saved preferences, so the auditor sees the same experience as a new visitor. Before interacting with anything on the page, the auditor records which cookies have already loaded and checks whether they match what we expect to see for that test.
Next, the auditor finds the page’s consent controls and declines non-essential cookies. That’s more complicated than simply looking for a button that says “Decline.” Depending on the page, consent controls might appear in a banner, a floating control, a preferences window, or a footer link. They can also appear in any of our 22 supported languages. Rather than relying on specific words on the screen, the auditor identifies and interacts with the underlying consent controls. It then reloads the page and checks what happens next.
Reloading the page is an important part of the test. Once the page reloads, the auditor checks that the user’s preference still applies and that the cookies present match what we expect for that test. If anything unexpected appears, it’s recorded for further review. This focus on what actually happens, rather than what should happen based on a configuration, became one of the project’s most important design decisions.
Discovering what we weren’t testing
At this point, we had a reliable way to test whether a Dropbox web page was respecting someone’s privacy choices. But the auditor could only test the pages we knew about. As new pages were created and existing ones changed, we also needed a reliable way to identify which pages should be included in our audits.
Although the auditor worked well on our defined list of URLs, we soon realized that keeping that list up to date would be an ongoing challenge. New marketing pages, blog posts, and help center articles are published every week. Our Privacy team didn’t necessarily have clarity on every new web surface being created across the company, and asking teams to manually send us every new URL would create exactly the kind of bottleneck the project was meant to reduce.
Our solution was a companion URL detector, which is effectively an auditor for our auditor. The cookie auditor checks whether a user’s decision is respected, and the URL detector makes sure we’re checking all the places where the consent experience should appear.
We started by using traffic data to identify Dropbox web properties. Because that data includes a new record every time someone visits a page, our initial search had to comb through billions of records. But billions of visits didn’t mean billions of different pages. The same URL path might appear thousands or even millions of times, so we first filtered out repeated records to narrow the results down to a more manageable list of unique paths.
From there, we applied a second, more detailed round of filtering. Doing all of that work while searching through billions of traffic records would have required significantly more time and computing resources, but working from the smaller list made it much more efficient. At this stage, we could exclude pages that didn’t need to be tested, group together pages that used the same consent logic, and select representative URLs from large groups of similar pages. This gave the cookie auditor a manageable set of pages that still represented the different consent experiences someone might encounter across Dropbox.
Automation can narrow the search space, gather evidence, and identify potential issues, while Privacy and Engineering teams provide the insight needed to understand unusual pages and exceptions. This division of labor helps us keep pace with Dropbox’s changing web footprint without creating another time-consuming manual process for our teams. It also reflects a principle behind how we approach automation and AI at Dropbox: Use these tools to surface relevant information so that people have the context they need to make informed decisions and take action, while spending less time searching for and sorting through it.
Privacy as a continuously validated practice
Privacy programs rely on policies, controls, and review processes, but people ultimately experience them through the products they use. When someone makes a choice about their data, they expect the product to respect it. That means making the choice clear, making declining as easy as accepting, remembering the preference, and applying it consistently as someone moves across a website.
That’s why we think about privacy much like reliability or security. It requires ongoing attention as products and systems change. Building the auditor showed us just how many pieces needed to work together to make that possible. We needed to know which pages to test, distinguish real issues from false positives, translate legal requirements into behavior that the auditor could check, and test the experience from a user’s perspective rather than relying on how a system was configured.
Over time, that changed how we thought about the auditor itself. It gave us a way to turn our privacy commitments into something we could regularly test against the actual experience people have on our websites. For us, building that trust into a changing product means making clear commitments to users and designing systems that continuously verify we’re upholding them.
Today, the auditor gives our Privacy and Engineering teams a weekly report on consent behavior across Dropbox websites. It separates likely violations from known false positives, making it easier for teams to understand what needs their attention. Historical results also help us track trends and spot when something that was working correctly begins to change. Our next step is to make that process even more efficient by connecting findings to the teams responsible for those pages and getting potential issues to the right people more quickly.
For teams considering a similar project, the browser automation itself may be the simplest part. Much of the work happens around the browser automation, including defining what correct behavior looks like, maintaining a reliable inventory of what needs to be tested, separating real issues from noise, and creating a review process that brings the right teams together. Investing in those pieces has given us greater confidence that our cookie program continues to work as intended, even as the websites and systems around it change.
Acknowledgments: Special thanks to folks on the Privacy Engineering and Legal teams for guidance throughout the project.
~ ~ ~
If building innovative products, experiences, and infrastructure excites you, come build the future with us! Visit dropbox.jobs to see our open roles.
Phil Schiller is stepping down from his role leading the App Store and Apple events, according to a new Bloomberg report. The move is the latest progression of Schiller’s tenure at Apple, which spans multiple decades.
Apple is holding its big September launch event next week, and as new products arrive, the company is expected to discontinue 10+ popular current devices.
Today is Tim Cook’s last day as Apple CEO, with John Ternus set to take over tomorrow. To mark his last day in the role, Cook penned an emotional memo to Apple employees today. Read it below.
The Amazon Labor Day sale is in full force with thousands of price drops alongside ongoing all-time lows on AirTag 2 from $20 each and the M6 Mac mini pre-order discounts (just make sure you grab the new Apple Polishing Cloth at $9 before it sells out). But for today’s 9to5Toys Lunch Break we are looking at some $64 (35%…
President Trump has “reached out to Apple directly” about changing Lake Ontario’s name to Lake America in Apple Maps, according to U.S. Interior Secretary Doug Burgum.
After 15 years at the helm, today is officially Tim Cook’s last day as Apple CEO. In April, Apple announced that Cook would step down as CEO on September 1, with John Ternus set to take the reins.
Cook, of course, isn’t going away completely. Instead, he’s set to become executive chairman of Apple’s board of directors.
Both Apple pundits and most of the internet seem to agree that Vision Pro is the best way to watch baseball, following the immersive experience offered by Apple’s Friday Night Baseball.
Notably, there also seemed to be a consensus view that less is more when it comes to the various immersive camera angles …
The latest development in the trade war Trump started with Canada is an executive order to rename Lake Ontario as Lake America. Google Maps has updated the name, though what you see depends on which country you are in, with only US users seeing Lake America. Apple Maps has so far stuck to the real name …
CarPlay is about to get even better with iOS 27 in September. New features including a dedicated Siri app and Siri AI will upgrade Apple’s car infotainment system for iPhone users.
Even before the big iPhone software update officially launches, CarPlay in August has improved for everyone with three big app releases.
Apple surprised many when it quietly announced updated Mac mini and Mac Studio models shortly before its September event. We would normally have expected these announcements to be part of that event.
One strong theory is that the company may be making a lot of big announcements in its ‘Surprise and shine‘ keynote, and therefore wanted to get…
Bloomberg suggests that there are three reasons behind this decision, one of them being a desire not to conflict with the position adopted by Steve Jobs when launching the original iPhone. However, this was almost…
New research highlights the declines in living corals in reefs around the world, showing the unprecedented twin-danger of human-caused climate change and an expected record El Niño.
NASA began a new mission to probe some of the biggest mysteries in astrophysics and cosmology with the launch on Sunday of the U.S. space agency’s new flagship astronomical observatory, a repurposed spy satellite that will capture panoramic views of the cosmos.
While CarPlay supports hundreds of apps, Apple Weather isn’t one of them. The good news is that starting today, The Weather Channel’s Storm Radar app for iPhone now works with CarPlay.
· CBC | Technology News · Simon Little · ~1 min · · note
The outgoing community co-ordinator of Wildsafe B.C. Nelson is calling for change, after she says “multiple failures … on many levels” led to the killing of a grizzly sow and two of her three yearlings this month.
Apple has a lot in store for this fall, headlined by the iPhone Ultra and iPhone 18 Pro launching next month. Apple is also working on a new iPad mini, and a new report today suggests it’s coming in October.
Apple’s first foldable iPhone should be making its debut in just over a week. In the development process, Apple was reportedly mulling the idea of launching a new Apple Pencil to use alongside the iPhone Ultra – though it probably won’t make it to market.
According to Bloomberg’s Mark Gurman, Apple has a couple new features in the pipeline for Apple Watch Series 12 and Ultra 4 that’ll make it much more appealing for health-conscious users. The company is also testing two finishes for the rumored ceramic version.
A group of tenants in Vancouver’s Downtown Eastside is demonstrating how communities can come together to keep each other safe during extreme heat events.
Apple Card launched seven years ago this month, and it keeps getting better. There are new features, perks, rewards, and more. Plus, there’s one major change looming.
Earlier this year, rumors were rampant about a revamped Health app coming to iOS 26.4. Then the project was delayed, and iOS 27 came and went, and the revamp still didn’t arrive.
With the new Apple Watch Series 12 and Ultra 4 debuting next month, it’s worth asking: will we see the features debut alongside new hardware?
Welcome to Indie App Spotlight. This is a weekly 9to5Mac series where we showcase the latest apps in the indie app world. If you’re a developer and would like your app featured, get in contact.
If you lose track of things you’d like to reference later, Laytr might be a nice solution for you. All of us save…
Apple Vision Pro is one of Apple’s most interesting hardware releases yet. It’s technically very impressive, yet it seems almost certain that this form factor won’t last – and is instead just a temporary platform to introduce visionOS to the world before we eventually get glasses.
I did buy one late last year, and while I haven’t been a major…
Since iOS 26.4, Apple has supported conversational apps on CarPlay.
This category includes AI chatbot apps. Siri AI joins the CarPlay party starting with iOS 27. The iPhone software update is currently in beta ahead of the official launch in September.
Meanwhile, the fourth third-party AI chatbot has arrived with Apple CarPlay support: Meta AI.
Not all power banks are made equal. Some feature one of the most impressive designs I have ever seen with an onboard display, the ability to charge two MacBooks at once, RGB lighting, and a a pair of window cutouts in the solid metal housing to put the internal tech on display – Sharge’s new Shargeek 300 Power Bank is…
As soon as next year, Apple will be debuting its first pair of AI-powered smart glasses. They’ll integrate Visual Intelligence and bring Siri to the real world. Here’s what we’re expecting.
We are ready to touch down for your 9to5Toys Lunch Break weekend edition. This time around our deals are landing alongside truck loads of price drops from the Amazon 2026 Labor Day sale, as well as the ongoing $50 discount on AirPods Pro 3 and the all-time low on AirTag 2 at $20 a pop.
· CBC | Technology News · Amir Said · ~1 min · · note
The elusive Franklin’s ground squirrel is the subject of a research project to prove their population has in fact declined. The species is currently listed as “undetermined” by the Alberta government.
If all goes to plan, at 7:26 a.m. Sunday morning, a new space telescope will blast off from Cape Canaveral, Fla., on top of a Falcon Heavy rocket, ready to reveal new wonders about our universe. Here are some things scientists hope to unravel with this new telescope.
The US has some of the most expensive mobile phone plans in the world, and many people are paying $60 to $100 per month or more without questioning it.
Switching to Tello Mobile can bring the cost of your plan down to as little as $5 a month, and even the unlimited plan is just $25 a month – all…
Jeff and Fernando delve into the $899 Mac mini, comparing the outgoing M4 model and the new M6 Mac mini. They also discuss the new M5 Pro Mac mini and Apple’s new Mac Studio desktops equipped with M5 Max and M5 Ultra SoCs. Finally, the duo previews Apple’s upcoming ‘Surprise and Shine’ iPhone event.
Animal Justice is calling for Fisheries and Oceans Canada (DFO) to investigate the death in a Chicago aquarium of Peekachu, a 23-year-old beluga from Marineland in Niagara Falls, Ont., that was part of ongoing relocation efforts involving other whales and dolphins.
“Flame effects” is not something I’d used before in a smart bulb, so this was a super interesting concept to me. Linkind’s Smart Light Stick aims to bring the idea of a “live flame” to a smart bulb, and it works with Apple Home out of the box thanks to Matter.
Apple will unveil the iPhone 18 Pro on September 9, but rumors have already leaked a lot of what to expect. And there are two standout features that I’m excited to upgrade for.
I recently observed that Apple appeared to have abandoned Cinematic mode, and a video experiment perfectly illustrates my frustration at this fact.
That’s not because the feature is bad, but rather that it comes so close to being good enough for real-life use that it’s hard to see why Apple hasn’t taken advantage of the massive increases in power…
The massive 2026 Amazon Labor Day sale is now live with $50 off AirPods Pro 3 and the ongoing all-time low on AirTag 2 from just $20 each. However, today’s 9to5Toys Lunch Break is headlined by Amazon now offering the first cash discounts on the brand new M6 Mac mini and M5 Pro Mac mini as well as this wild…
Apple’s next-generation M6 chip is here, debuting first in the new Mac mini. And among its powerful upgrades, M6 gets a new feature previously exclusive to higher-end chips like M5 Pro and Max.
Apple has a packed lineup of products launching this fall, including new iPhones, Macs, iPads, and more. Here’s every new Apple product rumored to arrive starting September 9.
Just weeks after announcing price increases for Apple Music, Apple today announced that Apple TV is also getting more expensive. The company confirmed to 9to5Mac that the price of Apple TV is increasing from $12.99 to $14.99 per month.
The Individual tier of Apple One is also getting more expensive.
Apple TV has picked up a new comedy series, Small Prophets, for its streaming service in an atypical fashion for the streamer. Rather than commission the project upfront, Apple has bought out the worldwide rights for the series a few months after the show debuted in the UK to record ratings.
Small Prophets was the biggest new scripted series…
Update 9/2: Amazon has now dropped the price on AirPods Pro 3 back down to $199 for its Labor Day sale (this is $50 off and actually $1 less than our previous mention).
Amazon has now officially launched its massive 2026 Labor Day Sale and the deals are flying. We are tracking $50 off AirPods Pro 3, the best prices…
It’s unclear whether Trump can unilaterally rename the lake, whose name predates European colonization of the Americas and has been widely recognized internationally for centuries. But the renaming belies a concerted push by the Trump administration to hold back important U.S.-Canada collaboration on scientific research and restoration work in the Great Lakes.
This interesting project by Jeff Halter (via Daring Fireball) lets users run the original 68k After Dark screen saver modules on modern Macs. Here are the details.
Apple Pay is a go-to feature for iPhone users when shopping in stores, online, and in apps. Apple recently announced four new features that make Apple Pay even better. Here’s how they work, plus one major expansion that’s rolling out now.
Chang Liu, Tang Tan, OpenAI, and io Products filed a new petition asking the court to dismiss Apple’s trade secret misappropriation complaint with prejudice. Here’s what that means.
In a tongue-in-cheek post on X, Apple CEO Tim Cook shared a video showing Pikachu running around Apple Park during a visit from the Pokémon team. Watch it below.
· CBC | Technology News · David Cummings · ~1 min · · note
Industry Minister Mélanie Joly announced on Thursday that the federal government is providing $541 million in research funding to a tranche of new professors recruited into Canadian institutions from abroad.
Conservationists have long been working to keep a rare species of bird from disappearing entirely from the United Kingdom. But any recent success they’ve had in protecting the Montagu’s harrier’s British population can largely be attributed to the mating prowess of one male “at the top of his game.”
Special Master Jose Linares has rejected the DOJ’s request to reconsider his decision allowing Apple to seek documents from 14 separate government agencies in the antitrust case against the company. Here are the details.
A new Apple TV 4K is long overdue, and was originally expected to launch last fall. But now that Siri AI is finally ready, all signs point to the new Apple TV 4K being unveiled soon—possibly at the September 9 event. Here’s what’s rumored.
Benjamin and Chance break down an action-packed week of news, with a new lineup of Mac mini and Mac Studio announced, invites officially going out for the September iPhone event, and even more rumors about what new products to expect later this fall.
Among the many Apple Intelligence features coming in iOS 27, the Passwords app is getting an especially powerful one: the ability to automatically change your passwords for you.
Today is Apple’s big September launch event, with a tagline: ‘Surprise and shine.’ Here’s how to watch the Apple event live, and a roundup of new products rumored to debut.
Joining this week’s AirPods Pro 3 discount and best deals yet on AirTag 2 from $20 each, today’s 9to5Toys Lunch Break is headlined by Anker’s MagSafe Nano Power Bank down at $49 in all colors, up to down at $60. Just be sure to dive into the now live ecobee 2026 Labor Day sale – HomeKit thermostats, sensors, and bundles…
Apple launched its next-generation M6 chip this week in the new Mac mini. But several more products will get M6 upgrades soon. Here’s the rumored release schedule for M6 Macs and iPads.
Apple has announced what it describes as the sneakiest crossover of the summer in the form of Sneaky Sasquatch joining forces with Subway Surfers+ in Apple Arcade – together with a collection of stickers for the Messages app …
Apple is about to unveil its flagship new iPhones: iPhone 18 Pro and iPhone Ultra. Price will be an obvious advantage for the Pro line, but here are several other ways iPhone 18 Pro will have an edge over the more expensive Ultra model.
Apple has moved through 2026 in bursts. First came a new AirTag in January, followed by a packed March launch cycle and two major Mac updates in August. Add everything up, and Apple has announced 11 new hardware products this year, with its biggest event still ahead.
Adobe today announced a beta for AI Assisted Editor, a new optional editing mode within Photoshop with a simplified, prompt-based interface for image editing. Here are the details.
Apple has announced an expansion of its Supplier Employee Development Fund, a $50 million educational program for workers in its supply chain, in the form of a new Apple Education Center in Vietnam.
The country is becoming an increasingly important manufacturing center as Apple diversifies beyond China, and the center operates in partnership with Hanoi University of Science and…
Meta has reached a settlement with US states in an $18B lawsuit accusing the social media giant of deliberately making Instagram addictive to teenagers. The money will be used to fund youth safety initiatives and more, though there is a catch.
More importantly, the company has agreed to introduce unprecedented protections against overuse of its social media apps by teens…
For a time, it was unclear whether the flip or fold form factor was the future of folding smartphones, but for now at least, it seems clear that the book-style fold is the winner.
It’s what we saw from Samsung’s 8th-generation folding phone, it’s what we’re expecting from the iPhone Ultra, and leaked images of Xiaomi’s 18 Fold also…
If you are a big Apple Watch app user on the beta this summer, you may have noticed that some number of existing apps do not launch on watchOS 27. Apple has identified the issue and is automatically updating the apps on the developer’s behalf to ensure compatibility.
These updates are being sent out through the App Store with a…
Apple has published a new support document explaining how Spotlight indexing works across its devices, including three things it says can help the process finish more quickly. Here are the details.