History of Xcode

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Don Cuan (talk | contribs) at 09:07, 13 June 2010 (Nominated for deletion; see Wikipedia:Articles for deletion/History of Xcode. using TW). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search

This history of Xcode presents the timeline of development and release of Apple Inc.'s Xcode software development suite.

Like Mac OS X itself, Xcode had its roots in technology from NeXT. Prior to the 24 October 2003 release of Mac OS X v10.3, Apple referred to the suite of tools as Developer Tools. The Xcode integrated development environment (IDE) was developed from and superseded Apple's earlier IDE, Project Builder.

Xcode 1.0

Xcode 1.0 was released in fall 2003. Compared to the previous release of Project Builder, Apple added:

  • An updated user interface.
  • ZeroLink and Fix & Continue.
  • Distributed builds using Bonjour and distcc.
  • Code sense.

Xcode 1.0.1

Xcode 1.0.1 was released in November 2003. This release added:

  • Xcode IDE data corruption fix.

Xcode 1.1

Xcode 1.1 was released in December 2003. This release added:

  • Code completion improvements.

Xcode 1.2

Xcode 1.2 was released in April 2004. This release added:

  • Improved IDE stability.
  • Improved cross-project.
  • Improved yacc and assembler.
  • Updated GCC 3.3.
  • CHUD 3.5

Xcode 1.5

Xcode 1.5 was released in August 2004. This release added:

  • Dead-code stripping.
  • Speed improvements to included GCC.
  • Code completion for Java and AppleScript.
  • Enhanced debugger.
  • Bookmarks in documentation.

Xcode 1.5 included code generation problems. In November 2004, Apple released an update to correct these problems.

Xcode 2.0

Xcode 2.0 was released on 29 April 2005, with Mac OS X v10.4 (Tiger).

  • Supports development for Mac OS X v10.1, Mac OS X v10.2 (Jaguar), Mac OS X v10.3 (Panther), or Mac OS X v10.4 (Tiger) using the Mac OS X Software development kit support.
  • Includes a new version of the GCC compiler. GCC 4.0 includes a new, faster recursive descent C++ parser that conforms to the C++ standard, state-of-the-art Single Static Assignment code optimization framework, auto-vectorization, and 64-bit development for C and C++ (Objective-C/C++ is not yet supported).
  • Visual modeling and design features automatically create class diagrams that not only let you view, but also navigate your code.
  • Integrated Apple Reference Library provides a single search and presentation interface for all of Apple’s developer documentation, including both online documentation from Apple’s website and documentation installed on your machine.
  • Improved Java Code Sense indexing and Ant project templates.
  • Includes Quartz Composer visual programming language.

Xcode 2.1

Xcode 2.1 was released on 6 June 2005, at WWDC 2005.

  • Supports the creation of universal binaries for PowerPC and Intel architectures on Mac OS X v10.4.1 using Mac OS X Software development kit support.
  • WebObjects developer tools included with the Xcode Tools as an optional install.
  • EOModels for Enterprise Objects can be edited within Xcode with a new EOModeler plugin that integrates with the Core Data modeling tools.
  • The project file format is now much more readable and less prone to SCM (Source Code Management) conflicts. It also supports the new Build Configurations feature. Because of the magnitude of the changes, the project file extension is changed in Xcode 2.1 to ".xcodeproj". Older versions of Xcode will not read .xcodeproj files, but Xcode 2.1 can convert older project files to .xcodeproj format.
  • Build Styles replaced by Build Configurations, a more "what-you-see-is-what-you-get" approach to target settings. You can set per-configuration settings directly in the target's inspector, and subprojects are built with the same build configuration as the master project.
  • Built products from different configurations are now built in per-configuration build directories, and can even have different product names per-configuration. That means that building your Release build doesn't overwrite your Debug build any more.
  • A build configuration can be based on a build configuration file, a text file that provides base settings for one or more configurations. This means that your settings can be viewed, edited, searched, committed to SCM, and even compared as text files.
  • Dependency analysis is now much more reliable. You don't need to clean before building as often, and files won't be recompiled unnecessarily.
  • You can configure targets and projects to use Shared Precompiled Headers to minimize the building of precompiled headers.
  • Xcode now supports Preprocessing Info.plist files to perform macro expansion and substitution using common header files.
  • You can now create targets in your projects that perform Unit Testing of other built products at build time. Using test frameworks for C, C++, and Objective-C, you can report test failures and regressions in newly-built code at the time you build it.
  • The ability to drag and drop items in Xcode is significantly enhanced. You can now drag any file or folder into any build setting that expects a file path; drag a target into the Target Dependencies list of any aggregate target; and drag groups or file references into build phases.
  • Distributed builds have been updated so that compile servers only allow remote execution of specific programs. The list of programs that a compile server will allow is contained in /private/etc/compilers.
  • There are many refinements and additions in the Xcode user interface that will be familiar to users of other IDEs. There’s now a Targets tab in each file inspector to show and set what targets that file is included in. The "Built" column in the Groups and Files and Details views can now be clicked to Touch a file to cause it to be rebuilt. In the File Editor you can now Unlock a file that is locked in the file system. The Build, Preprocess, and Show Assembly Code commands now work on multiple selections.
  • The Xcode debugger now supports conditional breakpoints, breakpoint actions, and watchpoints in the debugger interface. The breakpoint actions can log a message, execute a script, speak a phrase, or visualize your program flow in a Class Model diagram.
  • Viewing variables in the debugger now has extended support for Booleans, Pascal strings, and OSType data types.
  • The debugger console now performs tab-completion of symbol names in the current context.
  • Source Code Management now uses an Online/Offline master switch (as is used in Mail) to control connecting and disconnecting from an SCM system. All SCM systems now have basic support for wrappers (project files, nibs, model files, RTFD documents, etc.).
  • The AppleScript dictionary in Xcode continues to grow, in this version adding commands to make new target, upgrade project file, and perform various SCM operations.

Xcode 2.2

Xcode 2.2 was released on 10 November 2005. It included hundreds of bug fixes and several enhancements to the IDE and its underlying tools. Version 2.2 requires Mac OS X version 10.4.0 or later and can create programs that run on version 10.2.8 and later, including Intel-based Macintosh computers.

Notable changes and additions in Xcode 2.2 include:

  • GCC updated to version 4.0.1: many improvements in code generation and correctness
  • Improved Distributed Builds: better scheduling and error handling
  • Distcc is started as a system launch service
  • New Target contextual menus items: control-click on one or more targets to build or clean
  • Separate PCH Symbols for smaller binaries and faster link times
  • Essential Symbols for faster link times
  • Ability to disallow ZeroLink to aid in deploying debug versions of code
  • "Attach" in Xcode debugger to externally-launched apps, and auto-attach on crash
  • Breakpoint Actions support gdb expressions.
  • Executables support build setting expansion

Xcode 2.2.1

Xcode 2.2.1 was released on 10 January 2006 and included several updates:

  • Bug fixes; selected fixes were made in the Xcode IDE, cctools, debugger, compiler.
  • The 10.4u SDK updated for development with Mac OS X 10.4.4.
  • CHUD updated to version 4.3.0.

Xcode 2.3

Xcode 2.3 was released on 23 May 2006 and includes several updates and enhancements. Notable changes include:

  • Support for the DWARF debugging format for enhanced debugging fidelity and efficient utilization of disk space
  • New Distributed Network Build (DNB) scalable build architecture
  • Stability and performance improvements for the Xcode IDE, build system, and Code Sense

Xcode 2.4

Xcode 2.4 was released on 7 August 2006.[1]

  • Support development of 64-bit Mach-O binaries for Intel with the -arch x86_64 flag.
  • Support for building four-architecture fat binaries (32 and 64-bit Intel and PowerPC).
  • Updated 10.4u SDK for Mac OS X 10.4.7 development.
  • Updated CHUD.
  • Other unlisted fixes to the IDE, compiler and debugger.

Xcode 2.4.1

Xcode 2.4.1 was released on the afternoon of 1 November 2006. According to Apple's web site, "Xcode 2.4.1 provides overall stability, performance, and security enhancements to the Xcode IDE, and is a recommended update for all Xcode users".[2] Version 4.4.3 of CHUD was also made available.

Xcode 2.5

Xcode 2.5 was released on 31 October 2007 and thus 5 days after Xcode 3.0.

Notable changes include[2]

  • Xcode 2.5 can be installed on both Mac OS X 10.4 and Mac OS X 10.5.
  • Xcode 2.5 does not support Mac OS X 10.5 Leopard-specific features.
  • On Mac OS X 10.4 Xcode 2.5 will upgrade (replace) previous versions.
  • On Mac OS X 10.5 Xcode 2.5 will install in a separate location.
  • Since Mac OS X 10.5 can have multiple versions of Xcode, it can help smooth the transition from Mac OS X 10.4 to Mac OS X 10.5.

Xcode 3.0

Xcode 3.0 was released on October 26, 2007 with Mac OS X v10.5 (Leopard).

Notable changes include[3]:

  • Code Focus - folding and highlighting
  • Improved Performance for Editor - faster workspace searching etc.
  • Instant-On Debugging and integration of OpenSolaris's DTrace debugging tool
  • Interface Builder with Animations
  • Message Bubbles - build errors, breakpoint definitions and debug values alongside code
  • Objective-C 2.0 (with garbage collection)
  • Organizer Window - drag folder and build
  • Project Snapshots - basic version control
  • Refactoring
  • Research Assistant - context sensitive documentation
  • Instruments performance analysis tool

Xcode 3.1

Xcode 3.1 was released on 11 Jul 2008.

Xcode 3.1 is an update release of the developer tools for Mac OS X, and is the same version included with the iPhone SDK. This release provides additional GCC and LLVM compiler options, general bug fixes, and must be installed on Leopard, Mac OS X 10.5.0 and higher. Xcode 3.1 defaults to upgrading Xcode 3.0, but may optionally be installed alongside existing Xcode installations.

  • SDK support for targeting non-Mac OS X platforms, including iPhone OS SDK (targeting iPhone OS 2.0).
  • GCC 4.2 & LLVM GCC 4.2 optional compilers for use with Mac OS X 10.5 SDK
  • Updated assistants to create new projects, targets, and source files
  • Toolbar uses a single popup to choose platform, target, and debug/release

Xcode 3.1.1

Xcode 3.1.1 was released on 12 Sep 2008.

Xcode 3.1.1 is an update release of the developer tools for Mac OS X, and is the same version included with the iPhone SDK. This release provides additional GCC and LLVM compiler options, general bug fixes, and must be installed on Leopard, Mac OS X 10.5.0 and higher. Xcode 3.1.1 defaults to upgrading an existing Xcode installation, but may optionally be installed alongside existing Xcode installations.

  • Integrated SCM support now works with Subversion 1.5

Xcode 3.1.2

Xcode 3.1.2 was released on 24 Nov 2008.

Xcode 3.1.2 is an update release of the developer tools for Mac OS X. This release provides additional GCC and LLVM compiler options, general bug fixes, and must be installed on Leopard, Mac OS X 10.5.0 and higher. Xcode defaults to upgrading an existing Xcode installation, but may optionally be installed alongside existing Xcode installations.

Xcode 3.1.3

Xcode 3.1.3 was released on 17 June 2009 and it is an update and bug fix release.

Xcode 3.1.4

Xcode 3.1.4 was released on 10 September 2009.

Xcode 3.2

Xcode 3.2 was released on 28 August 2009, with Mac OS X v10.6.

  • Xcode 3.2 requires Mac OS X v10.6 and, like 10.6, requires a Mac with an Intel processor.
  • GCC 4.2 became the default compiler and added clang as an option.
  • A static code analyzer is fully integrated into the IDE through the "Build and Analyze" option.
  • Support was dropped for building software for the 64-bit PowerPC architecture. Only 32-bit PowerPC, 32-bit Intel and 64-bit Intel architectures are supported from this version forwards.
  • Support for iPhone OS SDK's numbered less than 3.0 was dropped. It is still possible to target older SDKs and the simulator supports iPhone OS 2.0 through 3.1.

Xcode 3.2.1

Xcode 3.2.1 was released on 28 August 2009 and it is an update and bug fix release.

References