0.1.0
What's Changed
- Init implementation by @soustruh in #1
- Dual Protocol Support - Choose between XML-RPC (all versions) or JSON-2 (Odoo 19+, 2-3x faster)
- Dynamic Model Discovery - Browse and select from hundreds of Odoo models via UI
- Field Discovery - Automatically load field definitions for selected models
- Database Discovery - Auto-discover available databases on Odoo instance
- Test Connection - Validate credentials before running extractions
- Configuration Rows - Modern Keboola pattern: one row per model
- Incremental Loading - Cursor-based state tracking for efficient updates
- Smart Relationship Handling - Automatically splits many2many/one2many into normalized tables
- Modern Type Hints - Python 3.13 with list[str], dict[str, Any], int | None
- Sync Actions - Dynamic UI with testConnection, listDatabases, listModels, listFields
- Cursor-Based Pagination - Efficient id > cursor_id pagination with configurable page size
- Client Abstraction - Separate XmlRpcClient and Json2Client implementations
- Code Quality - Ruff formatted, type-checked, dataclass-driven architecture
New Contributors
Full Changelog: https://github.com/keboola/component-odoo-extractor/commits/0.1.0