Changes since May 31, 2010

- [NEW] CSSStyle extension. View the README in src/extThree20CSSStyle

- [FIXED] Warnings related to OS 4.0 and 3.2.

Changes since May 28, 2010

- [APPSTORE] Remove use of TTSwapMethods. See Articles/UI/GarbageCollection and
             eb45ca0a6336022367998ac41ced2df39af384d2.

- [NEW] Add nib support again.

- [FIXED] Issue #77. moveDataForURL and removeURL:fromDisk: have been fixed.

Changes since May 18, 2010

- [NEW] TTEntityTables added to Core.

- [DEPRECATED] NSArray perform:. You should now use makeObjectsPerformSelector.

- [UNITTESTS] Added unit tests for the markup stripper.

- [MINOR] Removed additions from Three20Core.h.

Changes since April 23, 2010

- [NEW] Three20 has been split into modular libraries. Please read the
        Articles/AboutModules.mdown file to learn more about the process.

- [NEW] Add templates for Three20 projects and source files.

- [NEW] Add Articles/ directory dedicated to in-depth discussions of Three20
        components.

- [NEW] Etag support. See Articles/Network/Etag.mdown for more details.

Changes since April 09, 2010

- [NEW] New +Additions library header files.

- [NEW] Network unit tests.

- [NEW] Nib support moved to a separate 'nibs' branch.

- [NEW] Added the JSON library.

- [NEW] Add a TTFacebook sample project using the new Open Graph API.

- [DOX] Style consistency throughout the entire framework.

Changes since March 30, 2010

- [NEW] New showTableShadows option for table gutter shadows.

- [NEW] Nib support for TTViewControllers.

- [NEW] TTNibDemo app demoing new Nib support.

- [NEW] TTNetwork library.

- [NEW] TTNetworkDemo example project.

- [MINOR] Don't hard code the HTTP User-Agent.

- [MINOR] Convert TTLink to use TTURLAction instead of just a URL.

- [MINOR] Cleaning up and standardizing the coding style, about 70% complete.

Changes since February 26, 2010

- [NEW] arrayForKey in the TTXMLAdditions.

- [NEW] Support for successful HTTP status codes from [200, 300).

- [NEW] Three20Core library.

- [NEW] TTCoreDemo example project.

- [FIXED] UIImage's transformWidth:height:rotate: implementation.

- [FIXED] Keyboard display notifications.

- [DOX] Doug Barth contributed complete documentation of TTMessageController.

Changes since February 1, 2010

- [NEW] TTTwitter sample app. See the README.mdown file for in-depth details.

- [NEW] TTXMLParser - A barebones XML parser that takes an XML string and creates an NSObject.
        Options include support for RSS feeds. See the new TTTwitter sample app for an example.

- [NEW] TTTableHeaderDragRefreshView, TTTableViewDragRefreshDelegate. These two new objects
        together implement the "drag-to-refresh" table header seen in other apps on the app
        store. Thanks to uprise78 for this fix.

- [NEW] Add support for PUT HTTP methods. Thanks to dima.

- [FIXED] github#71 navigationBarTintColor and toolbarTintColor issues for TTDefaultSheet
          and TTWebController.

- [FIXED] github#148 Add _toolbar.tintColor to TTPhotoViewController.

- [DOCUMENTATION] TTURLRequestDelegate, TTURLRequest, TTURLRequestQueue, TTWebController,
                  TTYouTubeView, TTTableViewDelegate*.

- [BUILD] Add a prefix header to Debug and Release builds.

- [BUILD] Add a new build mode "Debug Dev" for use when hacking on Three20.

- [BUILD] Reduced include scope of TTDebugFlags.h for faster rebuild times when debugging.

Changes since January 22, 2010

- [NEW] TTURLAction object for TTNavigator.

- [DEPRECATED] openURL methods of TTNavigator.

- [DEPRECATED] TTImageView.URL => TTImageView.urlPath.

- [DOCUMENTATION] Documented TTView, TTImageView, TTScrollView, TTYouTubeView,
                  TTNavigator and co.

- [MINOR] Cleaned up the debugging documentation.

Changes since December 25, 2009

- [NEW] TTURLRequest didReceiveAuthenticationChallenge for authentication challenges.

- [DEPRECATED] isWhitespace. Use isWhitespaceAndNewlines instead.

- [XCODE] Refactoring problems solved. TTUserInfo weak/strong properties renamed
          to weakRef/strongRef, respectively.

- [MINOR] Use __PRETTY_FUNCTION__ for debug logs. (@steipete)

Changes from December 18, 2009

- [NEW] TTRecursiveProgress object for recursive progress (go figure!)
        See TTRecursiveProgress.h for more details

- [LOCALE] Numerous fixes to diffstrings

- [LOCALE] Make --merge in diffstrings actually work

- [LOCALE] Update German, Spanish, Italian, Japanese, Chinese, and Taiwanese

- [NETWORK] TTNetworkRequestStarted/Stopped now threadsafe.

- [CRASHFIX] Synchronous connections modifying non-threadsafe members

Changes from December 11, 2009

- [NEW] -[NSDate formatShortRelativeTime]

- [NEW] Unit tests for most of Core and part of UI

- [APPSTORE] Rename previousViewController to ttPreviousViewController

- [APPSTORE] Rename lineHeight to ttLineHeight

- [APPSTORE] Rename screenX and screenY to ttScreenX and ttScreenY

- [FIXED] diffstrings sorts strings tables to make diffs more sensible

- [DEPRECATED] TTLOG

- [DEPRECATED] TTIsEmpty* methods

- [MINOR] Properly calculate the scroll height in the "Styled Views"
          example in TTCatalog

Changes from December 5, 2009

- [NEW] TTDCONDITIONLOG added to TTDebug.h

- [NEW] TTDPRINTMETHODNAME added to TTDebug.h

- [NEW] -[NSString versionStringCompare:]

- [NEW] charsetForMultipart added to TTURLRequest

- [FIXED] Table view delete-row animation slides to left, not up

- [FIXED] Potentially uninitialized variable in NSStringAdditions

- [FIXED] Layout problems in TTTextEditor

- [FIXED] github#109 TTScrollView bug: displaying landscape views in
          landscape orientation have a wrong size

- [MINOR] Stylistic consistency changes

- [MINOR] Duplicate TTIsEmptyArray in TTGlobal.h now TTIsEmptySet

- [MINOR] Reset TTTableMessageItemCell properties when preparing for reuse

- [MINOR] Fix potential crash when asking for a nonexistent
          previousViewController

- [MINOR] Use the same bytes per row in the destination bitmap for
          transformWidth


Changes from November 27, 2009

- [NEW] loadSynchronous added to TTURLRequest.

- [NEW] TTHighlightBorderStyle New border style with a highlight.
	http://three20.info/api/TTStyle#TTHighlightBorderStyle

- [NEW] TTReflectiveFillStyle styleWithColor:withBottomHighlight:next:
        http://three20.info/api/TTStyle#styleWithColor:withBottomHighlight:next:

- [FIXED] TTReflectiveFillStyle's rendering algorithm now works without magic
          numbers.

- [FIXED] github#108 Show the proper accessoryType for shared URLs.

- [FIXED] github#107 Check for known URL schemes case-insensitively.

- [FIXED] github#106 Update the README to reference the new repo location.

- [FIXED] github#104 Properly show TTTabStrip left/right images.

- [FIXED] github#78 In TTScrollView notify the delegate when the page has
          changed.

Changes from November 19, 2009

- [FIXED] Revert to previous TTIsKeyboardVisible() check

- [FIXED] Zero no longer signifies "cached object never expires"


Changes from November 17, 2009

- [NEW] TTD* logging macros. See TTDebug.h for info.

- [NEW] [NSMutableArray addNonEmptyString:(NSString*)string]

- [NEW] [NSMutableDictionary setNonEmptyString:(NSString*)string forKey:(id)key]

- [NEW] [NSArray containsObject:(id)object withSelector:(SEL)selector]

- [NEW] [NSData md5Hash]

- [DEPRECATED] TTLOG macros should no longer be used, consider switching to TTD* macros.

- [SECURITY] Don't write passwords to the console in TTURLRequests.

- [FIXED] github#67 Set the default cache expiration date for TTURLRequests to
  TT_DEFAULT_CACHE_EXPIRATION_AGE.

- [FIXED] github#85 Disallow recursive calls to wobble.

- [FIXED] github#92 Fix memory leak in TTViewController.

- [FIXED] github#75 Fix memory leak in UIColorAdditions.

- [FIXED] github#11 Add autoresizingMask to TTActivityLabel.

- [FIXED] references to private APIs: firstResponder, UIView additions
