# Release: DataFramesMeta v 0.13.0

**URL:** <https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427>\
**Category:** Data\
**Created:** [January 23, 2023, 8:28pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427 "2023-01-23T20:28:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [January 23, 2023, 8:28pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427/1 "2023-01-23T20:28:14Z")

</div>

Hi all,

I am pleased to announce a new release of [DataFramesMeta.jl](https://github.com/JuliaData/DataFramesMeta.jl), v 0.13.0

The release contains a bug-fix that has been plaguing users for a whole now, where `.+` and `.*` would cause `UndefVarErrors`. This has been fixed.

The release also contains a new feature, `@distinct`, added by @Matthew . `@distinct` (and it’s row-wise counterpart `@rdistinct`) allow users to select distinct values from a data frame, just like `disctinct` in `dplyr` and `duplicates drop` in Stata.

```julia
julia> df = DataFrame(a = [1, 1, 2, 2, 3, 3, -1, -1], b = [2, 2, 3, 4, 4, 4, 4, 4])
8×2 DataFrame
 Row │ a b     
     │ Int64 Int64 
─────┼──────────────
   1 │ 1 2
   2 │ 1 2
   3 │ 2 3
   4 │ 2 4
   5 │ 3 4
   6 │ 3 4
   7 │ -1 4
   8 │ -1 4

julia> @distinct df :a
4×2 DataFrame
 Row │ a b     
     │ Int64 Int64 
─────┼──────────────
   1 │ 1 2
   2 │ 2 3
   3 │ 3 4
   4 │ -1 4

julia> @rdistinct df :a^2
3×2 DataFrame
 Row │ a b     
     │ Int64 Int64 
─────┼──────────────
   1 │ 1 2
   2 │ 2 3
   3 │ 3 4

julia> @rdistinct df :a + :b
4×2 DataFrame
 Row │ a b     
     │ Int64 Int64 
─────┼──────────────
   1 │ 1 2
   2 │ 2 3
   3 │ 2 4
   4 │ 3 4

```

Hopefully the pace of releases picks up soon.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [January 23, 2023, 8:29pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427/2 "2023-01-23T20:29:24Z")

</div>

may I ask what is breaking

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [January 23, 2023, 8:33pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427/3 "2023-01-23T20:33:35Z")

</div>

Nothing is breaking, but `@distinct` is a new feature, so we can’t implement a `0.0.x` version bump. When we hit 1.0, we will be allowed to have non-breaking minor releases. But my understanding is that pre-1.0 all minor releases are technically breaking.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [January 23, 2023, 8:38pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427/4 "2023-01-23T20:38:01Z")

</div>

> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

my personal approach is to just keep increasing `z` until I have a breaking change, other wise people may need to change `[compat]` a lot. But either of us is right or wrong. In any case good to know no breaking changes!

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [January 23, 2023, 8:43pm UTC](https://discourse.julialang.org/t/release-dataframesmeta-v-0-13-0/93427/5 "2023-01-23T20:43:05Z")

</div>

> other wise people may need to change `[compat]` a lot.

Yes. I was concerned about that too, but my solution was to do releases less frequently. But it’s not a good solution! Cause then users don’t get bug-fixes and new features. So I think in the future we are going to power ahead until 1.0 (and make a roadmap…) with more frequent releases.
