Skip to content
Merged

v3.0 #42

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
cfcaa65
3.0-preview
roanutil Jun 13, 2023
e420bc2
Rename CoreDataRepositoryError to CoreDataError. Rename CoreDataError…
roanutil Jun 13, 2023
edbf3c2
Add CoreDataBatchError and change batch functions to return it instea…
roanutil Jun 13, 2023
eeeb296
WIP: Add doc comments
roanutil Jun 21, 2023
b6145b5
Run swiftformat
roanutil Jun 21, 2023
580377b
Merge branch 'main' into 3.0-preview
roanutil Jul 13, 2023
d9c3d1a
WIP: Add doc comments
roanutil Jul 18, 2023
176c5ce
Remove CombineExt dependency
roanutil Jul 18, 2023
1800b92
Combine some short doc comment lines
roanutil Jul 26, 2023
28f5cc7
Merge branch 'main' into 3.0-preview
roanutil Oct 10, 2023
d7fa386
Bump minimum swift version to 5.8
roanutil Oct 10, 2023
ee4b38d
Enable strict concurrency checking
roanutil Oct 10, 2023
09a9abf
Update dependencies
roanutil Oct 10, 2023
a6da6d5
Bump swiftformat target swift version to 5.8
roanutil Oct 10, 2023
404feb6
Remove RepositoryManagedModel, update UnmanagedModel, format, remove …
roanutil Oct 10, 2023
ad20113
Update README for renames
roanutil Oct 10, 2023
1c69279
Remove test strategies for older xcode/swift versions. Add Xcode 15/S…
roanutil Oct 10, 2023
c9f3c83
Fix typo in workflow config
roanutil Oct 10, 2023
4b344af
Fix FetchSubscription
roanutil Oct 12, 2023
f7d08a0
WIP
roanutil Oct 13, 2023
9ba2df7
Merge branch '3.0-preview-throwing-unmanaged-model-init' into 3.0-pre…
roanutil Oct 13, 2023
9127110
STASH
roanutil Oct 20, 2023
c9feda1
STASH
roanutil Oct 20, 2023
487cab9
Remove last traces of combine
roanutil Oct 20, 2023
09d98a9
STASH
roanutil Oct 21, 2023
ca3e249
WIP
roanutil Oct 24, 2023
352820d
WIP
roanutil Oct 25, 2023
5b6bc2d
Merge branch 'remove-unstructured-tasks-from-subscription-alt' into 3…
roanutil Oct 25, 2023
c03e71c
Merge branch 'main' into 3.0-preview
roanutil Oct 28, 2023
6a5769a
Fix package.resolved after merge from main
roanutil Oct 28, 2023
24823ec
Rename managedRepoUrl to managedIdUrl
roanutil Nov 2, 2023
7d0660c
Small improvements in comments and strings
roanutil Nov 2, 2023
2442e8e
Switch to localized string catalog
roanutil Nov 2, 2023
3012664
Merge branch 'main' into 3.0-preview
roanutil Nov 6, 2023
d97e58d
Change UnmanagedModel.asManagedModel and UnmanagedModel.updating to b…
roanutil Nov 8, 2023
a1a0eef
Merge branch 'throwing-methods-on-unmanaged-model' into 3.0-preview
roanutil Nov 8, 2023
4803f35
Add all upcoming feature in swift settings
roanutil Nov 8, 2023
4b87668
Remove boilerplate from package manifest
roanutil Nov 8, 2023
5f902ae
Add macCatalyst platform
roanutil Nov 8, 2023
1995f4f
WIP: Add example project for relationships
roanutil Nov 8, 2023
2005e68
Add type hint to fetch method
roanutil Nov 8, 2023
be88b42
Add managedFetchRequest to UnmanagedModel for convenient access to fe…
roanutil Nov 29, 2023
597f68a
Cleanup fetch request accessors and rename RepoMovie to ManagedMovie
roanutil Nov 29, 2023
e8861de
Add atomic batch operations
roanutil Nov 30, 2023
aad3b24
Add tests for atomic batch operations and fix API inconsistencies
roanutil Nov 30, 2023
328426d
Add a uniform UUID initializer to tests for making UUIDs that contain…
roanutil Dec 4, 2023
cfd11ea
Cleanup attribute descriptions for Movie
roanutil Dec 4, 2023
e310b2b
Improve BatchRepositoryTests
roanutil Dec 4, 2023
060ecc9
Add UnmanagedReadOnly protocol for read and fetch
roanutil Jan 4, 2024
ba97e7a
Run swiftformat
roanutil Jan 4, 2024
539b57d
Change fetch endpoints to require UnmanagedReadOnlyModel instead of U…
roanutil Jan 4, 2024
5c22915
Merge branch 'add-unmanaged-read-only-model-protocol' into 3.0-preview
roanutil Jan 4, 2024
0f137fa
Fix batch methods and add tests
roanutil Jan 22, 2024
1ee1d20
Merge branch '3.0-preview-fix-batch-methods' into 3.0-preview
roanutil Jan 22, 2024
5c7cbe0
Add a custom fetch method for transforming fetch results with a closure
roanutil Jan 23, 2024
9224f52
Revert "Fix batch methods and add tests"
roanutil Jan 24, 2024
1af4dac
Fix minor typo
roanutil Jan 26, 2024
b4197bc
Fix CRUD testCreateFailure so that setup is more consistent with othe…
roanutil Jan 26, 2024
cd58bc8
Fix batch create failure test without performing a rollback on parent…
roanutil Jan 26, 2024
e5993c4
Merge branch 'batch-create-fails-with-parent-context-rollback' into 3…
roanutil Jan 26, 2024
8b3f49e
Fix warnings and run swiftformat
roanutil Jan 26, 2024
341ac87
Update test workflow
roanutil Jan 26, 2024
c8fa79f
Update dependabot config
roanutil Jan 26, 2024
ad8a0ce
Fix partial update of checkout action
roanutil Jan 26, 2024
d74d39c
Fix missing token for codecov
roanutil Jan 26, 2024
dac025e
Add CodeQl workflow config
roanutil Jan 26, 2024
33fa804
Merge pull request #24 from roanutil/3.0-preview-update-workflow
r-jarvis Feb 9, 2024
6ebf5f2
Remove redundant helper method
roanutil Mar 27, 2024
2e03171
Add cusotm method for performing arbitrary operations against a scrat…
roanutil Mar 27, 2024
64fe300
Make some helpers public that would be useful for the new custom method
roanutil Mar 27, 2024
a92d69d
Add detail to custom method doc comment
roanutil Mar 27, 2024
92c8546
Add inlinable notations to public generic methods to encourage generi…
roanutil Mar 27, 2024
24df2e5
Add inlinable notation to non-generic public methods as it may allow …
roanutil Mar 27, 2024
7a37be3
Merge pull request #25 from roanutil/feature/add-method-for-custom-op…
r-jarvis Apr 3, 2024
3a7c68e
Merge branch '3.0-preview' into feature/add-inlinable-notations-to-en…
roanutil Apr 3, 2024
467294e
Add more inlinable notations after git merge
roanutil Apr 3, 2024
305ea11
Merge pull request #26 from roanutil/feature/add-inlinable-notations-…
roanutil Apr 10, 2024
d765d39
Remove InternalImportsByDefault swift feature and fix StrictConcurren…
roanutil Jun 13, 2024
ca4d404
Merge pull request #27 from roanutil/feature/disable-internal-imports…
r-jarvis Jun 13, 2024
0b09781
Add a unified aggregate endpoint
roanutil Jul 18, 2024
06df31f
WIP: add explicit return
roanutil Jul 18, 2024
742aa43
Merge pull request #28 from roanutil/feature/make-internal-aggregate-…
r-jarvis Jul 18, 2024
7022743
Fix typo in aggregate unified endpoint
roanutil Jul 22, 2024
dc094d0
Add tests for aggregate unified endpoint
roanutil Jul 22, 2024
a472822
Merge pull request #29 from roanutil/bugfix/aggregate-unified-endpoin…
roanutil Jul 22, 2024
6822454
Major refactor
roanutil Aug 20, 2024
f18eb2f
Only include benchmark dependency and target if ENV enables it
roanutil Aug 20, 2024
74f2ad5
Run swiftformat
roanutil Aug 20, 2024
eb7d5b2
Revert temporary swift version and supported platform changes
roanutil Aug 20, 2024
d811f35
Revert Package.resolved
roanutil Aug 20, 2024
db1c0d5
Update dependencies
roanutil Aug 20, 2024
7415081
Update workflow platform matrix
roanutil Aug 20, 2024
036a4a0
Re-bump minimum swift version to 5.10
roanutil Aug 20, 2024
f12cee7
Fix missing methods for FetchableModel_Int
roanutil Aug 22, 2024
3afb4c3
Merge pull request #30 from roanutil/feature/add-unmanaged-protocol-f…
r-jarvis Aug 26, 2024
6167652
Update dependencies
roanutil Aug 27, 2024
23f184b
Update workflow actions
roanutil Aug 27, 2024
d4beb12
Merge pull request #31 from roanutil/feature/update-dependencies
r-jarvis Aug 27, 2024
272a6c7
Update file headers so that they don't change each year
roanutil May 2, 2025
b97d2dd
Update ci workflow
roanutil May 2, 2025
f9b1905
Merge pull request #35 from roanutil/feature/update-file-header
r-jarvis May 7, 2025
516d16a
Conform CoreDataRepository to Sendable
roanutil May 2, 2025
a0b79df
Fix StrictConcurrency flag
roanutil May 2, 2025
9163b39
Update swift version for swiftformat
roanutil May 2, 2025
38abaaa
Fix some concurrency warnings with subscriptions
roanutil May 2, 2025
8119367
Mark all subscription types as unchecked sendable
roanutil May 2, 2025
9a3bf9d
Resolve or suppress more warnings
roanutil May 2, 2025
1a36b00
Create permanent test plan with CoreData arguments included
roanutil May 2, 2025
2c0def0
Fix CoreData concurrency violations in tests
roanutil May 2, 2025
a83d9a7
Run swiftformat
roanutil May 2, 2025
f479476
Remove temporary code
roanutil May 4, 2025
4c001f3
Merge pull request #36 from roanutil/feature/sendable
r-jarvis May 8, 2025
01ab1a8
Migrate tests to swift-testing
roanutil Jun 13, 2025
07f7fb4
Bump minimum Swift version to 6.0
roanutil Jun 13, 2025
bd3b3ed
Change test workflow to run on macos-15 for Xcode 16+ default
roanutil Jun 13, 2025
21da871
Remove pre-6.0 swift settings
roanutil Jun 13, 2025
f0a6079
Add method of verifying transaction history does not include an autho…
roanutil Jun 21, 2025
b6602eb
Fix duplicate file header
roanutil Jun 21, 2025
3c59f6f
Merge pull request #37 from roanutil/feature/swift-testing
r-jarvis Jun 24, 2025
46cb5c9
Add transactions for atomic operations
roanutil Jun 21, 2025
ab6b1d9
Ensure contexts are reset and rollback when transaction is cancelled …
roanutil Jun 21, 2025
da539b7
Merge pull request #38 from roanutil/feature/transactions
r-jarvis Jun 30, 2025
e580042
Remove unmanagedIdAccessor in favor of unmanagedId property in Identi…
roanutil Oct 9, 2025
45c70e0
Run swiftformat
roanutil Oct 9, 2025
cce4185
Fix name of IdentifiedUnmanagedModel.unmanagedIdExpression
roanutil Oct 9, 2025
c7b8e85
Run swiftformat
roanutil Oct 9, 2025
6a7d80f
Merge pull request #39 from roanutil/feature/add-unmanagedId-property
r-jarvis Oct 10, 2025
0eba960
Merge branch '3.0-preview' into feature/fix-misnamed-property
roanutil Oct 10, 2025
8e9ede2
Merge pull request #40 from roanutil/feature/fix-misnamed-property
r-jarvis Oct 10, 2025
7aefa12
WIP
roanutil Oct 14, 2025
e74a8e4
Run swiftformat
roanutil Oct 14, 2025
7259c07
Bump workflow macos version
roanutil Nov 7, 2025
2be78a1
Merge pull request #41 from roanutil/bugfix/build-errors-with-swift-6-2
r-jarvis Nov 12, 2025
90b2c31
Remove note about v3.0 preview in README
roanutil Nov 13, 2025
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

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,5 @@ updates:
- package-ecosystem: "swift"
directory: "/"
schedule:
interval: "weekly"
reviewers:
- "roanutil"
interval: "daily"
versioning-strategy: "increase-if-necessary"
34 changes: 14 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,35 @@ on:
- main
pull_request:
branches:
- '*'
- "*"
workflow_dispatch:

jobs:
lint:
runs-on: macos-13
runs-on: macos-latest
environment: default
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: SwiftFormat version
run: swiftformat --version
- name: Format lint
run: swiftformat --lint .
- name: Install SwiftLint
run: brew install swiftlint
- name: SwiftLint version
run: swiftlint --version
- name: Lint
run: swiftlint .
run: swiftlint lint --quiet
test:
runs-on: macos-26
environment: default
strategy:
matrix:
include:
- os: macos-12
xcode: 13.2.1 # Swift 5.5.2
- os: macos-12
xcode: 13.4.1 # Swift 5.6
- os: macos-13
xcode: 14.2 # Swift 5.7
- os: macos-13
xcode: 14.3 # Swift 5.8
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Select Xcode ${{ matrix.xcode }}
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- uses: actions/checkout@v4
- name: Run Tests
run: swift test --enable-code-coverage
- name: Swift Coverage Report
run: xcrun llvm-cov export -format="lcov" .build/debug/CoreDataRepositoryPackageTests.xctest/Contents/MacOS/CoreDataRepositoryPackageTests -instr-profile .build/debug/codecov/default.profdata > coverage_report.lcov
- uses: codecov/codecov-action@v3
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true # optional (default = false)
29 changes: 29 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: "CodeQL"

on:
push:
branches: [ "main", "3.0-preview" ]
pull_request:
branches: [ "main", "3.0-preview" ]

jobs:
run-codeql-linux:
name: Run CodeQL on macOS
runs-on: macos-latest
permissions:
security-events: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: swift

- name: Build
run: swift build

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
6 changes: 3 additions & 3 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
--extensionacl on-declarations
--redundanttype explicit
--swiftversion 5.5
--swiftversion 5.10
--maxwidth 120
--header "{file}\nCoreDataRepository\n\n\nMIT License\n\nCopyright © {year} Andrew Roan"
--header "{file}\nCoreDataRepository\n\nThis source code is licensed under the MIT License (MIT) found in the\nLICENSE file in the root directory of this source tree."
--allman false
--wraparguments before-first
--wrapcollections before-first
--wrapcollections before-first
Loading