Releases: Colossus-Services/bones_api
Releases · Colossus-Services/bones_api
v1.9.27
-
Added
bones_api_utils_fast_checksum.dart:- Provides functions
getAdler32Uint8List,getAdler32Hex,getCrc32Uint8List, andgetCrc32Hexfor Adler-32 and CRC-32 checksums as byte arrays and hex strings. - Implements internal helpers for big-endian byte conversion and hex encoding.
- Exports
getAdler32andgetCrc32fromarchivepackage for checksum calculation.
- Provides functions
-
WeakEtagclass (bones_api_base.dart):- Updated
WeakEtag.adler32andWeakEtag.crc32factories to usegetAdler32HexandgetCrc32Hexfrombones_api_utils_fast_checksum.dartinstead of deprecatedAdler32andCrc32classes.
- Updated
-
bones_api.dart:- Exported new
bones_api_utils_fast_checksum.dartutility.
- Exported new
-
Dependencies:
- Updated
async_extensionfrom ^1.2.20 to ^1.2.21. - Updated
swiss_knifefrom ^3.3.3 to ^3.3.5. - Updated
archivefrom ^4.0.7 to ^4.0.9. - Updated
build_runnerfrom ^2.10.5 to ^2.11.1. - docker_commander: ^2.1.8
- Updated
v1.9.26
Initializablemixin:ensureInitialized: addedonErrorhandler tothencall to route errors to_onInitializationError.executeInitializedCallback:- Added
onErrorhandler tothencall on async initialization result to throwInitializationErrorwith stack trace.
- Added
_FutureExtension:toCompleter: addedonErrorhandler tothento complete completer with error and stack trace if not completed.
v1.9.25
-
TableFieldReference:- Added nullable field
indexNameto represent the name of the index if one exists.
- Added nullable field
-
Added new class
TableRelationshipReferenceEntityTypedextendingTableRelationshipReference:- Adds
sourceFieldEntityTypeandtargetFieldEntityTypefields of typeTypeInfo. - Provides
copyWithEntityTypesmethod to create typed copies.
- Adds
-
TableRelationshipReference:- Added nullable fields
sourceRelationshipFieldIndexandtargetRelationshipFieldIndex. - Added
copyWithEntityTypesmethod returningTableRelationshipReferenceEntityTyped.
- Added nullable fields
-
EntityHandler:- Added
getFieldsListEntityTypesmethod to return a map of fields that are list entities or references with theirTypeInfo.
- Added
-
SQLDialect:- Added
foreignKeyCreatesImplicitIndexboolean flag with defaulttrue. - Added field
createIndexIfNotExiststo indicate support forIF NOT EXISTSinCREATE INDEX(defaulttrue).
- Added
-
CreateIndexSQL:- Updated
buildSQLmethod to conditionally includeIF NOT EXISTSonly if dialect supports it.
- Updated
-
DBPostgreSQLAdapter:- Added
foreignKeyCreatesImplicitIndexflag to PostgreSQL dialect set tofalse. - Updated
_findAllTableFieldsReferencesquery to include foreign key index name (fk_index_name) by joining withpg_indexandpg_class. - Populated
indexNameinTableFieldReferenceinstances from query result. - Updated relationship references to include
sourceRelationshipFieldIndexandtargetRelationshipFieldIndexfromindexName.
- Added
-
DBMySQLAdapter:- Set
createIndexIfNotExiststofalsein MySQL dialect capabilities.
- Set
-
DBSQLAdapter:parseConfigDBGenerateTablesAndCheckTables: changed return type fromList<bool>to a record with named fields(generateTables, checkTables).extractTableSQLs: updated regex to also matchCREATE INDEXstatements in addition toCREATEandALTER TABLE._populateTablesFromSQLsImpl: fixed error handling forCREATE INDEXstatements when the SQL dialect does not supportIF NOT EXISTS.- Now logs a warning and ignores the error instead of throwing.
- Added detection of missing foreign key indexes when dialect does not create implicit indexes.
- Added detection of missing relationship reference indexes for collection reference fields.
- Updated error reporting and logging to include missing reference indexes and relationship reference indexes.
- Updated
_checkDBTableSchemeReferenceFieldto returnTableRelationshipReferenceEntityTypedwith entity types. - Added generation of missing reference indexes and missing relationship reference indexes SQL statements.
- Updated
_DBTableCheckclass:- Added fields
missingReferenceIndexesandmissingRelationshipReferenceIndexes. - Added methods to generate missing reference indexes and relationship reference indexes SQL.
- Added fields
- Added
_DBRelationshipTableColumnsubclass of_DBTableColumnto represent relationship table columns with relationship table name. - Updated SQL generation to create indexes for foreign keys if dialect does not create implicit indexes:
- Added index creation after foreign key constraints in
generateAddColumnAlterTableSQL. - Added index creation for relationship table foreign keys in relationship table creation SQL.
- Added index creation after foreign key constraints in
-
Dependency updates:
async_extension: ^1.2.19 → ^1.2.20meta: ^1.18.0 → ^1.18.1
v1.9.24
-
GZipSink:- Added override for
addSliceto handle partial chunk addition and update_inputLengthaccordingly. - Optimized
addSliceto call_gzipSink.close()whenisLastis true and full chunk is added.
- Added override for
-
BytesSink:- Updated
addSliceto use newaddPartmethod for partial chunk addition.
- Updated
-
BytesBuffer:- Added
addPartmethod to add a slice of bytes from a given offset and length, resizing buffer if needed. - Refactored
addmethod to delegate toaddPart. - Improved buffer range setting to support offset and length parameters in
addPart.
- Added
-
async_extension: ^1.2.18 -> ^1.2.19
v1.9.23
v1.9.22
-
Initializablemixin:- Added calls to
_forceLogFlushMessages()before throwingInitializationErrorin:_checkDependency_setInitializedDependenciesCompleters_onInitializationError_checkAllDependenciesOk_finalizeInitializationcheckInitializedexecuteInitialized
- Added calls to
-
Logging:
- Added
_forceLogFlushMessages()function to calllogging.Logger.root.forceFlushMessages(). Loggerextension:- Added
forceFlushMessages()method to invokeLoggerHandler.forceFlushMessages().
- Added
LoggerHandlerabstract class:- Added
forceFlushMessages()method.
- Added
LoggerHandlerGenericimplementation:- Implemented
forceFlushMessages()returningfalse.
- Implemented
LoggerHandlerIOimplementation:- Implemented
forceFlushMessages()to flush the print message queue immediately if not empty.
- Implemented
- Added
v1.9.21
-
EntityHandler:- Updated all
Map.unmodifiableusages to explicitly specify type arguments, e.g.Map<String, TypeInfo>.unmodifiable. - Updated methods including
fieldsWithEntityReference,fieldsWithEntityReferenceList,fieldsEntityAnnotations,fieldsWithType,getFieldsTypes,getFieldsEnumTypes,getFieldsEntityTypes, andconstructorsto use typed unmodifiable maps. - Improved type safety in map constructions by adding explicit generic parameters.
- Updated all
-
Dependency updates:
meta: ^1.18.0
v1.9.20
-
ConditionSQLEncoder:keyToSQL: added check to throwConditionEncodingErrorifkeysis empty.- Refactored
keyFieldReferenceToSQLto recursively resolve multi-level key references by walking keys and resolving intermediate tables and relationships. - Added helper methods
_resolveReferenceFieldand_resolveFinalFieldto modularize reference resolution logic.
-
DBSQLAdapter:- Introduced
_JoinEntrytypedef to represent SQL JOIN fragments with explicit alias dependencies (defsandrefs). - Added local extension methods on
List<_JoinEntry>to perform dependency-aware sorting of JOINs ensuring referenced aliases are resolved before use. - Refactored JOIN construction logic in SQL query building to:
- Collect JOINs as
_JoinEntrywith defined and referenced aliases. - Sort JOINs by alias dependencies before concatenation.
- Log a warning if not all JOIN references could be resolved.
- Collect JOINs as
- This improves correctness and ordering of JOIN clauses in generated SQL.
- Introduced
-
Dependencies:
- Updated
async_extensionfrom ^1.2.17 to ^1.2.18. - Updated
build_runnerfrom ^2.10.4 to ^2.10.5.
- Updated