Skip to content

Changelog

The following sections describe major changes per version and can be helpful with version upgrades.

0.50

  • Simplified result page transformations

0.49

  • Annotated ResultsPage with CordaSerializable

0.48

  • Added StateService.findResultsPage method and Vault.Page<T>.toResultsPage extensions.

0.47

0.46

  • Fixed account resolution when using only name and host

0.42 - 0.45

  • VaultaireView annotation changes:
  • Enhanced control of the generated Class name with name and nameSuffix attributes, check the KDoc
  • The namedFields property has been renamed to includeNamedFields. The property is optional.
  • An optional excludeNamedFields has been added.
  • An optional viewFields property has been added as an array of VaultaireViewField, allowing more control like nullability.
  • Generated views now implement VaultaireDto<T> where T is the (DTO) type generated by the parent annotation. Thus, views generated e.g. for a DTO will now include toPatched and toTargetType methods targeting the full DTO.
  • DTO Companion’s mapToDto was renamed to from.
  • Services’ queryBy no longer provides defaults for paging, sorting etc. to make different signatures in serviceHub, RPC etc. more accessible; they do have their uses e.g. in aggregate quries. In short expect you’ll need queryBy(criteria, 1, 10) VS queryBy(criteria)for it to work as expected.

0.41

Minor view fixes

0.40

This is a release with BREAKING CHANGES.

  • Annotations have been renamed:
Previous Name New Name
VaultaireGenerate VaultaireStateUtils
VaultaireGenerateForDependency VaultaireStateUtilsMixin
VaultaireGenerateDto VaultaireStateDto
VaultaireGenerateDtoForDependency VaultaireStateDtoMixin
VaultaireFlowInput VaultaireModelDto
VaultaireFlowInputForDependency VaultaireModelDtoMixin
VaultaireGenerateResponder VaultaireFlowResponder
  • Class and file names of generated state-based DTOs use new suffixes:
    • LiteDto has changed to StateClientDto
    • Dto has changed to StateDto
  • DTO generation strategies have been updated:
    • DEFAULTis now CORDAPP_LOCAL_DTO
    • LITE is now CORDAPP_CLIENT_DTO
  • The default DTO strategy is now CORDAPP_CLIENT_DTO

This release also brings new features:

  • VaultaireModelDto and VaultaireModelDtoMixin are now focused in DTO generation for non-state models. The resulting class and file name suffix is ModelClientDto with
    support for the usual REST or otherwise client-friendly auto-conversion of Corda-specific types.
  • All DTO-generating annotations now have a views: Array<VaultaireView> member,
    to allow additional classes to be generated, each with a subset of fields from the target state or model type.
  • All DTO-generating annotations now have a nonDataClass: Boolean member,
    that should be set to true for target state or model types that are NOT data classes.

0.39

  • Added @VaultaireFlowInput and @VaultaireFlowInputForDependency to support generating REST-friendly DTOs and utils for non-state data classes.

0.38

  • Minor accounts update

0.37

  • RSQL support: removed =notnull= and refactored =null= to accept a boolean argument instead, according to the RSQL parser grammar.

0.36

RSQL improvements:

  • Fixed =in=, =out= comparisons.
  • Moved wildcard-based comparisons to dedicated =like= and =unlike= operators.
  • The converterFactory parameter in VaultQueryCriteriaCondition.withRsql is now optional.

0.35

  • Added plugin for RSQL support.

0.34

  • Support DTO-only fields with mixins.

0.33

  • Upgraded to Corda 4.6, Partiture 0.15, Poolboy 0.4.

0.32

  • Added VaultaireAttachmentService as a utility for attaching Vaultaire’s JAR to a transaction.

0.31

  • Updated corda-rpc-poolboy dependency.

0.30

  • Reverted to forcing root state status to criteria as Corda seems to have an issue with StateStatus.ALL.

0.29

  • Added ResultsPage as a REST-friendly alternative to Vault.Page combined with mapping from StateAndRef to either contract states or DTOs.
  • Removed explicit state status from DSL criteria, applied root criterion last instead.

0.28

  • Fixed generated DTOs missing @CordaSerializable.
  • (Service) Registry is now more accessible.
  • Fixed service defaults parameter type from SimpleServiceDefaults to interface ServiceDefaults in NodeService, StateService and delegates.
  • Fixed pool-based initialization of services from network service.

0.26-27

  • Bumped Corda to OS 4.5
  • Refactored to support RPC connection pooling based on Corda RPC PoolBoy

0.25

  • Bumped Corda to OS 4.4
  • Added support for “lite” DTO strategy
  • Added Query DSL root externalIds property to support querying the vault by Corda Account(s)

0.24

  • Added default parameter value false to VaultQueryCriteriaCondition.toCriteria(boolean), so that aggregates are not ignored by default.

0.23

  • Fixed corda API design issue, where a secondary VaultCustomQueryCriteria‘s implicit/default status of UNCONSUMED (VS null) is applied, overriding the root DSL status

0.22

Bumped kotlin-utils, fixing issue with DTO generation including companion object members of the source type.

0.21

  • Bumped KotlinPoet, util versions
  • Added @DefaultValue example in the docs

0.20

  • Added CordaSerializable annotation to generated DTOs
  • Added ignoreProperties to VaultaireGenerateDto and VaultaireGenerateDtoForDependency, useful with derived/backed properties like participants

0.19

  • Added [NodeRpcConnection] interface and [StateServiceRpcConnectionDelegate] for libraries in need of more flexible [StateServiceDelegate] integration e.g. Corbeans/Spring or other IoC containers

0.18

Bumped deps i.e. Corda to OS 4.3

0.17

  • Added support for sorting based on standard attributes and aliases of those, i.e. enum values of Sort.CommonStateAttribute, Sort.VaultStateAttribute, Sort.LinearStateAttribute and Sort.FungibleStateAttribute.

0.16

  • Added copyAnnotationPackages property to VaultaireGenerateDto and VaultaireGenerateDtoForDependency. The property can be used to define a list of base packages for matching annotations to be copied automatically from a source ContractState to it’s generated DTO. This is useful when replication of e.g. Jackson or Bean Validation annotations can be useful.

0.15

  • Replaced com.github.manosbatsis.vaultaire.dto.Dto and com.github.manosbatsis.vaultaire.util.DtoInsufficientStateMappingException with
    kotlin-utils equivalents extracted there. You may need to update package/method names in your code if you make use of generated DTOs.

0.14

  • Vaultaire’s *ForDependency annotations now use the annotated element’s package (suffixed with .generated) for output. This leaves the original (state) packages exclusive to their modules if needed, avoiding when cordapp package conflicts while testing.

0.13

  • Add support for final responder flow supertypes in VaultaireGenerateResponder

0.12

  • Fixed dependency scope for kotlin-utils

0.11

  • Added VaultaireGenerateDto, VaultaireGenerateDtoForDependency annotations for generating DTOs for contract states
  • Added VaultaireGenerateResponder annotation for generating responder flows extending common supertypes
  • Refactored to extract kotlin-utils

0.10

  • Added @VaultaireGenerateForDependency to support generation (of DSL, Services etc.) for states contributed to the classpath by project dependencies
  • Enhanced generated subclasses of ExtendedStateService with DSL-aware buildQuery, queryBy and trackBy
  • Fixed typo from VaultaireGenerate.constractStateType to VaultaireGenerate.contractStateType

0.9

  • 0.8 re-release fix

0.8

  • Allow annotation processing to generate code to another Gradle module or location using the kapt.kotlin.vaultaire.generated kapt argument, see installation docs.

0.7

  • Fixed, improved and added tests for StateService get/find by id/externalId methods
  • StateService get by id/externalId will throw a StateNotFoundException when no match is found

0.6

  • Added support for aggregate functions.
  • Added getByExternalId and findByExternalId methods to StateService
  • Added optional Vault.RelevancyStatus parameter to StateService getByLinearId and findByLinearId methods

0.5

  • Removed param from String.asUniqueIdentifier()

0.4

0.3

  • Refactored StateService to an interface

0.2

  • Renamed VaultQueryDsl annotation to VaultaireGenerate
  • Renamed StateService to BasicStateService, added extended StateService type.
  • The annotation processor will now generate a subclass of StateService per annotated PersistentState

0.1

  • Initial release