16 January, 2026
This release brings powerful new features for searching, organizing your codebase, and seeding your database.
Full-Text Search with @searchable
You can now add full-text search capabilities to your list actions using the new @searchable attribute. This creates optimized PostgreSQL indexes using both tsvector (for word matching) and trigram (for partial/fuzzy matching) to provide fast and relevant search results.
model Product {
fields {
name Text
description Text
sku Text
}
actions {
list searchProducts() {
@searchable(name, description)
}
}
}When using the API, you can now pass a search parameter to filter results:
const results = await actions.searchProducts({
where: {
search: "wireless headphones"
}
});The search automatically handles:
- Multi-word queries (matches all words)
- Partial matching (finds "head" in "headphones")
- Relevancy ranking (exact matches score higher)
Modular Project Structure
For larger projects, you can now organize your Keel schema into modules. Each module lives in its own directory under modules/ and contains its own .keel files and functions.
my-project/
├── keelconfig.yaml
├── modules/
│ ├── customers/
│ │ ├── customers.keel
│ │ └── functions/
│ │ └── createCustomer.ts
│ └── orders/
│ ├── orders.keel
│ └── functions/
│ └── createOrder.ts
└── schema.keelModels defined in one module can reference models from other modules:
// modules/orders/orders.keel
model Order {
fields {
orderNumber Text @unique
total Number
customer Customer // References Customer from customers module
}
}This helps teams work on different parts of the system without conflicts and keeps related code together.
Performance Improvements
We've made significant performance improvements to the Keel CLI:
- 7x faster schema validation - The
keel validatecommand now runs up to 7x faster! This means quicker feedback during development.
Fixes and Improvements
For a full list of fixes and improvements, check out our GitHub releases page (opens in a new tab).
For any issues or feedback, please contact us at help@keel.so.
Thank you for using Keel!