LATEST
Clearer by design
Makes #try strict and #try! lenient, moves Rails-compatible methods to a new lib/rails area, and schedules every deprecation for removal after 2027-09-30.
RELEASES & HISTORY
Facets has been growing since 2004. Here are the recent releases and a path back through its story.
LATEST RELEASES
Facets 4.0 continues the modernization begun in 3.2 for Ruby 3.1 and newer. The 3.2.0 release changed enough that it should have been 4.0.0; 4.0.0 makes the next round of changes under the right number.
LATEST
Makes #try strict and #try! lenient, moves Rails-compatible methods to a new lib/rails area, and schedules every deprecation for removal after 2027-09-30.
Fixes range intersection on Ruby 3.1 and 3.2, restores Range#overlap? where Ruby does not provide it, and corrects Binding#caller_locations argument handling.
Repairs stale require paths that affected require 'facets' in 3.2.0, and adds a load-path regression check. Also adds OpenDSL and PIC.
Moves the minimum Ruby version to 3.1, adds methods such as Array#to_ranges and String#dashcase, and retires extensions now built into Ruby.
FROM THE ARCHIVE
Facets grew out of TomsLib, a handful of useful methods started in July 2002. It was renamed Succ (2003), A.B.C. (2004) and Raspberry (2004) before becoming Ruby Facets in December 2004, with 1.0 following a year later.
These posts are preserved as published. Their install advice and API links describe older Facets releases; use the current guide for 3.x.