# LocalRegistry 0.5

**URL:** <https://discourse.julialang.org/t/localregistry-0-5/70304>\
**Category:** Package Announcements\
**Created:** [October 24, 2021, 8:17pm UTC](https://discourse.julialang.org/t/localregistry-0-5/70304 "2021-10-24T20:17:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [October 24, 2021, 8:17pm UTC](https://discourse.julialang.org/t/localregistry-0-5/70304/1 "2021-10-24T20:17:48Z")

</div>

[LocalRegistry](https://github.com/GunnarFarneback/LocalRegistry.jl) lets you create and maintain local registries for Julia packages.

Version 0.5.0 is a (somewhat marginally) breaking release.

#### Breaking Changes

- The [rules for how to interpret the `registry` argument](https://github.com/GunnarFarneback/LocalRegistry.jl/blob/12ded96009386e043306562ffc11a6f6f6898dd0/src/LocalRegistry.jl#L119-L124) have changed. This should not have any consequences for normal use but an incorrectly specified `registry` may fail in unexpected ways.
- Some mistakes which previously resulted in errors may now successfully perform a registration, possibly unexpectedly. See next section.

#### New Features

The first three items are introduced for better support of running LocalRegistry in CI settings.

- Registration can be made with a temporary git clone of the registry. This happens if the indicated registry is not a git clone, i.e. obtained from a package server, or if `registry` is specified by URL.
- Registration can be made on a specified branch.
- Re-registration of an existing version can be configured to do nothing instead of raising an error, using the `ignore_reregistration` keyword argument. In the future this might be the default or possibly the only behavior.
- `register()` without argument will search for a package in the current directory if the active project is not a package.
- Multiple registrations can be made with `commit = false` without aborting due to a dirty registry.

#### Summary for New Users

To create a new registry:

```julia-auto
using LocalRegistry
create_registry(name, repository_url)

```

To register a new package or a new version of an existing package:

```julia-auto
using LocalRegistry
register(package)

```

This assumes that the package is developed and that `Project.toml` is  
updated with a new version number. See the [README](https://github.com/GunnarFarneback/LocalRegistry.jl/blob/master/README.md) and the docstrings for details.

If you have the package activated or in the current directory, registration can be simplified to

```julia-auto
using LocalRegistry
register()

```
