PackageTrack
Sign in Get early access

layrz_models

Layrz API models for Dart/Flutter. This package contains the models used by the Layrz API.

3.31.1 12K downloads/mo #2761 most downloaded on pub.dev goldenm-software/layrz_models

What this package is like to depend on

Last release 2 days ago

21 Aug 2026

Ships on a steady schedule

a new release about every 9 days

Nearly every release is documented

notes for 527 of 529 stable releases

1 version withdrawn

withdrawn after publishing

3 years old

537 releases · first in 2023

207 releases in the last 12 months

see the full history below

Release timeline

537 releases · Jun 2023 to Aug 2026
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 537
  1. 3.31.1 21 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    🐛 Bug Fixes

    📊 Diff Stats

    Metric Count
    📄 Files changed 3
    🟢 Insertions $\color{green}\textsf{+14}$
    🔴 Deletions $\color{red}\textsf{-19}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Updated the User gql fragment, and gql brickhouseUsers naming convention
    Open source →
  2. 3.31.0 21 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    • Update icon handling to use MdiRemapIcon and remove LayrzIcons dependency (c5dea8c by @PHKenny)

    🐛 Bug Fixes

    • update avatar tests to correct base64 and icon values (59a5deb by @PHKenny)

    📊 Diff Stats

    Metric Count
    📄 Files changed 38
    🟢 Insertions $\color{green}\textsf{+222}$
    🔴 Deletions $\color{red}\textsf{-249}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Fully removal of layrz_icons in favor of flutter_material_design_icons
    • layrz_sdk version dump
    Open source →
  3. 3.30.0 20 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    • add AtsCfSkidModel enum for terminal SKID reception (ATSPV2-1294) (58721e4 by @mask-03)

    📊 Diff Stats

    Metric Count
    📄 Files changed 4
    🟢 Insertions $\color{green}\textsf{+50}$
    🔴 Deletions $\color{red}\textsf{-1}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Added AtsCfSkidModel (none/sil), the enum backing the new ats.custom.skid.model fixed custom field on Terminal assets (kindId 44) that lets ATS Mobile know whether — and with which equipment brand — a terminal receives product via SKID before routing it through the SIL integration. Follows the same manual toJson/fromJson/getLocaleKey pattern as AtsCfFuelType; unlike it, fromJson falls back to none instead of throwing, since the value comes from a custom field that may be empty or hold stale data.
    Open source →
  4. 3.29.0 20 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    📊 Diff Stats

    Metric Count
    📄 Files changed 10
    🟢 Insertions $\color{green}\textsf{+2085}$
    🔴 Deletions $\color{red}\textsf{-375}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Reworked the SIL SKID reception models to match the backend createSilUnloadingOrder contract 1:1, and moved them to a dedicated src/ats/src/sil/ folder.
      • Renamed (breaking vs. 3.28.0): AtsSilInputAtsSilUnloadingOrderInput, AtsSilCarretaAtsSilTrailerInput, AtsSilCompartimentoAtsSilCompartmentInput. Fields are now English and aligned with the backend SilUnloadingOrderInput: numRefoperationId (the backend derives SIL Num_Ref from the operation, so the client sends the operation id), nomeMotorista/rgMotorista/cpfMotoristadriverName/driverRg/driverCpf, placaCavalotruckPlate, carretastrailers, corDoVeiculovehicleColor, possuiDnithasDnit, lacresseals; trailer placaCarretatrailerPlate, compartimentoscompartments; compartment numCompartcompartmentNumber, volDescarga (now int, backend requires an integer) → dischargeVolume, produtoproductCode.
      • Added response entities for the mutation result: AtsSilUnloadingOrder (reuses the existing AtsOperation), AtsSilTrailer, AtsSilCompartment and its certified AtsSilCompartmentResult, plus the AtsSilUnloadingOrderStatus enum (pending/sent/sendFailed/completed).
    Open source →
  5. 3.28.0 19 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    📊 Diff Stats

    Metric Count
    📄 Files changed 7
    🟢 Insertions $\color{green}\textsf{+970}$
    🔴 Deletions $\color{red}\textsf{-1}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Added AtsSilInput, AtsSilCarreta and AtsSilCompartimento — the payload collected in ATS Mobile for the SKID reception flow and forwarded to the SIL integration. Fields use camelCase (GraphQL convention); the backend maps them to SIL's snake_case keys. Every field is nullable (obligatoriness is enforced by the backend). AtsSilInput/AtsSilCarreta expose a private constructor that seeds their nested lists as growable and with one initial row, so consumers can add/remove without hitting an unmodifiable list.
    • Added CFOP codes 5923 and 6923 to AtsPurchaseOrderCategoriesEntity.cfop, mapping them to AtsPurchaseOrderCategoriesEntity.remittanceSale.
    Open source →
  6. 3.27.3 19 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    🐛 Bug Fixes

    • honour useFragment and extraFields in DeviceCommand.fetchAll (d4e14e0 by Jose Prieto, Claude Sonnet 4.6)

    📊 Diff Stats

    Metric Count
    📄 Files changed 3
    🟢 Insertions $\color{green}\textsf{+36}$
    🔴 Deletions $\color{red}\textsf{-25}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Corrected DeviceCommand.fetchAll(), which documented useFragment and extraFields but honoured neither: the result selection was hardcoded to id, name, source, isGlobal, protocol and model, so callers asking for the full fragment never received data, deviceId, protocolId, modelId, payload, modbusParameter or access. Consumers could not execute a fetched command over BLE, since its definition and payload live in data
    Open source →
  7. 3.27.2 18 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    • No changes detected

    📊 Diff Stats

    Metric Count
    📄 Files changed 3
    🟢 Insertions $\color{green}\textsf{+6}$
    🔴 Deletions $\color{red}\textsf{-3}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Removed @Deprecated decorator in favor of backwards compatibility and prevent issues on CI until layrz_sdk is completed.
    Open source →
  8. 3.27.1 18 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    • update LayrzAppLocalizationsDelegate to use LayrzAppLocalizations and enhance localization support (4e047f3 by @PHKenny)

    🐛 Bug Fixes

    📊 Diff Stats

    Metric Count
    📄 Files changed 4
    🟢 Insertions $\color{green}\textsf{+45}$
    🔴 Deletions $\color{red}\textsf{-4}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Fixed LayrzAppLocalizations.delegate() to return a LayrzAppLocalizationsDelegate (typed to LayrzAppLocalizations) instead of a LayrzI18nDelegate. The wrong delegate type registered a LayrzI18n in the widget tree, so LayrzAppLocalizations.of(context) never resolved and threw LayrzAppLocalizations was used before it was initialized — breaking any consumer (e.g. layrz_session's login) that still looks up LayrzAppLocalizations. Restored the LayrzAppLocalizationsDelegate class that plants the correct type.
    Open source →
  9. 3.27.0 18 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    ✨ Features

    • replace LayrzAppLocalizations with LayrzI18n in fix_data.yaml (f84a8c3 by @PHKenny)
    • replace LayrzAppLocalizationsDelegate with LayrzI18nDelegate and remove deprecated class (a2e96c6 by @PHKenny)
    • refactor LayrzAppLocalizations to extend LayrzI18n and remove native/web detection files (d1dd44f by @PHKenny)
    • un-deprecate LayrzAppLocalizations for ecosystem coexistence (5fc8fdf by @ManuelRomeroA)

    🐛 Bug Fixes

    📊 Diff Stats

    Metric Count
    📄 Files changed 7
    🟢 Insertions $\color{green}\textsf{+26}$
    🔴 Deletions $\color{red}\textsf{-483}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Removed the @Deprecated annotation from LayrzAppLocalizations. The 3.26.0 deprecation (in favor of LayrzI18n from package:layrz_i18n) was premature: layrz_theme and many ecosystem widgets still consume LayrzAppLocalizations, and both localization engines are meant to coexist during the migration. The class is supported again; LayrzI18n remains the recommended API for new code.
    Open source →
  10. 3.26.1 18 Aug 2026
    Release notes

    📋 Release Notes

    This release includes the following changes:

    🐛 Bug Fixes

    • pass ids to deleteDeviceCommands, add FirmwareBuild.fragment and firmwares on Model.fragment (94f8fd7 by Jose Prieto, Claude Sonnet 4.6)

    📊 Diff Stats

    Metric Count
    📄 Files changed 5
    🟢 Insertions $\color{green}\textsf{+37}$
    🔴 Deletions $\color{red}\textsf{-1}$

    🤖 Auto-generated by changelog workflow

    Open source →
    Release notes
    • Corrected DeviceCommand.delete() and DeviceCommand.deleteMany(), the deleteDeviceCommands field now receives the ids argument. Without it the declared $ids variable went unused and the request failed GraphQL validation with a 400, so nothing was ever deleted
    • Added FirmwareBuild.fragment
    • Added firmwares to Model.fragment, using FirmwareBuild.fragment
    Open source →
  11. 3.26.0 18 Aug 2026
    Release notes
    • Migrated core user, authentication, and i18n types from layrz_models to layrz_sdk, with re-exports so consumers keep seeing them: Avatar, Department, Employee, Token, UserPreferences, I18nKey, I18nTranslation, Language, ApiResponse.
    • Migrated API and GraphQL utilities to layrz_sdk: LayrzConnector, LayrzApiExtras, StandardResponse, Gql, GqlQuery, GqlMutation, GqlSubscription, and related types.
    • Migrated all JSON converters to layrz_sdk: ColorConverter, IconConverter, DurationConverter, TimestampConverter, DateConverter, RegExpConverter, ByteListConverter, TimeOfDayConverter, DynamicMapConverter, ParamDataMapConverter and their nullable variants.
    • Breaking: TimeOfDay is deliberately hidden from the layrz_sdk re-export to preserve Flutter's TimeOfDay resolution; code annotating Flutter TimeOfDay fields with TimeOfDayConverter must switch to the locally retained FlutterTimeOfDayConverter.
    • Migrated all six enums to layrz_sdkApiStatus, AppPlatform, AvatarType, ColorblindMode, MfaMethod and TokenAudience — re-exported so consumers see no change.
    • Breaking: The localization engine moved to the layrz_i18n package; LayrzAppLocalizations is now @Deprecated in favor of LayrzI18n from package:layrz_i18n/layrz_i18n.dart.
    • Added a dart fix migration that renames LayrzAppLocalizations to LayrzI18n, but the fix does NOT add the import—run dart fix --apply and manually add import 'package:layrz_i18n/layrz_i18n.dart';.
    • Asset.mappitLaborStartTime and Asset.mappitLaborEndTime keep their Flutter TimeOfDay type, with no behavior changes for consumers.
    • Adds dependencies: layrz_sdk: ^4.4.3 and layrz_i18n: ^1.0.1.
    Open source →
  12. 3.25.1 14 Aug 2026
    Release notes
    • Corrected CommandInput.save(), the status/errors/result selection now hangs off the addDeviceCommand/editDeviceCommand mutation field instead of the mutation root
    • Corrected DeviceCommand.execute(), the mutation field is executeDeviceCommand and not deviceCommands
    • Corrected Device.zigbeePermitJoinExpiresAt, removed the snake_case JsonKey that never matched the fragment field and always decoded to null
    • Corrected Device.delete(), Device.deleteMany() and Device.importDevicesIntoApp() to be sent as mutations, plus the field is importDevicesIntoApp and not importDevicesToApp
    • Added InboundProtocol.detailedFragment, which is fragment plus the protocol's models, and used it on InboundProtocol.fetch()
    Open source →
  13. 3.25.0 14 Aug 2026
    Release notes
    • Added saleFromThirdPartyDeliveredBySeller value to AtsPurchaseOrderCategoriesEntity enum (SALE_FROM_THIRD_PARTY_DELIVERED_BY_SELLER, CFOP 5120/6120), so it no longer falls back to notDefined.
    Open source →
  14. 3.24.7 10 Aug 2026
    Release notes
    • Added hasPreviousStockClosing value in StockClosingInfoPa model
    Open source →
  15. 3.24.5 07 Aug 2026
    Release notes
    • Added StockClosingInfoPa model
    • Added totalWithdrawalsByComboio value in StockClosingTank and StockClosingInput models
    Open source →
  16. 3.24.4 05 Aug 2026
    Release notes
    • Fixes on RegisteredApp.load()
    • This version was released manually
    Open source →
  17. 3.24.3 05 Aug 2026
    Release notes
    • Fixes on ZigbeeDeviceExpose and ZigbeeDevice
    • Corrected FlespiSubmoduleConfig, wrong type and fields on GraphQL fragment
    • This version was released manually
    Open source →
  18. 3.24.2 05 Aug 2026
    Release notes
    • Forgot to do the freezed
    • This version was released manually
    Open source →
  19. 3.24.1 05 Aug 2026
    Release notes
    • Corrected lastSeen on ZigbeeDevice to have a converter.
    • This version was released manually
    Open source →
  20. 3.24.0 04 Aug 2026
    Release notes
    • Added an API connector to ExternalAccount, with fetch(), fetchAll() and deleteMany(), plus ExternalAccountInput.save()
    • Added ExternalAccountVariant to target the Mappit-prefixed fields, defaulting to standard
    • Added ExternalAccount.gqlFragment, so consumers no longer need to declare the fragment themselves
    • Geofence now requests the errors field on every API call and logs its content whenever the response status is not OK, matching Action, Operation and ExternalAccount
    Open source →
  21. 3.23.1 04 Aug 2026
    Release notes
    • Added onlyConfiot argument on Device.fetchAll() to include it in the GraphQL query and variables, allowing callers to filter devices that have Confiot enabled.
    • This version was released manually
    Open source →
  22. 3.23.0 04 Aug 2026
    Release notes
    • Device, DeviceCommand, DeviceTelemetry and other models related to device entity now use the LayrzConnector.query() and LayrzConnector.mutate().
    Open source →
  23. 3.22.0 04 Aug 2026
    Release notes
    • Added API Connector on DeviceCommand
    • Standarized all tupled returns to StandardResponse<T>
    Open source →
  24. 3.21.0 04 Aug 2026
    Release notes
    • Added API connector for InboundProtocol, Model, FlespiProtocol, FlespiModel and FlespiChannel
    Open source →
  25. 3.20.6 02 Aug 2026
    Release notes
    • Updated layrz_logging dependency to now include colors on logs emitted by the system
    • This version was released manually
    Open source →
  26. 3.20.5 02 Aug 2026
    Release notes
    • Added LayrzApiExtras to include extra information on the usage of LayrzConnector, including version and name of the app.
    • This version was released manually
    Open source →
  27. 3.20.4 02 Aug 2026
    Release notes
    • Adjustments on User.fetch() to include parentId.
    • This version was released manually
    Open source →
  28. 3.20.3 02 Aug 2026
    Release notes
    • Adjustments on RegisteredApp.load() to use the toJson() on enums
    • This version was released manually
    Open source →
  29. 3.20.2 31 Jul 2026
    Release notes
    • Fixed User loginAsSubaccount gql mutation implementation
    Open source →
  30. 3.20.1 31 Jul 2026
    Release notes
    • Fixed Brickhouse Graphql query name in _getGqlQueryName
    Open source →
  31. 3.20.0 30 Jul 2026
    Release notes
    • Fixed GraphQL fragment emission order. Fragments were collected in pre-order, so a fragment that spread another was written above the fragment it depended on, producing documents where a fragment is referenced before it is defined. Nested dependencies are now emitted first, and cyclic fragment references are broken safely instead of overflowing the stack.
    • Added fragment getters to TagOnStudent, TagOnBusRoute and TagOnNotification.
    • Added API connectors for the TagOn entities with fetchAll, fetch and deleteMultiple on the models, and save on the existing TagOnStudentInput, TagOnBusRouteInput and TagOnNotificationInput models.
    • Added TagOnStudent.bulkLoad for bulk importing students from raw data rows. The data parameter is List<Map<String, dynamic>> (raw rows), not the typed TagOnStudentInput model, because the bulk endpoint resolves bus routes by name from nested objects in the raw data (e.g., {'busRoute': {'name': 'Route 4'}}), whereas TagOnStudentInput only has a flat busRouteId. Returns (ApiStatus, Map<String, dynamic>?) where the map has exactly three keys: 'status' (the serialized ApiStatus), 'errors' and 'studentsWithErrors' (a List<Map<String, dynamic>>, each entry holding errors and data for a row that failed to import).
    • Added TagOnStudent.export to export students to a downloadable file, returning (ApiStatus, String?) with the generated resultUri.
    • Added TagOnNotification.send static method to send a notification by its ID.
    • All TagOn API connectors (TagOnStudent, TagOnBusRoute, TagOnNotification) authenticate via the Authorization: LayrzToken <token> header that LayrzConnector sets automatically. Authentication is no longer sent as a GraphQL field argument. The apiToken parameter remains on every method signature for consistency.
    Open source →
  32. 3.19.3 30 Jul 2026
    Release notes
    • Breaking: Renamed MappitReportInputMulti to MappitReportMultiInput to match the backend GraphQL schema, which renamed the input type. Queries declaring MappitReportInputMulti are rejected by the server with Unknown type 'MappitReportInputMulti'. The source file was also renamed from report_input_multi.dart to report_multi_input.dart. Field names and types are unchanged.
    • Fixed the $id variable type in Geofence.fetch, which was declared as String! instead of ID!, causing the server to reject the query with Variable $id of type String! used in position expecting type ID.
    • Fixed Geofence.fetchAll, which ignored the variant argument and always queried the geofences field, and referenced an undeclared $id variable in its arguments, making the query invalid for every variant.
    • Removed the apiToken GraphQL variable and argument from every caller in the geofences module (Geofence, GeofenceInput and SearchItem). Authentication travels in the Authorization header, which LayrzConnector already sets, so sending it as a query variable was redundant. The apiToken parameter remains on every method signature.
    Open source →
  33. 3.19.2 29 Jul 2026
    Release notes
    • Updated Geofence.fetch, Geofence.fetchAll, Geofence.save and Geofence.deleteMultiple to accept a variant argument (standard, mappit, sdm) to resolve the query/mutation names and fragments per variant, aligning with the backend GraphQL schema.
    Open source →
  34. 3.19.1 29 Jul 2026
    Release notes
    • Fixed Geofence.fragment, removed name on telemetry subgraph
    Open source →
  35. 3.19.0 29 Jul 2026
    Release notes
    • Added SdmPenInput, SdmIngredientInput, SdmOperatorInput and SdmRecipeInput unfreezed input models for the SDM entities.
    • Added fragment getters to SdmPen, SdmIngredient, SdmOperator and SdmRecipe.
    • Added API connectors for the SDM entities with fetchAll, fetch, deleteMultiple and save (on the input models).
    • Added bulk operations to SdmPen, SdmIngredient and SdmRecipe: bulkLoad, export and formatExcel, returning the generated resultUri where applicable.
    • Added UserVariant enum (standard, ats, atsAdmin, brickhouse, sdm, tagon and the mappit* variants) to drive user queries and mutations from a single source of truth.
    • Added variant-aware API connectors to User: fetchAll, fetch, deleteMultiple and save (on UserInput), resolving the query, mutation and input type names per variant, with optional appId, languageId and mappitModule arguments.
    • Added User.fragment(variant:) covering access, referencesIds, categoryId, tagsIds plus the variant-specific fields, and a withDetails option on User.fetch for the tags, references, category and allowedApps expansions.
    • Added account action connectors to User: importIntoApp, resetPassword, setPaymentWarning, lock, suspend, invite and requestActivityReport.
    • Migrated User.fetchAll and User.fetchAllForAppUsers to the typed connector.query API; fetchAllForAppUsers remains locked to the standard variant by design.
    • Added ReferenceVariant enum (standard, mappit, sdm) and ReferenceInput input model.
    • Added variant-aware API connectors to Reference: fragment(variant:), fetchAll, fetch, clone, deleteMultiple and save (on ReferenceInput).
    • New GqlVariableType.unix for GraphQL Unix timestamp variables.
    • Added ReferenceVariant enum (standard, mappit, sdm) to drive reference queries and mutations from a single source of truth.
    • Added variant-aware API connectors to Reference: fetchAll, fetch, deleteMultiple and save (on ReferenceInput), resolving the query, mutation and input type names per variant — references/mappitReferences/sdmReferences for queries, and add/edit/delete mutations with the Mappit and Sdm infixes.
    • Added Reference.fragment(variant:) covering id, name, category, customFields, qrCode and access, reusing CustomField.fragment and Access.idFragment.
    • Added Reference.clone, which uses the cloneReference mutation for every variant.
    Open source →
  36. 3.18.2 27 Jul 2026
    Release notes
    • Updated Gql to now auto-include name from the next field in the query or mutation if no name is provided, ensuring that all GraphQL operations have a valid name for better debugging and logging.
    Open source →
  37. 3.18.1 27 Jul 2026
    Release notes
    • New GqlVariableType.enum_() factory for GraphQL enum variables, allowing type-safe enum variable declarations in queries and mutations.
    • Corrected RegisteredApp.load() to fix the platform and technology fields to be their respective enums AppPlatform and AppTechnology instead of plain strings, ensuring proper type safety and deserialization.
    Open source →
  38. 3.18.0 22 Jul 2026
    Release notes
    • Added API connector for Geofence with full GraphQL support (fetch, fetchAll, save, delete, exportMany).
    • Added API connector for GeofenceInput with full GraphQL support (save).
    Open source →
  39. 3.17.4 22 Jul 2026
    Release notes
    • Fixed an issue on AvailableApp.fetchAll() where the apiToken variable was not being passed to the GraphQL query, resulting in an empty response. The query now correctly includes the apiToken argument.
    Open source →
  40. 3.17.3 22 Jul 2026
    Release notes
    • Corrected Fragment names on AppFont.fragment and InstanceDns.fragment to match the GraphQL schema types (AppFont and InstanceDns) instead of the previous incorrect names (FontInformation and DnsConfiguration).
    Open source →
  41. 3.17.2 22 Jul 2026
    Release notes
    • Fixed an issue with the API connector RegisteredApp.fechAll
    Open source →
  42. 3.17.1 22 Jul 2026
    Release notes
    • LayrzConnector now exposes typed query() and mutate() methods returning a decoded ApiResponse with status, errors and result
    • RegisteredApp.registerWithoutCustomization(), registerWithCustomization() and edit() now return (ApiStatus, Map<String, dynamic>?, RegisteredApp?) records with the operation status, field errors and decoded result
    • AppInstance, PushDevice and AvailableApp API callers migrated to the typed connector API
    • Fixed registerWithCustomization() reporting INTERNAL_ERROR on successful responses
    Open source →
  43. 3.17.0 22 Jul 2026
    Release notes
    • Added API connectors for Country, RegisteredApp and AvailableApp
    Open source →
  44. 3.16.1 22 Jul 2026
    Release notes
    • Add new value REMITTANCE_SALE in enum AtsPurchaseOrderCategoriesEntity
    Open source →
  45. 3.16.0 21 Jul 2026
    Release notes
    • Add PushDevice model with validate() API caller to check device registration status on the backend and retrieve associated operation IDs
    • Add PushDevice.register() to register a new push device for an app and retrieve the created device ID
    • Add PushDevice.bindOperations() to bind or unbind a list of operations to a push device
    • Add PushDevice.deregister() to deregister a push device by its ID
    Open source →
  46. 3.15.2 21 Jul 2026
    Release notes
    • Fix Operation GraphQL fragment: query accountId instead of externalAccountId, remove unexposed emailTemplateId, align access sub-selection with AccessPermission schema (id, read, write, manage, objectId, userId, module)
    • Add appId argument to Operation.fetch() to filter operations by app
    • Slim Operation.fetchAll() result selection to id, name, operationType
    • Invoke onResponse only on error responses across RegisteredApp and Operation API callers
    • Parse OperationInput.save() result as a single object
    Open source →
  47. 3.15.1 21 Jul 2026
    Release notes
    • Fixes on Registered Apps import modules
    Open source →
  48. 3.15.0 21 Jul 2026
    Release notes
    • Expanded Operation.gqlFragment to cover the full operation configuration (webhook, email, SMS/Twilio, push, in-app fields) so Operation.fetch/fetchAll return complete data.
    • Added RegisteredApp lifecycle callers (registerWithoutCustomization, registerWithCustomization, edit, delete) and completed app management coverage.
    • Added User.fetchAllForAppUsers for app user management contexts (includes username and email fields).
    • Add tolerant API status parsing accepting both legacy (NOTFOUND) and modern (NOT_FOUND) backend status formats
      • ApiStatus.fromJson() now handles both underscore-separated (e.g., 'NOT_FOUND', 'INTERNAL_ERROR') and legacy squashed (e.g., 'NOTFOUND', 'INTERNALERROR') formats through case-insensitive normalization.
    Open source →
  49. 3.14.0 21 Jul 2026
    Release notes
    • PushSecrets model; RegisteredApp iosPushSecrets/androidPushSecrets (typed) and hasSvcPushSecrets (boolean status).
    • Operation/OperationInput appId for app-bound PUSH_NOTIFICATION operations.
    • App management API callers on RegisteredApp (fetch, setPushSecrets, access grant/revoke, asset/device import), AppInstance (deprecate/migrate/request), User (loginAs).
    • Operations API callers (fetch, fetchAll, save, delete).
    • GqlVariableType redesigned as a composable type builder (list(of:, isRequired:)/input(of:)); GqlVariable simplified.
    Open source →
  50. 3.13.3 15 Jul 2026
    Release notes
    • Made performedBy nullable (User?) in MappitRouteLinkingHistory. When an employee is removed, the relation is soft-deleted and the backend sends performedBy: null for historical records, while performedById still holds the plain ID. The previous non-nullable declaration crashed fromJson with type 'Null' is not a subtype of type 'Map<String, dynamic>'. This aligns performedBy with the already-nullable currentSeller field.
    Open source →
  51. 3.13.1 14 Jul 2026
    Release notes
    • Added constant.number value to AtsStreamExitStructureType enum, a sibling of constant for ATAK outbound structure entries whose value should be sent as a real JSON number instead of a string.
    Open source →
  52. 3.13.0 13 Jul 2026
    Release notes
    • Added ActionType.zigbeeChange (ZIGBEE_CHANGE) plus the ActionZigbeeSetting, ActionZigbeeSettings and ActionZigbeeSettingsInput models, with a new zigbeeSettings field on Action and ActionInput.
    • Added API callers Action.fetch, Action.fetchAll, Action.deleteMultiple and ActionInput.save, following the GqlQuery builder pattern.
    • Added Device.fetchZigbeeCapable, returning the devices that have Zigbee exposes bound to them (id, name, ident and exposes).
    • The Action, Device and User callers no longer send the apiToken GraphQL argument — authentication relies on the Authorization: LayrzToken header; requires a layrz-api deployment with the dual-auth actions, devices and users endpoints.
    Open source →
  53. 3.12.1 10 Jul 2026
    Release notes
    • Changed vgNavio value type from int to String in CaclTFBDetails and CaclTFBDetailsInput models
    Open source →
  54. 3.12.0 10 Jul 2026
    Release notes
    • Added AssetWidget, AssetWidgetConfig, and AssetWidgetRange models (with matching input variants) plus a read-only widgets field on Asset, backing the per-asset live-data widgets feature. Writes go through the dedicated updateAssetWidgets mutation, not the asset model.
    • Added NUMERIC and LINE_CHART values to the RenderWidget enum.
    • LayrzConnector now requires an apiToken and injects an Authorization: LayrzToken {token} header on every request and subscription, migrating authentication off the GraphQL apiToken variable.
    Open source →
  55. 3.11.9 09 Jul 2026
    Release notes
    • Breaking: Fixed null icon handling in WorkspaceInput.fromJson. Previously, workspaces with no icon set would crash with a Null check operator used on a null value error during JSON deserialization. The icon field now falls back to solarOutlineQuestionSquare when null. This is a breaking change because any workspace that had a null icon will now render with the default icon instead of its previously expected icon — verify your workspace icon assignments.
    Open source →
  56. 3.11.7 09 Jul 2026
    Release notes
    • Added numericSlider, enumSelector, textCommand and rawValue values to RenderWidget enum.
    • Added receptionAssetId (String?) field to AtsPurchaseOrder model.
    Open source →
  57. 3.11.6 02 Jul 2026
    Release notes
    • Added StockClosingGeneralInfo new model
    • Updated StockClosing, StockClosingInput, StockClosingTank and StockClosingTankInput with new values openingBalanceAmbient, totalEntriesAmbient, totalWithdrawalsAmbient and closingBalanceAmbient
    Open source →
  58. 3.11.5 01 Jul 2026
    Release notes
    • Added json and json.array values to AtsStreamExitStructureType enum, allowing ATAK outbound services to nest a group of structure fields into a single JSON object or a single-element JSON array.
    • Added attendant.id and attendant.user.id values to AtsStreamExitStructureType enum.
    • Added source (String?) and nested (List<OutboundStructureInput>/List<OutboundStructure>) fields to OutboundStructureInput and OutboundStructure models, to support the new json/json.array structure types.
    Open source →
  59. 3.11.4 29 Jun 2026
    Release notes
    • Fixed issue on Token.create where duration variable was being sent as int instead of Duration type, causing GraphQL validation errors. Now, the duration variable is correctly sent as a Duration type in seconds.
    Open source →
  60. 3.11.3 23 Jun 2026
    Release notes
    • Added finalStop value in CaclTFBDetails model
    • Added AtsCaclAsset model
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive