Release Notes

    Release Notes - Apache ServiceComb - Version java-chassis-2.1.0

Bug

  • [SCB-1930] - When MicroserivceVersions.setInstances continues fail will cause OOM
  • [SCB-1931] - fix consumer flag in MicroserviceMeta
  • [SCB-1937] - fix integration test(TestAsyncInvoke) always timeout problem
  • [SCB-1976] - fix loadbalance error when v1 got a operation a and v2 do not
  • [SCB-2017] - fix invoke with appid and highway throw error

New Feature

  • [SCB-1650] - discovery schema from instancies directly
  • [SCB-1739] - separate swagger registry and dicovery from instance registry and discovery
  • [SCB-1774] - As a developer, I want to run small apllications without service-center
  • [SCB-1913] - Zero-Config Service Registry
  • [SCB-1933] - support configure multiple registries
  • [SCB-1963] - provide local registry: regitration and disovery
  • [SCB-2020] - support @Example to add examples to API

Improvement

  • [SCB-1876] - refactor: registry depends on core and core do not depend on registry
  • [SCB-1886] - use http for default service center address
  • [SCB-1891] - separate local registry and service center registry
  • [SCB-1896] - improve demo test case for testing http headers
  • [SCB-1924] - invocation context provide transport context
  • [SCB-1925] - provide a util to convert url to endpoint format
  • [SCB-1926] - enhance CommonExceptionData to include more common data
  • [SCB-1936] - change findbug dependency to provided
  • [SCB-1941] - MicroserviceMeta only need to has consumer or producer handlers, not both
  • [SCB-1945] - support zipkin with log4j2
  • [SCB-1960] - delete spring-boot-starter-discovery and spring-boot-starter-gateway
  • [SCB-1973] - fix problem in file download and config document
  • [SCB-1990] - allow disable metrics endpoints by configuration
  • [SCB-1998] - support Endpoint as a context parameter
  • [SCB-2005] - dependency update: upgrade slf4j from 1.7.26 to 1.7.30
  • [SCB-2006] - dependency update: remove log4j2 from solution-basic and upgrade from 2.12.0 to 2.13.2
  • [SCB-2009] - dependency update: remove jakarta.el dependency and make it optional
  • [SCB-2010] - dependency update: upgrade swagger-core from 1.5.22 to 1.5.24
  • [SCB-2013] - dependency update: upgrade spring framework from 5.1.8 to 5.1.14
  • [SCB-2014] - dependency update: upgrade vert.x from 3.8.3 to 3.8.5
  • [SCB-2015] - remove not used dependency management for jedis
  • [SCB-2018] - dependency update: upgrade tcnative from 2.0.28 to 2.0.31
  • [SCB-2019] - update gateway documents for zuul to use spring cloud huawei
  • [SCB-2024] - support not resolve place holder when running in spring boot

More Information

    Release Notes - Apache ServiceComb - Version java-chassis-2.0.2

Bug

  • [SCB-1823] - change kie label env to environment
  • [SCB-1824] - jacskon convertValue will convert all objects start for 2.10.*, java-chassis need not convert RestTemplate arguments
  • [SCB-1826] - remove binary release LICENSE since 3rd parties not included
  • [SCB-1837] - revert changes for SCB-1643, do not include huaweicloud jar
  • [SCB-1857] - RequestLog need to distinguish PRODUCER or CONSUMER for InvocationFinishEvent
  • [SCB-1861] - fix config kie value parsing errors
  • [SCB-1863] - config kie bug fix : toke the revision when pull from kie

New Feature

  • [SCB-1810] - create a new Dispathcer to direct forward requests to HTTP server and send response
  • [SCB-1816] - Print the instance endpoints in the end of the start up log
  • [SCB-1828] - support @JsonView
  • [SCB-1834] - add BOM for java-chassis

Improvement

  • [SCB-1822] - fix problems when using multiple consumer interface for one operation and using CseHttpEntity to set localcontext
  • [SCB-1825] - client outlog: rename item and delete README.md
  • [SCB-1830] - refactring code: Invocation carry changable data in each Invocation in a better way
  • [SCB-1831] - Loadbalancer set endpoint can use Endpoint other the literal string
  • [SCB-1840] - InvokerUtils inherit current context to support tracing and other features
  • [SCB-1845] - add TOC for java-chassis documents to make easier to search
  • [SCB-1851] - config-kie: support enable property
  • [SCB-1853] - fix problems in README.md
  • [SCB-1862] - ServiceComb add extensions to support cas env variables
  • [SCB-1866] - dependency update: jackson-datatype-jsr310 from unmanaged to 2.10.0
  • [SCB-1867] - dependency update: netty, from 4.1.45.Final to 4.1.47.Final
  • [SCB-1868] - change ISO8601DateFormat Release Notes - Apache ServiceComb - Version java-chassis-2.0.1

    Sub-task

    • [SCB-1531] - Support multiple service-center clusters
    • [SCB-1752] - accessor problem fix: LogMarkerLeakFixUtils memory leak fix
    • [SCB-1801] - fix SCB-1752
    • [SCB-1802] - add document: for servlet transport, remove log4j will cause some change
    • [SCB-1807] - update documentation for kie long polling
    • [SCB-1809] - add document for InvokerUtils usage

    Bug

    • [SCB-1787] - Http 2 idleTimeoutInSeconds is not used
    • [SCB-1793] - When use @RequestHeader(value ="xxx") and aggregatedParam at same time, it will throw null pointer exception
    • [SCB-1795] - when use query object, sdk don't support fluent setter
    • [SCB-1799] - add back servicecomb.service.registry.registerUrlPrefix

    New Feature

    • [SCB-1737] - support ISO 8601 data and time
    • [SCB-1796] - support client outlog
    • [SCB-1798] - InvokerUtils support specify response type
    • [SCB-1812] - Endpoint add new constructor to support user defined transport

    Improvement

    • [SCB-1779] - update servicecomb test cases to make run in MAC
    • [SCB-1785] - Run java-chassis in spring boot with external tomcat
    • [SCB-1786] - remove log4j dependency by default
    • [SCB-1794] - update the version of commons-beautils
    • [SCB-1800] - log4j is deprecated package, make log4j implementaions optional
    • [SCB-1803] - config-kie support long polling
    • [SCB-1814] - binary release only include java-chassis artifacts

    Task

    • [SCB-1804] - anylyse updating commons-configuration and archairus
    • [SCB-1805] - clear some unused 3rd party software and use akarta Expression Language
    • [SCB-1806] - PR TestSpringMVCObjectParamTypeRestOnly should run both for rest and highway
    • [SCB-1808] - add documentaion for using TraceIdLogger
    Release Notes - Apache ServiceComb - Version java-chassis-2.0.0

    Sub-task

    • [SCB-267] - support generic for highway
    • [SCB-1117] - change SwaggerConsumer arguments to not depend on swagger class generation
    • [SCB-1212] - change response mapper to not depend on swagger class generation
    • [SCB-1213] - swagger generator placeholder resolver not depend on spring
    • [SCB-1214] - change weak-contract-type branch version to weak-contract-type-SNAPSHOT
    • [SCB-1225] - swagger generator core not depend on create dynamic class
    • [SCB-1227] - swagger generator jaxrs not depend on create dynamic class
    • [SCB-1228] - swagger generator springmvc not depend on create dynamic class
    • [SCB-1242] - provide spring data plugin to generate swagger and deserialize
    • [SCB-1248] - ServiceRegistry manage MicroserviceMeta
    • [SCB-1252] - change element of HttpParameterType to uppercase
    • [SCB-1256] - rename ConcreteInterfaceRegister to ConcreteTypeRegister
    • [SCB-1268] - ServiceRegistry publish microservice life event and move meta back to core
    • [SCB-1269] - change SwaggerProducer arguments to not depend on swagger class generation
    • [SCB-1283] - avoid generate empty property by SwaggerDefinition
    • [SCB-1284] - operationId should not be empty
    • [SCB-1285] - enhance ResponseTypeProcessor to support extractResponseType
    • [SCB-1286] - support only generate response for a operation
    • [SCB-1290] - add swagger generator unit test case for List<List<String>>
    • [SCB-1323] - should ignore parameter of HttpServletRequest when generate swagger
    • [SCB-1324] - basePath should be a single slash when basePath not specified and annotation by RestController
    • [SCB-1327] - delete duplicated swagger definition: ExtendConst
    • [SCB-1328] - restore feature: collect java type from swagger model or property
    • [SCB-1336] - should not lost @ApiParam description when wrap parameter to body at swagger generator pojo mode
    • [SCB-1337] - should wrap enum to body at swagger generator pojo mode
    • [SCB-1338] - tiny optimize for collect primitive default value
    • [SCB-1342] - consumer should not use ArgumentsMapperDirectReuse when arg index is different
    • [SCB-1344] - use producer parameter type in producer argument mapper for wrapped body
    • [SCB-1345] - rest transport switch to weak type core
    • [SCB-1346] - only special type need convert logic
    • [SCB-1347] - tiny optimize for DefaultParameterNameProvider
    • [SCB-1348] - change SchemaLoader to SwaggerLoader
    • [SCB-1362] - microservice meta not depend on create dynamic class
    • [SCB-1625] - update license file
    • [SCB-1626] - provide interface to replace spring 5 deprecated classes
    • [SCB-1628] - change starter name
    • [SCB-1629] - documentation should cut 2.0 branch
    • [SCB-1630] - add documentation for spring boot and add samples for it
    • [SCB-1631] - add documentation to help users migrate from 1.x to 2.0
    • [SCB-1632] - Complete weak type code and merge it into master branch
    • [SCB-1635] - Recover highway tests
    • [SCB-1636] - SwaggerLoader remove the dependency on Spring utilities
    • [SCB-1637] - Fix test problem in demo
    • [SCB-1644] - add tests for different model in client and server
    • [SCB-1678] - using new proto API to serialize/deserialize Internal Objects
    • [SCB-1682] - Refactor getVendorExtensions method and add ProtoMapper to ScopedProtobufSchemaManager
    • [SCB-1683] - using new proto API to serialize/deserialize Requests/Responses
    • [SCB-1684] - add codec test cases and fix Date/LocalDate codec problem
    • [SCB-1692] - deserialize arguments in map with arguments actual types
    • [SCB-1693] - invocation args change from array to map
    • [SCB-1703] - Highway transport switch to new codec APIs and turn on highway transport
    • [SCB-1704] - change invocation arguments from "swagger arguments" to "invocation arguments"
    • [SCB-1706] - mapper arguments in codec phase for REST
    • [SCB-1709] - restore arguments mappers and refactor to invocation argument types
    • [SCB-1713] - Invocation carries both invocation arguments and swagger arguments
    • [SCB-1714] - highway support different models and arguments types in consumer and provider
    • [SCB-1722] - add generics test case and fix know problems
    • [SCB-1725] - turn on integration tests of highway
    • [SCB-1726] - fix all TODOs in springmvc demo(integration tests)
    • [SCB-1727] - support encode/decode Object(Any) types
    • [SCB-1728] - support response headers in Response type
    • [SCB-1730] - highway support primitive default values and convert char/byte/short
    • [SCB-1732] - support inheritance schema definition
    • [SCB-1734] - add a test case for bean with aXXX property and documents
    • [SCB-1744] - separate primitive descriptorParamType from non primitive
    • [SCB-1745] - remove accessor modifier in reflection
    • [SCB-1746] - add docs for SCB-1745 of changes
    • [SCB-1749] - fix OperationConfig setter problem
    • [SCB-1750] - remove usage of javax.xml.ws.Holder
    • [SCB-1755] - add JavaBeans Activation Framework implicitly
    • [SCB-1758] - add document links to older versions
    • [SCB-1759] - fix first sample link error
    • [SCB-1761] - import document of porter application to java-chassis doc
    • [SCB-1762] - change gitbook to mkdoc
    • [SCB-1764] - add porter appliation to docs
    • [SCB-1765] - create a mirror for github pages for better access of china
    • [SCB-1766] - add documents for kie, nacos, appollo integration
    • [SCB-1771] - change project version to 2.0.0
    • [SCB-1772] - fix javadoc compile error

    Bug

    • [SCB-1310] - @RequestPart should use MultipartFile instead of string
    • [SCB-1489] - Micro-service instance wouldn't work after we shotdown our service center for updating while we had enable RSA authentication between services.
    • [SCB-1546] - fix wrong code for sample
    • [SCB-1601] - Abandon waiting 30 seconds after waiting request timeout.
    • [SCB-1638] - servicecenter do not handle websocket PONG message
    • [SCB-1710] - The scheduled tasks in RemoteServiceRegistry may be interrupted by exception
    • [SCB-1715] - IdleTimeout not work in client side without keepaliveTimeout set
    • [SCB-1716] - High CPU load when there are too many instances
    • [SCB-1717] - Return nothing when file upload exception occurs
    • [SCB-1740] - RouterInvokeFilter beforeSendResponseAsync return null and cause server hang without any information
    • [SCB-1747] - fix long file name problems
    • [SCB-1763] - upgrade netty and tcnative

    New Feature

    • [SCB-102] - As a developer, I want to work in reactive mode to improve performance
    • [SCB-265] - Support generic type in input parameter or response type
    • [SCB-279] - As a developer, I need to build edge service to open my microservices to the external users
    • [SCB-1499] - support servicecomb kie
    • [SCB-1550] - Add a sample Java client of ServiceComb-Kie
    • [SCB-1565] - add a Java client of servicecomb-service-center
    • [SCB-1566] - add README.md for 中文
    • [SCB-1615] - Extended dynamic configuration support for Nacos
    • [SCB-1624] - remove spring 4 & spring boot 1 support for java-chassis
    • [SCB-1643] - add a slution to integrate with huaweicloud
    • [SCB-1649] - RestTemplate result can use a different model than provider
    • [SCB-1674] - Highway transport not dependent on class generation
    • [SCB-1711] - suppot kie as config source in java-chassis
    • [SCB-1757] - prepare and improment documents for java-chassis 2.0

    Improvement

    • [SCB-1557] - Fix application start info log incorrect
    • [SCB-1567] - move java-chassis samples to servicecomb-samples project
    • [SCB-1574] - Add README for Kie-Client
    • [SCB-1575] - Add README for Service-Center-Client
    • [SCB-1582] - Upgrading thirdparty dependency versions
    • [SCB-1588] - ServerListFilterExt add switch
    • [SCB-1592] - upgrade vert.x and netty
    • [SCB-1610] - add updateInstanceStatus to ServiceRegistryClient.java
    • [SCB-1616] - refactor edge dispatcher to make them more extensible
    • [SCB-1623] - when timeout, return 500 error code and message is timeout
    • [SCB-1666] - improve documents for file uploading / downloading
    • [SCB-1705] - Update javax.servlet to jakarta.servlet
    • [SCB-1708] - add inspector module developer guide
    • [SCB-1767] - adjust nacos config name
    • [SCB-1773] - fix javadoc error: doclink all docs and add comments to APIs

    Task

    • [SCB-1559] - Use java.time.Clock instead of java.lang.System#currentTimeMillis to get time
    • [SCB-1770] - release java-chassis 2.0.0
    Release Notes - Apache ServiceComb - Version java-chassis-1.3.0

    Bug

    • [SCB-1304] - FallbackPolicy interface support returns an exception
    • [SCB-1305] - CseAsyncRestTemplate is not support set headers
    • [SCB-1306] - When the request body of VertxServerRequestToHttpServletRequest is modified, the field VertxServerRequestToHttpServletRequest#inputStream should be set to null
    • [SCB-1318] - There may be memory leak in RSAProviderTokenManager
    • [SCB-1390] - quick start java-chassis samples bmi has some errors
    • [SCB-1475] - ServiceCombServerStats.getFailedRate may arise an  exception of java.lang.ArithmeticException: / by zero under concurrency scenarios
    • [SCB-1511] - when use method override, the generated swagger body is wrong
    • [SCB-1513] - merge config items according to priority
    • [SCB-1520] - using RPC and when first paramter type is Object, the second parameter value will be null
    • [SCB-1543] - java-chassis dependency structure is wrong and compile fail in clean environment

    Improvement

    • [SCB-1274] - when service center is unavailable, service should enter safe mode.
    • [SCB-1278] - ServiceComb related headers are not exposed to 3rd party services by default
    • [SCB-1287] - refactor edge dispatcher to make them more extensible
    • [SCB-1291] - Support rest interface method overriding by @ApiOperation
    • [SCB-1297] - Print warn log about config resolving failure while fetching config from Spring Environment
    • [SCB-1308] - Improve instance isolation mechanism
    • [SCB-1392] - If Multiple java bean param types are given the same name by using @ApiModel, there should be error tips in microservice's booting log
    • [SCB-1402] - BeanUtils.getImplClassFromBean can not return correctly info in cglib proxy situation
    • [SCB-1405] - support maxWaitQueueSize setting in RestTransportClient
    • [SCB-1407] - Add new field when print provideCache log
    • [SCB-1431] - set all dependency version as properties in java-chasis-dependencies
    • [SCB-1434] - add a springboot2 archetype
    • [SCB-1437] - Upgrading third party dependency versions
    • [SCB-1448] - support class inheritance and interface inheritance with template type
    • [SCB-1450] - Microservice instance may get stuck when watch connection to sc is recovered and pulling instance action is executed in eventloop thread
    • [SCB-1451] - Printing the service information on the log
    • [SCB-1457] - delete no use code in ProtobufManager
    • [SCB-1461] - servicecomb.service.registry.client.workerPoolSize hasn't display the real role that it has announce by its name.
    • [SCB-1462] - Two properties has been required by fix SCB-1450.
    • [SCB-1488] - Upgrading protobuf version to 3.7.1
    • [SCB-1492] - Allow users to custom the ObjectMapper used in Swagger schema generation
    • [SCB-1494] - Optimizing log when starting a new microservice
    • [SCB-1515] - use jdk 8 compiler for the Travis-CI of java-chassis
    • [SCB-1516] - Upgrade third-party dependency versions
    • [SCB-1522] - Add "Why use Java Chassis" introduction into README
    • [SCB-1523] - Stopping retrying another server when no server available
    • [SCB-1524] - support register schema when old schema already exists
    • [SCB-1525] - print codec error stack
    • [SCB-1528] - Optimizing some code implementations
    • [SCB-1544] - default metrics printer should not print 0 operations