Skip to main content

25 posts tagged with "Apache ShenYu"

View All Tags

· 6 min read

Apache ShenYu

Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.

website: https://shenyu.apache.org

GitHub: https://github.com/apache/shenyu

Version preview

Three months later, Apache ShenYu released version 2.7.0.3. This version merged 77 pull requests, added 29 new features, and made several improvements, refactored many functions, and fixed several bugs. Version history: https://github.com/apache/shenyu/compare/v2.7.0.2...v2.7.0.3

What's Changed

  • feat(ut): add some tests by @yuluo-yx in #6105
  • [type: release] 2.7.0.2 release by @Aias00 in #6111
  • Bugfix: NacosConfig Test error by @Wweiei in #6116
  • Bugfix: MCP server plugin requestConfig too long by @Wweiei in #6115
  • fix: fix redisRateLimiter type cast error, for #6103 by @yuluo-yx in #6120
  • [fix] EtcdInstanceRegisterRepositoryTest run error by @Wweiei in #6127
  • Update comment to English in pom.xml by @yuluo-yx in #6128
  • fix: ShenyuBootstrapApplication run failed when using Nacos data sync by @Wweiei in #6124
  • fix: increase default timeout and improve error handling in MCP tools by @Aias00 in #6131
  • fix: replace deprecated Base64 class with java.util.Base64 by @Aias00 in #6132
  • sync dashboard by @Wweiei in #6133
  • Fix the issue where the cache is not properly deleted after removing a selector in the Nacos data synchronization method. by @17661152 in #6140
  • feat(ut): add shenyu-registry-api unit test by @yuluo-yx in #6135
  • feat: refactor registry reserved keyword fields by @Wweiei in #6139
  • feat: add sync data api unit test by @yuluo-yx in #6142
  • chore: update chinese comment to english and add license by @yuluo-yx in #6146
  • feat: refactor selector reserved keyword fields by @Wweiei in #6141
  • chore: translate zh to en by @yuluo-yx in #6149
  • [type:optimize] Optimize instance comparison logic in EurekaInstanceRegisterRepository by @yqw570994511 in #6154
  • [feat] refactor rule reserved keyword fields by @Wweiei in #6147
  • chore: translate zh to en by @yuluo-yx in #6151
  • [type:optimize] Optimize instance comparison logic in NacosInstanceRegisterRepository by @yqw570994511 in #6153
  • feat: Add more friendly prompt information to facilitate debugging by @yuluo-yx in #6157
  • test: add more test for FallbackShenyuClientRegisterService by @yuluo-yx in #6155
  • feat: adaptor other db for tag and appAuth by @yuluo-yx in #6152
  • [feat] mcpServer support object and array param. by @Wweiei in #6150
  • feat: sync dashboard by @Wweiei in #6160
  • Modify the test data of the sample test MotanPluginTest by @ywwana in #6164
  • [fix] fix data sync bug by @ywwana in #6165
  • [feat] motan plugin config based on selector by @478320 in #6058
  • chore: fix typo by @yuluo-yx in #6172
  • [type:fix] fix_e2e_kafka by @xcsnx in #6170
  • chore: add new line by @yuluo-yx in #6171
  • [fix] AiResponseTransformerPluginTest run error by @Wweiei in #6169
  • [feat] refactor reserved keyword fields for discovery_upstream table by @Wweiei in #6167
  • [type:fix] fix oracle schema.sql by @eye-gu in #6162
  • [feat] Gateway and client status management by @xchoox in #6057
  • [feat]: shenyu mcp plugin auto register by @478320 in #6163
  • [feat] cache plugin config based on selector by @478320 in #6068
  • feat: Ai Proxy enhanced with SpringAI & Fallback & Proxy apikey by @fantasy-lotus in #6145
  • [type:fix] fix init sql by @eye-gu in #6176
  • fix some bug of mcp-auto-register by @478320 in #6180
  • feat: ai proxy replace old with enhanced by @fantasy-lotus in #6174
  • fix shenyu-registry-nacos : modify nacos instance check. by @BraveheartStone in #6178
  • fix: doSelectMaster by @fantasy-lotus in #6185
  • fix: fix shenyu-sync-data-http sync password error by @yuluo-yx in #6181
  • feat: ai proxy sync dashboard by @fantasy-lotus in #6186
  • [fix] The "name" field of TagVO has been changed by @Wweiei in #6190
  • feat: adapt other db for discovery sql fields by @yuluo-yx in #6166
  • chore(deps): bump org.apache.zookeeper:zookeeper from 3.9.3 to 3.9.4 by @dependabot[bot] in #6183
  • [type:feat] add unit test by @xchoox in #6182
  • [feat] loggingRabbitMQ plugin config based on selector by @478320 in #6059
  • [feat] sofa plugin config based on selector by @478320 in #6062
  • [feat]: loggingKafka plugin config based on selector by @478320 in #6074
  • [type:optimize] Optimize LogCollectUtils by @liangjh98 in #6191
  • [type:feat] Change bootstrap heartbeat reporting by @xchoox in #6187
  • [type:feat] HTTP and WebSocket synchronous mode supports heartbeat detection by @xchoox in #6179
  • feat: add shenyu-register-client-api unit test by @yuluo-yx in #6192
  • [feat] github ci by @Aias00 in #6031
  • infra: add auto notify GHA when issue is created by @yuluo-yx in #6198
  • feat: add shenyu-register-client-beat module unit test by @yuluo-yx in #6193
  • infra: add issue label manager GHA by @yuluo-yx in #6197
  • [feat] mvnd by @Aias00 in #6041
  • [ISSUE #6144] This issue was fixed because when discovering downstream services via Nacos, the old IP address would overwrite the new IP address after the downstream service restarted. This caused the error "Can not find healthy upstream URL, please check your configuration!" when calling downstream services via Shenyu. by @BraveheartStone in #6201
  • [fix] the path truncation of get requests set by shenyuContext in MCP Server by @MaMengzhen in #6209
  • fix: When there are multiple indices under the alias shenyu-access-lo… by @wusuobuzai in #6203
  • Fix typo in active committers list by @yuluo-yx in #6205
  • feat: add shenyu-registry-k8s module unit test by @yuluo-yx in #6206
  • fix: remove unnecessary mock return value in MotanProxyServiceTest by @Aias00 in #6210
  • feat(ci): replace prow action with local issue-manager script by @yuluo-yx in #6211
  • Mcp auto register bug fix by @478320 in #6212
  • feat: mcp server autoRegister enhance by @478320 in #6213
  • fix: The use of outdated dependencies due to mvnd cache by @478320 in #6217
  • Fix the issue of multiple selectors connecting to different registry centers by @yunlongn in #6218
  • feat: import mcp server config by swagger doc by @478320 in #6219
  • refactor: extract base data for plugin, selector and rule data class by @yuluo-yx in #6215
  • feat: remove shenyu-infra-x-module by @yuluo-yx in #6216
  • chore: fix typos in some files by @khanhkhanhlele in #6224
  • fix: shenyu-examples-mcp by @478320 in #6226
  • Fix shenyu mcp bugs by @478320 in #6227
  • chore: update LICENSE with new dependencies and versions by @Aias00 in #6234

New Contributors

  • @17661152 made their first contribution in #6140
  • @xchoox made their first contribution in #6057
  • @BraveheartStone made their first contribution in #6178
  • @liangjh98 made their first contribution in #6191
  • @MaMengzhen made their first contribution in #6209
  • @wusuobuzai made their first contribution in #6203
  • @khanhkhanhlele made their first contribution in #6224

Become a contributor

We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!

See the contributor guidelines:

https://shenyu.apache.org/zh/community/contributor-guide

· 5 min read

Apache ShenYu

Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.

website: https://shenyu.apache.org

GitHub: https://github.com/apache/shenyu

Version preview

Three months later, Apache ShenYu released version 2.7.0.2, which submitted a total of 54+ Pull requests, added about 19+ new features, added several enhancements, refactored several features, and fixed several bugs. A total of 20 contributors participated, with a cumulative total of 411+ contributors.

version records: https://github.com/apache/shenyu/compare/v2.7.0.1...v2.7.0.2

What's Changed

New Contributors

Become a contributor

We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!

See the contributor guidelines:

https://shenyu.apache.org/zh/community/contributor-guide

· 6 min read

Apache ShenYu

Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.

website: https://shenyu.apache.org

GitHub: https://github.com/apache/shenyu

Version preview

Three months later, Apache ShenYu released version 2.7.0.1, which submitted a total of 72+ Pull requests, added about 17+ new features, added several enhancements, refactored several features, and fixed several bugs. A total of 32 contributors participated, with a cumulative total of 403+ contributors.

version records: https://github.com/apache/shenyu/compare/v2.7.0...v2.7.0.1

What's Changed

New Contributors

Become a contributor

We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!

See the contributor guidelines:

https://shenyu.apache.org/zh/community/contributor-guide

· 9 min read

Apache ShenYu

Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.

website: https://shenyu.apache.org

GitHub: https://github.com/apache/shenyu

Version preview

Six months later, Apache ShenYu released version 2.7.0, which submitted a total of 254+ Pull requests, added about 17+ new features, added several enhancements, refactored several features, and fixed several bugs. A total of 61 contributors participated, with a cumulative total of 350+ contributors.

version records: https://github.com/apache/shenyu/compare/v2.6.1...v2.7.0

✨ New Features

1.Upgrade dockerfile java runtime version 8 to 17

specific pr please see: https://github.com/apache/shenyu/pull/5374

2.Upgrade SpringBoot to 3.x

specific pr please see: https://github.com/apache/shenyu/pull/5583

3.Support ShenYu Admin Cluster

specific pr please see: https://github.com/apache/shenyu/pull/5544

https://github.com/apache/shenyu/pull/5592

4.Upgrade checkstyle plugin to 3.4.0

specific pr please see: https://github.com/apache/shenyu/pull/5614

5.Datasource support OceanBase

specific pr please see: https://github.com/apache/shenyu/pull/5617

6.Supports batch modification of selector/rule status

specific pr please see: https://github.com/apache/shenyu/pull/5499

7.Supports batch modification of PathAuth status

specific pr please see: https://github.com/apache/shenyu/pull/5488

8.Upgrade apache dubbo version

specific pr please see: https://github.com/apache/shenyu/pull/5527

9.Support Contribute with Gitpod

specific pr please see: https://github.com/apache/shenyu/pull/5610

10.Support Configs Export And Import

specific pr please see: https://github.com/apache/shenyu/pull/5474

11.Add shenyu client heartbeat

specific pr please see: https://github.com/apache/shenyu/pull/5659

12.Support Namespace

the specific use please see: https://shenyu.apache.org/docs/user-guide/admin-usage/namepsace

specific pr please see: https://github.com/apache/shenyu/pull/5584

https://github.com/apache/shenyu/pull/5715

https://github.com/apache/shenyu/pull/5716

https://github.com/apache/shenyu/pull/5719

https://github.com/apache/shenyu/pull/5729

https://github.com/apache/shenyu/pull/5734

https://github.com/apache/shenyu/pull/5735

https://github.com/apache/shenyu/pull/5740

https://github.com/apache/shenyu/pull/5746

https://github.com/apache/shenyu/pull/5757

https://github.com/apache/shenyu/pull/5760

https://github.com/apache/shenyu/pull/5765

https://github.com/apache/shenyu/pull/5769

https://github.com/apache/shenyu/pull/5771

https://github.com/apache/shenyu/pull/5779

https://github.com/apache/shenyu/pull/5786

https://github.com/apache/shenyu/pull/5790

https://github.com/apache/shenyu/pull/5798

https://github.com/apache/shenyu/pull/5799

https://github.com/apache/shenyu/pull/5823

https://github.com/apache/shenyu/pull/5847

https://github.com/apache/shenyu/pull/5857

13.Support k8s dynamically scale

specific pr please see: https://github.com/apache/shenyu/pull/5686

14.Invalidate Previous Tokens on New Login by Implementing Client ID Validation

specific pr please see: https://github.com/apache/shenyu/pull/5600

15.Support for gray release in divide-plugin

specific pr please see: https://github.com/apache/shenyu/pull/5763

16.Support Kubernetes registry

specific pr please see: https://github.com/apache/shenyu/pull/5769

⚡ Enhancement

1.Add rocketmq logging e2e test

specific pr please see: https://github.com/apache/shenyu/pull/5439

2.Enhance metrics-ratelimiter collect

specific pr please see: https://github.com/apache/shenyu/pull/5461

3.Enhance metrics collection for Sentinel, Resilience4j, and Hystrix

specific pr please see: https://github.com/apache/shenyu/pull/5468

4.Arrange sofa common tools dependencies

specific pr please see: https://github.com/apache/shenyu/pull/5609

6.Add missing license

specific pr please see: https://github.com/apache/shenyu/pull/5503

7.Set up callback for send message on Kafka

specific pr please see: https://github.com/apache/shenyu/pull/5748

8.Use the loadbalance configuration from metadata for Dubbo

specific pr please see: https://github.com/apache/shenyu/pull/5806

9.Add non null validation for upstream which obtained from select

specific pr please see: https://github.com/apache/shenyu/pull/5804

10.Set timeout which from rule handle to dubbo rpc context

specific pr please see: https://github.com/apache/shenyu/pull/5778

11.Publish event when enable selector and rule

specific pr please see: https://github.com/apache/shenyu/pull/5762

12.Remove closed session from the NAMESPACE_SESSION_MAP

specific pr please see: https://github.com/apache/shenyu/pull/5734

13.Add test case for ShenyuClientURIExecutorSubscriber

specific pr please see: https://github.com/apache/shenyu/pull/5413

14.Add test case for ShenyuClientIllegalArgumentException

specific pr please see: https://github.com/apache/shenyu/pull/5408

15.Add test case for ShenyuClientRegisterEventPublisher

specific pr please see: https://github.com/apache/shenyu/pull/5417

16.Add test case for ShenyuClientMetadataExecutorSubscriber

specific pr please see: https://github.com/apache/shenyu/pull/5404

17.Add test case for AbstractWasmPluginDataHandler

specific pr please see: https://github.com/apache/shenyu/pull/5451

18.Add test case for ShenyuClientRegisterRepositoryFactoryTest

specific pr please see: https://github.com/apache/shenyu/pull/5443

19.Add test case for AbstractWasmDiscoveryHandler

specific pr please see: https://github.com/apache/shenyu/pull/5453

20.Upgrade sofa rpc version support

specific pr please see: https://github.com/apache/shenyu/pull/5526

21.Add header key of Sign plugin to CrossFilter config

specific pr please see: https://github.com/apache/shenyu/pull/5627

22.Encrypt the password

specific pr please see: https://github.com/apache/shenyu/pull/5436

23.Add AbstractShenyuWasmPluginTest

specific pr please see: https://github.com/apache/shenyu/pull/5450

24.RewritePlugin/ContextPathPlugin supports across application and plugin

specific pr please see: https://github.com/apache/shenyu/pull/5438

25.Remove duplicate path check

specific pr please see: https://github.com/apache/shenyu/pull/5514

26.Remove Alibaba Dubbo Support

specific pr please see: https://github.com/apache/shenyu/pull/5500

27.Support docker env set http path

specific pr please see: https://github.com/apache/shenyu/pull/5833

28.Add some code refactor improve

specific pr please see: https://github.com/apache/shenyu/pull/5613

29.Support get token from cookie\header\param

specific pr please see: https://github.com/apache/shenyu/pull/5547

30.Make the default value of ShenyuDubboService annotation equal to that of DubboService annotation

specific pr please see: https://github.com/apache/shenyu/pull/5816

31.Add db script into admin package

specific pr please see: https://github.com/apache/shenyu/pull/5724

32.Get rid of the dead code and add some improvements

specific pr please see: https://github.com/apache/shenyu/pull/5849

https://github.com/apache/shenyu/pull/5803

https://github.com/apache/shenyu/pull/5789

33.MotanServiceEventListenerTest case optimization

specific pr please see: https://github.com/apache/shenyu/pull/5745

34.Delete duplicate maven in shenyu-registry-eureka.xml

specific pr please see: https://github.com/apache/shenyu/pull/5836

35.Jwt dependency updated

specific pr please see: https://github.com/apache/shenyu/pull/5480

36.Print plugin execute time

specific pr please see: https://github.com/apache/shenyu/pull/5437

37.Discovery Local support upstream health check in Admin

specific pr please see: https://github.com/apache/shenyu/pull/5596

38.Close rule cache

specific pr please see: https://github.com/apache/shenyu/pull/5589

39.Less concurrency

specific pr please see: https://github.com/apache/shenyu/pull/5587

40.Optimize logic to avoid "orElse" execution,Update VersionTwoExtractor.java

specific pr please see: https://github.com/apache/shenyu/pull/5415

♻️ Refactor

1.Admin distributed lock by spring-integration-jdbc

specific pr please see: https://github.com/apache/shenyu/pull/5457

2.Refactor beanUtils

specific pr please see: https://github.com/apache/shenyu/pull/5497

3.Remove macos ci

specific pr please see: https://github.com/apache/shenyu/pull/5559

4.Update logging plugin DataBuffer deprecated method

specific pr please see: https://github.com/apache/shenyu/pull/5620

5.Modify e2e k8s to docker compose

specific pr please see: https://github.com/apache/shenyu/pull/5710

6.Migrate Admin swagger from springfox to springdoc

specific pr please see: https://github.com/apache/shenyu/pull/5630

7.Refactor springcloud plugin

specific pr please see: https://github.com/apache/shenyu/pull/5695

8.Refactor some code

specific pr please see: https://github.com/apache/shenyu/pull/5568

9.Delete SO_SNDBUF & SO_RCVBUF

specific pr please see: https://github.com/apache/shenyu/pull/5502

10.Refactor shenyu-sync-data-http : replace log %s -> .

specific pr please see: https://github.com/apache/shenyu/pull/5465

11.Optimizing the node type listener

specific pr please see: https://github.com/apache/shenyu/pull/5435

12.Refactor plugin lifecycle

specific pr please see: https://github.com/apache/shenyu/pull/5432

13.Adjust code order and remove invalid input parameters

specific pr please see: https://github.com/apache/shenyu/pull/5397

🐛 Bug Fix

1.Fix duplicate header for request plugin

specific pr please see: https://github.com/apache/shenyu/pull/5846

2.Fix proxy.selector and discovery not delete when delete divide selector

specific pr please see: https://github.com/apache/shenyu/pull/5845

3.Fix LoggingPlugin error log catch

specific pr please see: https://github.com/apache/shenyu/pull/5842

4.Fix logging plugin sample bug

specific pr please see: https://github.com/apache/shenyu/pull/5429

5.Fix memory overflow

specific pr please see: https://github.com/apache/shenyu/pull/5407

6.Fix rewrite integrated test

specific pr please see: https://github.com/apache/shenyu/pull/5445

7.Fix AbstractWasmPluginDataHandlerTest

specific pr please see: https://github.com/apache/shenyu/pull/5464

8.Fix missing PRIMARY KEY in sql-script/h2/schema.sql

specific pr please see: https://github.com/apache/shenyu/pull/5481

9.Fix Data dictionary page data sorting exception

specific pr please see: https://github.com/apache/shenyu/pull/5483

10.FIx doc error

specific pr please see: https://github.com/apache/shenyu/pull/5505

11.Resolve dashboard routing mismatch post context-path update

specific pr please see: https://github.com/apache/shenyu/pull/5510

12.Fix etcd sync config problem

specific pr please see: https://github.com/apache/shenyu/pull/5535

13.Fix consul sync problem

specific pr please see: https://github.com/apache/shenyu/pull/5546

14.Fix the bug of being unable to query without registration

specific pr please see: https://github.com/apache/shenyu/pull/5578

15.Fix Plugin Edit Page Issue by Correcting Plugin ID Query and Updating Data Type

specific pr please see: https://github.com/apache/shenyu/pull/5622

16.Fix class AdminConstants has word spelling error

specific pr please see: https://github.com/apache/shenyu/pull/5637

17.Fix shenyu-examples-springmvc start failed

specific pr please see: https://github.com/apache/shenyu/pull/5664

18.Fix dashboard menu children sort not working problem

specific pr please see: https://github.com/apache/shenyu/pull/5691

19.Fix ShenyuApacheDubboXmlProviderApplication config

specific pr please see: https://github.com/apache/shenyu/pull/5811

20.Fix data sync dataId for proxy selector and discovery is not unique

specific pr please see: https://github.com/apache/shenyu/pull/5783

21.Filter disable dict option

specific pr please see: https://github.com/apache/shenyu/pull/5776

22.Fix SpringCloudParser MetaData null data

specific pr please see: https://github.com/apache/shenyu/pull/5737

23.Fix client register validation

specific pr please see: https://github.com/apache/shenyu/pull/5764

24.Config dubbo serialize-check-status=DISABLE

specific pr please see: https://github.com/apache/shenyu/pull/5756

25.Fix example TestApacheDubboXmlApplication start failed

specific pr please see: https://github.com/apache/shenyu/pull/5754

26.Fix the nacos data sync model missing the contextPath configuration

specific pr please see: https://github.com/apache/shenyu/pull/5722

27.Fix SPI create non singleton objects in multi-threaded scenarios

specific pr please see: https://github.com/apache/shenyu/pull/5713

28.Fix BadSqlGrammarException

specific pr please see: https://github.com/apache/shenyu/pull/5707

29.Fix ListUtil->merge exception

specific pr please see: https://github.com/apache/shenyu/pull/5642

30.Fix metaData disable not filtered

specific pr please see: https://github.com/apache/shenyu/pull/5638

31.Fix divide logging request method

specific pr please see: https://github.com/apache/shenyu/pull/5607

32.Fix e2e chunk header error

specific pr please see: https://github.com/apache/shenyu/pull/5593

33.Fix cookie error and sql check

specific pr please see: https://github.com/apache/shenyu/pull/5567

34.Fixed NPE issue

specific pr please see: https://github.com/apache/shenyu/pull/5539

https://github.com/apache/shenyu/pull/5530

35.Fix Invalid path error

specific pr please see: https://github.com/apache/shenyu/pull/5533

36.Fix hot load issue

specific pr please see: https://github.com/apache/shenyu/pull/5509

37.Fix e2e test case can not run wget command

specific pr please see: https://github.com/apache/shenyu/pull/5519

38.Fix fallback issue

specific pr please see: https://github.com/apache/shenyu/pull/5496

39.Resolve the sql error in rule-sqlmap.xml

specific pr please see: https://github.com/apache/shenyu/pull/5644

40.Fix readYmlBuildRepository NPE

specific pr please see: https://github.com/apache/shenyu/pull/5819

41.Fix nacos cannot be registered in the Shenyu-examples-SpringCloud project

specific pr please see: https://github.com/apache/shenyu/pull/5825

42.Fix springCloud ruleData path setting didn't used

specific pr please see: https://github.com/apache/shenyu/pull/5841

https://github.com/apache/shenyu/pull/5843

43.Fix shenyu-plugin-logging-elasticsearch : modify setIndexName of ElasticSearchLogConfig

specific pr please see: https://github.com/apache/shenyu/pull/5830

44.Fix Not first offline from the gateway when stopping service

specific pr please see: https://github.com/apache/shenyu/pull/5507

45.Fix k8s liveness probe can not run wget command error

specific pr please see: https://github.com/apache/shenyu/pull/5513

46.Fix AbstractNodeDataSyncService load discoverUpstream on startup

specific pr please see: https://github.com/apache/shenyu/pull/5473

Contributors

Special thanks to the following contributors for their support and participation in the '2.7.0' release (in no particular order).

0xmkzt,Divyansh200102,IceFoxs,JJellyfish,Kerwin Bryant,M.G. Ting,Misaya295,NanMu,Qi Xu,RayayChung,Ricco Chen,Sinsy, VampireAchao,WindSearcher,Wweiei,Yu Siheng,aias00,caaaaaat,crazyStar,crudboy,dragon-zhang,dyjxg4xygary,dyp314417995, eye-gu,frank,hdgaadd,hql0312,j@ckzh0u,jerbo99,loongs-zhang,mmengLong,moremind,po-168,tomsun28,ttfont,wlngo,wyfvsfy, xcsnx,xiangqianZ,xiaoyu,yunlongn,ywwana,zhengke zhou,zhengpeng,ywj1352

Become a contributor

We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!

See the contributor guidelines:

https://shenyu.apache.org/zh/community/contributor-guide

· 4 min read

Personal Introduction

First Encounter with Apache ShenYu Gateway

When I first came into contact with Apache ShenYu, I was involved in development work with the Dromara community. At that time, Yu Xiao (the founder and VP of Apache ShenYu) initiated a frontend development request within the community. Since I was familiar with the React technology used by ShenYu, I decided to join the contributors. Although I was not a direct user of ShenYu, contributing my frontend skills to the community felt like a very natural choice.

The Path of Open Source Contribution

During my contributions to the ShenYu project, I gradually clarified my direction and deepened my understanding of the project structure by reading the source code. In this process, I actively submitted code and performed fixes. Here are some of my contributions to the ShenYu project:

ShenYu

13 commits
6,084 ++ 2,379 --

  • Feature Development: Implemented client ID validation to invalidate old tokens on new login (#5600)
  • Feature Addition: Added menu buttons and permissions for the alert module (#5156)
  • Testing Expansion: Added unit test cases for PortUtils.findPort (#4604)
  • Default Configuration Improvement: Set NettyClient as the default HttpClient (#5200)
  • Bug Fix: Fixed routing mismatch issues due to context-path updates (#5510)
  • Time Format Correction: Resolved LocalDateTime formatting issues in the alert module (#5180)

ShenYu Dashboard

27 commits
1,780 ++ 402 --

  • Feature Development: Enabled token invalidation on new login to enhance security (#467)
  • New Feature: Added namespace selection for common components (#462)
  • Security Enhancement: Required verification code after multiple incorrect password attempts (#465)
  • UI Optimization: Removed unnecessary admin info edit buttons to simplify the interface (#463)
  • Batch Operation Support: Added batch enable/disable functionality for selectors and rules (#452)
  • User Experience Improvement: Enhanced the JSON editor experience (#374)
  • Performance Optimization: Improved React lifecycle management to boost Dashboard responsiveness (#369)
  • Module Improvement: Key optimizations for the alert module (#346)
  • Integration Enhancement: Integrated management interface and functions for the alert module (#333)
  • Parameter Management: Automatically use default parameters from documentation when API request parameters are missing (#332)
  • Documentation Standardization: Unified API documentation format and fixed multiple integration issues (#303)
  • Documentation Improvement: Comprehensive optimization of API documentation (#301)
  • Navigation Feature: Added system and resource search functionality in menu navigation (#279)
  • Routing Fix: Corrected routing mismatch issues after context-path updates (#428)
  • Tag Management: Resolved issues with tag deletion in the alert module (#377)
  • Deletion Confirmation: Added confirmation step for API tag deletion to prevent accidental deletions (#375)
  • Page Error Fix: Fixed proxy page errors caused by component mounting (#351)
  • Query Rendering Fix: Resolved query rendering issues in HeadersEditor (#331)

Community Participation and Growth

By participating in ShenYu's community meetings and contributing code, I not only improved my technical skills but also learned how to collaborate more effectively in open source projects. Working with community members gave me a deep appreciation for the openness and inclusiveness of the open source community.

Advice for Open Source Developers

For developers looking to join open source projects, my advice is: start with small tasks and don't be afraid of the small things. As long as it contributes to the project, every contribution will be valued by the community. Continuously learn and keep trying, and you will eventually find the contribution path that suits you.

Contributing to ShenYu Together

If you want to contribute to Apache ShenYu, you can start with the following:

Conclusion

Being nominated as a ShenYu Committer is a significant milestone for me. I will continue to contribute to ShenYu and look forward to more developers joining us to drive ShenYu's development forward.

· 4 min read

Personal Introduction

Name: Liu Hongyu

GitHub: https://github.com/Aias00/

Email: liuhongyu@apache.org

First Encounter with Apache ShenYu Gateway

I first came across the Apache ShenYu Gateway during a business transformation project at my company when we were evaluating gateway technologies. At that time, Apache ShenYu was still in the Apache Incubator. Compared to other similar products, Apache ShenYu offered a user-friendly control management interface, rich plugin features, and a perfect match with our technology stack. The active community was the icing on the cake, making Apache ShenYu our ultimate choice for the gateway solution. It has been widely used in various business scenarios since then.

The Journey of Open Source Contributions

As I applied Apache ShenYu in my work, I gradually went from a simple user to a deep understanding of the system. In order to solve some potential problems and customize some business plugins, I started reading ShenYu's source code and learning its design ideas and implementation principles.

After Apache ShenYu graduated from the Incubator, I aspired to transition from a regular user to a contributor and make some contributions to the ShenYu community.

I started by reading the contributor guide, subscribing to the developer mailing list, and following the ShenYu GitHub repository to check issues and pull requests.

After reading a few issues, I found one about supplementing unit tests, so I decided to give it a try. I forked the ShenYu repository, cloned it locally, modified the unit test content, and submitted a pull request. This PR was merged quickly, marking my first contribution to the ShenYu community.

When I saw my code merged into the main branch, I was overwhelmed with excitement. This experience solidified my determination to "become a ShenYu Committer."

Subsequently, I started to delve deeper into the project by reading documents and source code, as well as participating in bi-weekly meetings. I started with simple issue tasks, continuously learning, and gradually took on more challenging tasks. My main contributions include:

  • Added batch import and export functionality for configurations
  • Upgraded the Sofa Rpc version
  • Removed Alibaba Dubbo dependency
  • Upgraded the Apache Dubbo version
  • Upgraded from JDK8 to JDK17 in collaboration with community partners
  • Fixed some issues encountered during GitHub pipeline execution
  • Added Shenyu Admin cluster functionality
  • Upgraded the SpringBoot version
  • Developed the KubeSphere extension for Apache ShenYu

Community Participation and Growth

Apache ShenYu contributors have a fixed online meeting every other Thursday evening. The meeting mainly discusses features in the Roadmap and some issues raised by the community. At the same time, we can also speak freely if we have any questions or ideas.

In these meetings, I met many partners who are passionate about open source. Through meeting discussions and task assignments, I continuously learn new knowledge and have the opportunity to contribute my strength to the community and the industry.

In this process, I not only improved my technical skills but also learned how to collaborate with others, how to communicate and cooperate better.

I would like to express my sincere gratitude to the partners who have helped me in the community. Thanks to their patient guidance and assistance, I was able to integrate into the community more quickly and better contribute to the community.

Suggestions for Open Source Developers

Open source development is a meaningful but challenging endeavor that requires a significant investment of time and energy. It involves continuous learning and experimentation, but it also brings a lot of satisfaction and happiness.

Sometimes you may encounter various problems, but don't give up. Try more, think more, and you will find that the problem is not that difficult to solve.

At the same time, participate more in community activities and communicate more with community partners. You will find that the open source community is a place full of love and kindness, where everyone helps each other and makes progress together.

How to Participate in ShenYu

If you also want to join the Apache ShenYu community, you can refer to the following methods:

  1. Check the contributor guide provided on the Apache ShenYu official website: https://shenyu.apache.org/zh/community/contributor-guide

  2. Follow ShenYu's GitHub Issues and participate in feature development and bug fixing: https://github.com/apache/shenyu/issues

Conclusion

Becoming a Committer is a new starting point. I hope to keep my original intention and continue to contribute to the open source cause. I also hope that more friends can join the Apache ShenYu community and work together to contribute to the open source cause.

· 4 min read

Self Introduction:

Hello everyone, I'm Le Zhang, with the github-id: kerwin612. I am extremely grateful to the Apache ShenYu community for recognizing my contributions and giving me the opportunity to become a Committer for this outstanding open-source project. Today, I would like to share my experience participating in the Apache ShenYu project, the growth I have achieved, and some suggestions.

Getting to know Apache ShenYu

My journey with Apache ShenYu began during my exploration of gateway technology options for my company. Upon discovering the ShenYu project, I was immediately intrigued by its high performance, multi-protocol support, easy scalability, and the wealth of ready-to-use plugins it offered. As a result, I decided to delve deeper into it and successfully ran the dev version of ShenYu in my local environment.

My way to Open source

As a full-stack engineer, I have a certain understanding of both front-end and back-end technologies, which enabled me to comprehensively understand and experience ShenYu. During my trial period, I identified numerous areas for optimization and decided to take action. I created a task list, tackled each issue one by one, and submitted my improvements to the community.

On the front-end side, my optimizations primarily included:

  • Thoroughly reviewing the entire website's styling and fixing multiple style anomalies. Although these anomalies seemed minor, they directly impacted users' visual experience. By addressing these issues, I was able to enhance the cleanliness and aesthetics of ShenYu's front-end interface, thereby improving users' overall experience.

  • Implementing multiple experience enhancements. These enhancements ranged from adjusting the position of a button to improving the interaction logic of an interface. By making these optimizations, I made ShenYu's front-end interface more intuitive and significantly enhanced users' convenience.

  • Actively addressing over twenty front-end-related issues. These issues included both problems encountered by users during their usage and suggestions for improvement proposed by community members. I carefully analyzed the causes of each issue and successfully resolved them, contributing to the stability of ShenYu's front-end.

On the back-end side, my contributions mainly focused on:

  • Handling over ten back-end-related issues. These issues encompassed bug fixes and feature enhancements. Through referencing documentation, debugging code, and ultimately seeking feedback from project managers, I resolved each issue.

  • Implementing a new isBlank conditional judgment function. This function facilitates the determination of whether a request contains a specific parameter, providing convenience for back-end logical processing.

  • Developing a new plugin, basic-auth. This plugin enables basic authentication and authorization functionality. Through collaboration with other community members, I successfully completed the plugin's development and testing, integrating it into ShenYu.

My experience in Apahce ShenYu Community

As I submitted more and more pull requests, I gradually delved deeper into the core of the Apache ShenYu community. Here, I felt the enthusiasm and openness of the community members. They were always willing to share knowledge and experience, helping me better understand and use ShenYu. After a period of hard work and accumulation, I received an invitation from the ShenYu community to officially become a Committer of this outstanding team.

Becoming an Apache Committer is not only an honor for me but also a responsibility and commitment. It represents the community's trust and recognition of me, and it also strengthened my determination to contribute to the community. I am well aware that becoming a Committer is merely a new starting point. In the days ahead, I will continue to participate in ShenYu's optimization and development work, constantly enhancing my skills and capabilities. I will keep up with community updates and demands, actively participate in community activities and discussions, and contribute even more to ShenYu's growth.

Moreover, I plan to further delve into the technical details and architectural principles of Apache ShenYu, enabling me to better provide technical support and solutions to the community. I believe that through continuous learning and practice, I can become a more accomplished Committer and make even greater contributions to Apache ShenYu's development.

Finally, I want to express my gratitude to the Apache ShenYu community for giving me this opportunity and trust, as well as to all community members for their support and assistance. I am confident that with our collective efforts, Apache ShenYu will continue to excel!

Thanks all!

· 14 min read

Apache ShenYu

Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.

website: https://shenyu.apache.org

GitHub: https://github.com/apache/shenyu

Version preview

Six months later, Apache ShenYu released version 2.6.0, which submitted a total of 280+ Pull requests, added about 20+ new features, added several enhancements, refactored several features, and fixed several bugs. A total of 78 contributors participated, with a cumulative total of 350+ contributors.

version records: https://github.com/apache/shenyu/compare/v2.5.1...v2.6.0

New Feature

  1. Supports the plug-in upload function and gateway hot load plug-in

the specific use please see: https://shenyu.apache.org/zh/docs/next/developer/custom-plugin

specific pr please see: https://github.com/apache/shenyu/pull/4392

  1. Apollo is supported as the data synchronization and registry
sheneyu:
sync:
apollo:
appId: shenyu
meta: http://localhost:8080
env: dev
clusterName: test
namespace: application

specific pr please see: https://github.com/apache/shenyu/pull/4532

  1. The springboot client can be dynamically configured on the shenyu client

  2. Add the TCP plug-in

the specific use please see: https://shenyu.apache.org/zh/docs/next/plugin-center/proxy/tcp-plugin

specific pr please see: https://github.com/apache/shenyu/pull/4607

https://github.com/apache/shenyu/pull/4766

  1. Support springmvn(boot) to collect api-meta data from shenyu client

specific pr please see: https://github.com/apache/shenyu/pull/4600

  1. Add support for the shenyu ingress controller

the specific use please see: https://shenyu.apache.org/zh/docs/user-guide/kubernetes-controller/build-deploy

https://shenyu.apache.org/zh/docs/user-guide/kubernetes-controller/config

specific pr please see: https://github.com/apache/shenyu/pull/4620

配置如下:

shenyu:
netty:
http:
sni:
enabled: true
mod: k8s #k8s模式适用
defaultK8sSecretNamespace: shenyu-ingress #默认secret资源的namespace
defaultK8sSecretName: default-cert #默认secret资源名字
  1. Add a zookeeper, naocs, Apollo, HttpLongPolling, consul as shenyu service discovery

specific pr please see: https://github.com/apache/shenyu/pull/4636

https://github.com/apache/shenyu/pull/4657

https://github.com/apache/shenyu/pull/4802

https://github.com/apache/shenyu/pull/4795

https://github.com/apache/shenyu/pull/4800

https://github.com/apache/shenyu/issues/4562

  1. Add Huawei Cloud lts log collection

specific pr please see: https://github.com/apache/shenyu/pull/4812

  1. Add opengauss database support

specific pr please see: https://github.com/apache/shenyu/pull/4856

10.添加polaris作为shenyu的数据同步和注册中心

shenyu:
sync:
polaris:
url: 127.0.0.1:8093
namespace:
fileGroup:

specific pr please see: https://github.com/apache/shenyu/pull/4410

https://github.com/apache/shenyu/pull/4897

  1. Add shenyu matching cache
shenyu:
selectorMatchCache:
## selector L1 cache
cache:
enabled: false
initialCapacity: 10000 # initial capacity in cache
maximumSize: 10000 # max size in cache
## selector L2 cache, use trie as L2 cache
trie:
enabled: false
cacheSize: 128 # the number of plug-ins
matchMode: antPathMatch
ruleMatchCache:
## rule L1 cache
cache:
enabled: true
initialCapacity: 10000 # initial capacity in cache
maximumSize: 65536 # max size in cache
## rule L2 cache, use trie as L2 cache
trie:
enabled: false
cacheSize: 1024 # the number of selectors
matchMode: antPathMatch

the specific use please see: https://shenyu.apache.org/zh/docs/next/user-guide/property-config/client-property-config

specific pr please see: https://github.com/apache/shenyu/pull/4417

https://github.com/apache/shenyu/pull/4536

  1. Added support for prometheus for shenyu admin

specific pr please see: https://github.com/apache/shenyu/pull/4336

  1. Expose the endpoints of shenyu actuator

Note: You can use pr to view the memory data of shenyu gateway

specific pr please see: https://github.com/apache/shenyu/pull/4637

Check the configuration of actuator:

management:
endpoints:
web:
exposure:
include: "*" # or health,info

Enhanced

  1. Add tags attribute to API doc client

the specific use please see: https://shenyu.apache.org/docs/user-guide/api-doc/shenyu-annotation-apidoc

specific pr please see: https://github.com/apache/shenyu/pull/4362

  1. Add Brpc integration tests

specific pr please see: https://github.com/apache/shenyu/pull/4319

3.Brpc supports shared thread pools

specific pr please see: https://github.com/apache/shenyu/pull/4402

  1. Add mapping types for cryptorRequst and cryptorResponse

specific pr please see: https://github.com/apache/shenyu/pull/4418

  1. Encryption plug-in supports multiple field encryption

specific pr please see: https://github.com/apache/shenyu/pull/4435

  1. Add the p2c load balancing algorithm

specific pr please see: https://github.com/apache/shenyu/pull/4451

  1. Generate a plug-in string using base64 and store it in the plug-in data

the specific use please see: https://shenyu.apache.org/zh/docs/next/developer/custom-plugin

specific pr please see: https://github.com/apache/shenyu/pull/4473

  1. Add the shortest response load balancing algorithm

specific pr please see: https://github.com/apache/shenyu/pull/4488

  1. Add a hash load balancing test case

specific pr please see: https://github.com/apache/shenyu/pull/4383

  1. Add the DetailSerivice test case

specific pr please see: https://github.com/apache/shenyu/pull/4450

  1. Provide broad routing policies

Specific configurations are as follows:

shenyu:
switchConfig:
local: true
collapseSlashes: false #true表示开启宽泛路径支持

specific pr please see: https://github.com/apache/shenyu/pull/4522

  1. Add shenyu-common enums package test cases

specific pr please see: https://github.com/apache/shenyu/pull/4541

  1. Add shenyu-common dto package test cases

specific pr please see: https://github.com/apache/shenyu/pull/4549/

  1. Add the model package test case of add shenyu-admin

specific pr please see: https://github.com/apache/shenyu/issues/4540

  1. Add the shenyu match cache test case

specific pr please see: https://github.com/apache/shenyu/pull/4557

  1. Support k8s probe

specific pr please see: https://github.com/apache/shenyu/pull/4567

  1. Add a service package test for shenyu-admin

specific pr please see: https://github.com/apache/shenyu/pull/4579

  1. Add json support to the API documentation

specific pr please see: https://github.com/apache/shenyu/pull/4591

  1. The SPEL of the mock plugin is secure by default

specific pr please see: https://github.com/apache/shenyu/pull/4606

  1. Add ShenyuClientApiDocExecutorSubscriber test cases

specific pr please see: https://github.com/apache/shenyu/pull/4632

  1. Add test cases for shenyu-client-sofa module

specific pr please see: https://github.com/apache/shenyu/pull/4688

  1. Add 'tag relation' to 'shenyu api doc'

specific pr please see: https://github.com/apache/shenyu/pull/4362

  1. Add start and stop scripts for windows

specific pr please see: https://github.com/apache/shenyu/pull/4673

  1. Add a test case for 'ShenyuSdkClientFactory'

specific pr please see: https://github.com/apache/shenyu/pull/4645

  1. Add websocket synchronization support for shenyu e2e springcloud plugin

specific pr please see: https://github.com/apache/shenyu/pull/4698

  1. Support divide plugin automatically offline

specific pr please see: https://github.com/apache/shenyu/pull/4702

  1. Add the springcloud service instance cache

specific pr please see: https://github.com/apache/shenyu/pull/4705

the specific use please see: https://shenyu.apache.org/zh/docs/next/plugin-center/proxy/spring-cloud-plugin

shenyu:
springCloudCache:
enabled: false # 为true是开启springcloud缓存
  1. Changing the password supports i18n

specific pr please see: https://github.com/apache/shenyu/pull/4758

29.shenyu discovery supports websocket synchronization

specific pr please see: https://github.com/apache/shenyu/pull/4768

  1. Upgrade 'springboot' version to '2.7.13'

specific pr please see: https://github.com/apache/shenyu/pull/4783

  1. Add nacos and zookeeper synchronization test for e2e-springcloud

specific pr please see: https://github.com/apache/shenyu/pull/4747

  1. Add 'api doc client' annotation generation property

specific pr please see: https://github.com/apache/shenyu/pull/4845

  1. Support 'zookeeper' client automatically offline

specific pr please see: https://github.com/apache/shenyu/pull/4806

  1. Support 'Apollo client' automatic offline

specific pr please see: https://github.com/apache/shenyu/pull/4855

  1. Support swagger documents and store them in a database

specific pr please see: https://github.com/apache/shenyu/pull/4849

  1. Support 'nacos client' automatic offline

specific pr please see: https://github.com/apache/shenyu/pull/4890

  1. Add the alibaba dubbo e2e test case

specific pr please see: https://github.com/apache/shenyu/pull/4859

  1. Add the apache dubbo e2e test case

specific pr please see: https://github.com/apache/shenyu/pull/4899

  1. Add shenyu spring sdk test cases

specific pr please see: https://github.com/apache/shenyu/pull/4913

  1. Add sofa e2e test

specific pr please see: https://github.com/apache/shenyu/pull/4919

  1. Add a test case for Apollo data synchronization

specific pr please see: https://github.com/apache/shenyu/pull/4918

  1. Add the Connection pool configuration for the database (hakari)

specific pr please see: https://github.com/apache/shenyu/pull/4938

  1. Add 'idea icon' for shenyu

specific pr please see: https://github.com/apache/shenyu/pull/4951

Refactor

  1. Reconstruct shenyu admin

specific pr please see: https://github.com/apache/shenyu/pull/4355

  1. Optimize the least active balance algorithm

specific pr please see: https://github.com/apache/shenyu/pull/4342

  1. Optimize the compatibility of the first version of shenyu sign plugin

specific pr please see: https://github.com/apache/shenyu/pull/4332

the specific use please see: https://shenyu.apache.org/docs/plugin-center/security/sign-plugin

  1. Optimize the shenyu upstream check logic

specific pr please see: https://github.com/apache/shenyu/pull/4386

  1. Optimize the global version of the project

specific pr please see: https://github.com/apache/shenyu/pull/4394

  1. Optimize the code of 'ShenyuConsulConfigWatch'

specific pr please see: https://github.com/apache/shenyu/pull/4400

  1. Optimize shenyu prefix tree matching logic

specific pr please see: https://github.com/apache/shenyu/pull/4414

  1. Optimize the verification when the rule condition is submitted

specific pr please see: https://github.com/apache/shenyu/pull/4403

  1. Optimize the shenyu-client-websocket client registration code

specific pr please see: https://github.com/apache/shenyu/pull/4462

  1. Add shenyu admin's Micrometer dependent license

specific pr please see: https://github.com/apache/shenyu/pull/4409

  1. Update the maven-assembly-plugin packaging plug-in to version 3.5.0

specific pr please see: https://github.com/apache/shenyu/pull/4673

  1. Optimize the ordering of global plug-ins

specific pr please see: https://github.com/apache/shenyu/pull/4429

  1. Use BearerToken instead of StatelessToken in shenyu admin

specific pr please see: https://github.com/apache/shenyu/pull/4516

  1. Reconstructs the shenyu-logging module

specific pr please see: https://github.com/apache/shenyu/pull/4526

  1. Verify api doc

specific pr please see: https://github.com/apache/shenyu/pull/4564

  1. Optimize shenyu prefix tree and support '*' matching

specific pr please see: https://github.com/apache/shenyu/pull/4569

  1. Optimize the hot loading of plug-ins

specific pr please see: https://github.com/apache/shenyu/pull/4392

  1. Optimize the putPlugin method of 'ShenyuWebHandler'

specific pr please see: https://github.com/apache/shenyu/pull/4598

  1. Refactor Shenyu webfilter

specific pr please see: https://github.com/apache/shenyu/pull/4614

  1. Refactor the oauth2 plguin plug-in

specific pr please see: https://github.com/apache/shenyu/pull/4624

  1. Refactor the continued field of the shenyu selector

specific pr please see: https://github.com/apache/shenyu/pull/4635

  1. Refactor shenyu selection and rule matching cache

specific pr please see: https://github.com/apache/shenyu/pull/4578

  1. Deleted unused generics from the shenyu client

specific pr please see: https://github.com/apache/shenyu/pull/4653

  1. Refactor shenyu's support for sentinel plug-ins

specific pr please see: https://github.com/apache/shenyu/pull/4669

  1. Expose cached data through actuator terminals

specific pr please see: https://github.com/apache/shenyu/pull/4637

https://github.com/apache/shenyu/pull/4658

  1. Refactor the checkUserPassword method to boot without printing a known error log

specific pr please see: https://github.com/apache/shenyu/pull/4697

  1. Add parameters for printing logs

specific pr please see: https://github.com/apache/shenyu/pull/4637

  1. Reconstructs shenyu global exception handling

specific pr please see: https://github.com/apache/shenyu/pull/4709

  1. Added shenyu plugin to upload integration test

specific pr please see: https://github.com/apache/shenyu/pull/4679

  1. Optimize grammar candy

specific pr please see: https://github.com/apache/shenyu/pull/4700

  1. Optimize discovery_handler_id of discovery_upstream

specific pr please see: https://github.com/apache/shenyu/pull/4710

  1. Reconstruct the shenyu-plugin module and archive proxy plug-ins by category

specific pr please see: https://github.com/apache/shenyu/pull/4765

  1. Refactor the cache of AlibabaDubboConfigCache

specific pr please see: https://github.com/apache/shenyu/pull/4772

  1. Remove hutool dependencies

specific pr please see: https://github.com/apache/shenyu/pull/4773

  1. Refactor 'ShenyuClientShutdownHook'

specific pr please see: https://github.com/apache/shenyu/pull/4780

  1. Add BaseAnnotationApiBeansExtractor Extractor

specific pr please see: https://github.com/apache/shenyu/pull/4787

  1. Support multi-client registration

specific pr please see: https://github.com/apache/shenyu/pull/4790

  1. Refactoring Shenyu-e2e supports Shenyu's check style

specific pr please see: https://github.com/apache/shenyu/pull/4799

  1. Optimize shenyu client registration logic

specific pr please see: https://github.com/apache/shenyu/pull/4809

  1. Add a domain test for the shenyu divide plugin

specific pr please see: https://github.com/apache/shenyu/pull/4803

  1. Update the extension of the rpc_ext field

specific pr please see: https://github.com/apache/shenyu/pull/4821

  1. Optimize consul connection operations

specific pr please see: https://github.com/apache/shenyu/pull/4832

  1. Refactor the yaml addition of springcloud for shenyu e2e

specific pr please see: https://github.com/apache/shenyu/pull/4837

  1. Add integration tests for the k8s ingress controller

specific pr please see: https://github.com/apache/shenyu/pull/4820

  1. Split the document field of the apidoc detail interface and add fields such as requestHeaders and responseParameters

specific pr please see: https://github.com/apache/shenyu/pull/4865

  1. Add a swagger example project to test the functionality of the API documentation

specific pr please see: https://github.com/apache/shenyu/pull/4825

  1. Optimize the display of shenyu admin's form fields in json format

specific pr please see: https://github.com/apache/shenyu/pull/4873

  1. Reconstruct the observability of shenyu logs

specific pr please see: https://github.com/apache/shenyu/pull/4874

  1. Add the bootstrap boot log

specific pr please see: https://github.com/apache/shenyu/pull/4879

  1. Refactor swagger's api documentation

specific pr please see: https://github.com/apache/shenyu/pull/4892

  1. Upgrade grpc version to 1.53.0

specific pr please see: https://github.com/apache/shenyu/pull/4841

  1. Refactor api metadata handlers

specific pr please see: https://github.com/apache/shenyu/pull/4948

  1. Optimize code and pom dependencies

specific pr please see: https://github.com/apache/shenyu/pull/4945

Bug Fixes

  1. Optimize the h2 path

specific pr please see: https://github.com/apache/shenyu/pull/4351

  1. Fix the invocation error of the encryption response plug-in

specific pr please see: https://github.com/apache/shenyu/pull/4331

  1. Fix the jdk8 Map computeIfAbsent performance bug

specific pr please see: https://github.com/apache/shenyu/pull/4338

  1. Fix zombieRemovalTimes code

specific pr please see: https://github.com/apache/shenyu/pull/4368

  1. Rectify the sql error after the upgrade

specific pr please see: https://github.com/apache/shenyu/pull/4374

  1. Delete the detectorOfflineLinks tag

specific pr please see: https://github.com/apache/shenyu/pull/4382

  1. Ignore flat pom

specific pr please see: https://github.com/apache/shenyu/pull/4390

  1. Repair the LOG invocation method

specific pr please see: https://github.com/apache/shenyu/pull/4387

  1. Fix the NPE of sheyu-example-springcloud using nacos

specific pr please see: https://github.com/apache/shenyu/pull/4396

  1. Fix Shenyu-admin name type dispute

specific pr please see: https://github.com/apache/shenyu/pull/4340

  1. Restore the load balancing spi resource

specific pr please see: https://github.com/apache/shenyu/pull/4411

  1. Rectify sql script errors

specific pr please see: https://github.com/apache/shenyu/pull/4412

  1. Fix jackson's 24 hour format and time zone

specific pr please see: https://github.com/apache/shenyu/pull/4413

  1. Fix JwtUtils error

specific pr please see: https://github.com/apache/shenyu/pull/4420

  1. Fix dubbo caller cache bug

specific pr please see: https://github.com/apache/shenyu/pull/4433

  1. Delete the lost HOST

specific pr please see: https://github.com/apache/shenyu/pull/4425

  1. Repair SpringMvcClientEventListener test cases

specific pr please see: https://github.com/apache/shenyu/pull/4252

  1. Fix the zombie update PENDING_SYNC error

specific pr please see: https://github.com/apache/shenyu/pull/4430

  1. Repair memory leaks in the windlfu

specific pr please see: https://github.com/apache/shenyu/pull/4486

  1. Fix the rule query failure caused by too many rules

specific pr please see: https://github.com/apache/shenyu/pull/4499

  1. Fix missing actuator dependencies and port errors in sample http

specific pr please see: https://github.com/apache/shenyu/pull/4506

  1. Fix http and https errors on UpstreamCheckUtils

specific pr please see: https://github.com/apache/shenyu/pull/4509

  1. Fix memory leak caused by FileFilter

specific pr please see: https://github.com/apache/shenyu/pull/4507

  1. Fix the zookeeper synchronization error

specific pr please see: https://github.com/apache/shenyu/pull/4906

  1. The memory leak repair MemorySafeWindowTinyLFUMap errors

specific pr please see: https://github.com/apache/shenyu/pull/4524

  1. Fix ApiDoc path missing separator

specific pr please see: https://github.com/apache/shenyu/pull/4528

  1. Fix shenyu trie's NPE

specific pr please see: https://github.com/apache/shenyu/pull/4533

  1. Fix plugin skip error

specific pr please see: https://github.com/apache/shenyu/pull/4589

  1. Rectify the oracle sql error

specific pr please see: https://github.com/apache/shenyu/pull/4595

  1. Fix shenyu admin can not load shenyu icon issue

specific pr please see: https://github.com/apache/shenyu/pull/4605

  1. Fix the hystrix fallback bug

specific pr please see: https://github.com/apache/shenyu/pull/4593

  1. Fix the warm-up time for divide and springcloud

specific pr please see: https://github.com/apache/shenyu/pull/4619

  1. Fix springcloud service selector

specific pr please see: https://github.com/apache/shenyu/pull/4639

  1. Fix shenyu-spring-boot-starter-plugin-mock add spring.factories

specific pr please see: https://github.com/apache/shenyu/pull/4644

  1. Fix shenyu-client-mvc and shenyu-client-springcloud lost ip

specific pr please see: https://github.com/apache/shenyu/pull/4681

  1. Fix empty rule data and selector data in cache

specific pr please see: https://github.com/apache/shenyu/pull/4716

  1. Fix api documentation module update api details error

specific pr please see: https://github.com/apache/shenyu/pull/4720

  1. Fix getting topic from configuration in KafkaLogCollectClient

specific pr please see: https://github.com/apache/shenyu/pull/4756

  1. Fix thread safety issue with loggingConsole plugin

specific pr please see: https://github.com/apache/shenyu/pull/4763

  1. Fix brpc integration test response size

specific pr please see: https://github.com/apache/shenyu/pull/4784

  1. Fix plugn-Dubco-common selector update gray release to remove cache

specific pr please see: https://github.com/apache/shenyu/pull/4762

  1. Fix shenyu admin menu name bug

specific pr please see: https://github.com/apache/shenyu/pull/4805

  1. Fix the problem that shenyu admin cannot configure consul ports

specific pr please see: https://github.com/apache/shenyu/pull/4843

  1. Fix shenyu client metadata and uri cannot be synchronized with apollo to admin

specific pr please see: https://github.com/apache/shenyu/pull/4851

  1. Fix PathVariable annotation url does not match

specific pr please see: https://github.com/apache/shenyu/pull/4852

  1. Fixed an issue where URIs could not be updated in PathPattern mode

specific pr please see: https://github.com/apache/shenyu/pull/4854

  1. Fix the client close method call twice

specific pr please see: https://github.com/apache/shenyu/pull/4867

  1. Fix shenyu error processing consul configuration

specific pr please see: https://github.com/apache/shenyu/pull/4872

  1. Delete the unused configuration from the Request and modifyResponse plug-ins

specific pr please see: https://github.com/apache/shenyu/pull/4882

  1. Fix the http registration metadata error

specific pr please see: https://github.com/apache/shenyu/pull/4889

  1. Fixed an issue where websocket lost user-defined close status

specific pr please see: https://github.com/apache/shenyu/pull/4844

  1. Fix consul register lost meta path property when special symbol

specific pr please see: https://github.com/apache/shenyu/pull/4885

  1. Fix etcd synchronization errors

specific pr please see: https://github.com/apache/shenyu/pull/4911

  1. Rectify multiple synchronization event errors on shenyu admin

specific pr please see: https://github.com/apache/shenyu/pull/4941

  1. Fix Shenyu motan plugin execution error

specific pr please see: https://github.com/apache/shenyu/pull/4934

Contributors

Special thanks to the following contributors for their support and participation in the '2.6.0' release (in no particular order).

midnight2104,koonchen,847850277,balloon72,yu199195,iwangjie,damonxue,tian-pengfei,caojiajun,dragon-zhang,u3breeze,li-keguo,SuperMonkeyC,mahaitao617,tomsun28,moremind,liaolzy,Ceilzcx,misaya295,BoyuLi4,HaiqiQin,starlight2003,stulzq,ywj1352,yunlongn,aFlyBird0,dengliming,plutokaito,xuyicheng1995,lan-dian,sachin10fi,zuobiao-zhou, hudongdong129,crudboy,aoshiguchen,VampireAchao,JooKS-me,Redick01,huanccwang,lijay7674,omernaci,peng-heng,December-Pb,6freeair2016,jieyangxchen,lianjunwei,u3breeze,eurecalulu,wanyaoasiainfo,wanyaoasiainfo,Kakk22,xuziyang,menglujing,xcsnx,yu1183688986,lahmXu,fabian4,ileonli,VampireAchao,GOODBOY008,TeslaCN

Become a contributor

We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!

See the contributor guidelines:

https://shenyu.apache.org/zh/community/contributor-guide

· 2 min read

New Committer Introduction

Name:Haiqi Qin

University:Northeastern University

Role: Apache ShenYu Committer

Email:haiqi@apache.org

Github:https://github.com/HaiqiQin

First encounter shenyu

The earliest contact with Shenyu was through the introduction of classmate Zhu Kunshuai (jooks me), who had already made many contributions in the community and had some experience. After introducing me to the Shenyu community, he constantly guided me, led me to understand the project, explained the relevant regulations of the community, and under his encouragement, I submitted my first PR about open source projects in my life. In the following days, I mainly tried to study the code of Shenyu, modify some small errors, and do some unit tests or Integration testing of plugins.

Gradually reaching a better state

As a developer, I certainly don't want my contribution to Shenyu to be limited to testing type tasks. It was during Shenyu's registration for the Google Summer of Code event, so I actively reviewed the topics and ultimately decided to participate in the Shenyu plugin logging elastic search project. Under the patient guidance of Teacher Xiao Yu (Cat Adult), I finally completed the project and successfully submitted the development related code for Shenyu. Through this project, I have gained a better understanding of Shenyu, and at the same time, I am more eager to continue contributing code to Shenyu. Afterwards, I attempted to contribute two load balancing strategies to Shenyu, and will now and in the future contribute to the Shenyu-e2e module.

Harvest full

  • Learned more about gateways and services.

  • Learned the registration principles of different registration centers.

  • Learned the synchronization principles of different data synchronization methods.

  • Learned how to write more elegant code.

Some suggestions

  • Learn to read official documents. The document is now quite complete and can basically cover the needs of users.
  • Attend weekly meetings. Shenyu holds a regular meeting every two weeks to introduce the current development progress of the project. Friends can choose tasks they are interested in for development, and they can also communicate with the big shots about technology.

Special Thanks

I have always believed that Shenyu is a big family with warmth. When I encountered difficulties, many friends provided me with great help, which saved me from taking many detours when making contributions. Thank you to my friends who have helped me (in any order): yu199195, moremind, JooKS-me, erdengk, qifanyy.

· 9 min read

OSPP 2023 & Apache ShenYu e2e task is coming

OSPP 2023

Open Source Summer is a summer open source activity initiated and long-term supported by the "Open Source Software Supply Chain Lighting Project" of the Institute of Software, Chinese Academy of Sciences. It aims to encourage students to actively participate in the development and maintenance of open source software, and to cultivate and discover more excellent developers Promote the vigorous development of excellent open source software communities and help the construction of open source software supply chains.

Participate in Open Source Summer

Open source summer 2023 student registration officially opens on April 29! Students can select projects on the official website of Open Source Summer https://summer-ospp.ac.cn/, communicate with mentor, prepare project application materials, and submit applications.

ospp-2023.jpg

Apache ShenYu Introduction

Apache ShenYu is a Java gateway that supports multi-language, multi-protocol (Dubbo, SpringCloud, gRPC, Motan, SofaTars, BRPC), plug-in design, highly dynamic configuration, and highly self-developed. Built-in rich plug-in support, authentication, current limit, circuit breaker, firewall, etc. The traffic configuration is dynamic and the performance is extremely high. Support cluster deployment, support A/B Test, blue-green release and other functions.

The Apache ShenYu community is an open source project community organized by the Apache Foundation. Up to now, a total of 340 contributors have gathered around the world. They participate in ShenYu in the spirit of "Apache Way", make contributions to ShenYu, and grow together with ShenYu!

Apache ShenYu E2E Project Introduction

The task threshold will not be too high, and the whole process will be guided by community tutors.

Project Background

Shenyu is an asynchronous, high-performance, cross-language, responsive API gateway, but currently Shenyu lacks the necessary end to end engine and test case, end to end test is an important part of the shenyu project as a whole.

Required Skills

Understand the technical architecture of Apache ShenYu, understand the end-to-end testing framework of Apache ShenYu, be able to use existing code to write TestSpec, need to understand shenyu's data synchronization framework including websocket, http, zookeeper, nacos, apollo and other middleware and algorithms, be able to write docker-compose, understand the necessary tools for e2e development such as testcontainer and docker.

Tasks

  1. Write shenyu end-to-end test framework, write shenyu end-to-end test engine (difficulty: high)

  2. It is necessary to realize the storage of different databases (mysql, oracle, postgres, h2) of admin in e2e to ensure the correct data storage

  3. It is necessary to ensure that the data can be correctly added to shenyu-admin through the configuration method and shenyu-client registration method (difficulty: high)

  4. Use different data synchronization methods (websocket, http, zookeeper, nacos, apollo) to ensure correct data synchronization from admin to gateway

  5. Add end-to-end test cases of alibaba dubbo, apache dubbo, sofa, tars, motan related proxy plug-ins

  6. Write a specific TestSpec to modify the admin dictionary, metadata, plug-ins, selectors, and rule data, and perform a regression test after the modification to ensure that the calling logic is correct (difficulty: high)

  7. Write the corresponding github ci file to ensure that the ci process works normally in github action

Project Output Requirements

  1. Write the corresponding e2e test case

  2. Use e2e to realize the test that admin uses different databases to store data

  3. Realize the end-to-end test of synchronizing data in different data synchronization methods

  4. Edit the corresponding e2e document

Project technical requirements

  1. Follow shenyu code specification

  2. In-depth understanding of spring webflux

  3. In-depth understanding of shenyu's data synchronization principle

  4. In-depth understanding of shenyu client registration data principles

  5. In-depth understanding of shenyu's end-to-end test engine and framework

Project Repository

Project Website

Other Information

What can you gain from the event?

Development experience

Participate in open source projects, become a contributor to large-scale open source projects, understand multi-field and multi-difficulty gradient tasks, give you rich practical experience in large-scale open source projects, and it is also a good opportunity to exercise your development capabilities!

Organizing committee awards

  1. You will get a completion bonus and a completion certificate: Students who pass the completion assessment will have the opportunity to receive an outstanding student certificate.

  2. There are two difficulty levels in this competition, and different levels correspond to different bonuses:

Advanced Difficulty: RMB 12,000 before tax for student completion bonus

Basic difficulty: RMB 8,000 before tax for student completion bonus

The prize money for this competition is provided by the Summer of Open Source Organizing Committee.

Apache ShenYu community in-depth communication

  1. Participate in the Summer of Open Source @Apache ShenYu project, you will be able to communicate with 300+ contributors in the Apache ShenYu community around the world.

  2. Participate in the Summer of Open Source @Apache ShenYu project, you will become an Apache ShenYu contributor, and after continuing to contribute, you will have the opportunity to become an Apache ShenYu Committer.

Quickly Participate in Open Source Summer

Open Source Summer 2023 community projects will start accepting students to participate in project applications from April 29th. Welcome to communicate with the tutors and prepare project application materials through the contact information above.

shenyu-ingress-controller ability increased

Project background

Kubernetes Controller is an important step in the Apache ShenYu Cloud native construction. The community is building Shenyu-Ingress-Controller to enable the docking of K8s ingress resources. However, currently the shenyu-ingress-controller feature is relatively simple and only supports the resource definition native to K8s ingress.

This project needs to extend Shenyu-Ingress-Controller based on annotation to inherit the rich native functions of Apache ShenYu as much as possible.

Project output requirements

  • Enhanced shenyu-ingress-controller abilities

  • Complete the core code writing

  • Complete corresponding unit test and integration test

  • Complete related documentation

Technical requirements of the project

  • Familiar with Java and Spring Framework
  • Be familiar with Kubernetes
  • Understand the API gateway

Project results warehouse

Project address

https://summer-ospp.ac.cn/org/prodetail/2362f0183

Other information

OSPP 2023 & Apache ShenYu Tcp proxy plugin is coming

OSPP 2023

Open Source Summer is a summer open source activity initiated and long-term supported by the "Open Source Software Supply Chain Lighting Project" of the Institute of Software, Chinese Academy of Sciences. It aims to encourage students to actively participate in the development and maintenance of open source software, and to cultivate and discover more excellent developers Promote the vigorous development of excellent open source software communities and help the construction of open source software supply chains.

Participate in Open Source Summer

Open source summer 2023 student registration officially opens on April 29! Students can select projects on the official website of Open Source Summer https://summer-ospp.ac.cn/, communicate with mentor, prepare project application materials, and submit applications.

ospp-2023.jpg

Apache ShenYu Introduction

Apache ShenYu is a Java gateway that supports multi-language, multi-protocol (Dubbo, SpringCloud, gRPC, Motan, SofaTars, BRPC), plug-in design, highly dynamic configuration, and highly self-developed. Built-in rich plug-in support, authentication, current limit, circuit breaker, firewall, etc. The traffic configuration is dynamic and the performance is extremely high. Support cluster deployment, support A/B Test, blue-green release and other functions.

Apache ShenYu Tcp Proxy Task

The task threshold will not be too high, and the whole process will be guided by community tutors.

Project Background

This project is mainly to realize the proxy of different communication protocols (TCP/UDP/WebSocket, etc.) more flexibly and extensibly through the plug-in method, so as to enhance ShenYu's communication proxy function. The project provides a management background that can manually configure and forward downstream IP, PORT and other data. At the same time, it supports downstream services to automatically register with the ShenYu gateway through the ShenYu client. In addition, it also supports the business to provide the registration center address to complete the service discovery and registration functions. When a business request comes in, ShenYu gateway matches different communication protocol plug-ins according to different communication protocol types to complete the communication proxy.

Project Background

Understand Apache ShenYu's technical architecture, familiar with Java and Spring Framework, familiar with reactor and other front-end components and frameworks, familiar with API gateway, familiar with tcp, udp and other related protocols.

Project Output Requirements

Complete the development of proxy plug-ins such as tcp/udp/websocket

Task1: Complete the development of proxy plug-in functions for tcp/udp/websocket to proxy to downstream services;

✅ Complete the development of registry monitoring metadata

Task1: Monitor business downstream service-related metadata in various registration centers (nacos/consul/zk, etc.) supported by shenyu-admin development;

✅ Complete the data synchronization development of proxy plug-in related metadata

Task1: Complete the development of communication plug-in proxy related data synchronization to the gateway;

✅ Completion and design service automatic discovery of related tables and background data development

Task1: Complete the design of relevant database tables;

Task2: Complete the CRUD development of related tables;

✅ Complete the editing of relevant data of shenyu management background communication agent

Task1: The front end adds a new page for editing metadata related to communication agents;

Task2: Increase the back-end interface corresponding to the front-end page;

✅ Complete the integration test unit test and document output of the communication protocol agent

Task1: Complete the unit test of relevant changes;

Task2: Complete the integration test of the entire function;

Task3: Complete the output of the entire function-related access documents and function introduction-related documents.

Project technical requirements

  1. Familiar with Java and Spring Framework

  2. Familiar with front-end components and frameworks such as reactor

  3. Familiar with API Gateway.

Project technical requirements

Project Address

Mentor email

mahaitao@apache.org

Quickly Participate in Open Source Summer

Open Source Summer 2023 community projects will start accepting students to participate in project applications from April 29th. Welcome to communicate with the tutors and prepare project application materials through the contact information above.

ospp-2023.jpg