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
withCordaSerializable
0.48¶
- Added
StateService.findResultsPage
method andVault.Page<T>.toResultsPage
extensions.
0.47¶
- Updated deps, tested side-by-side with corda-lean-state
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
andnameSuffix
attributes, check the KDoc - The
namedFields
property has been renamed toincludeNamedFields
. The property is optional. - An optional
excludeNamedFields
has been added. - An optional
viewFields
property has been added as an array ofVaultaireViewField
, allowing more control like nullability. - Generated views now implement
VaultaireDto<T>
whereT
is the (DTO) type generated by the parent annotation. Thus, views generated e.g. for a DTO will now includetoPatched
andtoTargetType
methods targeting the full DTO. - DTO Companion’s
mapToDto
was renamed tofrom
. - Services’
queryBy
no longer provides defaults for paging, sorting etc. to make different signatures inserviceHub
, RPC etc. more accessible; they do have their uses e.g. in aggregate quries. In short expect you’ll needqueryBy(criteria, 1, 10)
VSqueryBy(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 toStateClientDto
Dto
has changed toStateDto
- DTO generation strategies have been updated:
DEFAULT
is nowCORDAPP_LOCAL_DTO
LITE
is nowCORDAPP_CLIENT_DTO
- The default DTO strategy is now
CORDAPP_CLIENT_DTO
This release also brings new features:
VaultaireModelDto
andVaultaireModelDtoMixin
are now focused in DTO generation for non-state models. The resulting class and file name suffix isModelClientDto
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 totrue
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 inVaultQueryCriteriaCondition.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 toVault.Page
combined with mapping fromStateAndRef
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
toVaultQueryCriteriaCondition.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
toVaultaireGenerateDto
andVaultaireGenerateDtoForDependency
, useful with derived/backed properties likeparticipants
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
andSort.FungibleStateAttribute
.
0.16¶
- Added
copyAnnotationPackages
property toVaultaireGenerateDto
andVaultaireGenerateDtoForDependency
. The property can be used to define a list of base packages for matching annotations to be copied automatically from a sourceContractState
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
andcom.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 inVaultaireGenerateResponder
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-awarebuildQuery
,queryBy
andtrackBy
- Fixed typo from
VaultaireGenerate.constractStateType
toVaultaireGenerate.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 aStateNotFoundException
when no match is found
0.6¶
- Added support for aggregate functions.
- Added
getByExternalId
andfindByExternalId
methods toStateService
- Added optional
Vault.RelevancyStatus
parameter toStateService
getByLinearId
andfindByLinearId
methods
0.5¶
- Removed param from
String.asUniqueIdentifier()
0.4¶
- Fixed handling of nullable fields
- Added string input signatures for
getByLinearId
,findByLinearId
0.3¶
- Refactored
StateService
to an interface
0.2¶
- Renamed
VaultQueryDsl
annotation toVaultaireGenerate
- Renamed
StateService
toBasicStateService
, added extendedStateService
type. - The annotation processor will now generate a subclass of
StateService
per annotatedPersistentState
0.1¶
- Initial release