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
ResultsPagewithCordaSerializable
0.48¶
- Added
StateService.findResultsPagemethod andVault.Page<T>.toResultsPageextensions.
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¶
VaultaireViewannotation changes:- Enhanced control of the generated Class name with
nameandnameSuffixattributes, check the KDoc - The
namedFieldsproperty has been renamed toincludeNamedFields. The property is optional. - An optional
excludeNamedFieldshas been added. - An optional
viewFieldsproperty has been added as an array ofVaultaireViewField, allowing more control like nullability. - Generated views now implement
VaultaireDto<T>whereTis the (DTO) type generated by the parent annotation. Thus, views generated e.g. for a DTO will now includetoPatchedandtoTargetTypemethods targeting the full DTO. - DTO Companion’s
mapToDtowas renamed tofrom. - Services’
queryByno 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:
LiteDtohas changed toStateClientDtoDtohas changed toStateDto
- DTO generation strategies have been updated:
DEFAULTis nowCORDAPP_LOCAL_DTOLITEis nowCORDAPP_CLIENT_DTO
- The default DTO strategy is now
CORDAPP_CLIENT_DTO
This release also brings new features:
VaultaireModelDtoandVaultaireModelDtoMixinare now focused in DTO generation for non-state models. The resulting class and file name suffix isModelClientDtowith
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: Booleanmember,
that should be set totruefor target state or model types that are NOT data classes.
0.39¶
- Added
@VaultaireFlowInputand@VaultaireFlowInputForDependencyto 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
converterFactoryparameter inVaultQueryCriteriaCondition.withRsqlis 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
VaultaireAttachmentServiceas 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
ResultsPageas a REST-friendly alternative toVault.Pagecombined with mapping fromStateAndRefto 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
externalIdsproperty to support querying the vault by Corda Account(s)
0.24¶
- Added default parameter value
falsetoVaultQueryCriteriaCondition.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
@DefaultValueexample in the docs
0.20¶
- Added
CordaSerializableannotation to generated DTOs - Added
ignorePropertiestoVaultaireGenerateDtoandVaultaireGenerateDtoForDependency, 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.LinearStateAttributeandSort.FungibleStateAttribute.
0.16¶
- Added
copyAnnotationPackagesproperty toVaultaireGenerateDtoandVaultaireGenerateDtoForDependency. The property can be used to define a list of base packages for matching annotations to be copied automatically from a sourceContractStateto 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.Dtoandcom.github.manosbatsis.vaultaire.util.DtoInsufficientStateMappingExceptionwith
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
*ForDependencyannotations 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
finalresponder flow supertypes inVaultaireGenerateResponder
0.12¶
- Fixed dependency scope for kotlin-utils
0.11¶
- Added
VaultaireGenerateDto,VaultaireGenerateDtoForDependencyannotations for generating DTOs for contract states - Added
VaultaireGenerateResponderannotation for generating responder flows extending common supertypes - Refactored to extract kotlin-utils
0.10¶
- Added
@VaultaireGenerateForDependencyto support generation (of DSL, Services etc.) for states contributed to the classpath by project dependencies - Enhanced generated subclasses of
ExtendedStateServicewith DSL-awarebuildQuery,queryByandtrackBy - Fixed typo from
VaultaireGenerate.constractStateTypetoVaultaireGenerate.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.generatedkapt argument, see installation docs.
0.7¶
- Fixed, improved and added tests for
StateServiceget/find by id/externalId methods StateServiceget by id/externalId will throw aStateNotFoundExceptionwhen no match is found
0.6¶
- Added support for aggregate functions.
- Added
getByExternalIdandfindByExternalIdmethods toStateService - Added optional
Vault.RelevancyStatusparameter toStateServicegetByLinearIdandfindByLinearIdmethods
0.5¶
- Removed param from
String.asUniqueIdentifier()
0.4¶
- Fixed handling of nullable fields
- Added string input signatures for
getByLinearId,findByLinearId
0.3¶
- Refactored
StateServiceto an interface
0.2¶
- Renamed
VaultQueryDslannotation toVaultaireGenerate - Renamed
StateServicetoBasicStateService, added extendedStateServicetype. - The annotation processor will now generate a subclass of
StateServiceper annotatedPersistentState
0.1¶
- Initial release