Skip to content
Open

3.0.0 #244

Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5e2bd32
Move documentation into doccarchive instead of using jazzy
pauljohanneskraft Apr 24, 2023
e5ab085
Make rx extensions work with any
pauljohanneskraft May 1, 2023
3e1d1ab
Use any pretty much everywhere it might be needed for Swift 6
pauljohanneskraft May 1, 2023
2f68db8
Add asPresentable to Presentable protocol
pauljohanneskraft May 1, 2023
aef3a89
Readd rx extensions
pauljohanneskraft May 5, 2023
f90e33a
Make minor adjustments
pauljohanneskraft May 9, 2025
168b950
Add SwiftUI capabilities
pauljohanneskraft May 8, 2023
9c5a84f
Make sure replaceContext is always called
pauljohanneskraft May 8, 2023
732ca5a
Add contextTrigger
pauljohanneskraft May 8, 2023
350c11b
Add reactive extensions for RouterContext and contextTrigger
pauljohanneskraft May 8, 2023
b9ab7f5
Make sure children that were recently introduced are not removed dire…
pauljohanneskraft May 8, 2023
c45b526
Make router(for:) method only use the type
pauljohanneskraft May 8, 2023
b63c15e
Add Routing property wrapper
pauljohanneskraft May 8, 2023
bd66f1e
Remove RouterContext subscript
pauljohanneskraft May 8, 2023
b9ef570
Make Routing wrappedValue force-unwrapped by default
pauljohanneskraft May 8, 2023
76f59b5
Update Routing interface
pauljohanneskraft May 8, 2023
2304789
Improve new SwiftUI API
pauljohanneskraft May 8, 2023
3454a6e
Hiding even more SwiftUI API
pauljohanneskraft May 8, 2023
e58d0e3
Minor improvements
pauljohanneskraft May 8, 2023
7bc6bea
Bring back RoutingController
pauljohanneskraft May 8, 2023
38105c0
Add do transition for better SwiftUI interop
pauljohanneskraft May 8, 2023
b49c168
Add some Readme changes
pauljohanneskraft May 27, 2025
14aa459
Replace jazzy documentation with DocC
pauljohanneskraft May 28, 2026
c4f2fd1
Rewrite transitions with resultsbuilder
pauljohanneskraft May 8, 2023
a7a7e14
Make more API public
pauljohanneskraft May 8, 2023
4451e45
Make more API public
pauljohanneskraft May 9, 2023
e4495d8
Add TabBarTransition
pauljohanneskraft May 9, 2023
1bf7800
Add DeepLink transition
pauljohanneskraft May 9, 2023
5f37134
fix docs scripts
pauljohanneskraft May 28, 2026
d613d42
Update
pauljohanneskraft May 29, 2026
88c5a4b
Remove TransitionComponent, finalize implementaiton
pauljohanneskraft May 29, 2026
943855f
finish
pauljohanneskraft May 29, 2026
faf3e9b
Finishing touches
pauljohanneskraft May 29, 2026
4c341de
Add SwiftUI-related tests and improve/fix implementation
pauljohanneskraft Jun 1, 2026
9496eca
Add ContextMenuInteraction, remove asPresentable, add children proper…
pauljohanneskraft Jun 1, 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
67 changes: 67 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: CI

on:
push:
branches: [master, main, "feature/**", "release/**"]
pull_request:
branches: [master, main]

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
build-test:
name: Build & Test (iOS Simulator)
runs-on: macos-15
steps:
- uses: actions/checkout@v4

- name: Select latest Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Show toolchain
run: |
xcodebuild -version
swift --version

- name: Resolve packages
run: swift package resolve

- name: Build (iOS Simulator)
run: Scripts/build.sh

- name: Test
run: Scripts/test.sh

pod-lint:
name: CocoaPods lint
runs-on: macos-15
steps:
- uses: actions/checkout@v4

- name: Select latest Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Lint podspec
# iOS only: recent Xcode does not ship the tvOS simulator runtime, and the rest
# of CI (build/test/docs) is iOS-only as well.
run: pod lib lint --allow-warnings --fail-fast --platforms=ios

docs:
name: DocC build
runs-on: macos-15
steps:
- uses: actions/checkout@v4

- name: Select latest Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Build documentation
run: Scripts/docs.sh
45 changes: 45 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Publish documentation

on:
push:
tags: ["*"]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: true

jobs:
build:
runs-on: macos-15
steps:
- uses: actions/checkout@v4

- name: Select latest Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Build documentation
run: Scripts/docs.sh XCoordinator

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./Documentation

deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
20 changes: 12 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Mac OS X
*.DS_Store
# macOS
**/.DS_Store

# Xcode
.build
.build/
*.pbxuser
*.mode1v3
*.mode2v3
Expand All @@ -12,17 +12,21 @@ project.xcworkspace/
xcuserdata/
Pods/*.xcodeproj/xcuserdata/

# Swift Package Manager
/.swiftpm/xcode/xcuserdata/
/.swiftpm/xcode/package.xcworkspace/xcuserdata/
/.swiftpm/configuration/
Package.resolved

# Generated files
*.o
*.pyc

# Docs
docs/docsets/XCoordinator.tgz
docs/undocumented.json
# Documentation outputs
/Documentation/
*.doccarchive/

# Backup files
*~.nib
\#*#
.#*

.swiftpm
8 changes: 0 additions & 8 deletions .jazzy.yaml

This file was deleted.

7 changes: 7 additions & 0 deletions .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 0 additions & 12 deletions .travis.yml

This file was deleted.

16 changes: 0 additions & 16 deletions Package.resolved

This file was deleted.

22 changes: 4 additions & 18 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,42 +1,28 @@
// swift-tools-version:5.1
// The swift-tools-version declares the minimum version of Swift required to build this package.
// swift-tools-version:5.9

import PackageDescription

let package = Package(
name: "XCoordinator",
platforms: [.iOS(.v9), .tvOS(.v9)],
platforms: [.iOS(.v16), .tvOS(.v16)],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "XCoordinator",
targets: ["XCoordinator"]),
.library(
name: "XCoordinatorRx",
targets: ["XCoordinatorRx"]),
.library(
name: "XCoordinatorCombine",
targets: ["XCoordinatorCombine"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
.package(url: "https://github.com/ReactiveX/RxSwift.git", from: "6.0.0"),
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.3.0"),
.package(url: "https://github.com/ReactiveX/RxSwift.git", from: "6.5.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "XCoordinator",
dependencies: []),
.target(
name: "XCoordinatorRx",
dependencies: ["XCoordinator", "RxSwift"]),
.target(
name: "XCoordinatorCombine",
dependencies: ["XCoordinator"]),
.testTarget(
name: "XCoordinatorTests",
dependencies: ["XCoordinator", "XCoordinatorRx"]),
]
)
Loading
Loading