Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.5] - 2025-08-11
Fixed
-
Code Quality: Comprehensive RuboCop compliance fixes
- Replaced all instance variables with
lethelpers in specs - Fixed nested describe/context blocks exceeding depth limits
- Changed
before(:all)tobeforeto avoid state leakage - Used proper RSpec matchers (
allinstead of iteration) - Fixed context wording to follow RSpec conventions
- Used
described_classinstead of explicit class names - Refactored long test examples for better readability
- Fixed indentation and formatting issues throughout
- Replaced all instance variables with
[0.1.4] - 2025-08-08
Added
-
TimeFilterable Concern: New reusable module for time-based filtering across resources
- Methods like
created_after,created_before,updated_after,updated_before - Support for
created_betweenandupdated_betweenwith date ranges - Automatic date/time parsing and formatting
- Methods like
-
TimePeriod Utility: Comprehensive time period handling
- Support for standard periods (today, yesterday, this_week, last_week, this_month, etc.)
- Quarter calculations (this_quarter, last_quarter, etc.)
- Custom date range support
- Flexible period parsing from strings
-
CurrencyFormatter Utility: Professional currency formatting
- Support for 40+ international currencies
- Proper symbol placement and formatting per currency
- Thousand separators and decimal handling
-
Enhanced Deal Resource: Major improvements to Deal functionality
- Time-based filtering methods:
recently_created,recently_updated,created_this_month, etc. - Monetary value methods:
amount,currency,formatted_amount,raw_value - Advanced querying:
high_value,low_value,with_value,without_value - Assignment filters:
assigned_to,unassigned - Metrics calculation:
metrics_for_periodwith optimized API calls - Pipeline velocity:
average_days_to_close,conversion_rate - Stage helpers:
stage_display_namefor human-readable stage names
- Time-based filtering methods:
Fixed
- Fixed
ListObject#firstmethod to accept optional argument like Ruby'sArray#first - Updated currency formatting test expectations to properly include cents
- Corrected integration test for workspace member retrieval
Changed
- Improved Deal stage handling to align with actual Attio API behavior
- Optimized
metrics_for_periodto use targeted API calls instead of loading all deals - Simplified monetary value extraction to use consistent
currency_valueformat
Testing
- Added comprehensive test coverage for all new features
- 336 new tests for TimeFilterable concern
- 415 tests for TimePeriod utility
- 162 tests for CurrencyFormatter
- Extensive integration tests for Deal improvements
- Test coverage remains high at ~90%
[0.1.3] - 2025-08-07
Fixed
- Added
lib/attio-ruby.rbto fix Rails auto-require issue. The gem can now be auto-required by Rails/Bundler without needingrequire: 'attio'in the Gemfile.
[0.1.2] - 2025-08-07
Added
- Deal status configuration system for customizing won/lost/open statuses
Deal.in_stagemethod to query deals by multiple stage names- Convenience class methods:
Deal.won,Deal.lost,Deal.open_deals - Instance methods for deals:
current_status,status_changed_at,won_at,closed_at - Improved
won?,lost?, andopen?methods that use configuration
Fixed
- WorkspaceMember.active and WorkspaceMember.admins methods argument passing issue
- Configuration arrays are now properly duplicated to avoid frozen array issues
[0.1.1] - 2025-08-07
Fixed
- Minor bug fixes and improvements
[0.1.0] - 2025-07-27
Added
- Initial release of the Attio Ruby SDK
- Complete implementation of all Attio API v2 resources:
- Records (create, read, update, delete, list with filtering/sorting)
- Lists and List Entries
- Objects and Attributes
- Notes
- Tasks
- Comments and Threads
- Webhooks with signature verification
- Workspace Members
- OAuth 2.0 authentication support
- Thread-safe configuration management
- Comprehensive error handling with specific error types
- Webhook signature verification for security
- VCR-based test suite with high coverage
- Detailed documentation and examples
- Support for Ruby 3.4+