Releases: cufyorg/mmRPC
0.3.0 Beta 7
- Array type definition, typealias generation
0.3.0 Beta 6
-
added ElementDefinition.isBuiltin()
-
added CompactElementDefinition.isBuiltin()
-
added CompactElementDefinition.strip()
-
added Sequence.inflate(...)
-
removed SpecSheet
-
removed CompactSpecSheet
-
removed GenFeature.NO_BUILTIN
-
removed MmrpcExtension.Kotlin.noBuiltin()
-
changed MmrpcSpec.elements to be a List
0.3.0 Beta 5
- optimized schema inflation
- added builtin.elements
0.3.0 Beta 4
- Added builtin.Void
0.3.0 Beta 2
- Removed SpecSheet.namespaces
- Fixed value of Comm.Http and Comm.Kafka
0.3.0 Beta 1
mmRPC 3.0.0-beta.1
- renamed NamespaceObject.namespace to .canonicalName
- Removed
stripparameter from all .toCompact functions - Added fun CompactSpecSheet.strip
- alternative SpecSheet and CompactSpecSheet constructors
- added MmrpcSpec
- definition files are now of type MmrpcSpec
0.3.0 Beta 0
mmRPC 3.0.0-beta.0
- Renamed module
mmrpc-coretommrpc-runtime - Reduced @SerialName usage by renaming fields instead
- Removed Endpoint
- Removed element info types and generation
- Removed Element.isAnonymous
Runtime:
- Removed Namespace and replaced with CanonicalName
- Added CanonicalName utilities from Namespace
- Changed validation rules for CanonicalName
-
Removed ElementObject
-
Removed TypeObject and all subclasses
-
Removed EndpointObject and all subclasses
-
Removed ConstObject
-
Removed FieldObject
-
Removed ProtocolObject
-
Added FaultObject.canonicalName
-
Added RoutineObject.canonicalName
-
Added RoutineObject.comm
-
Removed FaultObject.info
-
Removed RoutineObject.info
-
Removed ElementInfo and all subclasses
-
Removed infoOf(ElementObject)
-
Added value class Comm(val value: String)
-
Removed HttpMethod and HttpPath ~ no replacement
-
Removed Http, HttpSecurity ~ replace with Comm
-
Changed http method to be unconfigurable
POST -
Changed http path to be unconfigurable
/<canonical_name> -
Removed Iframe, IframeSecurity and IframePath ~ no replacement
-
Removed KafkaTopic ~ no replacement
-
Removed Kafka, KafkaSecurity ~ replace with Comm
-
Changed kafka topic to be unconfigurable
<canonical_name> -
Removed KafkaPublicationTopic ~ no replacement
-
Removed KafkaPublication and KafkaPublicationSecurity ~ replace with Comm
-
Changed kafka publication topic to be unconfigurable
<canonical_name>
Client and Server:
-
Removed 'key' parameter from extension function KafkaProducer.emit
-
Removed extension function KafkaProducer.publish ~ use KafkaProducer.emit
-
Removed KafkaEvent.receiverJWTCatching()
-
Removed KafkaEvent.receiveJsonCatching()
-
Removed ApplicationCall.receiveQueryCatching()
-
Removed ApplicationCall.receiveJsonCatching()
-
Added
routineparameter to all extension functions ApplicationCall.respond -
Removed extension function ApplicationCall.respond(..., fault: FaultInfo, ...)
-
Added extension function ApplicationCall.respond(..., fault: CanonicalName, ...)
Code Generation:
-
Removed Endpoint object generation
-
Removed Const object generation
-
Removed Field object generation
-
Added (opt-in) Const value property generation
-
Added (opt-in) Field name property generation
-
Enum entries are now PascalCase instead of SCREAMING_SNAKE_CASE
-
Removed feature flag GEN_FIELD_OBJECTS
-
Removed feature flag GEN_ENDPOINT_OBJECTS
-
Added feature flag GEN_FIELD_NAME_PROPERTIES
-
Added feature flag GEN_CONST_VALUE_PROPERTIES
Gradle Plugin:
- Renamed task
generateMMRPCKotlinSourcestogenerateMmrpcKotlinSources - Removed kotlin.generateFieldObjects()
- Removed kotlin.generateEndpointObjects()
- Added kotlin.generateFieldNameProperties()
- Added kotlin.generateConstValueProperties()
Definition DSL
-
Removed builtin.hydration
-
Removed builtin.token
-
Removed Routine.key
-
Removed Routine.endpoints
-
Added Routine.comm
-
Changed ElementDefinitionBuilder.namespace is now of type CanonicalName?
instead of NamespaceDomainProperty -
ElementDefinitionBuilder.name is now
lateinit
instead of beingabstractwith default value
Definition
-
Removed EndpointDefinition with subclasses and builders
-
Changed ElementDefinition.canonicalName to be abstract
-
Changed ElementDefinition.name to be computed
-
Changed ElementDefinition.namespace to be computed
-
Removed ElementDefinition.asNamespace
-
Removed ElementDefinition.isAnonymous
-
Removed *Definition.ANONYMOUS_NAME
-
Removed *Definition.EMPTY
-
Simplified property names of subclasses of ElementDefinition
-
Removed all Compact*EndpointDefinition
-
Changed ElementDefinition.canonicalName to be abstract
-
Changed ElementDefinition.name to be computed
-
Changed ElementDefinition.namespace to be computed
-
Removed ElementDefinition.isAnonymous
-
Simplified property names of subclasses of CompactElementDefinition
0.2.5
- generateSharedOnly() gradle plugin option
- generateCommOnly() gradle plugin option
- generateEverything() gradle plugin option (default)
0.2.4
- added FaultException.canonicalEquals
Full Changelog: 0.2.3...0.2.4
0.2.3
- added FaultException
Full Changelog: 0.2.2...0.2.3