uv-upsync 2.4.0__tar.gz → 2.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.editorconfig +1 -1
  2. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.github/PULL_REQUEST_TEMPLATE.md +2 -9
  3. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.github/labels.yaml +24 -20
  4. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.github/workflows/ci.yaml +9 -13
  5. uv_upsync-2.4.0/.github/workflows/update-labels.yaml → uv_upsync-2.4.1/.github/workflows/labels.yaml +13 -7
  6. uv_upsync-2.4.1/.github/workflows/release.yaml +108 -0
  7. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.gitignore +62 -31
  8. uv_upsync-2.4.1/.python-version +1 -0
  9. uv_upsync-2.4.1/CHANGELOG.md +246 -0
  10. uv_upsync-2.4.1/CLAUDE.md +60 -0
  11. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/CODE_OF_CONDUCT.md +0 -13
  12. uv_upsync-2.4.1/CONTRIBUTING.md +128 -0
  13. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/PKG-INFO +64 -115
  14. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/README.md +61 -111
  15. uv_upsync-2.4.1/SECURITY.md +19 -0
  16. uv_upsync-2.4.1/cliff.toml +44 -0
  17. uv_upsync-2.4.1/justfile +26 -0
  18. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/pyproject.toml +6 -32
  19. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/__init__.py +3 -1
  20. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/__main__.py +7 -6
  21. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/config.py +2 -1
  22. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/logging.py +4 -0
  23. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/parsers.py +8 -4
  24. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/pypi.py +5 -4
  25. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/report.py +2 -1
  26. uv_upsync-2.4.1/uv.lock +521 -0
  27. uv_upsync-2.4.0/.github/.codecov.yaml +0 -7
  28. uv_upsync-2.4.0/.github/ISSUE_TEMPLATE/---bug-report.yaml +0 -81
  29. uv_upsync-2.4.0/.github/ISSUE_TEMPLATE/---documentation.yaml +0 -58
  30. uv_upsync-2.4.0/.github/ISSUE_TEMPLATE/---feature-request.yaml +0 -67
  31. uv_upsync-2.4.0/.github/ISSUE_TEMPLATE/config.yaml +0 -1
  32. uv_upsync-2.4.0/.github/workflows/demo.yaml +0 -38
  33. uv_upsync-2.4.0/.github/workflows/release.yaml +0 -55
  34. uv_upsync-2.4.0/CHANGELOG.md +0 -307
  35. uv_upsync-2.4.0/CLAUDE.md +0 -58
  36. uv_upsync-2.4.0/CONTRIBUTING.md +0 -99
  37. uv_upsync-2.4.0/SECURITY.md +0 -24
  38. uv_upsync-2.4.0/assets/demo/pyproject.toml +0 -10
  39. uv_upsync-2.4.0/assets/demo.tape +0 -19
  40. uv_upsync-2.4.0/justfile +0 -19
  41. uv_upsync-2.4.0/uv.lock +0 -1167
  42. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/.pre-commit-hooks.yaml +0 -0
  43. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/LICENSE +0 -0
  44. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/action.yml +0 -0
  45. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/assets/logo.svg +0 -0
  46. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/commands.py +0 -0
  47. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/exceptions.py +0 -0
  48. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/src/uv_upsync/uv.py +0 -0
  49. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/__init__.py +0 -0
  50. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/conftest.py +0 -0
  51. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_commands.py +0 -0
  52. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_config.py +0 -0
  53. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_exceptions.py +0 -0
  54. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_logging.py +0 -0
  55. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_parsers.py +0 -0
  56. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_pypi.py +0 -0
  57. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_report.py +0 -0
  58. {uv_upsync-2.4.0 → uv_upsync-2.4.1}/tests/test_uv.py +0 -0
@@ -10,6 +10,6 @@ max_line_length = 120
10
10
  tab_width = 2
11
11
  trim_trailing_whitespace = true
12
12
 
13
- [{*.py,*.pyi}]
13
+ [{*.py,*.pyi,*.ipynb}]
14
14
  indent_size = 4
15
15
  tab_width = 4
@@ -1,6 +1,7 @@
1
1
  # Pull Request Checklist
2
2
 
3
- **Resolves: #issue-number-here**
3
+ <!-- Optional — uncomment if this PR closes an issue -->
4
+ <!-- Resolves: #issue-number-here -->
4
5
 
5
6
  ## Summary
6
7
 
@@ -13,11 +14,3 @@
13
14
  - [ ] I have commented my code, particularly in hard-to-understand areas
14
15
  - [ ] I have made corresponding changes to the documentation
15
16
  - [ ] My changes generate no new warnings or errors
16
-
17
- ## Screenshots (if applicable)
18
-
19
- <!-- Add screenshots to help explain your changes if UI is affected -->
20
-
21
- ## Additional Notes
22
-
23
- <!-- Add any other context or information for reviewers -->
@@ -2,6 +2,30 @@
2
2
  description: Pull requests that update a dependency file
3
3
  color: 0366d6
4
4
 
5
+ - name: "type: breaking"
6
+ description: Indicates a BREAKING CHANGE
7
+ color: B60205
8
+
9
+ - name: "type: bug"
10
+ description: Indicates an unexpected problem or unintended behavior
11
+ color: D93F0B
12
+
13
+ - name: "type: security"
14
+ description: Indicates a security vulnerability or hardening request
15
+ color: B60205
16
+
17
+ - name: "type: documentation"
18
+ description: Indicates a need for improvement or addition to documentation
19
+ color: 006B75
20
+
21
+ - name: "type: enhancement"
22
+ description: Indicates a new feature request
23
+ color: 0E8A16
24
+
25
+ - name: "type: maintenance"
26
+ description: Indicates changes to the CI, etc.; a code change that does not fix a bug or add a feature
27
+ color: FBCA04
28
+
5
29
  - name: "priority: critical"
6
30
  description: Indicates a critical bug or work that is holding up a lot of other important features or fixes
7
31
  color: B60205
@@ -33,23 +57,3 @@
33
57
  - name: "status: help wanted"
34
58
  description: Indicates that a maintainer wants help on an issue or pull request
35
59
  color: C5DEF5
36
-
37
- - name: "type: breaking"
38
- description: Indicates a BREAKING CHANGE
39
- color: B60205
40
-
41
- - name: "type: bug"
42
- description: Indicates an unexpected problem or unintended behavior
43
- color: D93F0B
44
-
45
- - name: "type: documentation"
46
- description: Indicates a need for improvement or addition to documentation
47
- color: 006B75
48
-
49
- - name: "type: enhancement"
50
- description: Indicates a new feature request
51
- color: 0E8A16
52
-
53
- - name: "type: maintenance"
54
- description: Indicates changes to the CI, etc.; a code change that does not fix a bug or add a feature
55
- color: FBCA04
@@ -1,6 +1,3 @@
1
- # Requires GitHub secrets
2
- # - CODECOV_TOKEN
3
-
4
1
  name: CI
5
2
 
6
3
  on:
@@ -9,15 +6,19 @@ on:
9
6
  pull_request:
10
7
  workflow_dispatch:
11
8
 
9
+ concurrency:
10
+ group: ci-${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
12
+
13
+ permissions:
14
+ contents: read
15
+
12
16
  jobs:
13
17
  ci:
14
- name: CI
15
18
  runs-on: ubuntu-latest
16
19
  steps:
17
20
  - name: Checkout repository
18
21
  uses: actions/checkout@v6
19
- with:
20
- fetch-depth: 0
21
22
 
22
23
  - name: Install just
23
24
  uses: extractions/setup-just@v3
@@ -28,7 +29,7 @@ jobs:
28
29
  python-version: "3.13"
29
30
 
30
31
  - name: Install dependencies
31
- run: uv sync --all-groups --all-extras
32
+ run: just install
32
33
 
33
34
  - name: Run linters
34
35
  run: just lint
@@ -36,10 +37,5 @@ jobs:
36
37
  - name: Run tests
37
38
  run: just test
38
39
 
39
- - name: Upload coverage to Codecov
40
- uses: codecov/codecov-action@v5
41
- with:
42
- token: ${{ secrets.CODECOV_TOKEN }}
43
-
44
40
  - name: Run audit
45
- run: uv audit
41
+ run: just audit
@@ -1,27 +1,33 @@
1
1
  # Requires GitHub secrets
2
2
  # - GH_TOKEN
3
3
 
4
- name: Update Labels
4
+ name: Labels
5
5
 
6
6
  on:
7
7
  push:
8
8
  branches: ["main"]
9
9
  paths:
10
10
  - ".github/labels.yaml"
11
- - ".github/workflows/update-labels.yaml"
11
+ - ".github/workflows/labels.yaml"
12
12
  workflow_dispatch:
13
13
 
14
+ concurrency:
15
+ group: labels-${{ github.ref }}
16
+ cancel-in-progress: false
17
+
18
+ permissions:
19
+ contents: read
20
+ issues: write
21
+ pull-requests: write
22
+
14
23
  jobs:
15
- update-labels:
16
- name: Update Labels
24
+ sync:
17
25
  runs-on: ubuntu-latest
18
26
  steps:
19
27
  - name: Checkout repository
20
28
  uses: actions/checkout@v6
21
- with:
22
- fetch-depth: 0
23
29
 
24
- - name: Update labels
30
+ - name: Sync labels
25
31
  uses: crazy-max/ghaction-github-labeler@v6
26
32
  with:
27
33
  github-token: ${{ secrets.GH_TOKEN }}
@@ -0,0 +1,108 @@
1
+ name: Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ version:
7
+ description: "Version override (leave empty to auto-detect from commits)"
8
+ required: false
9
+
10
+ permissions:
11
+ contents: write
12
+
13
+ jobs:
14
+ tag:
15
+ runs-on: ubuntu-latest
16
+ outputs:
17
+ tag: v${{ steps.version.outputs.version }}
18
+ steps:
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v6
21
+ with:
22
+ fetch-depth: 0
23
+
24
+ - name: Install git-cliff
25
+ uses: orhun/git-cliff-action@v4
26
+ with:
27
+ args: --version
28
+
29
+ - name: Add git-cliff to PATH
30
+ run: echo "$RUNNER_TEMP/git-cliff/bin" >> "$GITHUB_PATH"
31
+
32
+ - name: Install uv
33
+ uses: astral-sh/setup-uv@v6
34
+ with:
35
+ python-version: "3.13"
36
+
37
+ - name: Resolve version
38
+ id: version
39
+ run: |
40
+ if [[ -n "${{ github.event.inputs.version }}" ]]; then
41
+ VERSION="${{ github.event.inputs.version }}"
42
+ else
43
+ VERSION=$(git-cliff --bumped-version)
44
+ VERSION="${VERSION#v}"
45
+ fi
46
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
47
+
48
+ - name: Update version
49
+ run: uv version "${{ steps.version.outputs.version }}"
50
+
51
+ - name: Generate changelog
52
+ uses: orhun/git-cliff-action@v4
53
+ with:
54
+ args: --tag v${{ steps.version.outputs.version }} --output CHANGELOG.md
55
+
56
+ - name: Commit and tag
57
+ run: |
58
+ VERSION="${{ steps.version.outputs.version }}"
59
+ git config user.name "github-actions[bot]"
60
+ git config user.email "github-actions[bot]@users.noreply.github.com"
61
+ git add pyproject.toml CHANGELOG.md
62
+ if ! git diff --cached --quiet; then
63
+ git commit -m "release: v${VERSION}"
64
+ fi
65
+ git tag "v${VERSION}"
66
+ git push origin main --tags
67
+
68
+ release:
69
+ needs: tag
70
+ runs-on: ubuntu-latest
71
+ steps:
72
+ - name: Checkout repository
73
+ uses: actions/checkout@v6
74
+ with:
75
+ ref: ${{ needs.tag.outputs.tag }}
76
+ fetch-depth: 0
77
+
78
+ - name: Generate Changelog
79
+ uses: orhun/git-cliff-action@v4
80
+ id: changelog
81
+ with:
82
+ args: --latest --strip header
83
+
84
+ - name: Create GitHub Release
85
+ uses: softprops/action-gh-release@v2
86
+ with:
87
+ tag_name: ${{ needs.tag.outputs.tag }}
88
+ body: ${{ steps.changelog.outputs.content }}
89
+
90
+ publish:
91
+ needs: [tag, release]
92
+ runs-on: ubuntu-latest
93
+ steps:
94
+ - name: Checkout repository
95
+ uses: actions/checkout@v6
96
+ with:
97
+ ref: ${{ needs.tag.outputs.tag }}
98
+
99
+ - name: Install uv
100
+ uses: astral-sh/setup-uv@v6
101
+ with:
102
+ python-version: "3.13"
103
+
104
+ - name: Build
105
+ run: uv build
106
+
107
+ - name: Publish to PyPI
108
+ run: uv publish --token ${{ secrets.PYPI_TOKEN }}
@@ -27,8 +27,8 @@ share/python-wheels/
27
27
  MANIFEST
28
28
 
29
29
  # PyInstaller
30
- # Usually these files are written by a python script from a template
31
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
32
  *.manifest
33
33
  *.spec
34
34
 
@@ -47,6 +47,7 @@ nosetests.xml
47
47
  coverage.xml
48
48
  *.cover
49
49
  *.py.cover
50
+ *.lcov
50
51
  .hypothesis/
51
52
  .pytest_cache/
52
53
  cover/
@@ -92,45 +93,59 @@ ipython_config.py
92
93
  # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
94
  # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
95
  # install all needed dependencies.
95
- #Pipfile.lock
96
+ # Pipfile.lock
96
97
 
97
98
  # UV
98
99
  # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
100
  # This is especially recommended for binary packages to ensure reproducibility, and is more
100
101
  # commonly ignored for libraries.
101
- #uv.lock
102
+ # uv.lock
102
103
 
103
104
  # poetry
104
105
  # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
106
  # This is especially recommended for binary packages to ensure reproducibility, and is more
106
107
  # commonly ignored for libraries.
107
108
  # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
- #poetry.lock
109
- #poetry.toml
109
+ # poetry.lock
110
+ # poetry.toml
110
111
 
111
112
  # pdm
112
113
  # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
113
114
  # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
114
115
  # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
115
- #pdm.lock
116
- #pdm.toml
116
+ # pdm.lock
117
+ # pdm.toml
117
118
  .pdm-python
118
119
  .pdm-build/
119
120
 
120
121
  # pixi
121
122
  # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
122
- #pixi.lock
123
+ # pixi.lock
123
124
  # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
124
125
  # in the .venv directory. It is recommended not to include this directory in version control.
125
- .pixi
126
+ .pixi/*
127
+ !.pixi/config.toml
126
128
 
127
129
  # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
128
130
  __pypackages__/
129
131
 
130
132
  # Celery stuff
131
- celerybeat-schedule
133
+ celerybeat-schedule*
132
134
  celerybeat.pid
133
135
 
136
+ # Redis
137
+ *.rdb
138
+ *.aof
139
+ *.pid
140
+
141
+ # RabbitMQ
142
+ mnesia/
143
+ rabbitmq/
144
+ rabbitmq-data/
145
+
146
+ # ActiveMQ
147
+ activemq-data/
148
+
134
149
  # SageMath parsed files
135
150
  *.sage.py
136
151
 
@@ -169,24 +184,26 @@ dmypy.json
169
184
  cython_debug/
170
185
 
171
186
  # PyCharm
172
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
173
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
174
- # and can be added to the global gitignore or merged into this file. For a more nuclear
175
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
176
- .idea/
187
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
188
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
189
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
190
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
191
+ # .idea/
177
192
 
178
193
  # Abstra
179
- # Abstra is an AI-powered process automation framework.
180
- # Ignore directories containing user credentials, local state, and settings.
181
- # Learn more at https://abstra.io/docs
194
+ # Abstra is an AI-powered process automation framework.
195
+ # Ignore directories containing user credentials, local state, and settings.
196
+ # Learn more at https://abstra.io/docs
182
197
  .abstra/
183
198
 
184
199
  # Visual Studio Code
185
- # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
186
- # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
187
- # and can be added to the global gitignore or merged into this file. However, if you prefer,
188
- # you could uncomment the following to ignore the entire vscode folder
189
- .vscode/
200
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
201
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
202
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
203
+ # you could uncomment the following to ignore the entire vscode folder
204
+ # .vscode/
205
+ # Temporary file for partial code execution
206
+ tempCodeRunnerFile.py
190
207
 
191
208
  # Ruff stuff:
192
209
  .ruff_cache/
@@ -194,17 +211,31 @@ cython_debug/
194
211
  # PyPI configuration file
195
212
  .pypirc
196
213
 
197
- # Cursor
198
- # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
199
- # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
200
- # refer to https://docs.cursor.com/context/ignore-files
201
- .cursorignore
202
- .cursorindexingignore
203
-
204
214
  # Marimo
205
215
  marimo/_static/
206
216
  marimo/_lsp/
207
217
  __marimo__/
208
218
 
219
+ # Streamlit
220
+ .streamlit/secrets.toml
221
+
209
222
  # OS
210
223
  .DS_Store
224
+ Thumbs.db
225
+
226
+ # Editors
227
+ .zed/
228
+ .idea/
229
+ .vscode/
230
+
231
+ # Env
232
+ .env
233
+ .env.local
234
+ .env.*.local
235
+
236
+ # Logs
237
+ *.log
238
+
239
+ # Misc
240
+ .cache/
241
+ .tmp/
@@ -0,0 +1 @@
1
+ 3.13
@@ -0,0 +1,246 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [2.4.1] - 2026-05-31
6
+
7
+ ### Build
8
+
9
+ - Bump deps, drop py3.9 and semantic-release tooling
10
+
11
+ ### CI/CD
12
+
13
+ - Rework release, ci and labels pipelines
14
+
15
+ ### Documentation
16
+
17
+ - Refresh readme, contributing and supporting docs
18
+
19
+ ### Miscellaneous
20
+
21
+ - Drop vhs demo and gh issue templates
22
+
23
+ ### Refactor
24
+
25
+ - Tidy logging and parser internals
26
+
27
+ ## [2.4.0] - 2026-05-30
28
+
29
+ ### Bug fixes
30
+
31
+ - **ci**: Configure ty python-version to match ruff target
32
+ - Replace singleton metaclass with __new__-based singleton
33
+
34
+ ### Build
35
+
36
+ - Update dev dependencies
37
+ - Update dev dependencies
38
+ - Drop unused pytest-lazy-fixture (incompatible with pytest 9)
39
+ - Bump pytest to 9.0.3 to fix GHSA-6w46-j5rx-g56g
40
+ - Update dev dependencies
41
+ - Update dev dependencies
42
+ - Update dev dependencies
43
+
44
+ ### Documentation
45
+
46
+ - Clearer tagline
47
+ - Drop manual table of contents in favor of github's built-in
48
+ - Reorder badges, add table of contents, simplify overview
49
+ - Note that examples can be run with uvx without installing
50
+
51
+ ### Features
52
+
53
+ - Resolver-aware --resolve, conflict naming, and a VHS demo
54
+ - Add --format json/markdown output and expose it from the action
55
+ - Support compound ranges, --max-bump, and --prerelease
56
+ - Best-effort resolution that isolates un-lockable upgrades
57
+ - Add [tool.uv-upsync] config, pre-commit hook, and GitHub Action
58
+ - Render failures as uv-style errors instead of tracebacks
59
+ - Align uv-upsync with the uv ecosystem
60
+
61
+ ### Miscellaneous
62
+
63
+ - Keep dependencies-upgrade and packaging-upgrade keywords
64
+ - Align pyproject keywords with github repository topics
65
+
66
+ ## [2.3.2] - 2026-03-29
67
+
68
+ ### Documentation
69
+
70
+ - Remove TOC
71
+
72
+ ### Miscellaneous
73
+
74
+ - Remove deprecated GitHub workflows and files
75
+
76
+ ## [2.3.1] - 2026-03-29
77
+
78
+ ### Build
79
+
80
+ - Update dependencies
81
+
82
+ ### Documentation
83
+
84
+ - Update badge
85
+
86
+ ## [2.3.0] - 2026-03-29
87
+
88
+ ### Build
89
+
90
+ - Update dependencies
91
+ - Update dependencies
92
+ - Update dev dependencies
93
+
94
+ ### Refactor
95
+
96
+ - Run ty
97
+
98
+ ## [2.2.0] - 2026-03-08
99
+
100
+ ### Bug fixes
101
+
102
+ - Update metadata
103
+
104
+ ### Build
105
+
106
+ - Update dev dependencies
107
+ - Update dev dependencies
108
+
109
+ ### Miscellaneous
110
+
111
+ - Update chore files
112
+
113
+ ## [2.1.0] - 2026-01-29
114
+
115
+ ### Bug fixes
116
+
117
+ - Add compatibility wrapper for HTTPStatusError
118
+
119
+ ### Build
120
+
121
+ - Replace mypy with ty
122
+
123
+ ## [2.0.3] - 2026-01-10
124
+
125
+ ### Build
126
+
127
+ - Update dev dependencies
128
+ - Update dev dependencies
129
+ - Update dev dependencies
130
+ - Update dev dependencies
131
+ - Update dev dependencies
132
+
133
+ ### CI/CD
134
+
135
+ - Upgrade actions
136
+ - Update version of the Checkout action
137
+ - Update semantic release action version
138
+
139
+ ### Documentation
140
+
141
+ - Update license
142
+
143
+ ## [2.0.2] - 2025-11-02
144
+
145
+ ### Documentation
146
+
147
+ - Update contribution instructions for testing and formatting commands
148
+
149
+ ## [2.0.1] - 2025-11-02
150
+
151
+ ### Build
152
+
153
+ - Update dev dependencies
154
+
155
+ ### CI/CD
156
+
157
+ - Remove force option from semantic release configuration
158
+
159
+ ### Miscellaneous
160
+
161
+ - Update .gitignore
162
+ - Update Commitizen config
163
+
164
+ ### Style
165
+
166
+ - Sort metadata keys
167
+
168
+ ## [2.0.0] - 2025-10-28
169
+
170
+ ### Build
171
+
172
+ - Downgrade Pytest
173
+ - Update dev dependencies
174
+ - Update dev dependencies
175
+
176
+ ### CI/CD
177
+
178
+ - Remove unused pytest option from configuration
179
+ - Update codecov action version
180
+
181
+ ### Documentation
182
+
183
+ - Update notes
184
+
185
+ ### Features
186
+
187
+ - Rename project from uv-plugin-up to uv-upsync and update related assets
188
+ - Add support for updating specific dependency groups
189
+
190
+ ## [1.1.2] - 2025-10-11
191
+
192
+ ### Documentation
193
+
194
+ - Update notes
195
+
196
+ ## [1.1.1] - 2025-10-11
197
+
198
+ ### Documentation
199
+
200
+ - Remove TOC
201
+ - Update notes
202
+
203
+ ### Miscellaneous
204
+
205
+ - Update pyproject.toml with metadata, keywords, and classifiers
206
+
207
+ ## [1.1.0] - 2025-10-11
208
+
209
+ ### Bug fixes
210
+
211
+ - Enhance help text for package exclusion option to indicate multiple values are allowed
212
+
213
+ ### Miscellaneous
214
+
215
+ - Update Coverage config
216
+
217
+ ## [1.0.0] - 2025-10-11
218
+
219
+ ### Bug fixes
220
+
221
+ - Update main function docstring for clarity
222
+
223
+ ### CI/CD
224
+
225
+ - Add workflows
226
+
227
+ ### Documentation
228
+
229
+ - Add logo
230
+
231
+ ### Features
232
+
233
+ - Initial commit
234
+
235
+ ### Miscellaneous
236
+
237
+ - Update ruff configuration and improve exception handling
238
+
239
+ ### Refactor
240
+
241
+ - Implement singleton pattern for Logger class
242
+
243
+ ### Testing
244
+
245
+ - Add comprehensive test suite for uv-plugin-up
246
+