# Changelog

## [0.9.0] - 2026-03-10

### Added
- **Sensor bodies**: `create_sensor_circle`, `create_sensor_rect`, `get_sensor_overlaps`, `is_sensor`
- **Revolute joints**: `create_revolute_joint`, `set_joint_motor`, `set_joint_motor_position`
- **Prismatic joints**: `create_prismatic_joint`, `set_prismatic_limits`, `set_prismatic_motor`
- **Collision events**: `enable_contact_events`, `clear_collision_events`
- **Body sleeping**: `sleep_body`, `wake_body`, `is_sleeping`
- **Rope joints**: `create_rope_joint` (max distance constraint)

### Fixed
- `apply_force()` → `add_force()` (Rapier2D API)
- Pattern binding in `get_bodies_by_tag()`
- All dead code warnings suppressed

### Test Coverage
- **49 tests** (was 35)

### Joint Family
| Type | ID | Functions |
|------|---:|-----------|
| Spring | 0 | `create_spring_joint` |
| Fixed | 1 | `create_fixed_joint` |
| Revolute | 2 | `create_revolute_joint`, `set_joint_motor`, `set_joint_motor_position` |
| Prismatic | 3 | `create_prismatic_joint`, `set_prismatic_limits`, `set_prismatic_motor` |
| Rope | 4 | `create_rope_joint` |

## [0.5.0] - 2026-03-09

- Initial release
