SystemNotification will use semver after 1.0.
Until then, breaking changes can happen in any version, and deprecated features may be removed in any minor version bump.
This patch lets you provide a custom bundle to SystemNotificatonMessage
.
This version renames the master
branch to main
and updates to Swift 6.
Thanks to @martindufort there's now an AppKit-specific overlay.
SystemNotificationAppKitOverlay
is a new AppKit-specific overlay view. This version renames the master
branch to main
and updates to Swift 6.
This version adds support for strict concurrency.
This version adds predefined system notification messages and styles and makes it easier to present a message.
SystemNotificationContext
has a newpresentMessage
function.SystemNotificationMessage
has new, predefinederror
,success
,warning
andsilentMode
messages.SystemNotificationMessageStyle
has new, predefinedprominent
,error
,success
andwarning
styles.
This version bumps the deployment targets and moves styling and configuration to view modifiers.
- All previous style- and config-based initializers have been removed.
- .iOS(.v15)
- .macOS(.v12)
- .tvOS(.v15)
- .watchOS(.v8)
- .visionOS(.v1)
SystemNotification
is more self-managed than before.SystemNotificationConfiguration
can now be used as an environment value.SystemNotificationStyle
now supports background materials.SystemNotificationStyle
can now be used as an environment value.SystemNotificationMessageStyle
can now be used as an environment value.SystemNotificationMessageStyle
now supports specifying a foreground color.SystemNotificationMessageStyle
now supports specifying a background color.View
has new system notification-related style- and config view modifiers.
SystemNotification
now correctly applies the configuration animation.
- SystemNotification now supports visionOS.
- SystemNotification now requires Swift 5.9.
- The
SystemNotificationPresenter
feature was a bad addition and has been deprecated.
SystemNotificationPresenter
is a new convenience protocol.
This version rolls back the UIKit support deprecation.
SystemNotificationUIKitOverlay
is no longer deprecated.
This version splits up SystemNotificationConfiguration
in a configuration and style type.
Due to changes in the SystemNotificationMessage
capabilities, the LocalizedStringKey
support has been deprecated.
Also, since SystemNotification aims to be a pure SwiftUI project, the SystemNotificationUIKitOverlay
has been deprecated. Please let me know if you really need it, and I'll re-add it to the library.
SystemNotificationMessage
now supports a custom icon view.SystemNotificationStyle
is a new type that's extracted fromSystemNotificationConfiguration
.
SystemNotification
no longer uses async size bindings to apply the corner radius.
SystemNotificationConfiguration
moves all styles toSystemNotificationStyle
.SystemNotificationMessage
has deprecated itsLocalizedString
initializer.SystemNotificationMessageConfiguration
is renamed toSystemNotificationMessageStyle
.
SystemNotificationConfiguration
has a newpadding
parameter.SystemNotificationConfiguration
has a newstandardBackgroundColor
function.SystemNotificationConfiguration
has a newstandardPadding
property.
SystemNotificationContext
handles custom presentation configurations better.
- All deprecated code has been removed.
SystemNotificationContext
present
now has an optional configuration.SystemNotificationContext
now uses its own configuration if none is provided.
This release fixes compile errors on tvOS and watchOS.
This release makes configuration properties mutable.
This release greatly improves how notifications are presented and dismissed and simplifies usage.
The demo app now uses a local package, which makes it a lot easier to develop the library.
SystemNotification has a brand new DocC documentation.
Due to the new documentation, the package now requires Swift 5.5.
SystemNotificationContext
has a new completion-based dismiss function.SystemNotificationMessageConfiguration
has newiconTextSpacing
andtitleTextSpacing
properties.SystemNotificationUIKitOverlay
is a new view that simplifies adding a system notification to a UIKit view.View+SystemNotification
has a new parameter-based extension that replaces the old notification-based one.
SystemNotificationMessageConfiguration
is adjusted to make a message look more like an iPhone system notification.- Presenting a new notification first dismisses the current notification, if any.
- The auto-dismiss logic is moved from the system notification to the notification context.
- This version fixes a bug, where the message configuration padding was incorrectly applied.
- The notification-based
systemNotification(:)
function is deprecated.
SystemNotification+Message
has been deprecated.SystemNotificationConfiguration
minWidth
is no longer used and has been removed.View+SystemNotification
has deprecated theSystemNotification
-based extension.
SystemNotificationConfiguration
has a newisSwipeToDismissEnabled
parameter.SystemNotification
can now be swiped to be dismissed, ifisSwipeToDismissEnabled
istrue
.
This relase makes it possible to provide a nil
title to SystemNotificationMessage
.
This relase makes it possible to use plain String
values when creating SystemNotification
and SystemNotificationMessage
.
- The context-based view modifier no longer requires a
context
parameter name.
systemNotification(context:)
is replaced withsystemNotification(_ context:)
.
- This version fixes a bug, where the configuration duration wasn't applied.
- This version fixes a bug, where the default dark mode background was transparent.
- This version fixes a preview bug that caused the library not to build for macOS.
- Thanks to Christian Mitteldorf, system notifications now use localized string keys, which makes it super simple to create localized notifications.
This release has some breaking name changes and makes it easier to present multiple notifications with a single modifier.
SystemNotificationContext
makes it easy to present multiple notifications with a single modifier.
SystemNotification.Configuration
has been renamed toSystemNotificationConfiguration
SystemNotificationMessage.Configuration
has been renamed toSystemNotificationMessageConfiguration
This release improves platform supports, adds convenience utils and tweaks design.
- The library now supports macOS, tvOS and watchOS as well.
SystemNotification.Configuration
has new shadow properties.
- The configuration types are no longed nested, to avoid generic limitations.
SystemNotification.Configuration
has removed the background opacity modifier.SystemNotification.Configuration
has now applies a more subtle standard shadow.SystemNotificationMessage.Configuration
now usestitle3
as standard icon font.
- The corner radius now works even when no image is provided.
This is the first public release of SystemNotification.
Check out the readme and the demo app for information about how to use it.