Leopard

Mac OS X Leopard (version 10.5) is the sixth major release of Mac OS X, Apple’s desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Mac OS X Tiger (version 10.4), and is available in two variants: a desktop version suitable for personal computers, and a server version, Mac OS X Server. Steve Jobs stated at Macworld 2008 that over 20% of Macs use Leopard as their operating system. Leopard was superseded by Mac OS X Snow Leopard (version 10.6). Leopard is the final version of Mac OS X to support the PowerPC architecture as Snow Leopard solely functions on Intel based Macs. With the release of Snow Leopard, Leopard will only be maintained with security updates until the next shipping version of Mac OS X.

According to Apple, Leopard contains over 300 changes and enhancements over its predecessor, Mac OS X Tiger, covering core operating system components as well as included applications and developer tools. Leopard introduces a significantly revised desktop, with a redesigned Dock, Stacks, a semitransparent menu bar, and an updated Finder that incorporates the Cover Flow visual navigation interface first seen in iTunes. Other notable features include support for writing 64-bit graphical user interface applications, an automated backup utility called Time Machine, support for Spotlight searches across multiple machines, and the inclusion of Front Row and Photo Booth, which were previously included with only some Mac models.

Apple missed Leopard's release time frame as originally announced by Apple’s CEO Steve Jobs. When first discussed in June 2005, Jobs had stated that Apple intended to release Leopard at the end of 2006 or early 2007. A year later, this was amended to Spring 2007; however on 12 April 2007, Apple issued a statement that its release would be delayed until October 2007 because of the development of the iPhone.

End-user features
Apple advertises that Mac OS X Leopard has 300+ new features, including:


 * A new and improved Automator, with easy starting points to easily start a workflow. It also can quickly create or edit workflows with new interface improvements. Now it can use a new action called "Watch Me Do" that lets you record a user action (like pressing a button or controlling an application without built-in Automator support) and replay as an action in a workflow. It can create more useful Automator workflows with actions for RSS feeds, iSight camera video snapshots, PDF manipulation, and much more.
 * Back to My Mac, a feature for MobileMe users that allows users to access files on their home computer while away from home via the internet.
 * Boot Camp, a software assistant allowing for the installation of other operating systems, such as Windows XP (SP2 or later) or Windows Vista, on a separate partition (or separate internal drive) on Intel-based Macs.
 * Dashboard enhancements, including Web Clip, a feature that allows users to turn a part of any Web page displayed in Safari into a live Dashboard widget, and Dashcode to help developers code widgets.
 * New Desktop, comprises a redesigned 3-D dock with a new grouping feature called Stacks, which displays files in either a "fan" style, "grid" style, or (since 10.5.2) a "list" style. R.L. Prior, on the ThinkMac blog, criticized the shelf-like Dock along with a number of other changes to the user interface.


 * Dictionary can now search Wikipedia, and a dictionary of Apple terminology as well. Also included is the Japanese-language dictionary Daijisen, Progressive E-J and Progressive J-E dictionaries, and the 25000-word thesaurus "Tsukaikata no Wakaru Ruigo Reikai Jiten" (使い方の分かる類語例解辞典), all of which are provided by the Japanese publisher Shogakukan.
 * A redesigned Finder, with features similar to those seen in iTunes 7, including Cover Flow and a Source list-like sidebar.
 * Front Row has been reworked to closely resemble the interface of the original Apple TV.
 * iCal calendar sharing and group scheduling as well as syncing event invitations from Mail. The icon also reflects the current date even when the application is not running. In previous versions of Mac OS X, the icon would show 17 July in the icon any time the application was not running but the current date when the application was running.
 * iChat enhancements, including multiple logins, invisibility, animated icons, and tabbed chats, similar to features present in Pidgin, Adium and the iChat plugin Chax; iChat Theater, allowing users to incorporate images from iPhoto, presentations from Keynote, videos from QuickTime, and other Quick Look features into video chats; and Backdrops, which are similar to chroma keys, but use a real-time difference matte technique which does not require a green or blue screen. iChat also implements screen sharing, a feature previously available with Apple Remote Desktop.
 * Mail enhancements including the additions of RSS feeds, Stationery, Notes, and to-dos. To-dos use a system-wide service that is available to all applications.
 * Network file sharing improvements include more granular control over permissions, consolidation of AFP, FTP and SMB sharing into one control panel, and the ability to share individual folders, a feature that had not been available since Mac OS 9.
 * Parental controls now include the ability to place restrictions on use of the Internet and to set parental controls from anywhere using remote setup.
 * Photo Booth enhancements, including video recording with real-time filters and blue/green-screen technology.
 * Podcast Capture, an application allowing users to record and distribute podcasts. It requires access to a computer running Mac OS X Server with Podcast Producer.
 * Preview adds support for annotation, graphics, extraction, search, markup, Instant Alpha and size adjustment tools.
 * Quick Look, a framework allowing documents to be viewed without opening them in an external application and can preview it in full screen. Plug-ins are available for Quick Look so that you can also view other files, such as Installer Packages


 * Safari 3, which includes Web Clip.
 * Spaces, an implementation of virtual desktops (individually called "Spaces"), allows multiple desktops per user, with certain applications and windows in each desktop. Users can organize certain Spaces for certain applications (e.g., one for work-related tasks and one for entertainment) and switch between them. Exposé works inside Spaces, allowing the user to see at a glance all desktops on one screen. ) Users can create and control up to 16 spaces, and applications can be switched between each one, creating a very large workspace. The auto-switching feature in Spaces has annoyed some of its users. Apple added a new preference in 10.5.2 which disabled this feature, but there were still bugs found while switching windows. In 10.5.3, this problem was addressed and was no longer an issue.


 * Spotlight incorporates additional search capabilities such as Boolean operators, as well as the ability to search other computers (with permissions).
 * Time Machine, an automated backup utility which allows the user to restore files that have been deleted or replaced by another version of a file. Though generally lauded in the press as a step forward for data recovery, Time Machine has been criticized in multiple publications for lacking the capabilities of third-party backup software. Analyzing the feature for TidBITS, Joe Kissell pointed out that Time Machine does not create bootable copies of backed-up volumes, does not back up to AirPort Disk hard drives and will not back up FileVault encrypted home directories until the user logs out, concluding that the feature is "pretty good at what it does" but he will only use it as part of a "broader backup strategy".  One of these issues has been resolved, however; On 19 March 2008, updates were released for AirPort and Time Machine, allowing for Time Machine to use a USB hard disk which has been connected to an AirPort Extreme Base Station.
 * Universal Access enhancements: significant improvements to applications including VoiceOver, along with increased support for Braille, closed captioning and a new high‐quality Speech synthesis voice.
 * Many changes to the user interface. R.L. Prior, on the ThinkMac blog, criticized a number of changes to Leopard’s user interface, including the transparent menu bar and the new folder icons. Decreased transparency of the menu bar, along with the ability to disable the menu bar transparency were added with the 10.5.2 release on 11 February 2008.
 * Russian language support, bringing the total to 18 languages.
 * Leopard removes support for Classic applications. Classic will not run natively on Intel-based Macs in any case.

Developer technologies

 * Native support by many libraries and frameworks for 64-bit applications, allowing 64-bit Cocoa applications. Existing 32-bit applications using those libraries and frameworks should continue to run without the need for emulation or translation.
 * Leopard offers the Objective-C 2.0 runtime, which includes new features such as garbage collection. Xcode 3.0 supports the updated language and was itself rewritten with it.
 * A new framework, Core Animation, allows a developer to create complex animations while specifying only a "start" and a "goal" space. The main goal of Core Animation is to enable the creation of complex animations with small amounts of program code.
 * Apple integrates DTrace from the OpenSolaris project and adds a graphical interface called Instruments (previously Xray). DTrace provides tools that users, administrators and developers can use to tune the performance of the operating system and the applications that run on it.
 * The new Scripting Bridge allows programmers to use Python and Ruby to interface with the Cocoa frameworks.
 * Ruby on Rails is included in the default install.
 * Leopard’s OpenGL stack has been updated to version 2.1, and uses LLVM to increase its vertex processing speed. Apple has been working to get LLVM integrated into GCC; LLVM’s use within other operating system facilities has not been announced.
 * The Graphics and Media State of the Union address confirmed many other features are possible because of Core Animation, such as live desktops, improvements to Quartz Composer with custom patches, a new PDF Kit for developers, and improvements to QuickTime APIs.
 * The  framework allows applications to register for notifications of changes to a given directory tree.
 * Leopard includes a read-only implementation of the ZFS file system.
 * In mid-December 2006 a pre-release version of Leopard appeared to include support for Sun’s ZFS. Jonathan Schwartz, CEO and President of Sun Microsystems, boasted on 6 June 2007 that ZFS has become "the file system" for Leopard. However, the senior project marketing director for Mac OS X stated on 11 June 2007 that the existing HFS+, not ZFS, will be used in Leopard. Apple later clarified that a read-only version of ZFS would be included.


 * Leopard includes drivers for UDF 2.5, necessary for reading HD DVD and Blu-ray discs using third-party drives, but the included DVD Player software can only play HD DVD disks authored by DVD Studio Pro.
 * Leopard includes a framework implementing latent semantic mapping for classifying (e.g. textual) data.
 * Leopard is the first operating system with open source BSD code to be certified as fully UNIX compliant. Certification means that software following the Single UNIX Specification can be compiled and run on Leopard without the need for any code modification. The certification only applies to Leopard when run on Intel processors.

Security enhancements
New security features intend to provide better internal resiliency to successful attacks, in addition to preventing attacks from being successful in the first place.


 * Library Randomization: Leopard implements library randomization, which randomizes the locations of some libraries in memory. Vulnerabilities that corrupt program memory often rely on known addresses for these library routines, which allow injected code to launch processes or change files. Library randomization is presumably a stepping-stone to a more complete implementation of address space layout randomization at a later date.


 * Application Layer Firewall
 * Leopard ships with two firewall engines: the original BSD IPFW, which was present in earlier releases of Mac OS X, and the new Leopard Application Layer Firewall. Unlike IPFW, which intercepts and filters IP datagrams before the kernel performs significant processing, the Application Layer Firewall operates at the socket layer, bound to individual processes. The Application Layer Firewall can therefore make filtering decisions on a per-application basis. Of the two-firewall engines, only the Application Layer Firewall is fully exposed in the Leopard user interface. The new firewall offers less control over individual packet decisions (users can decide to allow or deny connections system wide or to individual applications, but must use IPFW to set fine-grained TCP/IP header level policies). It also makes several policy exceptions for system processes: neither mDNSResponder nor programs running with superuser privileges are filtered.


 * Sandboxes: Leopard includes kernel-level support for role-based access control (RBAC). RBAC is intended to prevent, for example, an application like Mail from editing the password database.


 * Application Signing: Leopard provides a framework to use public key signatures for code signing to verify, in some circumstances, that code has not been tampered with. Signatures can also be used to ensure that one program replacing another is truly an "update", and carry any special security privileges across to the new version. This reduces the number of user security prompts, and the likelihood of the user being trained to simply clicking "OK" to everything.


 * Secure Guest Account: Guests can be given access to a Leopard system with an account that the system erases and resets at logout.

Security features in Leopard have been criticized as weak or ineffective, with the publisher Heise Security documenting that the Leopard installer downgraded firewall protection and exposed services to attack even when the firewall was re-enabled. Several researchers noted that the Library Randomization feature added to Leopard was ineffective compared to mature implementations on other platforms, and that the new "secure Guest account" could be abused by Guests to retain access to the system even after the Leopard log out process erased their home directory.

System requirements
Apple states the following basic Leopard system requirements, although, for some specific applications and actions (such as iChat backdrops) an Intel processor is required:


 * Processor must be any Intel, PowerPC G5 or G4 (867 MHz and faster)
 * DVD drive (for installation of the operating system)
 * At least 512 MB of RAM (additional RAM (1 GB) is recommended for development purposes)
 * At least 9 GB of disk space available.

Leopard’s retail version was not released in separate versions for each type of processor, but instead consisted of one universal release that could run on both PowerPC and Intel processors. Leopard drops official support for slower G4 and all G3 processors. Because all new Macs use Intel processors, the versions of Leopard shipped with them are Intel only.

Supported machines
Leopard can run on the later flat panel iMac G4s, the first iMac G5, second iMac G5 (with the ambient light sensor), third iMac G5 (with iSight), iMac Intel Core Duo and (present day) iMac Intel Core 2 Duo, PowerBook G4, Power Mac G4, Power Mac G5, iBook G4, MacBook, MacBook Pro, MacBook Air, Mac Pro, Mac Mini, Xserve, Xserve G5, Xserve RAID, Macintosh Server G4, and later eMac models. Leopard can run on older hardware as long as they have a G4 upgrade installed running at the 867mhz or faster, have at least 9 GB free of hard drive space, 512 MB RAM and have a DVD drive. Leopard however will not run on the 900MHz iBook G3 models even though they exceed the minimum 867MHz requirement. This is due to the lack of AltiVec in the G3 line of processors and the fact that most pre-G4 and early G4 systems do not have video hardware capable of supporting Core Image, two technologies Leopard relies upon heavily, among others. Leopard can be "hacked" (see below) to install on these G3 and pre-867MHz G4 machines but the system may behave erratically and many of the programs, features, and functions may not work properly or at all.

Usage on unsupported hardware
Some ways of running Leopard on certain unsupported hardware, primarily PowerPC G4 computers with CPU speeds lower than the official requirement of 867 MHz, have been discovered. A common way is use of the program LeopardAssist, which is a bootloader similar in some respects to XPostFacto (used for installing earlier releases of Mac OS X on unsupported G3 and pre-G3 Macs) that uses the Mac’s Open Firmware to tell Leopard that the machine does have a CPU meeting the 867 MHz minimum requirement that the Installer checks for before installation is allowed to commence, when in reality the CPU is slower. Currently, LeopardAssist only runs on slower G4s and many people have installed Leopard successfully on these older machines. The same result can also be achieved by altering the line of script in the Distribution.dist file on the Leopard installation DVD and burning a new copy of the DVD with the updated file to stop the results of the processor clock speed check, performed when the script in this file is run before Leopard is installed, from halting the installation if it is found to be below 867 MHz.

Users who have access to supported hardware have installed Leopard on the supported machine then simply moved the hard drive to the unsupported machine. Alternatively, the Leopard Installation DVD was booted on a supported Mac, then installed on an unsupported Mac via Firewire Target Disk Mode. Leopard is only compiled for AltiVec-enabled PowerPC processors (G4 and G5) though, as well as Intel, so both of these methods will only work on Macs with G4 or later CPUs. While some of the earlier beta releases were made to run on some later G3 machines (mostly later 800–900 MHz iBooks), no success with the retail version has been officially reported on G3 Macs except for some later iMacs and "Pismo" PowerBook G3s with G4 processor upgrades installed.

For a number of months after Leopard's release it appeared that the only G3 Macs on which Leopard could be run were those with both an aftermarket G4 processor and an AGP graphics card, as failures with the OS partially booting before crashing were reported on older Macs such as the original tray-loading iMacs and the Beige and Blue & White Power Mac G3 (all with G4 upgrades as Leopard will not even begin to load without one) whereas it would boot fine on newer Macs where the Installer restriction had been circumvented. However, more recently it has been reported that with some more work and use of kernel extensions from XPostFacto, Tiger and beta builds of Leopard, the OS can be made to run on G4-upgraded Macs as old as the Power Macintosh 9500, despite the lack of AGP-based graphics. While Leopard can be run on any Mac with a G4 or later processor, some functionality such as Front Row or Time Machine fails to work without a Quartz Extreme-capable graphics card, which many of the earlier G4s did not include in their factory specification.

Since Apple moved to using Intel processors in their computers, the OSx86 project has developed and now also allows Mac OS X Tiger and Leopard to be installed and run successfully on non-Apple x86-based computers, albeit in violation of Apple's licensing agreement for OS X. A variety of installation processes can be used, the most common being to use modified Darwin bootloaders commonly known as "Boot 132" designed to trick the retail, or vanilla, operating system into thinking that it is running on an EFI-based Mac. This method of installation allows the use of an unmodified Apple installation DVD and the updating of the operating system from the built-in Software Update utility, but will work only on Intel Core-based PCs, unless a modified kernel is added to the pre-boot cd. Modified installation DVDs are also available illegally which offer a more outdated approach to installing. A hardware device capable of being attached to a PC’s motherboard has also been released, EFI-X, enabling much the same function as the modified Darwin bootloader.

Packaging
The retail packaging for Leopard is significantly smaller than that of previous versions of Mac OS X (although later copies of Tiger also came in the new smaller box). It also sports a lenticular cover, making the X appear to float above a purple galaxy, somewhat resembling the default Leopard desktop wallpaper.

Compatibility
After Leopard’s release, there were widely-reported incidents of new Leopard installs hanging during boot on the blue screen that appears just before the login process starts. Apple attributed these problems to an outdated version of an unsupported add-on extension called Application Enhancer (APE), from Unsanity which is incompatible with Leopard; unbeknownst to many users, APE had been installed silently on many Macs by Logitech as part of their mouse drivers. However, only the users who did not have the latest version of APE installed (2.0.3 at that time) were affected. Apple published a knowledge base article on how to solve this problem.