NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4248 most downloaded on pub.dev
Bones_API - A powerful API backend framework for Dart. It comes with a built-in HTTP Server, route handler, entity handler, SQL translator, and DB adapters.
Last release 22 days ago
02 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
353 releases · first in 2021
SQLAdapter (PostgreSQL, MySQL and in-memory):
SQLAdapter (PostgreSQL, MySQL and in-memory):
MemorySQLAdapter:
PostgreSQL and MySQL.EntityRepository when multiple candidates are present.deepCopy, deepCopyList, deepCopySet and deepCopyMap.Queries now reuse already instantiated entities in the same transaction.
Transaction:
EntityCache for entity instantiation from Map or JSON.EntityRepository:
storeAllFromJson and storeFromJson.MemorySQLAdapter:
TableScheme loaded by the memory SQLAdapter.One column per quarter.
Optimize relationship requests to resolve entities.
MemorySQLAdapter: support of returned columns with alias name.Fix update SQL when a set value is null.
APIServer and APIModule: improved error logging.
APIServer and APIModule: improved error logging.APIModuleProxy: ignoring APIRequest parameters.
APIModuleProxy: ignoring APIRequest parameters.Improved CORES response (OPTIONS request).
APIServer:
OPTIONS request).APISecurity:
Added: numeric type mapped to Decimal.
numeric type mapped to Decimal.Decimal types.Integrate Decimal to entities, repositories, JSON and SQL.
Decimal to entities, repositories, JSON and SQL.APIPlatform.EntityHandler.resolveValueByType:
EntityHandler.resolveValueByType:
dev_compiler bug https://github.com/dart-lang/sdk/issues/48631 when generating JS code.Added ConditionIdIN: to allow optimized selection of multiple IDs with one query.
ConditionIdIN: to allow optimized selection of multiple IDs with one query.EntityProvider to all entity field resolution related operations, like createFromMap and Json.decode.APIModuleHttpProxy response body decoding.Fix MethodReflectionExtension.returnsAPIResponse.
MethodReflectionExtension.returnsAPIResponse.Added APIModuleProxy and APIModuleHttpProxy.
APIModuleProxy and APIModuleHttpProxy.Added support to Let's Encrypt HTTPS certificates.
bones_api.dart CLI:
APIRoot:
APILogger: to allow logging of APIRoot events.APIRequestHandler: for personalized request handlers.preApiRequestHandlers and posApiRequestHandlers.SQLAdapter.generateInsertRelationshipSQLs.slowFix references and naming: postgre to postgres.
postgre to postgres.APIServer: added support for Gzip encoding, through package shelf_gzip.Added support to Condition operator =~ (IN).
Condition operator =~ (IN).IN.TypeParser and TypeInfo moved to package reflection_factory.
TypeParser and TypeInfo moved to package reflection_factory.Now TypeInfo handles Type comparison in a special way (to keep consistence between VM and JS/Web).
TypeInfo:
TypeInfo handles Type comparison in a special way (to keep consistence between VM and JS/Web).Improved EntityHandler resolution of fields while creating instances from Map.
EntityHandler resolution of fields while creating instances from Map.Added enumToName and enumFromName
Entity & EntityHandler:
enumToName and enumFromNameIntegrated with reflection_factory JsonCodec.
Json:
reflection_factory JsonCodec.FieldsFromMap.getFieldsValuesFromMap: added parameter includeAbsentFields.isAPIMethod: now ignores methods declared by APIModule, since reflection_factory now supports supper classes.Updated bones_api_template.tar.gz.
APIServer.apiInfoURL.bones_api_template.tar.gz.serve: fix an issue when mixing parameters -b and -r.Added parameters: removeNullFields and entityHandlerProvider.
Json.toJson:
removeNullFields and entityHandlerProvider.removeField and maskField over an entity.Added field APIAuthentication.data.
Json.toJson.APIAuthentication.data.APISecurity: added getAuthenticationData.Added API-INFO path: describes the API routes.
API-INFO path: describes the API routes.Improved resolution of ClassReflectionEntityHandler.
ClassReflectionEntityHandler.ReflectionFactory.createFromMap.ClassReflection.createFromMap.Added APICredential, APIPassword and APISecurity.
APICredential, APIPassword and APISecurity.APIRouteRule annotations.EntityHandler: now using also using sibling reflections to resolve.DataTime: toJson now converts to a UTC string.MapMultiValueExtension.bones_api_template.tar.gz.Update template: lib/src/template/bones_api_template.tar.gz
lib/src/template/bones_api_template.tar.gzTableFieldReference and TableFieldReference now also have the fields type.
TableFieldReference and TableFieldReference now also have the fields type.SchemeProvider now can resolve an entity ID.Condition value when an entity is passed or referenced.Added abort to cancel the current executing transaction.
Transaction:
abort to cancel the current executing transaction.runErrorZone transformed into createErrorZone and an extension with runGuardedAsync and asyncTry.executeWithPool: added validator parameter.Allow Condition with fields that are a relationship table.
Condition:
SQL:
Condition with fields that are a relationship table.MySQLAdapter:
sqlElementQuote "`" to avoid issues with reserved words.Better handling of route parameters with null and empty values.
null and empty values.README.md.Better conversion of parameters types.
APIRouteBuilder:
Uint8List.APIServer:
Future resolution).Improved SQLEntityRepository tests.
SQLEntityRepository tests.MemorySQLAdapter:
version, docker and build.Added InstanceTracker to track entities fields changes.
APIResponseStatus:
BAD_REQUEST.InstanceTracker to track entities fields changes.EntityRepository:
UPDATE to set only modified fields.Fix wrong import, that was preventing to use in JS/Browser platforms.
Better handling of APIServer errors and logging.
APIServer errors and logging.runErrorZone helper.resolveValueByType now can select an entity by its ID when necessary.
EntityHandler:
resolveValueByType now can select an entity by its ID when necessary.ClassReflectionEntityHandler:
fieldsTypes and findIdFieldName, to ignore fields that are final or doesn't have a setter.reflection to ensure that current object is used.Entity tests repositories with reflection and without reflection.Improve generated SQL, to adapt to different dialects.
SQLAdapter for MySQL.RETURNNG and OUTPUT.Added TypeInfo to represent better types with generics.
TypeInfo to represent better types with generics.TableRelationshipReference for use in TableScheme.TimedMap to help with timed caches.KeyConditionIN and KeyConditionNotIN.SQLEntityRepository:
Added option --build to automatically build reflection files when detected by inspector.
--build to automatically build reflection files when detected by inspector.create: creates a bones_api backend project tree.info: show information about the bones_api backend project template.Added scheme, requesterSource and _requesterAddress.
APIRequest:
scheme, requesterSource and _requesterAddress.APIResponse:
Server-Timing headers).setCORS.TypeParser, for lenient parsing of basic Dart types.limit support for queries.EntityRepository and EntityHandler for a type while loading it.Added getFieldsValues and getFieldValue.
TableScheme:
getFieldsValues and getFieldValue.EntityHandler: optimized fiel resolution on setFieldsFromMap.apiMethod now can receive an APIRequest parameter while receiving other normal parameters.
apiMethod now can receive an APIRequest parameter while receiving other normal parameters.PostgreSQLAdapter: correctly resolving idFieldName by primary key column.APIRoot.VERSION is compatible with pubspec.yaml.build_verify test.CLI now accepts a --config option.
APIConfig:
--config option.Data classes to Entity.MemorySQLAdapter.TableScheme to help ConditionEncoder:
address.state = "NY"ConditionID encoding:
#ID can be used to point to the primary key field/column.APIRepository & EntityRepository:
EntityHandler now handles better fields that points
to other entities.Added APIPayload.payloadFileExtension.
APIPayload.payloadFileExtension.ConditionEncoder, ConditionSQLEncoder.SQLDatabaseAdapter and PostgreAdapter.DataRepositorySQL.FutureOr<APIResponse>.Avoid reload of main Isolate (bones_api CLI), since API is spawned in its own Isolate.
DataEntity:
fieldsNames.DataHandlerProvider:
getDataHandler.EntityDataHandler and DataRepositoryProvider.Added integration with ReflectionFactory.
ReflectionFactory.
reflection object.APIServer:
bones_api:
--hotreload to serve the API with Hot Reload enabled.DataEntity and DataHandler frameworkCondition:
APIRepository, to allow database agnostic integration.Command serve: added header Content-Type.
bones_api:
console.serve: added header Content-Type.Arguments tool.APIRequest.fromArgs and APIRequest.fromArgsLine.APIRequest/APIResponse payloadMimeType.- APIServer: - Added create and run helpers.
APIServer:
create and run helpers.Add isStopped and waitStopped().
APIServer:
isStopped and waitStopped().isClosed.PATCH method.dart_spawner to spawn/run an API.yaml: ^3.1.0- Improve documentation. - Fix typo.
CLI: bones_api with serve command.
bones_api with serve command.Your coding agent can read these notes before it upgrades. Set up the MCP server →