# \[ANN\] (Belatedly) Announcing Tidier.jl

**URL:** <https://discourse.julialang.org/t/ann-belatedly-announcing-tidier-jl/109222>\
**Category:** Package Announcements\
**Tags:** package, announcement, dataframes\
**Created:** [January 24, 2024, 10:24pm UTC](https://discourse.julialang.org/t/ann-belatedly-announcing-tidier-jl/109222 "2024-01-24T22:24:08Z")\
**Posts on this page:** 1\
**Showing post:** 27

<div class="post-metadata">

**Author:** ![kdpsingh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kdpsingh/32/215018_2.png) [@kdpsingh](https://discourse.julialang.org/u/kdpsingh)\
**Post date:** [January 11, 2025, 11:42am UTC](https://discourse.julialang.org/t/ann-belatedly-announcing-tidier-jl/109222/27 "2025-01-11T11:42:35Z")

</div>

# Announcing Tidier.jl 1.5.0

Thanks to Randy Boyes, Daniel Rizk, and everyone who submitted issues or made suggestions. The new version resolves dependency conflicts, includes several underlying package updates, and bumps the minimum Julia version to 1.10. Here are key updates to some of the underlying packages over the past ~3 months.

### TidierData.jl: is now up to v0.16.4

- Bugfix: Only functions in Base, Core, and Statistics are not escaped. All other functions and callables are escaped.
- Updated minimum Julia version to 1.10
- Bugfix: `@summary` no longer errors with non-numeric columns. Instead, it only reports non-numeric summary stats on non-numeric columns. Minor changes to summary column names to be snake\_case.
- Bugfix: Reverted a bug introduced in v0.13.4, which escaped all macros. Now, string macros remain escaped (i.e., keeping it possible to work with Unitful units, e.g. `u"psi"`), but other macros are _not_ escaped to allow for those macros to refer to column names within arguments.
- Updated documentation on new preferred method of interpolation using `@eval` and `$`
- Added documentation on using other macros inside of TidierData macros

### TidierPlots.jl: is now up to v0.9.0

- Refactor to directly wrap Makie SpecAPI
- Multiple bugfixes to restore functionality broken by refactor
- Calculations now work in macro aes
- Fixes numerous small issues
- Plots and geoms can now be broadcast

### TidierDB.jl: is now up to v0.6.2

- adds `@intersect` and `@setdiff` (SQLs `INTERSECT` and `EXCEPT`) respectively, with optional `all` argument
- adds support for `all` arg to `@union` (equivalent to `@union_all`)
- Bumps julia LTS to 1.10
- Adds support for joining on multiple columns
- Adds support for inequality joins
- Adds support for AsOf / rolling joins
- Equi-joins no longer duplicate key columns
- Fixes bug to allow array columns to be mutated in
- adds `@relocate`
- bug fix when reading file paths with `*` wildcard with DuckDB
- Fix edge case when creating an `array` column in `@mutate`
- adds support `_by` support to `@mutate` and `@summarize` for grouping within the macro call.
- adds support for `n()` in `@mutate`
- add support for unnesting content to mutate/filter etc via `column[key]`syntax
- `db_table(db, name)` now supports `.geoparquet` paths for DuckDB
- support for [reusing TidierDB queries](https://tidierorg.github.io/TidierDB.jl/latest/examples/generated/UserGuide/functions_pass_to_DB/#interpolating-queries) inside other macros, including `@mutate`, `@filter`, `@summarize`
- adds `@union_all` to bind all rows not just distinct rows as with `@union`
- joining syntax now supports `(table1, table2, col_name)` when joining columns have shared name
- `if_else` now has optional final argument for handling missing values to match TidierData

---

_[View the full topic](https://discourse.julialang.org/t/ann-belatedly-announcing-tidier-jl/109222)._
