Release Notes
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
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
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