Skip to content

Releases: gewill/neumorphic

Neumorphic v2.4.1

Choose a tag to compare

@gewill gewill released this 28 Aug 09:42

Documentation and example release. The library source is unchanged from v2.4.0 — no API was added or altered, and swift package diagnose-api-breaking-changes reports no breaking changes.

Documentation

  • The examples' settings screen now shows the accent role and a custom six-color palette. role: (added in 2.3.0) and resolvedButtonColors(for:) (exposed in 2.4.0) were documented but never shown running; the screen renders both roles under the shipped themes and under a palette whose accent pair measures 7.09:1 against its surface pair's 13.17:1.
  • The Accessibility article's testing notes point at that screen, so the advice to verify a custom accent pair separately has a working reference beside it.

Tooling

  • AGENTS.md now records the repository's commit message convention, verification commands, and release steps, and its testing guidance matches CONTRIBUTING.md: the suite stays on XCTest while the package supports Swift 5.7.

Full changelog: https://github.com/gewill/neumorphic/blob/master/CHANGELOG.md

Neumorphic v2.4.0

Choose a tag to compare

@gewill gewill released this 28 Aug 08:16

Additive release. No existing public API changed — swift package diagnose-api-breaking-changes reports no breaking changes against v2.3.0.

Added

  • NeumorphicTheme.resolvedButtonColors(for:) is now public. Apps building their own button modifiers — a fixed-size icon button, for example — can resolve a NeumorphicButtonRole through the same mapping the built-in themed modifier uses, instead of switching over the role themselves. NeumorphicButtonRole is not frozen, so a downstream exhaustive switch would stop compiling if a role is added later; resolving through this method does not.

Documentation

  • The Accessibility article now covers both button roles. The shipped themes clear WCAG AA for each: .surface and .accent are inverse pairs of the same two colors, measuring 5.63:1 on .standard and 14.22:1 on .highContrast. The four-color NeumorphicTheme initializer derives the accent pair from the surface pair, so themes built with it inherit that guarantee.
  • Added guidance for the six-color initializer, whose independent accent pair is easy to get wrong. A saturated fill with white text typically falls below AA — .blue measures 4.02:1, .green 2.22:1, and .orange 2.20:1, against the 4.5:1 threshold.

Full changelog: https://github.com/gewill/neumorphic/blob/master/CHANGELOG.md

v2.3.0

Choose a tag to compare

@gewill gewill released this 28 Aug 05:55
35a2af1

Added

  • Added NeumorphicTheme.accentColor and onAccentColor.
  • Added .surface and .accent semantic button roles.
  • Added neumorphicThemedButtonStyle(_:role:padding:pressedEffect:).

Compatibility

The four-color theme initializer and original themed button API remain source compatible.

Closes #5.

Neumorphic v2.2.2

Choose a tag to compare

@gewill gewill released this 28 Aug 05:31
680a4ba

兼容性与无障碍补丁版本。

  • Picker、Checkbox 与 Radio 在新系统暴露标准 .isSelected trait
  • iOS 13 与 macOS 10.15 保留 accessibility value 回退
  • Button/Toggle 的 2.x 兼容入口不再产生不可消除的弃用告警
  • CI 以 warnings-as-errors 编译直接兼容调用

完整变更见 CHANGELOG.md

Neumorphic v2.2.1

Choose a tag to compare

@gewill gewill released this 27 Aug 17:54

A documentation-only patch release. No public API or runtime behavior changed since v2.2.0swift package diagnose-api-breaking-changes reports no breaking changes.

Documentation

  • Rewrote the README around this fork's maintenance status, stating where upstream stopped (v2.0.7, October 2024) and what has been added since.
  • Added Getting Started and Accessibility articles to the DocC catalog.
  • Fixed the DocC theme example, which applied neumorphicTheme(_:) inside the themed modifier that reads it. Environment values only travel downward, so the example's .highContrast palette silently had no effect.
  • Documented parameters for 27 public declarations that previously carried only a one-line summary — including the view modifiers that make up the primary API.
  • Documented the normalization applied to NeumorphicSlider.step, NeumorphicSwitchToggleStyle.height, and fixedSizeSoftButtonStyle(size:).
  • Regrouped the DocC Topics from a single Styling section into Essentials, Shadows, Theming, and per-category groups; added the previously unlisted SoftButtonPressedEffect and SoftButtonStyle.
  • Corrected four file headers naming files that no longer exist.

Tests

  • Added coverage for the environment theme default and override, and for NeumorphicShadowPreset color resolution.

Full changelog: https://github.com/gewill/neumorphic/blob/master/CHANGELOG.md

Neumorphic v2.2.0

Choose a tag to compare

@gewill gewill released this 09 Aug 08:08
673016b

Highlights

  • Improved Neumorphic Slider behavior, editing lifecycle, step mapping, accessibility values, and hit targets.
  • Unified Theme and Shadow Preset resolution across built-in controls and view modifiers.
  • Improved VoiceOver labels, localization, Reduce Motion, Dynamic Type, keyboard focus, and selection semantics.
  • Completed shared iOS/macOS examples and added Example builds to CI.
  • Strengthened DocC, Swift formatting, API compatibility, and release validation.
  • Removed the tvOS platform declaration.

Compatibility

  • iOS 13+ and macOS 10.15+ for the core package.
  • NeumorphicMenu and NeumorphicLink require iOS 14+ / macOS 11+.
  • Swift 5.7+ / Xcode 14+. Xcode 13 and earlier should remain on the 2.1.x release line.

Installation

.package(url: "https://github.com/gewill/neumorphic.git", .upToNextMajor(from: "2.2.0"))

Verification

  • swift test — 17 tests passed
  • iOS 13 and macOS 10.15 package builds passed
  • iOS Simulator and macOS Example builds passed
  • Swift 6 strict concurrency, DocC, API compatibility, and Swift format checks passed

See the CHANGELOG and documentation for details.

Neumorphic v2.1.0

Choose a tag to compare

@gewill gewill released this 08 Aug 19:13

Highlights

  • Added a shared set of Neumorphic SwiftUI controls: Slider, TextField, ProgressView (linear and circular), Picker, Stepper, Checkbox, Radio, Card, DatePicker, Menu, DisclosureGroup, and Link.
  • Added reusable Theme, high-contrast Theme, Shadow Presets, Focus Ring, and macOS Hover APIs.
  • Improved accessibility with VoiceOver labels and values, adjustable Slider actions, selection state semantics, 44pt interaction targets, Dynamic Type-friendly layouts, Reduce Motion behavior, and non-color selection cues.
  • Added Swift Package Index configuration, DocC coverage, shared iOS/macOS examples, and build/test validation.

Compatibility

  • iOS 13+ and macOS 10.15+ for the core package.
  • NeumorphicMenu and NeumorphicLink require iOS 14+ / macOS 11+.

Installation

.package(url: "https://github.com/gewill/neumorphic.git", .upToNextMajor(from: "2.1.0"))

Verification

  • swift test — 11 tests passed
  • iOS Simulator build passed
  • macOS build passed

See the CHANGELOG and documentation for details.