# What does the new "public" keyword actually do?

**URL:** https://discourse.julialang.org/t/what-does-the-new-public-keyword-actually-do/108975
**Category:** General Usage
**Tags:** question
**Created:** [January 18, 2024, 5:25pm UTC](https://discourse.julialang.org/t/what-does-the-new-public-keyword-actually-do/108975 "2024-01-18T17:25:34Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)
#### Post date: [January 18, 2024, 5:25pm UTC](https://discourse.julialang.org/t/what-does-the-new-public-keyword-actually-do/108975/1 "2024-01-18T17:25:34Z")

</div>

Continuing from

> [@New Julia LTS? Are many using the current (Julia 1.6) LTS?](https://discourse.julialang.org/t/new-julia-lts-are-many-using-the-current-julia-1-6-lts/93919/54):
>
> Do you think “public” will actually not be used much in packages as opposed to Julia itself (since there it’s problematic to export)?

> [@New Julia LTS? Are many using the current (Julia 1.6) LTS?](https://discourse.julialang.org/t/new-julia-lts-are-many-using-the-current-julia-1-6-lts/93919/57):
>
> It seems the new possible 1.10 LTS (assuming `public` not added) will be dead-on-arrival, with people not wanting to use it.

Does the new `public` keyword actually do anything? From the current 1.11 documentation and release notes, I don’t see that `public` has any effect on `using`/`import`.

It seems that maybe `Documenter` would be the primary consumer of the `public` information: I could see docstrings for public/private members being formatted differently, or `@autodocs` being able to filter on `public/private/exported`. I don’t think there’s a PR branch yet in Documenter to add those features, though.

Without that, it seems like `public` would really only surface when inspecting the source code of a package.

This is not to criticize the new feature. I very much like the idea of marking members as public non-public independently of other conventions such as underscore prefixes or hidden documentation. But it would seem to be relevant for how urgently one would want to adopt this feature and drop pre-1.11 support in packages. If there has to be slow-growing adoption by Documenter or similar tools (VSCode, I’d imagine) _after_ the 1.11 release, this does not seem as pressing.

So what are the plans for any downstream effects of `public`?

---

_[View the full topic](https://discourse.julialang.org/t/what-does-the-new-public-keyword-actually-do/108975)._
