Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
0e27410
Replace fatal errors in transitionDuration delegate methods (#642)
LevinIvan Aug 5, 2024
71f419a
Version 2.8.5
scenee Aug 5, 2024
3a3d534
Fix doc comments' errors (#644)
scenee Sep 6, 2024
b6e8928
Version 2.8.6
scenee Sep 7, 2024
b0fd0d4
Disallow interrupting the panel interaction while bouncing over the m…
scenee Nov 9, 2024
479cce4
Reset `initialScrollOffset` after the attracting animation ends (#659)
scenee Mar 7, 2025
370e306
ci: use Xcode 16.2 (#653)
scenee Mar 7, 2025
9592baa
ci: use macos-15 for all testing to use Xcode 16.2
scenee Mar 13, 2025
a1f20ce
Version 2.8.7
scenee Apr 5, 2025
dd49fde
Revert "Disallow interrupting the panel interaction while bouncing ov…
scenee Apr 21, 2025
afff000
Allow slight deviation when checking for anchor position.
scenee Apr 21, 2025
dfa9a77
Fix a miss spell
scenee Apr 21, 2025
09f9036
Address #661 issue since v2.8.0 (#662)
scenee Apr 22, 2025
1d2e3a0
Version 2.8.8
scenee Apr 22, 2025
63a01ce
ci: add workflow_dispatch event trigger
scenee May 9, 2025
dd93e95
Update FloatingPanelController
scenee May 5, 2025
507ce9c
Dump the default config of swift-format on Xcode 16.3
scenee Apr 24, 2025
ec72f7c
Lint the library code by built-in swift-format
scenee Oct 25, 2024
3a00ac9
Ignore project.xcworkspace dir
scenee Oct 25, 2024
df9ddb0
Update .swift-format
scenee Apr 24, 2025
c9ae0d7
Update the minimum deployment target to iOS 13
scenee Apr 27, 2025
0a8e1bc
Drop Xcode 13.4.1 support
scenee Apr 27, 2025
cf84ca0
Expand timeout for some test cases in {Controller,Core}Tests
scenee May 11, 2025
57480c3
Implement SwiftUI APIs based on the Maps-SwiftUI app
scenee Oct 7, 2024
71621f5
Polish source code of CoreTests a bit
scenee May 11, 2025
54f1cc1
Take care of file paths including non-ASCII chars in SwiftFormatBuild…
scenee Apr 30, 2025
c233c6e
Add .xcodesamplecode.plist
scenee May 5, 2025
bb3a0d6
Move 'assets' folder in 'Documentation' folder
scenee May 10, 2025
73564b6
Update documentation for the new SwiftUI APIs
scenee May 6, 2025
ebfdfee
ci: update example builds
scenee May 9, 2025
7a7502d
ci: fix swift 5.9 and 5.10 builds
scenee May 9, 2025
ca8926b
ci: use Xcode 16.3 and iOS 18.4
scenee May 10, 2025
184c868
Add CHANGELOG
scenee May 10, 2025
d517720
Version 3.0.0
scenee May 12, 2025
ac94f3d
Modify the top page of the DocC
scenee May 14, 2025
4996e6c
Improve CoreTests a bit
scenee Jul 30, 2025
7a9f450
ci: fix the build environments
scenee Aug 12, 2025
25cfe0b
Fix the pod spec for the SwiftUI APIs
scenee Aug 12, 2025
a2646dd
Version 3.0.1
scenee Aug 17, 2025
ef058d4
ci: remove builds using deprecated 'macos-13' machine
scenee Oct 3, 2025
77b5584
Add support for UICornerConfiguration in iOS 26 (#664)
WillBishop Oct 23, 2025
2ec94cf
ci: add iOS 26 to test matrix
scenee Oct 23, 2025
aa5e372
Pass CoreTests.test_initial_scroll_offset_reset()
scenee Oct 23, 2025
c5291d7
Fix a build error on Xcode 16
scenee Oct 23, 2025
efac308
Merge pull request #670 from scenee/fix/test-failure-on-iOS-26
scenee Oct 23, 2025
5fff51b
Fix compilation conditions at c5291d7
scenee Oct 23, 2025
c5da510
Enable to build it for iOS 12
scenee Nov 5, 2025
411276d
Add CoreTests.test_statePublisher
scenee Nov 5, 2025
3c670b4
ci: fix a job error
scenee Nov 5, 2025
edcf3ea
Add 'Star History Chart' at the bottom of README
scenee Nov 11, 2025
5222c05
Set minimum iOS version to v12
scenee Nov 11, 2025
e7459f9
Merge pull request #674 from scenee/iss-673
scenee Nov 11, 2025
41d7580
Version 3.1.0
scenee Nov 11, 2025
913cd1b
Support dynamic content updates in SwiftUI
scenee Nov 5, 2025
2ba4bad
Improve SamplesSwiftUI
scenee Nov 23, 2025
7cd4149
ci: use Xcode 26.0.1 for all builds
scenee Nov 27, 2025
52b0f7f
Merge pull request #675 from scenee/iss-672
scenee Nov 27, 2025
c954ce3
Fix shadow on iOS 26
scenee Nov 27, 2025
bf15ba7
examples: fix animation glitch on iOS 26
scenee Nov 27, 2025
7844fac
Version 3.2.0
scenee Nov 28, 2025
612082c
Remove badges from README
scenee Nov 28, 2025
9e8fd34
ci: fix 'swiftpm' job
scenee Nov 28, 2025
cd135b3
Fix scroll offset reset due to floating-point precision errors (#677)
scenee Jan 15, 2026
6a343c8
Perform view updates during scroll tracking (#679)
sgade Jan 15, 2026
ee2c6fe
Version 3.2.1
scenee Jan 24, 2026
ce84008
Merge remote-tracking branch 'upstream/master'
Sina-KH Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 0 additions & 43 deletions .circleci/config.yml

This file was deleted.

145 changes: 65 additions & 80 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: ci

on:
on:
push:
branches:
branches:
- master
- next
pull_request:
branches:
- '*'
branches:
- "*"
workflow_dispatch:

jobs:
build:
Expand All @@ -19,17 +19,11 @@ jobs:
matrix:
include:
- swift: "5"
xcode: "16.2"
xcode: "16.4"
runs-on: macos-15
- swift: "5.10"
xcode: "15.4"
runs-on: macos-14
- swift: "5.9"
xcode: "15.2"
runs-on: macos-13
- swift: "5.8"
xcode: "14.3.1"
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Building in Swift ${{ matrix.swift }}
Expand All @@ -43,36 +37,36 @@ jobs:
fail-fast: false
matrix:
include:
- os: "18.2"
xcode: "16.2"
- os: "26.0.1"
xcode: "26.0.1"
sim: "iPhone 16 Pro"
parallel: NO # Stop random test job failures
parallel: NO # Stop random test job failures
runs-on: macos-15
- os: "18.5"
xcode: "16.4"
sim: "iPhone 16 Pro"
parallel: NO # Stop random test job failures
runs-on: macos-15
- os: "17.5"
xcode: "15.4"
sim: "iPhone 15 Pro"
parallel: NO # Stop random test job failures
parallel: NO # Stop random test job failures
runs-on: macos-14
- os: "16.4"
xcode: "14.3.1"
sim: "iPhone 14 Pro"
parallel: NO # Stop random test job failures
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Testing in iOS ${{ matrix.os }}
run: |
xcodebuild clean test \
-workspace FloatingPanel.xcworkspace \
-scheme FloatingPanel \
-destination 'platform=iOS Simulator,OS=${{ matrix.os }},name=${{ matrix.sim }}' \
-parallel-testing-enabled '${{ matrix.parallel }}'
- uses: actions/checkout@v4
- name: Testing in iOS ${{ matrix.os }}
run: |
xcodebuild clean test \
-workspace FloatingPanel.xcworkspace \
-scheme FloatingPanel \
-destination 'platform=iOS Simulator,OS=${{ matrix.os }},name=${{ matrix.sim }}' \
-parallel-testing-enabled '${{ matrix.parallel }}'
timeout-minutes: 20

example:
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.0.1.app/Contents/Developer
strategy:
fail-fast: false
matrix:
Expand All @@ -81,82 +75,73 @@ jobs:
- example: "Maps-SwiftUI"
- example: "Stocks"
- example: "Samples"
- example: "SamplesObjC"
- example: "SamplesSwiftUI"
steps:
- uses: actions/checkout@v4
- name: Building ${{ matrix.example }}
# Need to use iphonesimulator18.1 because randomly 18.2<DVTBuildVersion 22C146> isn't available.
run: |
xcodebuild clean build \
-workspace FloatingPanel.xcworkspace \
-scheme ${{ matrix.example }} \
-sdk iphonesimulator
- uses: actions/checkout@v4
- name: Building ${{ matrix.example }}
run: |
xcodebuild clean build \
-workspace FloatingPanel.xcworkspace \
-scheme ${{ matrix.example }} \
-sdk iphonesimulator

swiftpm:
runs-on: macos-15
runs-on: ${{ matrix.runs-on }}
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
strategy:
fail-fast: false
matrix:
xcode: ["16.2", "15.4"]
xcode: ["26.0.1", "16.4", "15.4"]
platform: [iphoneos, iphonesimulator]
arch: [x86_64, arm64]
exclude:
- platform: iphoneos
arch: x86_64
include:
# 18.2
# 26.0.1
- platform: iphoneos
xcode: "16.2"
sys: "ios18.2"
xcode: "26.0.1"
sys: "ios26.0"
runs-on: macos-15
- platform: iphonesimulator
xcode: "16.2"
sys: "ios18.2-simulator"
xcode: "26.0.1"
sys: "ios26.0-simulator"
runs-on: macos-15
# 18.5
- platform: iphoneos
xcode: "16.4"
sys: "ios18.5"
runs-on: macos-15
- platform: iphonesimulator
xcode: "16.4"
sys: "ios18.5-simulator"
runs-on: macos-15
# 17.2
- platform: iphoneos
xcode: "15.4"
sys: "ios17.2"
runs-on: macos-14
- platform: iphonesimulator
xcode: "15.4"
sys: "ios17.2-simulator"
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: "Swift Package Manager build"
run: |
xcrun swift build \
--sdk "$(xcrun --sdk ${{ matrix.platform }} --show-sdk-path)" \
-Xswiftc "-target" -Xswiftc "${{ matrix.arch }}-apple-${{ matrix.sys }}"

swiftpm_old:
runs-on: ${{ matrix.runs-on }}
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
strategy:
fail-fast: false
matrix:
include:
# 16.4
- target: "x86_64-apple-ios16.4-simulator"
xcode: "14.3.1"
runs-on: macos-13
- target: "arm64-apple-ios16.4-simulator"
xcode: "14.3.1"
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: "Swift Package Manager build"
run: |
swift build \
-Xswiftc "-sdk" -Xswiftc "`xcrun --sdk iphonesimulator --show-sdk-path`" \
-Xswiftc "-target" -Xswiftc "${{ matrix.target }}"
- uses: actions/checkout@v4
- name: "Swift Package Manager build"
run: |
xcrun swift build \
--sdk "$(xcrun --sdk ${{ matrix.platform }} --show-sdk-path)" \
-Xswiftc "-target" -Xswiftc "${{ matrix.arch }}-apple-${{ matrix.sys }}"

cocoapods:
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.0.1.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- name: "CocoaPods: pod lib lint"
run: pod lib lint --allow-warnings --verbose
- name: "CocoaPods: pod spec lint"
run: pod spec lint --allow-warnings --verbose
- uses: actions/checkout@v4
- name: "CocoaPods: pod lib lint"
run: pod lib lint --allow-warnings --verbose
- name: "CocoaPods: pod spec lint"
run: pod spec lint --allow-warnings --verbose
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ DerivedData/
!default.perspectivev3
xcuserdata/
IDEWorkspaceChecks.plis
*.xcodeproj/project.xcworkspace

## Other
*.moved-aside
Expand Down
79 changes: 79 additions & 0 deletions .swift-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"fileScopedDeclarationPrivacy" : {
"accessLevel" : "private"
},
"indentConditionalCompilationBlocks" : false,
"indentSwitchCaseLabels" : false,
"indentation" : {
"spaces" : 4
},
"lineBreakAroundMultilineExpressionChainComponents" : false,
"lineBreakBeforeControlFlowKeywords" : false,
"lineBreakBeforeEachArgument" : false,
"lineBreakBeforeEachGenericRequirement" : false,
"lineBreakBetweenDeclarationAttributes" : false,
"lineLength" : 120,
"maximumBlankLines" : 1,
"multiElementCollectionTrailingCommas" : true,
"noAssignmentInExpressions" : {
"allowedFunctions" : [
"XCTAssertNoThrow"
]
},
"prioritizeKeepingFunctionOutputTogether" : false,
"reflowMultilineStringLiterals" : {
"never" : {

}
},
"respectsExistingLineBreaks" : true,
"rules" : {
"AllPublicDeclarationsHaveDocumentation" : false,
"AlwaysUseLiteralForEmptyCollectionInit" : false,
"AlwaysUseLowerCamelCase" : true,
"AmbiguousTrailingClosureOverload" : true,
"AvoidRetroactiveConformances" : true,
"BeginDocumentationCommentWithOneLineSummary" : false,
"DoNotUseSemicolons" : true,
"DontRepeatTypeInStaticProperties" : true,
"FileScopedDeclarationPrivacy" : true,
"FullyIndirectEnum" : true,
"GroupNumericLiterals" : true,
"IdentifiersMustBeASCII" : true,
"NeverForceUnwrap" : false,
"NeverUseForceTry" : false,
"NeverUseImplicitlyUnwrappedOptionals" : false,
"NoAccessLevelOnExtensionDeclaration" : true,
"NoAssignmentInExpressions" : true,
"NoBlockComments" : true,
"NoCasesWithOnlyFallthrough" : true,
"NoEmptyLinesOpeningClosingBraces" : false,
"NoEmptyTrailingClosureParentheses" : true,
"NoLabelsInCasePatterns" : true,
"NoLeadingUnderscores" : false,
"NoParensAroundConditions" : true,
"NoPlaygroundLiterals" : true,
"NoVoidReturnOnFunctionSignature" : true,
"OmitExplicitReturns" : false,
"OneCasePerLine" : true,
"OneVariableDeclarationPerLine" : true,
"OnlyOneTrailingClosureArgument" : true,
"OrderedImports" : true,
"ReplaceForEachWithForLoop" : true,
"ReturnVoidInsteadOfEmptyTuple" : true,
"TypeNamesShouldBeCapitalized" : true,
"UseEarlyExits" : false,
"UseExplicitNilCheckInConditions" : true,
"UseLetInEveryBoundCaseVariable" : true,
"UseShorthandTypeNames" : true,
"UseSingleLinePropertyGetter" : true,
"UseSynthesizedInitializer" : true,
"UseTripleSlashForDocumentationComments" : true,
"UseWhereClausesInForLoops" : false,
"ValidateDocumentationComments" : false
},
"spacesAroundRangeFormationOperators" : false,
"spacesBeforeEndOfLineComments" : 2,
"tabWidth" : 8,
"version" : 1
}
9 changes: 9 additions & 0 deletions BuildTools/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.DS_Store
/.build
/Packages
xcuserdata/
DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc

19 changes: 19 additions & 0 deletions BuildTools/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// swift-tools-version: 6.0

import PackageDescription

let package = Package(
name: "build-tools",
products: [
.plugin(
name: "swift-format-plugin",
targets: ["swift-format-plugin"]
)
],
targets: [
.plugin(
name: "swift-format-plugin",
capability: .buildTool()
)
]
)
20 changes: 20 additions & 0 deletions BuildTools/Package@swift-5.9.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// swift-tools-version: 5.9
// This file is used when the 'built-tools' package is built by Xcode 15 or earlier.

import PackageDescription

let package = Package(
name: "build-tools",
products: [
.plugin(
name: "swift-format-plugin",
targets: ["swift-format-plugin"]
)
],
targets: [
.plugin(
name: "swift-format-plugin",
capability: .buildTool()
)
]
)
Loading
Loading