Skip to content

Commit 42a7ff1

Browse files
committed
chore(release): prepare v0.3.0
- Update version to 0.3.0 - Add release notes for Join functionality - Update CHANGELOG.md
1 parent a07e5ec commit 42a7ff1

File tree

4 files changed

+202
-2
lines changed

4 files changed

+202
-2
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.0] - 2026-01-08
9+
10+
### Added
11+
- **Join Functionality Support**: Added `left_join()`, `inner_join()`, `right_join()`, and `full_join()` with `by` parameter and `on` expression support
12+
- Proper SQL `ON` clause generation for join conditions
13+
14+
### Changed
15+
- **Dependencies**: `lru` upgraded from `0.12.5` to `0.16.3`
16+
- **Documentation**: Separated `INSTALL.md` from `README.md` for improved readability
17+
- Updated `AGENTS.md` with current project structure and conventions
18+
19+
### Fixed
20+
- **CI/CD**: macOS release workflow - use `shasum -a 256` instead of unavailable `sha256sum`
21+
- **CI/CD**: Windows release workflow - disabled ccache to resolve resource file compilation conflicts
22+
- **CI/CD**: Added dynamic extension file path detection for Windows builds
23+
- **CI**: Added `contents: write` permission for GitHub Actions release deployment
24+
- **Testing**: Fixed C++ integration tests compilation errors from join refactoring
25+
- **Testing**: Updated join tests to use `Transpiler` directly
26+
- **SQL Generation**: Fixed correct `ON` clause generation for `by` parameter in joins
27+
28+
### Refactored
29+
- **Code Quality**: Resolved all Clippy warnings
30+
- **Code Quality**: Removed unused code detected by cargo check
31+
- **Parser/SQL Generator**: Refactored join logic to separate `by` column from `on` expression handling
32+
- **Examples**: Fixed compilation errors from join refactoring
33+
34+
### Security
35+
- Improved GitHub security workflow configuration
36+
837
## [Unreleased]
938

1039
### Added

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "libdplyr"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
edition = "2021"
55
authors = ["libdplyr contributors"]
66
description = "A Rust-based transpiler that converts R dplyr syntax to SQL queries"

RELEASE_NOTES_v0.3.0.md

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# libdplyr v0.3.0 Release Notes
2+
3+
**Release Date:** January 8, 2026
4+
5+
---
6+
7+
## Overview
8+
9+
libdplyr v0.3.0 introduces **Join functionality** support, allowing you to perform SQL joins using familiar dplyr syntax. This release also includes code quality improvements, bug fixes, and dependency updates.
10+
11+
---
12+
13+
## What's New
14+
15+
### ✨ Added: Join Functionality
16+
17+
This release brings comprehensive join support to libdplyr:
18+
19+
- **`left_join()`** - Keep all rows from the left table, matching rows from the right
20+
- **`inner_join()`** - Keep only rows with matches in both tables
21+
- **`right_join()`** - Keep all rows from the right table, matching rows from the left
22+
- **`full_join()`** - Keep all rows from both tables
23+
24+
#### Join Syntax
25+
26+
```r
27+
# Join with by parameter
28+
left_join(other, by = "id")
29+
inner_join(other, by = c("key1", "key2"))
30+
31+
# Join with on expression
32+
left_join(other, on = "table1.id = table2.id")
33+
```
34+
35+
#### Example
36+
37+
```r
38+
select(name, dept) %>%
39+
left_join(salaries, by = "dept")
40+
```
41+
42+
Transpiles to:
43+
44+
```sql
45+
SELECT "name", "dept"
46+
FROM "data"
47+
LEFT JOIN "salaries" ON "data"."dept" = "salaries"."dept"
48+
```
49+
50+
---
51+
52+
## Changes
53+
54+
### Dependencies Updated
55+
- **`lru`**: `0.12.5``0.16.3` (performance and compatibility improvements)
56+
57+
### Documentation
58+
- Separated `INSTALL.md` from `README.md` for improved readability
59+
- Updated `AGENTS.md` with current project structure and conventions
60+
61+
---
62+
63+
## Fixed
64+
65+
### Build & CI/CD
66+
- **macOS Release Workflow**: Fixed checksum verification by using `shasum -a 256` instead of unavailable `sha256sum`
67+
- **Windows Release Workflow**: Disabled ccache to resolve resource file compilation conflicts with Ninja
68+
- **Release Workflow**: Added dynamic extension file path detection for Windows builds
69+
- **CI Permissions**: Added `contents: write` permission for GitHub Actions release deployment
70+
71+
### Testing
72+
- **C++ Integration Tests**: Fixed compilation errors introduced by join refactoring
73+
- **Join Tests**: Updated to use `Transpiler` directly for consistent testing
74+
75+
### SQL Generation
76+
- **ON Clause Generation**: Fixed correct `ON` clause generation when using `by` parameter in joins
77+
78+
---
79+
80+
## Refactored
81+
82+
### Code Quality
83+
- **Clippy Warnings**: Resolved all reported warnings for improved code quality
84+
- **Unused Code**: Removed unused fields and functions detected by cargo check
85+
- **Parser/SQL Generator**: Refactored join-related logic to separate `by` column from `on` expression handling
86+
87+
### Examples
88+
- Fixed compilation errors in examples caused by join refactoring
89+
90+
---
91+
92+
## Security
93+
94+
- **GitHub Security Workflow**: Improved security audit workflow configuration
95+
96+
---
97+
98+
## Compatibility
99+
100+
| Component | Minimum Version | Notes |
101+
|-----------|----------------|-------|
102+
| Rust | 1.70+ | For `edition = 2021` |
103+
| DuckDB | 1.4.0+ | For extension compatibility |
104+
| CMake | 3.25+ | For building extension |
105+
106+
---
107+
108+
## Installation
109+
110+
### Via Install Script (Linux/macOS)
111+
```bash
112+
curl -sSL https://raw.githubusercontent.com/mrchypark/libdplyr/main/install.sh | bash
113+
```
114+
115+
### Via PowerShell (Windows)
116+
```powershell
117+
Irm https://raw.githubusercontent.com/mrchypark/libdplyr/main/install.ps1 | iex
118+
```
119+
120+
### Via Cargo
121+
```bash
122+
cargo install libdplyr
123+
```
124+
125+
### From Source
126+
```bash
127+
git clone https://github.com/mrchypark/libdplyr.git
128+
cd libdplyr
129+
cargo build --release
130+
```
131+
132+
---
133+
134+
## Resources
135+
136+
- **Documentation**: [https://docs.rs/libdplyr](https://docs.rs/libdplyr)
137+
- **GitHub**: [https://github.com/mrchypark/libdplyr](https://github.com/mrchypark/libdplyr)
138+
- **Crates.io**: [https://crates.io/crates/libdplyr](https://crates.io/crates/libdplyr)
139+
140+
---
141+
142+
## Contributors
143+
144+
Thank you to all contributors who made this release possible!
145+
146+
---
147+
148+
## Full Changelog
149+
150+
```
151+
a07e5ec refactor: fix clippy warnings and code quality improvements
152+
2c49794 refactor: remove unused code detected by cargo check
153+
dab80d4 Merge pull request #3 from mrchypark/dependabot/cargo/lru-0.16.3
154+
a7e43e4 add agents for sub
155+
2d522ef refactor(docs): clean up documentation
156+
81a1397 refactor(tests): fix c++ integration tests compilation
157+
f0dc1d4 fix(examples): fix compilation errors from join refactor
158+
d9d7381 fix(test): use Transpiler directly in join tests
159+
5feca88 fix(sql_generator): generate correct ON clause for by parameter
160+
13b7e63 refactor(parser): separate by column from on expression for join
161+
3aa1284 feat: Add join functionality to libdplyr
162+
8cb5a42 build(deps): bump lru from 0.12.5 to 0.16.3
163+
aa8ab74 fix(ci): add contents: write permission to release workflow
164+
a43a65b fix(ci): dynamic extension file path for Windows release
165+
c989329 fix: resolve release workflow build errors
166+
7c9ffe1 fix security
167+
```
168+
169+
---
170+
171+
**Full changes since v0.2.0**: [Compare v0.2.0...v0.3.0](https://github.com/mrchypark/libdplyr/compare/v0.2.0...v0.3.0)

libdplyr_c/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "libdplyr_c"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
edition = "2021"
55
description = "C-compatible API for libdplyr DuckDB extension"
66
license = "MIT"

0 commit comments

Comments
 (0)