Skip to content

Commit 0454680

Browse files
authored
Update deps and release v0.13.0 (#102)
* checkpoint work * Update project dependencies and prepare for new release. This updates the project dependencies to the latest set of stuff older than 30 days, and updates uv to not install packages released within the past 30 days by default. Also fixes a minor bug in the //run script. * Bump to version 0.13.0
1 parent 12d0f8c commit 0454680

File tree

5 files changed

+486
-171
lines changed

5 files changed

+486
-171
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,17 @@ $ git push --tags origin
114114

115115
## Version History / Release Notes
116116

117+
* v0.13.0 (2026-01-01)
118+
* No code changes.
119+
* Add Python 3.14 to supported version, project config, dependencies
120+
* Update dependencies to latest stuff < 2025-12-01
121+
* This relaxes the versions specified in pyproject.toml to just
122+
use 'newer than' rather than exact matches.
123+
* Sets 'uv.tool.exclude-newer' in pyproject.toml to tell uv not
124+
to look at packages published within the past 30 days; this will
125+
hopefully help prevent dependencies on compromised projects.
126+
* Switch to using dependency-groups for 'dev' group.
127+
117128
* v0.12.1 (2025-08-12)
118129
* Fix [#94](https://github.com/dpranke/pyjson5/issues/94), where objects
119130
returned from a custom encoder were not being indented properly.

json5/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = '0.12.2.dev0'
15+
__version__ = '0.13.0'
1616

1717
# For backward-compatibility with earlier versions of json5:
1818
VERSION = __version__

pyproject.toml

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ authors = [
1111
keywords = [ "json5" ]
1212
license = {file = "LICENSE"}
1313
readme = "README.md"
14-
requires-python = ">= 3.8.0"
14+
requires-python = '>= 3.8.0'
1515
classifiers= [
1616
'Development Status :: 5 - Production/Stable',
1717
'Intended Audience :: Developers',
@@ -27,19 +27,23 @@ classifiers= [
2727
]
2828
dynamic = [ "version" ]
2929

30-
[project.optional-dependencies]
30+
[dependency-groups]
3131
# Note that not everything is guaranteed to work on 3.8.
3232
dev = [
33-
'build==1.2.2.post1',
34-
'coverage==7.5.4; python_version < "3.9"',
35-
'coverage==7.8.0; python_version >= "3.9"',
36-
'mypy==1.14.1; python_version < "3.9"',
37-
'mypy==1.15.0; python_version >= "3.9"',
38-
'pip==25.0.1',
39-
'pylint==3.2.7; python_version < "3.9"',
40-
'pylint==3.3.6; python_version >= "3.9"',
41-
'ruff==0.11.2',
42-
'twine==6.1.0',
33+
'build >= 1.2.2.post1; python_version < "3.9"',
34+
'build >= 1.3.0; python_version >= "3.9"',
35+
'coverage == 7.5.4; python_version < "3.9"',
36+
'coverage == 7.8.0; python_version >= "3.9" and python_version < "3.10"',
37+
'coverage >= 7.12.0; python_version >= "3.10"',
38+
'mypy == 1.14.1; python_version < "3.9"',
39+
'mypy >= 1.19.0; python_version >= "3.9"',
40+
'pip >= 25.3; python_version >= "3.9"',
41+
'pylint == 3.2.7; python_version < "3.9"',
42+
'pylint == 3.3.6; python_version >= "3.9" and python_version < "3.10"',
43+
'pylint >= 4.0.4; python_version >= "3.10"',
44+
'ruff >= 0.14.7',
45+
'twine == 6.1.0; python_version < "3.10"',
46+
'twine >= 6.2.0; python_version >= "3.10"',
4347
]
4448

4549
[project.urls]
@@ -110,3 +114,8 @@ version = {attr = "json5.__version__"}
110114
[tool.uv]
111115
# 0.9.0 is the first version supporting Python 3.14
112116
required-version = ">=0.9.0"
117+
118+
# By default, do not install/resolve to packages published within
119+
# the past 30 days; this gives us some protection against automatically
120+
# upgrading to a package that might have been newly compromised.
121+
exclude-newer = "30 days"

run

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ class Runner:
333333
old = fp.read()
334334
if self.args.no_execute or self.args.verbose:
335335
print(f'mv {self.parser_file} {orig_file}')
336-
else:
336+
if not self.args.no_execute:
337337
os.rename(self.parser_file, orig_file)
338338
self._gen_parser()
339339
if self.args.no_execute:

0 commit comments

Comments
 (0)