Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Release notes and updates for Data API builder (DAB) version 1.5
Release 1.5: Data API builder for Azure Databases
Introducing: Health Endpoint
This release improves how DAB communicates its runtime state. Previously, the root URL returned a simple health result:
{
"status": "Healthy",
"version": "1.5.29",
"app-name": "dab_oss_1.5.29"
}
That response shows that validation (similar to dab validate
) runs and the engine is active—but it doesn't reflect the actual health of data sources or endpoints.
Now, the /health
endpoint includes basic config details and health checks:
{
"status": "Unhealthy",
"version": "1.5.29",
"app-name": "dab_oss_1.5.29",
"configuration": {
"rest": true,
"graphql": true,
"caching": false,
"telemetry": false,
"mode": "Development"
},
"checks": []
}
Checks validate the availability and responsiveness of each data source and endpoint—REST and GraphQL—using thresholds you define.
Endpoint Safety
Health endpoints follow DAB’s role-based access model. Checks run in parallel or sequentially depending on settings, and responses are cached to reduce load from polling.
Introducing: Custom Log-Level
DAB now supports configurable logging levels. You can set a global default and override it per namespace:
{
"runtime": {
"telemetry": {
"log-level": {
"default": "trace | debug | information | warning | error | critical | none"
}
}
}
}
With per-namespace overrides:
{
"runtime": {
"telemetry": {
"log-level": {
"default": "warning",
"Azure.DataApiBuilder.Service": "information",
"Azure.DataApiBuilder.Engine.Authorization": "error",
"Microsoft.AspNetCore": "none"
}
}
}
}
In production
, the Hot Reloads feature supports dynamic updates to log-level
. Other config changes are ignored, but log-level changes apply immediately—ideal for diagnosing issues live.
More.
Introducing: Aggregation in GraphQL
DAB now supports grouping and aggregation operations in GraphQL queries for Microsoft SQL Server (MSSQL). You can generate summaries and insights without more backend logic.
Features:
- Aggregation Types:
SUM
,AVG
,MIN
,MAX
- GroupBy Support: Group results by fields
- Optimized for MSSQL: Efficient and reliable query execution
- Improved Logs: Clearer schema generation and execution output
Implemented across:
- Add types for numeric aggregation
- Add groupBy support and connection updates
- Enable groupBy and aggregation in MSSQL
- More improvements and fixes
Introducing: Cache Level 2—Redis Support
Before this release, DAB supported only Level 1 in-memory caching—scoped to a single instance. Now, with Level 2 Redis caching, you get shared caching across all instances.
- Scalable: Shared by all containers
- Fast: Reduces database round-trips
- Reliable: Persists through restarts and deployments
HTTP Cache Headers
DAB now supports:
Directive | Meaning |
---|---|
no-cache |
Use cached data only after revalidating with the server |
no-store |
Don’t cache the response at all |
only-if-cached |
Use cached data only; fail if unavailable |
Enhanced: OpenTelemetry
Previously, DAB supported only default ASP.NET Core spans. This release adds custom spans and metrics for REST and GraphQL.
Metrics:
- Active Requests: Real-time count of running requests
- Total Requests: Cumulative count since startup
- Total Errors: Cumulative failures and exceptions
These metrics improve visibility into runtime behavior and lay the foundation for deeper telemetry.
Enhanced: Entra ID Auth Provider
DAB originally used the AzureAd
enum to configure Azure Active Directory. Microsoft has since renamed it to Entra ID.
This release introduces EntraId
as the preferred value. The old enum (AzureAd
) still works for backward compatibility, but EntraId
aligns with current branding.