Skip to content

Releases: cufyorg/mmRPC

0.3.0 Beta 7

10 Feb 17:22

Choose a tag to compare

  • Array type definition, typealias generation

0.3.0 Beta 6

07 Feb 18:33

Choose a tag to compare

  • 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

07 Feb 16:14

Choose a tag to compare

  • optimized schema inflation
  • added builtin.elements

0.3.0 Beta 4

07 Feb 14:48

Choose a tag to compare

  • Added builtin.Void

0.3.0 Beta 2

05 Feb 12:17

Choose a tag to compare

  • Removed SpecSheet.namespaces
  • Fixed value of Comm.Http and Comm.Kafka

0.3.0 Beta 1

04 Feb 11:34

Choose a tag to compare

mmRPC 3.0.0-beta.1

  • renamed NamespaceObject.namespace to .canonicalName
  • Removed strip parameter 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

03 Feb 16:58

Choose a tag to compare

mmRPC 3.0.0-beta.0

  • Renamed module mmrpc-core to mmrpc-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 routine parameter 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 generateMMRPCKotlinSources to generateMmrpcKotlinSources
  • 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 being abstract with 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

29 Dec 04:40

Choose a tag to compare

  • generateSharedOnly() gradle plugin option
  • generateCommOnly() gradle plugin option
  • generateEverything() gradle plugin option (default)

0.2.4

06 Dec 08:27

Choose a tag to compare

  • added FaultException.canonicalEquals

Full Changelog: 0.2.3...0.2.4

0.2.3

06 Dec 07:21

Choose a tag to compare

  • added FaultException

Full Changelog: 0.2.2...0.2.3