An exciting release with my favourite feature of cache reliability. The arrival of this feature motivated me to making AppBundler.jl, which can bundle GUI applications into familiar installers found on major desktop platforms [1]. I will also enjoy using public keyword when working with submodules to keep APIs more organized. This could also allow to show a tree view of the module functions from `public` and `export` statements.
The `[sources]` in Project.toml is useful feature when retrieving projects without a `Manifest.toml` file. A thing I found missing there, is the lack of integration with `Pkg.add` and `Pkg.dev`, where now I need to manually edit the file to keep those things persistent when `Manifest.toml` is not present. Hopefully, that can be improved with future releases.
I did not understand the ScopedValues example utility. The middleware could handle most of those permission controls by being more explicit with methods `handle_admin` and `handle_guest`. Perhaps someone has a better example where it is really useful.
It also turns out that it allows for a bunch more compiler optimizations to be implimented with a lot less pain. I got very nerd sniped on this this week leading to https://github.com/JuliaLang/julia/pull/56030 and https://github.com/JuliaLang/julia/pull/55913 which allow allocation removal in a number of cases and saves ~4ns (~10ns->6ns for Memory{Int8}(unef, 4)) for constructing Memory objects.
I worked for YEARS (2019-2022) without this using a custom internal registry. Let me tell you - this would have saved so much time with dependency management, package updating, new environment setup...
The `[sources]` in Project.toml is useful feature when retrieving projects without a `Manifest.toml` file. A thing I found missing there, is the lack of integration with `Pkg.add` and `Pkg.dev`, where now I need to manually edit the file to keep those things persistent when `Manifest.toml` is not present. Hopefully, that can be improved with future releases.
I did not understand the ScopedValues example utility. The middleware could handle most of those permission controls by being more explicit with methods `handle_admin` and `handle_guest`. Perhaps someone has a better example where it is really useful.
[1]: https://github.com/PeaceFounder/AppBundler.jl