Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Updated with changes from OmniGroup svn [r220076:231148]

General:
  - Now builds with Xcode 6.3 and the Mac OS X 10.10 or iOS 8.2 or iOS 8.3 SDKs.
  - Fixed lots of paths to frameworks in xcodeproj files that Xcode mangled
  - Fixed up deprecation warnings
  - Mark frameworks used our extensions as 'APPLICATION_EXTENSION_API_ONLY = YES'
  - More ARC conversion, or making public headers ARC friendly.
  - Various localized string file updates.

Configurations:
  - On the Mac, we now always build with @rpath for frameworks and have a copy files build phase to install frameworks in the app. This is important for debugging embedded XPC services that link those frameworks too. Additionally, this allows launching Debug-built apps w/o dyld environment variables. NOTE: Xcode tries to be helpful and insert a DYLD_FRAMEWORKS_PATH environment varible. To get the installed copies, your scheme needs "DYLD_FRAMEWORK_PATH=${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Contents/Frameworks".
  - Enabled GCC_NO_COMMON_BLOCKS and fixed resulting problems.
  - Added -DNSApp=Use_NSApplication_sharedApplication to discourage use of the NSApp global.

Scripts:
  - ListMissingRetinaImages handles 3x images.
  - More support for parsing Xcode projects and workspaces.

OmniBase:
  - Added -[NSError causedByNetworkConnectionLost] convenience method.
  - Refactored OBBacktraceBuffer a bit to make the right bits public.
  - Added PRIxCFIndex and PRIXCFIndex format specifiers.
  - Added a hack for Xcode 6.2b4 (disabled by default) that will likely be removed in the next push.
  - Made OBASSERT_NOT_REACHED log a backtrace via OBRecordBacktrace(), even in non-debug builds.
  - Added OB_BRIDGE_RETAIN and OB_BRIDGE_TRANSFER helpers for ARC conversion.
  - Added OBCallBoolReturnIMPWithObjectObject() and OBSendBoolReturnMessageWithObjectObject() helpers for ARC-friendly calls to method IMPs.

OmniFoundation:
  - Added OFRunLoopRunUntil(), inspired by <https://github.com/n-b/CTT2> but rewritten to use a timer to avoid spinning the runloop.
  - Removed NSFileCoordinator extensions for dealing with bugs in case-only renames, as these have been fixed in the OS(es).
  - Add support for configuration options that can be changed at runtime (via URLs and the configuration UI in OmniAppKit).
  - Extracted a -parseQueryString: method in OFMultiValueDictionary to allow handling the key/value pairs.
  - Fixed crash in OFRelativeDateParser when given "today at noon".
  - Improved interpretation of short months/days ("mar" in Spanish should be Martes, not March).
  - Added file manager extension for looking up group containers in various store configurations.

OmniDAV:
  - Add a unique identifier to the temporary collection used for conformance checks so two devices can do checks at the same time.
  - Retry conformance checks a few times on network timeouts.
  - Added ODAVURLResult helper class to report both the URL and redirects. API clients can then use this to reduce the number of redirects they hit.
  - Added workarounds for URL encoding bugs in Apache/svn.
  - Added a notion of retryable-ity to ODAVOperations and obey that when retrying for connection loss.
  - Added +[ODAVOperation suggestAlternateURLForURL:withRedirects:] which can be used to "pre redirect" operations that happen soon after a ODAVURLResult that has redirect entries.
  - Note when the Destination of a MOVE/COPY is something that needs a redirect.
  - Add ODAVUpload helper class, which can upload a file wrapper.
  - Added some new tests for redirect handling.
  - More work on encryption/Security framework wrapper extensions for document encryption.
  - OFScanDirectory() now takes an error handler and calls it to figure out what to do about errors.
  - Added OFFileEdit to represent a file version (at least in a NS/UIDocuemnt based world).
  - Lots of new methods on existing classes.
  - Removed unused OFFilePresenterEdits class.

OmniDataObjects:
  - Added ODOIsTruePredicate().

OmniDocumentStore:
  - Use the new OFFileEdit class to represent a 'file modification' (inode, mtime, original URL).
  - Better error handling of errors when scanning a document tree that avoid thinking that documents have gone missing.
  - Better collection of the file modification information from w/in a file coordinated block.
  - Add -addDocumentInFolder:baseName:fileType:fromURL:option:completionHandler: for better document creation from a template.
  - Improvement/cleanup of notifications to higher levels so that they can manage things like preview caches.

OmniFileExchange:
  - Detect when one OmniPresence folder has been placed inside another. Disable syncing for the inner folder and report an error.
  - Disable syncing on an account if too many errors happen in a short period of time.
  - Improve reliability of reported error and last sync date in the activity classes.
  - Keep track of recent redirects and use those to avoid further redirects in the same sync operation.
  - In Mac accounts, avoid re-resolving our security scoped bookmark when we don't need to since this releases our sandbox privledges briefly and we might be syncing that account.
  - If a directory scan fails, note that and don't report documents as missing. On the next sync, make sure to retry the scan.
  - Added some testing hooks for configuring whether and how often we delete old versions on the server.
  - Removed stuff about configuration cellular access since Settings.app controls this now.
  - Added support for deleting stale versions of documents, in case they didn't get cleaned up by a prior sync (device put to sleep, connection lost, etc).
  - Added OFFileMotionResult for describing the result of a move or copy in a file coordination safe way.
  - Fix cases where credentials could be discarded if conformance tests failed.
  - Fix a bug where we could interpret network conneciton loss as a conflict.
  - When we get a 'stale' bookmark, we now rearchive the bookmark data.
  - We no longer require the WebDAV server to return ETags since we don't use them.

OmniFileStore:
  - Continued working on encryption support.

OmniAppKit:
  - Added support for writing ICC colorspace data in a external table when archiving colors to plists.
  - Declare +[OAApplication sharedApplication] as returning instancetype.
  - Removed our home-grown support for sheet request queuing as AppKit does this better now.
  - Fix possible infinite loop in target selection search.
  - Added support for displaying/editing/resetting configuration values and handling change URLs.
  - Fix a crash that can happen when clicking on a AppleScript-backed toolbar item after the script has been removed.
  - Fix a crash that can happen when validating toolbar items in a window that is being torn down.
  - Add support for Yosemite-style button toolbar items via a 'hasButton' key in the .toolbar file.
  - Add strings files for crayon color names.
  - Work around crash in the text system where _NSLayoutManagerRulerHelper is asked for -defaultLineHeightForFont: but doesn't respond (19771353)
  - Added more helpers for constructing constraints.
  - Added debug logging support for vibrant views.
  - Updated support for performing blocks before a window is displayed to include per-window support.
  - Improved font matching in OAFontDescriptor.
  - Improved performance of OAResizingTitleBarButton.
  - Fixed rare crash when closing the window for a OAWebPageViewer. Improved scrolling performance.

OmniInspector:
  - Avoid doing work while windows are closing that could poke zombies.
  - Updates for Yosemite look and feel.

OmniSoftwareUpdate:
  - OpenGL has a bug where sometimes instantating a context on a background queue would crash. We'd been getting a small but steady number of these across our apps. So now, we do the anonymous hardware details collection and software update query in a background XPC service.
  - Removed use of some deprecated SMJob functions that we used in our priviledge install helper (for when the updating app isn't writable by the current user). We now write a new version of our helper tool in the (rare) case that the XPC protocol changes rather than trying to remove the old one when a downgrade would have been necessary.
  - Switched to storing user-wide settings for software update into a group container preference domain instead of requiring a special entitlement for the share preference domain.
  - Added a new version of the OpenGL extension compaction encoding that better reflects the set of extensions commonly available today.
  - Apply extension compaction to the OpenCL extensions.
  - Added support for custom queyr keys in reports.
  - Build the the HTML in code for the description of what info will be reported. This allows for localization of individual pieces more naturally.
  - Stop using NSDate for run-time calculation, using clock_get_time() instead (since the latter doesn't increment while the machine is asleep and doesn't change when ntp changes the system time).
  - Improved user confirmation support for sending OSU stats on iOS.
  - Fixed the split view style when showing updates.
  - Fixed escape/cmd-period in the updates window.
  - Updated preference pane icons for Yosemite.

OmniUI/Common:
  - Clean up of file presenter code in OUIAppearance
  - Add support for NSImage-typed properties, with the image based on a name, bundle name, and tint color string/dictionary.
  - Add support for UIImage-typed properties, with similar options.
  - Add support for explicitly float- or double-typed properties (CGFloat will duplicate one of these based on architecture). NSTimeInterval support added by virtue of explicit support for double.

OmniUI/iOS:
  - Added/updated appearance values.
  - More updates for adaptability.

OmniUI/iPad-Document:
  - Allow for configuration of whether help should be displayed on first launch.
  - Updated icons.
  - Updated document preview sizes for compact layouts.
  - Updated document preview support to work in terms of OFFileEdits; fixes spurious preview regeneration in some cases.
  - Many more updates for adaptability and compact layouts.

OmniUI/iPad:
  - Many updates for adaptability and compact layouts.
  - Support for configuration change URLs.
  - Updates for IAP upgrade pricing options.

OmniUnzip:
  - Disable pkzip encryption, which we don't use.
  - Set VERSIONMADEBY to 0x300 across the whole project.
latest commit 32986aa7cc
@tjw tjw authored
Something went wrong with that request. Please try again.