# How can you know a package works in Julia 1.0 (or 0.6); e.g Sodium.jl. What's a good heuristic to know old Julia code is up-to-date?

**URL:** <https://discourse.julialang.org/t/how-can-you-know-a-package-works-in-julia-1-0-or-0-6-e-g-sodium-jl-whats-a-good-heuristic-to-know-old-julia-code-is-up-to-date/18415>\
**Category:** General Usage\
**Created:** [December 7, 2018, 10:52am UTC](https://discourse.julialang.org/t/how-can-you-know-a-package-works-in-julia-1-0-or-0-6-e-g-sodium-jl-whats-a-good-heuristic-to-know-old-julia-code-is-up-to-date/18415 "2018-12-07T10:52:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [December 7, 2018, 10:52am UTC](https://discourse.julialang.org/t/how-can-you-know-a-package-works-in-julia-1-0-or-0-6-e-g-sodium-jl-whats-a-good-heuristic-to-know-old-julia-code-is-up-to-date/18415/1 "2018-12-07T10:52:45Z")

</div>

[I’ve yet to make a package, I believe the procedure autogenerates a REQUIRE file, anyone remembers for what version of Julia that got added?]

I mean code without a REQUIRE file (I know how to read those). [To answer my question, either you you would have it and/or newer .toml. but in theory at least you could have a Julia 1.0 package/code with neither?]

It either can mean the code is new (with a .toml file; while it’s not required for 1.0, I believe only either or both those or a REQUIRE file is needed) that should work in Julia 1.0+ or really old as in:

> **[GitHub - amitmurthy/Sodium.jl: Julia wrapper for libsodium](https://github.com/amitmurthy/Sodium.jl)**
>
> Julia wrapper for libsodium. Contribute to amitmurthy/Sodium.jl development by creating an account on GitHub.

I know I could just test it, but it’s not fool-prove (reads: the halting problem).

In this case:

```julia
julia> using Sodium
ERROR: LoadError: UndefVarError: Uint32 not defined
 in include_from_node1(::String) at ./loading.jl:488
 in eval(::Module, ::Any) at ./boot.jl:234
 in require(::Symbol) at ./loading.jl:415
while loading /home/qwerty/.julia/v0.5/Sodium/src/Sodium.jl, in expression starting on line 4

```

Would femtocleaner handle such old? I’ve yet to look into using it.

It’s rare to find such old code such as at:

> **[Bindings for other languages](https://doc.libsodium.org/bindings_for_other_languages)**

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [December 7, 2018, 11:22am UTC](https://discourse.julialang.org/t/how-can-you-know-a-package-works-in-julia-1-0-or-0-6-e-g-sodium-jl-whats-a-good-heuristic-to-know-old-julia-code-is-up-to-date/18415/2 "2018-12-07T11:22:17Z")

</div>

One good heuristics is to look at when the package was last modified. In the case of Sodium.jl this was 4 years ago, so it’s (almost) certain that it won’t work in 1.0.
