16 days ago
LNPopupController

v2.19.12

  • Improved support for nested page view controllers

  • Added support for dynamically added views that might introduce gesture recognizers of their own

    • The system now “imports” any gesture recognizer it meets so that it can work with the popup interaction gesture recognizer
16 days ago
LNPopupController

v2.19.11

Improved support for vertical and horizontal UIPageViewController popup content.

17 days ago
LNPopupController

v2.19.10

  • Further improved handling of scrolling in popup content
  • Expanded documentation with scroll behavior
17 days ago
LNPopupController

v2.19.9

Improved scroll gesture handling (#580)

18 days ago
LNPopupController

v2.19.8

Possible fix for popup dismiss bugs with scrolling popup content (#580)

22 days ago
realm-cocoa

v10.54.0

The minimum supported version of Xcode is now 15.3.

Enhancements

  • Build in Swift 6 language mode when using Xcode 16. Libraries build in Swift 6 mode can be consumed by apps built in Swift 5 mode, so this should not have any immediate effects beyond eliminating some warnings and ensuring that all Realm APIs can be used in Swift 6 mode. Some notes about using Realm Swift in Swift 6:
    • try await Realm(actor: actor) has been replaced with try await Realm.open() to work around isolated parameters not being implemented for initializers (https://github.com/swiftlang/swift/issues/71174). The actor is now automatically inferred and should not be manually passed in.
    • @ThreadSafe is not usable as a property wrapper on local variables and function arguments in Swift 6 mode. Sendability checking for property wrappers never got implemented due to them being quietly deprecated in favor of macros. It can still be used as a property wrapper for class properties and as a manual wrapper locally, but note that it does not combine well with actor-isolated Realms.
    • In Swift 6 mode a few mongo client functions have changed from returning [AnyHashable: Any] to Document. These should have been Document all along, and the old return type no longer compiles due to not being Sendable.
  • Some SwiftUI components are now explicitly marked as @MainActor. These types were implicitly @MainActor in Swift 5, but became nonisolated when using Xcode 16 in Swift 5 mode due to the removal of implicit isolation when using property wrappers on member variables. This resulted in some new sendability warnings in Xcode 16 (or errors in Swift 6 mode).
  • Add Xcode 16 and 16.1 binaries to the release packages.

Fixed

  • Having a query with a number of predicates ORed together may result in a crash on some platforms (strict weak ordering check failing on iphone) (#8028, since v10.50.0)

Compatibility

  • Realm Studio: 15.0.0 or later.
  • APIs are backwards compatible with all previous releases in the 10.x.y series.
  • Carthage release for Swift is built with Xcode 15.4.0.
  • CocoaPods: 1.10 or later.
  • Xcode: 15.3.0-16.1 beta.

Internal

  • Upgraded realm-core from v14.12.1 to 14.13.0
22 days ago
realm-swift

v10.54.0

The minimum supported version of Xcode is now 15.3.

Enhancements

  • Build in Swift 6 language mode when using Xcode 16. Libraries build in Swift 6 mode can be consumed by apps built in Swift 5 mode, so this should not have any immediate effects beyond eliminating some warnings and ensuring that all Realm APIs can be used in Swift 6 mode. Some notes about using Realm Swift in Swift 6:
    • try await Realm(actor: actor) has been replaced with try await Realm.open() to work around isolated parameters not being implemented for initializers (https://github.com/swiftlang/swift/issues/71174). The actor is now automatically inferred and should not be manually passed in.
    • @ThreadSafe is not usable as a property wrapper on local variables and function arguments in Swift 6 mode. Sendability checking for property wrappers never got implemented due to them being quietly deprecated in favor of macros. It can still be used as a property wrapper for class properties and as a manual wrapper locally, but note that it does not combine well with actor-isolated Realms.
    • In Swift 6 mode a few mongo client functions have changed from returning [AnyHashable: Any] to Document. These should have been Document all along, and the old return type no longer compiles due to not being Sendable.
  • Some SwiftUI components are now explicitly marked as @MainActor. These types were implicitly @MainActor in Swift 5, but became nonisolated when using Xcode 16 in Swift 5 mode due to the removal of implicit isolation when using property wrappers on member variables. This resulted in some new sendability warnings in Xcode 16 (or errors in Swift 6 mode).
  • Add Xcode 16 and 16.1 binaries to the release packages.

Fixed

  • Having a query with a number of predicates ORed together may result in a crash on some platforms (strict weak ordering check failing on iphone) (#8028, since v10.50.0)

Compatibility

  • Realm Studio: 15.0.0 or later.
  • APIs are backwards compatible with all previous releases in the 10.x.y series.
  • Carthage release for Swift is built with Xcode 15.4.0.
  • CocoaPods: 1.10 or later.
  • Xcode: 15.3.0-16.1 beta.

Internal

  • Upgraded realm-core from v14.12.1 to 14.13.0
25 days ago
ZLPhotoBrowser

4.5.5

Add:

  • The ZLImagePreviewController interface supports gesture-driven pull-down return animations.
  • Update the API for obtaining album permissions.

Fix:

  • Fixed the bug that mosaics were not displayed during painting.
2024-09-12 05:27:18
PopupView
2024-09-10 01:16:55
realm-swift

v20.0.0

The minimum supported version of Xcode is now 15.3.

Enhancements

  • Build in Swift 6 language mode when using Xcode 16. Libraries build in Swift 6 mode can be consumed by apps built in Swift 5 mode, so this should not have any immediate effects beyond eliminating some warnings and ensuring that all Realm APIs can be used in Swift 6 mode. Some notes about using Realm Swift in Swift 6:
    • try await Realm(actor: actor) has been replaced with try await Realm.open() to work around isolated parameters not being implemented for initializers (https://github.com/swiftlang/swift/issues/71174). The actor is now automatically inferred and should not be manually passed in.
    • @ThreadSafe is not usable as a property wrapper on local variables and function arguments in Swift 6 mode. Sendability checking for property wrappers never got implemented due to them being quietly deprecated in favor of macros. It can still be used as a property wrapper for class properties and as a manual wrapper locally, but note that it does not combine well with actor-isolated Realms.
  • Some SwiftUI components are now explicitly marked as @MainActor. These types were implicitly @MainActor in Swift 5, but became nonisolated when using Xcode 16 in Swift 5 mode due to the removal of implicit isolation when using property wrappers on member variables. This resulted in some new sendability warnings in Xcode 16 (or errors in Swift 6 mode).
  • Add Xcode 16 and 16.1 binaries to the release packages (currently built with beta 6 and beta 1 respectively).

Breaking Changes

  • All Atlas App Services and Atlas Device Sync functionality has been removed. Users of Atlas Device Sync should pin to v10.

  • Queries on AnyRealmValue properties previously considered strings to be equivalent to Data containing the UTF-8 encoded string. Strings and Data are now considered different types and queries for one of them will not match the other.

  • Realms are no longer autoreleased when initialized. This means that code along the lines of the following will no longer work:

    try! Realm().beginWrite()
    try! Realm().create(MyObject.self, value: ...)
    try! Realm().commitWrite()

    This was a pattern which was somewhat natural with the original version of the objective-c API, but only worked in debug builds and would fail in release builds. We decided to make it consistently work by forcing the Realm to be autoreleased rather than let users write code which appeared to work but was actually broken. In modern Swift this code is very strange, and autoreleasing the Realm made it much more difficult to ensure that the file is actually closed at predictable times.

    Realms are now returned retained in both debug and release modes, so this will always break rather than appearing to work. Note that there is still a weak cache of Realms and Realm() will still return a reference to the existing Realm if there is one open on the current thread.

  • Iterating a Map now produces the tuple (key: KeyType, value: ValueType) rather than a very similar struct, and .asKeyValueSequence() has been removed. This aligns Map with Dictionary and makes many operations defined by Sequence work on Map.

  • Passing an empty array for notification keypaths to filter on (e.g. obj.observe(keyPaths: [])) was treated the same as passing nil, i.e. no filtering was done. It now instead observes no keypaths. For objects this means it will only report the object being deleted, and for collections it will only report collection-level changes and not changes to the objects inside the collection.

  • Decimal128(string:) was marked as throws, but it never actually threw an error and instead returned NaN if the string could not be parsed as a decimal128. That behavior was kept and it is no longer marked as throws.

Compatibility

  • Realm Studio: 15.0.0 or later.
  • Carthage release for Swift is built with Xcode 15.4.0.
  • CocoaPods: 1.10 or later.
  • Xcode: 15.3.0-16.1 beta.

Internal

  • Upgraded realm-core from v14.12.1 to v20.0.0.