Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
83e1363
Run CI on backport branch too (#4094)
IanButterworth Nov 23, 2024
814949e
Increase version of `StaticArrays` in `why` tests (#4077)
fhagemann Dec 2, 2024
b610661
rename FORMER_STDLIBS -> UPGRADABLE_STDLIBS (#4070)
IanButterworth Dec 2, 2024
cd75456
Fix heading (#4102)
nilshg Dec 2, 2024
d84a1a3
Allow use of a url and subdir in [sources] (#4039)
tecosaur Dec 3, 2024
f9ad1c0
Fix a couple of bad JULIA_DEPOT_PATH settings (#4110)
IanButterworth Dec 9, 2024
e7c37f3
status: highlight when deps have different loaded versions (#4109)
IanButterworth Dec 9, 2024
47ad7e3
add some explicit precompile statements for `Pkg.status`. For some re…
KristofferC Dec 16, 2024
a1cfc6d
Improve latency for `Pkg.add` (#4115)
KristofferC Dec 17, 2024
b995782
avoid writing and reparsing the artifact usage file once per artifact…
KristofferC Dec 17, 2024
c7e611b
support before/after openssl switch (#4123)
IanButterworth Dec 30, 2024
739a64a
check source path is found when getting package_info (#4126)
IanButterworth Jan 1, 2025
8d3cf02
Fix OpenSSL_jll detection (#4127)
IanButterworth Jan 1, 2025
1eb09be
slightly improve memory in resolver code (#4119)
KristofferC Jan 2, 2025
bc9fb21
Fix JLL version fix fix (#4130)
IanButterworth Jan 10, 2025
2609a94
don't set up callbacks if using cli git (#4128)
IanButterworth Jan 16, 2025
df1931a
Use copy_test_packages in some places, and ensure that the copied tes…
rbvermaa Jan 16, 2025
938e9b2
app support in Pkg (#3772)
KristofferC Jan 24, 2025
a3626bf
add `PREV_ENV_PATH` to globals getting reset and move the reset to be…
KristofferC Jan 28, 2025
ecdf6aa
rename rot13 app in test to avoid name conflicts on systems where suc…
KristofferC Jan 28, 2025
6091533
fix ambiguity in apps `rm` (#4144)
KristofferC Jan 29, 2025
7aeec76
Update LineEdit internal for hints (#4146)
IanButterworth Feb 3, 2025
834c62d
reset caching of STDLIBs reading after precompilation is done (#4148)
KristofferC Feb 5, 2025
5e6c457
Add Aqua tests. Add missing compats (#4150)
IanButterworth Feb 11, 2025
ebfc041
Fix artifact directories not having traversal permissions (#4075)
staticfloat Feb 11, 2025
0333d55
Fixes for julia_version. Expand and consolidate julia_version tests. …
IanButterworth Feb 13, 2025
c54ee59
tests: make sure we're in an active project and that it's clean (#4155)
IanButterworth Feb 13, 2025
92595ec
Add more tests for BinaryBuilder usage (#4156)
IanButterworth Feb 16, 2025
14831ed
enable windows tree_hash checking (#4167)
IanButterworth Feb 23, 2025
f517489
Changed Pkg.test to prioritise julia_args --threads over current proc…
stemann Feb 25, 2025
2779d42
Update toml-files.md (#4177)
Heptazhou Feb 28, 2025
cf6191b
Pidlock source and artifact installation. Registry pidlock fixes. (#4…
IanButterworth Mar 1, 2025
6fa32d5
use temp dir on same filesystem for source install (#4180)
IanButterworth Mar 1, 2025
61115be
fix the right temp dir (#4181)
IanButterworth Mar 2, 2025
60e3185
Test fix: handle if tested Pkg is shipped version (#4182)
IanButterworth Mar 2, 2025
c0ba694
rename depot tmp dir to temp (#4183)
IanButterworth Mar 7, 2025
c9d161f
store temp packages in packages/temp (#4188)
IanButterworth Mar 14, 2025
26bdeee
`Project` construction, `Manifest` construction: improve type stabili…
nsajko Mar 15, 2025
6ac0df4
allow authors to be a TOML array (#3710)
simonbyrne Mar 16, 2025
ab53704
Create dependabot.yml (#4190)
vtjnash Mar 19, 2025
dfd0b83
Update codecov-action to v5 (#4191)
vtjnash Mar 19, 2025
b808cb1
Add a helper script for making missing Pkg tags (#4194)
IanButterworth Mar 20, 2025
b323a38
Artifacts: Add download size to `Artifacts.toml` (#4171)
staticfloat Mar 25, 2025
93fb66d
help debug freebsd test failure (#4199)
IanButterworth Mar 29, 2025
895e9d3
Lock io within printpkgstyle to avoid print tearing (#4202)
IanButterworth Mar 30, 2025
6f309f1
fix eagerly stopping hint completions (#4201)
IanButterworth Mar 30, 2025
5210c0d
Use `git -C` instead of `cd` (#4206)
fredrikekre Apr 1, 2025
a99f05c
fix flaky debug prints (#4210)
IanButterworth Apr 6, 2025
5432fdd
Don't warn about git General if people are opting out of the pkgserve…
IanButterworth Apr 6, 2025
bde7ce0
also collect packages tracking a repo when "traversing" developed pac…
KristofferC Apr 9, 2025
4c9b084
Stop using the `module Mod; using Mod; end` pattern [NFC] (#3750)
LilithHafner Apr 11, 2025
cda9881
Fix compat example for `~0.0.3` (#4178)
omus Apr 15, 2025
8f013c7
some small `Box` removals from `download_artifacts` code (#4219)
KristofferC Apr 15, 2025
7b293e2
Update extensions.jl (#4224)
adienes Apr 29, 2025
4951268
Add backticks and syntax highlight tags in docstrings (#4226)
abhro May 5, 2025
54b46b9
Re-land: Add entries to [sources] automatically if package is added b…
lassepe May 5, 2025
2afba2c
Add note about character minimums (#4166)
wylie39 May 5, 2025
244b421
set version to 1.13.0 (#4147)
KristofferC May 5, 2025
80d2e75
Export PkgArtifacts from itself under the name Artifacts for compat (…
LilithHafner May 5, 2025
cb88750
add some missing hash definitions (#4228)
KristofferC May 12, 2025
afac85b
[test] Use permalinks for `ArtifactInstallation` artifacts (#4240)
giordano May 21, 2025
cf2d47a
Clean up CHANGELOG.md (#4231)
lassepe May 21, 2025
1b26c92
improve package syntax parsing a bit (#4227)
KristofferC May 21, 2025
8a88709
Make threads test more robust + fix bug parsing JULIA_NUM_THREADS (#4…
gbaraldi May 21, 2025
88629b5
Disallow precompiling Pkg in Pkg tests (#4176)
IanButterworth May 21, 2025
5577f68
Isolate threads test from parent state (#4243)
IanButterworth Jun 3, 2025
313fddc
Internals: Add fallback `Base.show(::IO, ::RegistryInstance)` method …
DilumAluthge Jun 9, 2025
a94a6bc
fix dev taking when the app is already installed (#4259)
KristofferC Jun 13, 2025
a420462
don't use tree hash from manifest if the path is set from sources (#4…
KristofferC Jun 19, 2025
cae9ce0
Fix historical stdlib fixup if `Pkg` is in the Manifest (#4264)
Keno Jun 20, 2025
e3d4561
add update function to apps and fix a bug when adding an already inst…
KristofferC Jun 20, 2025
4d1c6b0
explain no reg installed when no reg installed (#4261)
IanButterworth Jun 20, 2025
eefbef6
feat(errors): Improve error message for incorrect package UUID (#4270)
KristofferC Jun 27, 2025
8b1f0b9
prompt for confirmation before removing compat entry (#4254)
IanButterworth Jun 27, 2025
e9a0552
fix what project file to look at when package without path but with a…
KristofferC Jun 30, 2025
e02bcab
Registry: Properly pass down `depot` (#4268)
Keno Jun 30, 2025
d2e6102
Fix leading whitespace in REPL commands with comma-separated packages…
KristofferC Jun 30, 2025
c78b40b
copy the app project instead of wrapping it (#4276)
KristofferC Jun 30, 2025
25c2390
feat(apps): Add support for multiple apps per package via submodules …
KristofferC Jun 30, 2025
109eaea
Various app improvements (#4278)
KristofferC Jun 30, 2025
0640da5
Document [sources] section keys (#4281)
KristofferC Jul 1, 2025
aaff8f2
Various improvements to docs and docstrings (#4279)
KristofferC Jul 1, 2025
95490a5
Create docs site favicon (#4275)
abhro Jul 1, 2025
2097cdb
collect paths for input packages that are in a workspace (#4229)
KristofferC Jul 1, 2025
fe73f6a
Add readonly field support for Project.toml environments (#4284)
KristofferC Jul 1, 2025
4fc3086
Doc section for Pkg and Storage Protocols (#4234)
tanmaykm Jul 1, 2025
833aa7f
update CHANGELOG with some new things (#4285)
KristofferC Jul 2, 2025
5b95227
Clarify guidelines (#4096)
rayegun Jul 2, 2025
175a1ff
Switch to more portable shell shebang (#4162)
tecosaur Jul 2, 2025
ffdb668
fix a header when cloning and use credentials when fetching (#4286)
KristofferC Jul 2, 2025
c93d6f0
Show preserve strategy in resolve (#3761)
jariji Jul 2, 2025
96a10b5
update the Pkg.test docs (#3173)
KristofferC Jul 2, 2025
5b4790c
`Pkg.test`: add more detail to the "Could not use exact versions of p…
DilumAluthge Jul 2, 2025
f3ed29e
Update development instructions (#3625)
glennmoy Jul 2, 2025
799f7de
Fix bind_artifact! when platform has compare_strategy (#3624)
glennmoy Jul 2, 2025
4f122a8
Add more info to deprecation warning of `installed` (#3452)
KronosTheLate Jul 2, 2025
a704d2e
generate: use the same default code as Example.jl (#2601)
fonsp Jul 2, 2025
eab1b8b
propagate `include_lazy` through `download_artifacts` (#3106)
KristofferC Jul 2, 2025
00ef215
warn & strip on accidental leading `]` (#3122)
t-bltg Jul 2, 2025
ae65b1e
Note disabling autoprecompilation in Pkg.instantiate docstring (#3613)
mortenpi Jul 2, 2025
d1d6a2b
`Pkg.Operations.install_archive`: when unpacking the archive, always …
DilumAluthge Jul 3, 2025
3440600
Refactor: Extract geturl function and improve error message (#4272)
KristofferC Jul 3, 2025
3869055
Enhance fuzzy matching algorithm with multi-factor scoring (#4287)
KristofferC Jul 3, 2025
69b50d7
fixup CHANGELOG for automatic source additions (#4294)
KristofferC Jul 3, 2025
6636197
Implement atomic TOML writes to prevent data corruption (#4293)
KristofferC Jul 3, 2025
7381ccf
Change refs/* to refs/heads/* to speed up repo cloning w/ many branch…
quinnj Jul 3, 2025
d0c6d50
also use a bare repo when cloning for `add` using cli GIT (#4296)
KristofferC Jul 3, 2025
ad9551b
improve error message info for bad compat entries (#4302)
IanButterworth Jul 4, 2025
8793b13
Make tips show the repl mode when in repl mode (#3854)
IanButterworth Jul 4, 2025
232c623
Implement lazy loading for RegistryInstance to improve startup perfor…
KristofferC Jul 4, 2025
e7a2dfe
add support for `Pkg.add(path="/path/to/git-submodule.jl")` directly.…
Fenyutanchan Jul 4, 2025
95e0ab7
Fix reference_manifest_isolated_test to use temporary directory (#4306)
KristofferC Jul 4, 2025
06dc7eb
prevent error when updating sources with a non-existing manifest (#4307)
KristofferC Jul 4, 2025
cb6099a
Add more info when package is missing (#4303)
IanButterworth Jul 4, 2025
c1d5f73
fix resolve to not suceed when giving a non-existing version for a pa…
KristofferC Jul 4, 2025
115e303
add option for Pkg.build to allow_reresolve=false (#3329)
IanButterworth Jul 4, 2025
4ef5a5d
Add a tip when trying to upgrade a specific package that's possible t…
IanButterworth Jul 4, 2025
94d9551
Fix parsing to better handle branch/tag/subdir specifiers in complex …
KristofferC Jul 5, 2025
902b2c2
warn if adding a local path containing a dirty repo (#4309)
KristofferC Jul 5, 2025
d2c81db
Add support for GitHub pull request URLs (#4295)
KristofferC Jul 7, 2025
393f601
consider a package with a rev (but without a source) to not be "track…
KristofferC Jul 7, 2025
ca7d997
fix assert from triggering with different path separators (#4305)
KristofferC Jul 7, 2025
32921ac
fix `status --diff` to work when package is in a non-root path (#4312)
KristofferC Jul 7, 2025
6ae6499
Fix stack overflow in `safe_realpath` (#4313)
visr Jul 7, 2025
4e49307
Add error that explains PackageSpec.repo is a private field (#4170)
IanButterworth Jul 8, 2025
4544cd9
Add a docs page about Depots (#2245)
mauro3 Jul 8, 2025
eb6320c
Warn about yanked versions. Add docs about yanked versions. (#4310)
IanButterworth Jul 8, 2025
6e84091
More registry status (#4300)
GunnarFarneback Jul 8, 2025
21c4aa4
add `pkg> compat --current` mode (#3266)
IanButterworth Jul 8, 2025
10ae389
Update registry update log also when adding a registry by copying or …
GunnarFarneback Jul 9, 2025
4197dd7
make more descriptive errors if `first` fails on empty urls when inst…
KristofferC Jul 9, 2025
98098f2
only try download artifacts from pkg server if the corresponding pack…
KristofferC Jul 9, 2025
7f4e170
Fix typos and inconsistencies in documentation (#4315)
KristofferC Jul 9, 2025
61a8447
Add more autoprecompilation controls and `Pkg.precompile() do` to del…
IanButterworth Jul 12, 2025
92440c6
Fix lack of color in CI and don't warn about loaded packages in test …
IanButterworth Jul 12, 2025
48d5577
Add missing recent changelogs (#4317)
IanButterworth Jul 12, 2025
a842283
Format code base with runic and set up runic CI (#4320)
IanButterworth Jul 13, 2025
d2bc406
add a pre-commit note to the readme (#4321)
IanButterworth Jul 13, 2025
b85e294
Stop discover_repo when reaching the depot (#4322)
IanButterworth Jul 14, 2025
b518c03
fix parsing of multiple packages with modifiers on some of them (#4325)
KristofferC Jul 15, 2025
0e123a2
Update registries during `dev` (#4186)
IanButterworth Jul 15, 2025
38d2b36
Make leading `]` fix silent, and not during completions (#4328)
IanButterworth Jul 18, 2025
542ca0c
Add a pkg message if julia_version is being specified (#4331)
IanButterworth Jul 24, 2025
a8e394b
Add a test for behavior that BinaryBuilder relies on (#4332)
IanButterworth Jul 25, 2025
d94f8a1
Error if the stdlib version requested mismatches current version (#4335)
IanButterworth Jul 25, 2025
dd5b8ae
Merge pull request #4338 from JuliaLang/kc/blame
KristofferC Jul 29, 2025
1bb49bd
Registry: Add lock to lazy fields in RegistryInstance and PkgEntry (#…
IanButterworth Jul 30, 2025
8cee071
rm old hook (#4342)
IanButterworth Jul 30, 2025
3cfe013
Fix missed rename of Operations._compat. Add tests for interactive co…
IanButterworth Aug 1, 2025
7ea0a19
Revert "Error if the stdlib version requested mismatches current vers…
KristofferC Aug 7, 2025
697e823
Make sure source pidfile is in a writable location (#4346)
IanButterworth Aug 8, 2025
1fca1d2
avoid deprecated RadioMenu method (#4357)
IanButterworth Aug 9, 2025
bcab03a
Actually avoid depwarn, and enable --depwarn=error in CI (#4358)
IanButterworth Aug 10, 2025
15782ab
nicer no changes formatting (#4348)
IanButterworth Aug 11, 2025
b810298
Base.parse CacheFlags from Julia process instead of reading UInt8 (#4…
xal-0 Aug 15, 2025
e15974a
Bump actions/checkout from 4 to 5 in the all-actions group (#4365)
dependabot[bot] Aug 18, 2025
23c06d5
Add pdf link to the docs (#4375)
IanButterworth Aug 22, 2025
844cb9c
Fix completion at the end of a complete line (#4373)
IanButterworth Aug 25, 2025
482399a
Mention that standard libraries have a version number since 1.11 (#4363)
felixcremer Aug 25, 2025
f06f9ad
make Articats.jl code not be indented in module (#4339)
KristofferC Sep 2, 2025
43d39e8
allow apps to customize default julia flags and also enable passing i…
KristofferC Sep 8, 2025
c7375c5
allow overriding the julia executable starting the app with an env va…
KristofferC Sep 11, 2025
e749a51
improve warning message when computed hash is not the same as the one…
KristofferC Sep 12, 2025
7344e26
Fix upgrade message (#4087) (#4391)
GHTaarn Sep 20, 2025
4003493
Merge pull request #4393 from JuliaLang/kc/reg_cache
KristofferC Sep 26, 2025
e064c0b
only auto precompile the added package (+ deps) after an `add` operat…
KristofferC Sep 26, 2025
543ee94
get rid of the "orphanage" support in GC and instead immidiately dele…
KristofferC Sep 26, 2025
8e99d09
also check `readonly` from entry point Pkg commands (e.g. `Pkg.add`) …
KristofferC Sep 26, 2025
704c38d
Update pkg.jl (#4399)
green-br Sep 28, 2025
e7d415f
fix deleting in compat mode (#4402)
IanButterworth Oct 7, 2025
92aae60
Make julia compat checking respect julia_version (#4403)
IanButterworth Oct 7, 2025
4184c9b
Add ASCII requirement for package naming (#4404)
gdalle Oct 8, 2025
93a960c
Adapt delayed delete mechanism (#4392)
Liozou Oct 14, 2025
24cf9a1
update to newer PrecompileTools approach (#4421)
KristofferC Oct 16, 2025
6a8c79a
Fix typo in Pkg.jl (#4419)
Moelf Oct 17, 2025
733f6d8
add support for bracket functionality when that lands in Julia (#4423)
KristofferC Oct 17, 2025
b620562
add a lock when mutating `PkgInfo` (#4394)
KristofferC Oct 18, 2025
3523760
update docs to show how workspaces are used for test deps (#4428)
KristofferC Oct 18, 2025
3306ed5
Deduplicate suggestions in package completions (#4431)
KristofferC Oct 19, 2025
01690b5
make `.path` field consistently be relative manifest and convert to p…
KristofferC Oct 19, 2025
baa7981
do not try to update registries in an unwritable folder (#4429)
KristofferC Oct 19, 2025
a1818b9
Drop the REPL search keymap (#4425)
tecosaur Oct 19, 2025
bbb9e6d
allow `generate` into an empty directory (#4430)
KristofferC Oct 19, 2025
14c5ae3
add a docstring to Registry module (#4432)
KristofferC Oct 19, 2025
8d74d35
update SHA compat (#4436)
IanButterworth Oct 19, 2025
ce98612
Fix completion on empty command (#4418)
IanButterworth Oct 19, 2025
5bfd116
STDLIBS_BY_VERSION: Check sorted & require same minor (#4414)
IanButterworth Oct 19, 2025
5dae2d7
fix showing dependencies of status package in manifest mode (#4435)
KristofferC Oct 19, 2025
4884d21
Run `git gc` on git registries during `Pkg.gc`. (#4434)
KristofferC Oct 20, 2025
1e0756d
add a cachedir file to various directories that shouldnt be backed up…
KristofferC Oct 20, 2025
1f09191
fall back to fetching more refspects in case the restricted set doesn…
KristofferC Oct 20, 2025
4a8ed25
add some more docs about various sections to the toml file docs (#4440)
KristofferC Oct 20, 2025
63745b8
Docs: sources.path dev clarification (#4439)
fonsp Oct 20, 2025
b418a9e
Ignore compat for fixed stdlibs, but warn if bad (#4437)
IanButterworth Oct 21, 2025
7993fc7
install / update registries for app add in the same way as for packag…
KristofferC Oct 21, 2025
bdda1da
normalize paths when writing a project file (#4444)
KristofferC Oct 21, 2025
9c9e12f
add docs for using sources for test specific deps (#4447)
KristofferC Oct 21, 2025
00482b4
avoid resolving on `add` when a compatible package exists in the envi…
KristofferC Oct 21, 2025
9e183af
do not crash on tab after `;` (#4446)
KristofferC Oct 21, 2025
133adf7
avoid overprinting in progress bar when percentages goes from 100 to …
KristofferC Oct 21, 2025
9c2eb27
incorporate discourse feedback to pkg docs (#4449)
KristofferC Oct 21, 2025
946b4e1
fix another URL scheme parsing in the repl mode (#4450)
KristofferC Oct 21, 2025
dfc4192
Add compat admonition for [sources] in toml-files.md (#4451)
KristianHolme Oct 21, 2025
9507a35
Move git cache refs from refs/remotes/ to refs/cache/ (#4456)
KristofferC Oct 22, 2025
56ba0ab
add docs about packed and git registries (#4455)
KristofferC Oct 22, 2025
cdc17a0
allow having unknown weak dependencies (#4459)
KristofferC Oct 22, 2025
9e44f06
Add more docs to depot customization (#4457)
KristofferC Oct 22, 2025
375dff4
expand on activate docs (#4462)
KristofferC Oct 22, 2025
538a169
optimize git fetches to fetch only tracked branches (#4461)
KristofferC Oct 22, 2025
222f950
Track registries in the manifest for added packages (#4460)
KristofferC Oct 22, 2025
63d720b
recursively collect [sources] from packages added by URL (#4453)
KristofferC Oct 22, 2025
ce2245c
allow for a `metadata` table in a `Package.toml` in a registry and ha…
KristofferC Oct 23, 2025
d20edac
update test output check to nightly (#4466)
KristofferC Oct 24, 2025
74fdb39
do not create a separate app environment for devved apps (#4465)
KristofferC Oct 24, 2025
904a769
do not create a separate app environment for devved apps (#4465)
KristofferC Oct 24, 2025
3adcf4a
ensure we do not end up in a situation where both tree hash and path …
KristofferC Oct 24, 2025
b224be5
properly normalize paths before accessing them (#4463)
KristofferC Oct 25, 2025
b6e4785
Bump actions/upload-artifact from 4 to 5 in the all-actions group (#4…
dependabot[bot] Oct 27, 2025
7fad682
move some object construction out of `build_eq_classes1!` to avoid cr…
KristofferC Oct 28, 2025
a76de9e
move some allocations out of hot loop in the graph simplification in …
KristofferC Oct 28, 2025
6aae107
ask the package server for zstd compressed data (#4472)
KristofferC Oct 28, 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
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ran runic on the code base
a84228360d6cff568a55911733e830cdf1c492da
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
groups:
all-actions:
patterns:
- "*"
30 changes: 30 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Code checks

on:
pull_request:
push:
branches: ["master"]

jobs:

pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
env:
# Skip runic-pre-commit since we use runic-action below instead
SKIP: runic

runic:
name: "Runic"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: '1.11'
- uses: julia-actions/cache@v2
- uses: fredrikekre/runic-action@v1
with:
version: "1.4" # Keep version in sync with .pre-commit-config.yaml
20 changes: 15 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ on:
branches:
- 'master'
- 'release-*'
- 'backports-release-*'
push:
branches:
- 'master'
- 'release-*'
- 'backports-release-*'
tags: '*'
defaults:
run:
Expand Down Expand Up @@ -63,33 +65,35 @@ jobs:
# See https://github.com/actions/virtual-environments/issues/712
echo "TMP=${USERPROFILE}\AppData\Local\Temp" >> ${GITHUB_ENV}
echo "TEMP=${USERPROFILE}\AppData\Local\Temp" >> ${GITHUB_ENV}
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
arch: ${{ matrix.julia-arch }}
- uses: julia-actions/julia-runtest@v1
with:
coverage: true
depwarn: error
env:
JULIA_PKG_SERVER: ${{ matrix.pkg-server }}
JULIA_TEST_VERBOSE_LOGS_DIR: ${{ github.workspace }}
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
if: ${{ always() }}
with:
name: ${{ join(matrix.*, '-') }}_Pkg.log
path: ${{ github.workspace }}/Pkg.log
- uses: julia-actions/julia-processcoverage@v1
env:
JULIA_PKG_SERVER: ${{ matrix.pkg-server }}
- uses: codecov/codecov-action@v3
- uses: codecov/codecov-action@v5
with:
file: lcov.info
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
docs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
# version: '1.6'
Expand All @@ -100,3 +104,9 @@ jobs:
julia --project=docs --color=yes docs/make.jl pdf
env:
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
- name: Upload documentation artifacts
uses: actions/upload-artifact@v5
if: always()
with:
name: pkg-docs
path: docs/build/
17 changes: 17 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
repos:
- repo: 'https://github.com/pre-commit/pre-commit-hooks'
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
# - id: check-toml # we have tomls with invalid syntax for tests
- id: check-yaml
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
- repo: 'https://github.com/fredrikekre/runic-pre-commit'
rev: v2.0.1
hooks:
- id: runic
additional_dependencies:
- 'Runic@1.4' # Keep version in sync with .github/workflows/Check.yml
110 changes: 107 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,70 @@
Pkg v1.13 Release Notes
=======================

- Project.toml environments now support a `readonly` field to mark environments as read-only, preventing modifications.
([#4284])
- `Pkg.build` now supports an `allow_reresolve` keyword argument to control whether the build process can re-resolve
package versions, similar to the existing option for `Pkg.test`. ([#3329])
- Packages are now automatically added to `[sources]` when they are added by url or devved. ([#4225])
- Packages added via URL now honor nested `[sources]` entries, allowing private dependency chains to resolve without registry metadata. ([#4366])
- `update` now shows a helpful tip when trying to upgrade a specific package that can be upgraded but is held back
because it's part of a less optimal resolver solution ([#4266])
- `Pkg.status` now displays yanked packages with a `[yanked]` indicator and shows a warning when yanked packages are
present. `Pkg.resolve` errors also display warnings about yanked packages that are not resolvable. ([#4310])
- Added `pkg> compat --current` command to automatically populate missing compat entries with the currently resolved
package versions. Use `pkg> compat --current` for all packages or `pkg> compat Foo --current` for specific packages.
([#3266])
- Added `Pkg.precompile() do` block syntax to delay autoprecompilation until after multiple operations complete,
improving efficiency when performing several environment changes. ([#4262])
- Added `Pkg.autoprecompilation_enabled(state::Bool)` to globally enable or disable automatic precompilation for Pkg
operations. ([#4262])
- Implemented atomic TOML writes to prevent data corruption when Pkg operations are interrupted or multiple processes
write simultaneously. All TOML files are now written atomically using temporary files and atomic moves. ([#4293])
- Implemented lazy loading for RegistryInstance to significantly improve startup performance for operations that don't
require full registry data. This reduces `Pkg.instantiate()` time by approximately 60% in many cases. ([#4304])
- Added support for directly adding git submodules via `Pkg.add(path="/path/to/git-submodule.jl")`. ([#3344])
- Enhanced REPL user experience by automatically detecting and stripping accidental leading `]` characters in commands.
([#3122])
- Improved tip messages to show REPL mode syntax when operating in REPL mode. ([#3854])
- Enhanced error handling with more descriptive error messages when operations fail on empty URLs during git repository
installation or registry discovery. ([#4282])
- Improved error messages for invalid compat entries to provide better guidance for fixing them. ([#4302])
- Added warnings when attempting to add local paths that contain dirty git repositories. ([#4309])
- Enhanced package parsing to better handle complex URLs and paths with branch/tag/subdir specifiers. ([#4299])
- Improved artifact download behavior to only attempt downloads from the Pkg server when the package is registered on
that server's registries. ([#4297])
- Added comprehensive documentation page about depots, including depot layouts and configuration. ([#2245])
- Enhanced error handling for packages missing from registries or manifests with more informative messages. ([#4303])
- Added more robust error handling when packages have revisions but no source information. ([#4311])
- Enhanced registry status reporting with more detailed information. ([#4300])
- Fixed various edge cases in package resolution and manifest handling. ([#4307], [#4308], [#4312])
- Improved handling of path separators across different operating systems. ([#4305])
- Added better error messages when accessing private PackageSpec.repo field. ([#4170])

Pkg v1.12 Release Notes
=======================

- Pkg now has support for "workspaces" which is a way to resolve multiple project files into a single manifest.
The functions `Pkg.status`, `Pkg.why`, `Pkg.instantiate`, `Pkg.precompile` (and their REPL variants) have been updated
to take a `workspace` option. Read more about this feature in the manual about the TOML-files.
The functions `Pkg.status`, `Pkg.why`, `Pkg.instantiate`, `Pkg.precompile` (and their REPL variants) have been
updated to take a `workspace` option, with fixes for workspace path collection and package resolution in workspace
environments. Read more about this feature in the manual about the TOML-files. ([#3841], [#4229])
- Pkg now supports "apps" which are Julia packages that can be run directly from the terminal after installation.
Apps can be defined in a package's Project.toml and installed via Pkg. Apps now support multiple apps per package
via submodules, allowing packages to define multiple command-line applications, with enhanced functionality including
update capabilities and better handling of already installed apps. ([#3772], [#4277], [#4263])
- `status` now shows when different versions/sources of dependencies are loaded than that which is expected by the
manifest ([#4109])
- When adding or developing a package that exists in the `[weakdeps]` section, it is now automatically removed from
weak dependencies and added as a regular dependency. ([#3865])
- Enhanced fuzzy matching algorithm for package name suggestions with improved multi-factor scoring for better package
name suggestions. ([#4287])
- The Pkg REPL now supports GitHub pull request URLs, allowing direct package installation from PRs via
`pkg> add https://github.com/Org/Package.jl/pull/123` ([#4295])
- Improved git repository cloning performance by changing from `refs/*` to `refs/heads/*` to speed up operations on
repositories with many branches. ([#2330])
- Improved REPL command parsing to handle leading whitespace with comma-separated packages. ([#4274])
- Improved error messages when providing incorrect package UUIDs. ([#4270])
- Added confirmation prompts before removing compat entries to prevent accidental deletions. ([#4254])

Pkg v1.11 Release Notes
=======================
Expand All @@ -21,7 +82,7 @@ Pkg v1.10 Release Notes
=======================

Pkg v1.9 Release Notes
=======================
======================

- New functionality: `Pkg.why` and `pkg> why` to show why a package is inside the environment (shows all "paths" to a package starting at the direct dependencies).
- When code coverage tracking is enabled for `Pkg.test` the new path-specific code-coverage option is used to limit coverage
Expand Down Expand Up @@ -83,6 +144,16 @@ Pkg v1.7 Release Notes
- The `mode` keyword for `PackageSpec` has been removed ([#2454]).

<!--- Generated by NEWS-update.jl --->
[#4225]: https://github.com/JuliaLang/Pkg.jl/issues/4225
[#4284]: https://github.com/JuliaLang/Pkg.jl/issues/4284
[#3526]: https://github.com/JuliaLang/Pkg.jl/issues/3526
[#3708]: https://github.com/JuliaLang/Pkg.jl/issues/3708
[#3732]: https://github.com/JuliaLang/Pkg.jl/issues/3732
[#3772]: https://github.com/JuliaLang/Pkg.jl/issues/3772
[#3783]: https://github.com/JuliaLang/Pkg.jl/issues/3783
[#3841]: https://github.com/JuliaLang/Pkg.jl/issues/3841
[#3865]: https://github.com/JuliaLang/Pkg.jl/issues/3865
[#4109]: https://github.com/JuliaLang/Pkg.jl/issues/4109
[#2284]: https://github.com/JuliaLang/Pkg.jl/issues/2284
[#2431]: https://github.com/JuliaLang/Pkg.jl/issues/2431
[#2432]: https://github.com/JuliaLang/Pkg.jl/issues/2432
Expand All @@ -101,3 +172,36 @@ Pkg v1.7 Release Notes
[#2995]: https://github.com/JuliaLang/Pkg.jl/issues/2995
[#3002]: https://github.com/JuliaLang/Pkg.jl/issues/3002
[#3021]: https://github.com/JuliaLang/Pkg.jl/issues/3021
[#3266]: https://github.com/JuliaLang/Pkg.jl/pull/3266
[#4266]: https://github.com/JuliaLang/Pkg.jl/pull/4266
[#4310]: https://github.com/JuliaLang/Pkg.jl/pull/4310
[#3329]: https://github.com/JuliaLang/Pkg.jl/pull/3329
[#4262]: https://github.com/JuliaLang/Pkg.jl/pull/4262
[#4293]: https://github.com/JuliaLang/Pkg.jl/pull/4293
[#4304]: https://github.com/JuliaLang/Pkg.jl/pull/4304
[#3344]: https://github.com/JuliaLang/Pkg.jl/pull/3344
[#2330]: https://github.com/JuliaLang/Pkg.jl/pull/2330
[#3122]: https://github.com/JuliaLang/Pkg.jl/pull/3122
[#3854]: https://github.com/JuliaLang/Pkg.jl/pull/3854
[#4282]: https://github.com/JuliaLang/Pkg.jl/pull/4282
[#4302]: https://github.com/JuliaLang/Pkg.jl/pull/4302
[#4309]: https://github.com/JuliaLang/Pkg.jl/pull/4309
[#4299]: https://github.com/JuliaLang/Pkg.jl/pull/4299
[#4295]: https://github.com/JuliaLang/Pkg.jl/pull/4295
[#4277]: https://github.com/JuliaLang/Pkg.jl/pull/4277
[#4297]: https://github.com/JuliaLang/Pkg.jl/pull/4297
[#2245]: https://github.com/JuliaLang/Pkg.jl/pull/2245
[#4303]: https://github.com/JuliaLang/Pkg.jl/pull/4303
[#4254]: https://github.com/JuliaLang/Pkg.jl/pull/4254
[#4270]: https://github.com/JuliaLang/Pkg.jl/pull/4270
[#4263]: https://github.com/JuliaLang/Pkg.jl/pull/4263
[#4229]: https://github.com/JuliaLang/Pkg.jl/pull/4229
[#4274]: https://github.com/JuliaLang/Pkg.jl/pull/4274
[#4311]: https://github.com/JuliaLang/Pkg.jl/pull/4311
[#4300]: https://github.com/JuliaLang/Pkg.jl/pull/4300
[#4307]: https://github.com/JuliaLang/Pkg.jl/pull/4307
[#4308]: https://github.com/JuliaLang/Pkg.jl/pull/4308
[#4312]: https://github.com/JuliaLang/Pkg.jl/pull/4312
[#4305]: https://github.com/JuliaLang/Pkg.jl/pull/4305
[#4170]: https://github.com/JuliaLang/Pkg.jl/pull/4170
[#4287]: https://github.com/JuliaLang/Pkg.jl/pull/4287
20 changes: 19 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
keywords = ["package management"]
license = "MIT"
desc = "The next-generation Julia package manager."
version = "1.12.0"
version = "1.13.0"

[workspace]
projects = ["test", "docs"]
Expand All @@ -23,6 +23,7 @@ SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce"
TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
Tar = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
Zstd_jll = "3161d3a3-bdf6-5164-811a-617609db77b4"
p7zip_jll = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"

[weakdeps]
Expand All @@ -32,4 +33,21 @@ REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
REPLExt = "REPL"

[compat]
Artifacts = "1.11"
Dates = "1.11"
Downloads = "1.6"
FileWatching = "1.11"
LibGit2 = "1.11"
Libdl = "1.11"
Logging = "1.11"
Markdown = "1.11"
Printf = "1.11"
REPL = "1.11"
Random = "1.11"
SHA = "0.7, 1"
TOML = "1"
Tar = "1.10"
UUIDs = "1.11"
Zstd_jll = "1.5.7"
julia = "1.12"
p7zip_jll = "17.5"
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,29 @@ If you want to develop this package do the following steps:
- Make a fork and then clone the repo locally on your computer
- Change the current directory to the Pkg repo you just cloned and start julia with `julia --project`.
- `import Pkg` will now load the files in the cloned repo instead of the Pkg stdlib.
- To test your changes, simply do `include("test/runtests.jl")`.
- To test your changes, simply do `Pkg.test()`.

If you need to build Julia from source with a Git checkout of Pkg, then instead use `make DEPS_GIT=Pkg` when building Julia. The `Pkg` repo is in `stdlib/Pkg`, and created initially with a detached `HEAD`. If you're doing this from a pre-existing Julia repository, you may need to `make clean` beforehand.

If you need to build Julia from source with Git checkouts of two or more stdlibs, please see the instructions in the [`Building Julia from source with a Git checkout of a stdlib`](https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/build/build.md#building-julia-from-source-with-a-git-checkout-of-a-stdlib) section of the [`doc/src/devdocs/build/build.md`](https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/build/build.md) file within the Julia devdocs.

## Pre-commit hooks

This repository uses pre-commit hooks to automatically check and format code before commits. The hooks perform various checks including:

- File size and case conflict validation
- YAML syntax checking
- Trailing whitespace removal and line ending fixes
- Julia code formatting with Runic

To install and use the pre-commit hooks:

1. Install pre-commit: `pip install pre-commit` (or use your system's package manager)
2. Install the hooks: `pre-commit install` from the root of the repository
3. Run on all files: `pre-commit run --all-files` from the root of the repository

Once installed, the hooks will run automatically on each commit. You can also run them manually anytime with `pre-commit run`.

## Synchronization with the Julia repo

To check which commit julia master uses see [JuliaLang/julia/stdlib/Pkg.version](https://github.com/JuliaLang/julia/blob/master/stdlib/Pkg.version).
Expand Down
Loading