Skip to content

Commit aca2d40

Browse files
thetcodex
andcommitted
Add include-optional directive.
- Add ``include-optional`` for INI configuration files that may be absent, skipping missing local files and HTTP 404 responses while preserving mandatory includes. This allows projects to define an optional include for client-specific customizations. - Fix HTTP error logging during INI inclusion and preserve the original exception. - Fix relative INI includes from URLs with a directory path. Co-authored-by: Codex <noreply@openai.com>
1 parent e797060 commit aca2d40

4 files changed

Lines changed: 214 additions & 99 deletions

File tree

‎CHANGES.md‎

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
## Changes
2-
2+
33
## 5.4.2 (unreleased)
44

55
<!-- Add future changes here -->
66

7+
- Add `include-optional` for INI configuration files that may be absent, skipping
8+
missing local files and HTTP 404 responses while preserving mandatory includes.
9+
This allows projects to define an optional include for client-specific
10+
customizations.
11+
- Fix HTTP error logging during INI inclusion and preserve the original exception.
12+
- Fix relative INI includes from URLs with a directory path.
713

814
## 5.4.1 (2026-08-04)
915

@@ -12,7 +18,6 @@
1218
now rejects the trailing newline and the error was silently swallowed. Lines are
1319
now stripped before parsing and unparseable lines are logged at debug level. [jensens]
1420

15-
1621
## 5.4.0 (2026-06-01)
1722

1823
- The uv hook now writes the fully resolved constraints (including external `-c`/`-r`
@@ -35,7 +40,6 @@
3540
directory already exists under the sources directory and does not fetch, copy, or symlink
3641
anything (refs #76). [jensens]
3742

38-
3943
## 5.3.2 (2026-05-30)
4044

4145
- Fix: Restore backward compatibility for hook config sections named
@@ -48,7 +52,6 @@
4852
Migration: rename `[ns-section]` to `[ns:section]` and set `namespace = "ns"`.
4953
[jensens]
5054

51-
5255
## 5.3.1 (2026-05-29)
5356

5457
- Fix: A hook namespace no longer swallows packages whose name merely starts with it.
@@ -59,13 +62,11 @@
5962
the `[namespace-section]` form as a deprecation rather than a hard break — see below.)
6063
[jensens]
6164

62-
6365
## 5.3.0 (2026-05-29)
6466

6567
- Feature: The `uv` hook now also propagates `version-overrides` from `mx.ini` to `[tool.uv] override-dependencies` in `pyproject.toml`. This keeps version pins in sync between mxdev and uv-managed projects.
6668
[frapell]
6769

68-
6970
## 5.2.0 (2026-05-28)
7071

7172
- Feature: Built-in integration with `uv` through `pyproject.toml`. When `mxdev` is run, it checks if the project has a `pyproject.toml` containing `[tool.uv]` with `managed = true`. If so, mxdev automatically adds checked-out packages to `[tool.uv.sources]`. This allows for seamless use of `uv sync` or `uv run` with local checkouts. `tomlkit` is now an optional dependency (install with `mxdev[uv]`) to preserve `pyproject.toml` formatting during updates.
@@ -138,10 +139,9 @@
138139
- Enhance test coverage [jensens]
139140
- Fix Makefile. [jensens]
140141

141-
142142
## 4.1.0 (2025-06-03)
143143

144-
- Support environment variable `GIT_CLONE_DEPTH` for setting a default git depth for all checkouts. Useful for CI.
144+
- Support environment variable `GIT_CLONE_DEPTH` for setting a default git depth for all checkouts. Useful for CI.
145145
[maurits]
146146

147147
- Fix #47: Do not add packages with capital names uncommented at the bottom ignore list when checked out.
@@ -152,7 +152,6 @@
152152
- Fix #45: Packages with capital names do not get ignored when checked out.
153153
[jensens]
154154

155-
156155
## 4.0.2 (2024-03-13)
157156

158157
- Fix #42: deprecated use of `pkg_resoures` to load entry points and parse requirements.
@@ -216,7 +215,6 @@
216215
When false, the source is not checked out, and the version for this package is not overridden.
217216
[maurits]
218217

219-
220218
### 3.0.0b1 (2022-11-21)
221219

222220
- Do not use `libvcs`, but recycled and updated (type hints, tests) `mr.developer` VCS code.
@@ -247,7 +245,6 @@
247245
State object contains all required runtime data.
248246
[rnix]
249247

250-
251248
### 2.0.0 (2022-01-31)
252249

253250
- Depend on pip 22, where interdependency mode is no longer needed.
@@ -269,39 +266,33 @@
269266
New setting `ignores` with a list of packages (one per line) to ignore constraints without providing a version.
270267
[jensens]
271268

272-
273269
### 1.0.1 (2021-12-21)
274270

275-
- Fix: If a developed package depends on another developed package the dependent package was ignored *sometimes* (!?).
271+
- Fix: If a developed package depends on another developed package the dependent package was ignored _sometimes_ (!?).
276272
Instead, the last release was taken.
277-
Solution: Install it with the `--pre` option in order to allow the other non-final/in-development *release*.
273+
Solution: Install it with the `--pre` option in order to allow the other non-final/in-development _release_.
278274
[jensens]
279275

280-
281276
### 1.0.0 (2021-12-12)
282277

283278
- Defaults for "outfiles" are `*-mxdev.txt` now.
284279
[jensens]
285280

286-
287281
### 1.0.0b4 (2021-12-07)
288282

289283
- Fix interdependency mode.
290284
[jensens]
291285

292-
293286
### 1.0.0b3 (2021-12-07)
294287

295288
- Fix: Do not apply override disabling on requirements.
296289
[jensens]
297290

298-
299291
### 1.0.0b2 (2021-12-07)
300292

301293
- Add feature: version overrides.
302294
[jensens]
303295

304-
305296
### 1.0.0b1 (2021-12-04)
306297

307298
- Add `-s` or `--silent` option.
@@ -313,13 +304,11 @@
313304
- Fixed missing CR if `*.txt` does not end with a newline.
314305
[jensens]
315306

316-
317307
### 1.0.0a9 (2021-12-01)
318308

319309
- Added auto correction for pip URLs, so that GitHub or GitLab URLs can be used as copied in `sources.ini`.
320310
[zworkb]
321311

322-
323312
### 1.0.0a8 (2021-11-30)
324313

325314
- Added interdependency handling to avoid manual dependency order resolution.
@@ -331,37 +320,31 @@
331320
- Removed position feature.
332321
[jensens, gogobd]
333322

334-
335323
### 1.0.0a7 (2021-11-30)
336324

337325
- Removed Workaround for libvcs and depend on libvcs>=0.10.1.
338326
[jensens]
339327

340-
341328
### 1.0.0a6 (2021-11-30)
342329

343330
- Workaround for libvcs bug https://github.com/vcs-python/libvcs/issues/295
344331
[jensens, gogobd]
345332

346-
347333
### 1.0.0a5 (2021-11-30)
348334

349335
- Workaround for libvcs bug https://github.com/vcs-python/libvcs/issues/293
350336
[jensens, gogobd]
351337

352-
353338
### 1.0.0a4 (2021-11-29)
354339

355340
- Fix: editable can be configured to be processed before or after initial requirements.
356341
[jensens]
357342

358-
359343
### 1.0.0a3 (2021-11-23)
360344

361345
- Fix #1: Re-run of pip vanishes committed changes
362346
[jensens]
363347

364-
365348
### 1.0.0a2 (2021-11-21)
366349

367350
- Fix/simplify packaging.
@@ -373,7 +356,6 @@
373356
- Implement package extras
374357
[jensens]
375358

376-
377359
### 1.0.0a1 (2021-11-21)
378360

379361
- Initial work.

0 commit comments

Comments
 (0)