Many significant problems reported in Xcode 3.0 have been addressed in Xcode 3.1. In addition to the ones below, hundreds of developer-reported bugs are fixed, and many crashes and memory leaks have been addressed.
Project Editing and Management
Xcode no longer beeps when closing a project after you’ve been debugging. 4542894
Xcode no longer spins for 30 seconds on opening a project in certain network configurations. 5560191
Using BBEdit as an external editor works more reliably now when you have multiple versions of BBEdit. 5574251
Property list files that have been stored as binary plists can be opened in Property List Editor by Xcode. 5510298
Adding a shim dylib to a target now adds it correctly to the Link Binaries build phase rather than the Copy Bundle Resources build phase. 5576928
Xcode build folders are now excluded from Time Machine backups. 5606734
A condition that caused an Assertion Failed internal error due to “!pflags.projectClosed” has been fixed. 5462301
On occasion in All in One layouts, the Detail view would appear too small, surrounded by a large grey box (or be missing altogether), or the Detail view would appear tucked under the toolbar or Favorites bar, so that column headers and segment controls were clipped or hidden. This has been fixed in Xcode 3.1. 4078110, 5482279
Opening a .nib or .xib file from within Xcode 3.1 now correctly launches Interface Builder 3.1. 5788709
The NIB Files smartgroup now shows .xib files as well. 5631186
A problem where two projects with mutual cross-project references could not ever be closed has been fixed. 5853910
A longstanding bug where Xcode would make itself the active application at inopportune times has been fixed. 5793285
Pressing the Tab key with a selection in the Groups and Files tree now no longer opens the selected item for editing. 5764905
Text Editing
Syntax coloring and code folding now respects CDATA blocks in XML and NSData objects in plist format as atomic objects and does not attempt to parse their contents. 5765065, 5771545
Code Sense can now autocomplete, index, and refactor identifiers tagged with GCC attributes like ___attribute((packed) etc. 5478328
Source files with extremely large scalar arrays defined in macros no longer cause the indexer to crash. 5566249
Indent on Return with Metrowerks key bindings enabled was not only broken, but caused Return to be ignored in other places in the user interface. This has been fixed. 5551513
Code Folding now works correctly with the Japanese FEP input method. 5750248
Double-click to select in strings and to balance delimiters now works in cases where code is folded above the location of the double-click. 5717038
Dragging and dropping text and copying and pasting text across folded text ranges could cause text corruption. This has been fixed. 5520726, 5713972
Opening large XML files, large files with non-ASCII text, large files with very long lines, or very very large text files (>10Mb) is now significantly faster, often by two orders of magnitude. 5496096
Scrolling after manipulating breakpoints no longer leaves black artifacts in the gutter area. 5375592
Xcode no longer crashes when the Indent Width is set to 0 on Intel hardware. 5611522
Documentation Viewing
The documentation viewer no longer loses its function popup. 5662600
Pressing the Back button in the Documentation viewer no longer takes you to Safari. 5059558
Searching and Indexing
When “All Project Files” is selected in the Options pane, Find in Project now searches all text files as well as sourcecode files in the project. 5280220
Find in Project no longer searches inside bundles and wrapper directories added to a project. 5323093
The Find in Folders list in the Options panel of Find in Project now accepts build setting values like $(SRCROOT). 5464668
The Find Selected Text, Replace, and Replace All menu items have been restored. 5591661, 5708548
The Rename refactoring now works correctly in cases where two (or more) classes that have same named categories. 5713563
A case where Project Find would skip a matching string that starts with a set of repeating characters in the search string has been fixed. 5794607
Cases where an initial Snapshot would succeed but subsequent Snapshots would fail have been fixed. 5683201
Subsequent Snapshots would delete symlinks copied in a prior Snapshot. This has been fixed. 5609480
A serious bug where Restore from a snapshot would delete files has been fixed. 5815204
Callback typedefs now appear properly in the function popup 2822458
A condition where project indexing would crash due to symlinks has been fixed. 5720817
C++ destructors now appear in the Function Popup with their leading tilde. 5738000
Source Code Management
Many crashes, memory errors, and other problems with Perforce have been fixed. 5671751 Its speed has been significantly increased as well. 5507126
Subversion support now handles svn:externals definitions. 5570480
Renaming files under Source Code Management controls works better now. 4092208
You can get the raw transaction text of SCM operations by copy and paste or drag and drop of the SCM 4863296
Subversion can now work with user names that are email addresses (with an internal @) 5438773
Problems with renaming a file or folder in the Groups and Files outline view being interrupted by other activity (such as SCM operations) have been fixed. 5144185
SCM ▶ Compare allowed you to compare a file against an arbitrary other file in Xcode 2.5 but not in Xcode 3.0. This functionality has been restored in Xcode 3.1. 5594356
Files generated by SCM operations such as Annotate and Compare now have the same file extension as the original file. 5730147
Xcode 3.0 would confuse two SCM repositories using different SCM systems on the same host. This has been fixed. 5029026
Renaming a file that is in the project but not in the project’s SCM repository now works correctly. 4092208
Build System and Setttings
Recursive header search paths would not search all paths. 4169166
If the Executable Extension build setting is set to the empty string, the trailing “.” will now be omitted. 5822758
Per-file build flags set on files that are built both with a Build Rule and then by the C compiler (e.g. Bison, Lex, Flex files, etc.) are now passed only to the Build Rule and not to the compiler. This may break projects that expect the per-file build flags to be sent to the compiler. 4251610
Debugging
Stopping at a breakpoint will use the Debugger window if present, rather than the frontmost editor. 4781477
The Research Assistant no longer uses CPU while Xcode is not frontmost. 5577629
The Clear Log menu item has been restored to the Run menu. 5020597
The debugger no longer shows variables “out of scope” when they are not. 4883236
The debugger no longer crashes with some styles of conditional breakpoints. 5608912