-
Notifications
You must be signed in to change notification settings - Fork 112
v3.3.0 #694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
v3.3.0 #694
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
6fdf767
fix(jmap): session lifecycle, tz-correct LocalDateTime, and the revie…
tobixen c406eb4
chore: server compatibility matrix
tobixen 42cd4c1
test: server-compatibility test suite
tobixen 7479f52
fix: compatibility: comp-type-less search
tobixen 654e1ee
docs(tests): correcting some misinformation
tobixen f9646d0
fix: compatibility: set calendar canonical URL on create
tobixen 16e0732
fix: config-section handling for get_davclient
tobixen 12e6264
fix: some icalendar handling was incorrect
tobixen ac0b4ed
fix: eight crash/wrong-result bugs from code review
tobixen e16b5b6
fix: URL.canonical() __eq__-problems
tobixen d38e0c4
fix: search.py code-review bugs
tobixen 697e927
fix: Several silent wrong-result bugs
tobixen 491f2b1
fix: require_tls=True not enforced on well-known URI redirect
tobixen 09769fd
fix: XML parser in response.py lacked entity hardening
tobixen da4e7d5
fix: three more crash bugs from code review
tobixen aae016e
fix: let PYTHON_CALDAV_COMMDUMP yield warnings
tobixen bc255e4
fix: code-review edge-case bugs (§1.2–1.5, §2.14, §2.15)
tobixen dd94cbd
docs: SECURITY notes + code review cleanup
tobixen 81e81fe
fix: replace empty except-blocks with warn/skip logic
tobixen ed3aa90
perf: use calendar-multiget on unloaded search results
tobixen 82c4d37
refactor: unify search.py sync/async driver protocol
tobixen 9613403
refactor: dedup rate-limit/get_calendars logic between sync/async
tobixen f831a21
refactor: dedup calendarobjectresource (a)sync twins
tobixen 7b0ee75
refactor: dedup sync/async multistatus/multiget twins (§5.7)
tobixen adedcd7
refactor: collapse sync/async get_objects_by_sync_token twins
tobixen d735c73
refactor: accept generic <error>/<responsedescription>
tobixen 72aab3e
docs: CHANGELOG for v3.3.0, and rewrite the http-libraries background
tobixen 7c1aac9
fix: async Principal.calendar() did not work
tobixen 0bb9c97
ci: bump pre-commit-hook versions to current latest
tobixen 57cb0a0
docs: www.open-xchange.com 301 -> ox.io
tobixen 3ddbc55
ci: let the link checker reuse and close a single report issue
tobixen 6313122
ci: add pip-audit dependency audit as a tox env and a scheduled workflow
tobixen bc49105
chore: clear out two leftovers from the move off setuptools
tobixen 775164b
ci: make the tox envlist take effect, and drop its bogus y39 entry
tobixen c09cf8b
test(nextcloud): maintenance of test server infrastructure
tobixen 1b4535a
fix: A 207 Multi-Status containing only 404 is equivalent with 404
tobixen c1d9512
build: keep local junk out of the sdist, and check it in CI
tobixen 4195436
test: make `enabled: false` actually disable a docker test server
tobixen 7ba8542
docs: CHANGELOG accuracy fixes for v3.3.0
tobixen bf5048d
docs(tests): write down why testCheckCompatibility is not in CI
tobixen 2331bd1
feat: support httpx2 as an async HTTP library
tobixen 46622d8
test: enable ruff F841 and assert on the results tests were dropping
tobixen b558ed2
chore(compatibility): declare OX's rate limit so 429s get waited out
tobixen ac4fdc8
fix: say which object had no iCalendar in it, instead of ValueError f…
tobixen d25740a
test(scheduling): keep polling when a scheduling object is not readab…
tobixen 7c03bd3
ci(deptry): ignore h2 under DEP003 as well as DEP001
tobixen eabc7fa
docs: drop stale Schedule-Tag TODOs and notes
tobixen d227492
docs: QA of the "feature-complete roadmap"
tobixen 0149a4b
docs: explaining the Fragile for calendar-color
tobixen 3b27afb
docs: comments and warnings on bare exception blocks
tobixen bc28477
chore: add a caldav[niquests] install target
tobixen 95baecd
docs: design document consolidating the retry/resilience tickets
tobixen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| --- | ||
| name: audit | ||
|
|
||
| # Dependency vulnerability audit (pip-audit, see the `audit` env in tox.ini). | ||
| # | ||
| # This is deliberately *not* wired into the `tests` workflow: a new advisory | ||
| # can be published against an unchanged dependency tree, so the audit is | ||
| # time-triggered rather than change-triggered. The pull_request trigger is | ||
| # narrowed to the files that can change the dependency tree. | ||
| on: | ||
| pull_request: | ||
| paths: | ||
| - pyproject.toml | ||
| - tox.ini | ||
| - .github/workflows/audit.yml | ||
| workflow_dispatch: | ||
| schedule: | ||
| # Mondays 04:17 UTC, well clear of the nightly link check (22:03). | ||
| - cron: "17 4 * * 1" | ||
|
|
||
| # Least privilege for GITHUB_TOKEN: this workflow only reads the repository. | ||
| # Flagged by CodeQL, see https://github.com/python-caldav/caldav/pull/694 | ||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: audit-${{ github.ref }} | ||
| cancel-in-progress: false | ||
|
|
||
| jobs: | ||
| pip-audit: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| with: | ||
| # hatch-vcs derives the version from git tags; without them the | ||
| # project metadata pip-audit reads cannot be built. | ||
| fetch-depth: 0 | ||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.13" | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cache/pip | ||
| key: pip|${{ hashFiles('pyproject.toml') }}|${{ hashFiles('tox.ini') }} | ||
| - run: pip install tox | ||
| - name: Audit dependencies for known vulnerabilities | ||
| run: tox -e audit | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| --- | ||
| name: package | ||
|
|
||
| # Builds the release artifacts and verifies their contents. | ||
| # | ||
| # Nothing in CI used to build an sdist at all, so what actually went into a | ||
| # release was only ever discovered after it was published: caldav-3.2.1.tar.gz | ||
| # shipped .claude/settings.json and 1755 files under venv/. The check runs on | ||
| # every change to the packaging configuration, and nightly, so a stray file in | ||
| # a contributor's tree cannot ride along into a tarball unnoticed. | ||
| # | ||
| # See tests/tools/check_dist.py for what is verified. | ||
| on: | ||
| push: | ||
| branches: | ||
| - master | ||
| pull_request: | ||
| paths: | ||
| - pyproject.toml | ||
| - tox.ini | ||
| - MANIFEST.in | ||
| - .gitignore | ||
| - tests/tools/check_dist.py | ||
| - .github/workflows/package.yml | ||
| workflow_dispatch: | ||
| schedule: | ||
| # Sundays 05:23 UTC, clear of the Monday audit (04:17) and the nightly | ||
| # link check (22:03). | ||
| - cron: "23 5 * * 0" | ||
|
|
||
| concurrency: | ||
| group: package-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| # Least privilege for GITHUB_TOKEN: this workflow only reads the repository. | ||
| # Flagged by CodeQL, see https://github.com/python-caldav/caldav/pull/694 | ||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| with: | ||
| # hatch-vcs derives the version from git tags. | ||
| fetch-depth: 0 | ||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.13" | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cache/pip | ||
| key: pip|${{ hashFiles('pyproject.toml') }}|${{ hashFiles('tox.ini') }} | ||
| - run: pip install tox | ||
| - name: Build sdist and wheel, and check what is in them | ||
| run: tox -e package | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: dist | ||
| path: .tox/package/tmp/dist/* | ||
| if-no-files-found: error | ||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.