You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2022/01/27 07:55:42 UTC

[thrift] branch 0.16.0 updated (fb87b44 -> d68f03c)

This is an automated email from the ASF dual-hosted git repository.

jensg pushed a change to branch 0.16.0
in repository https://gitbox.apache.org/repos/asf/thrift.git.


    from fb87b44  Updated changes.md for 0.16.0
     new 1ef362c  THRIFT-5504 CA2254 Message template should be compile time constant Client netstd Patch: Jens Geyer
     new d68f03c  Updated changes.md for 0.16.0

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.md                                         | 22 ++++++++++++----------
 .../netstd/Thrift}/GlobalSuppressions.cs           |  9 +++++++--
 lib/netstd/Thrift/Processor/ITAsyncProcessor.cs    |  2 +-
 .../Thrift/Processor/TMultiplexedProcessor.cs      |  5 ++---
 lib/netstd/Thrift/Protocol/TBinaryProtocol.cs      |  2 --
 lib/netstd/Thrift/Protocol/TCompactProtocol.cs     |  2 --
 lib/netstd/Thrift/Protocol/TJSONProtocol.cs        |  3 ---
 lib/netstd/Thrift/Protocol/TProtocol.cs            |  1 +
 lib/netstd/Thrift/Protocol/ToString.cs             |  8 ++++----
 lib/netstd/Thrift/Server/TServer.cs                |  8 ++++----
 lib/netstd/Thrift/Server/TServerEventHandler.cs    | 12 ++++++++++--
 lib/netstd/Thrift/Server/TSimpleAsyncServer.cs     |  2 --
 lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs |  2 --
 .../Thrift/Transport/Client/THttpTransport.cs      |  2 --
 .../Transport/Client/TMemoryBufferTransport.cs     |  2 --
 .../Thrift/Transport/Layered/TBufferedTransport.cs |  9 +++------
 .../Thrift/Transport/Layered/TFramedTransport.cs   |  6 ++----
 .../Transport/Server/TServerSocketTransport.cs     |  5 ++++-
 18 files changed, 50 insertions(+), 52 deletions(-)
 copy {tutorial/netstd/Interfaces => lib/netstd/Thrift}/GlobalSuppressions.cs (68%)

[thrift] 01/02: THRIFT-5504 CA2254 Message template should be compile time constant Client netstd Patch: Jens Geyer

Posted by je...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jensg pushed a commit to branch 0.16.0
in repository https://gitbox.apache.org/repos/asf/thrift.git

commit 1ef362cc62a761811294f390e0ead2785e12c9b0
Author: Jens Geyer <je...@apache.org>
AuthorDate: Wed Jan 26 22:38:04 2022 +0100

    THRIFT-5504 CA2254 Message template should be compile time constant
    Client netstd
    Patch: Jens Geyer
---
 .../ITAsyncProcessor.cs => GlobalSuppressions.cs}  | 27 ++++++++++++----------
 lib/netstd/Thrift/Processor/ITAsyncProcessor.cs    |  2 +-
 .../Thrift/Processor/TMultiplexedProcessor.cs      |  5 ++--
 lib/netstd/Thrift/Protocol/TBinaryProtocol.cs      |  2 --
 lib/netstd/Thrift/Protocol/TCompactProtocol.cs     |  2 --
 lib/netstd/Thrift/Protocol/TJSONProtocol.cs        |  3 ---
 lib/netstd/Thrift/Protocol/TProtocol.cs            |  1 +
 lib/netstd/Thrift/Protocol/ToString.cs             |  8 +++----
 lib/netstd/Thrift/Server/TServer.cs                |  8 +++----
 lib/netstd/Thrift/Server/TServerEventHandler.cs    | 12 ++++++++--
 lib/netstd/Thrift/Server/TSimpleAsyncServer.cs     |  2 --
 lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs |  2 --
 .../Thrift/Transport/Client/THttpTransport.cs      |  2 --
 .../Transport/Client/TMemoryBufferTransport.cs     |  2 --
 .../Thrift/Transport/Layered/TBufferedTransport.cs |  9 +++-----
 .../Thrift/Transport/Layered/TFramedTransport.cs   |  6 ++---
 .../Transport/Server/TServerSocketTransport.cs     |  5 +++-
 17 files changed, 46 insertions(+), 52 deletions(-)

diff --git a/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs b/lib/netstd/Thrift/GlobalSuppressions.cs
similarity index 50%
copy from lib/netstd/Thrift/Processor/ITAsyncProcessor.cs
copy to lib/netstd/Thrift/GlobalSuppressions.cs
index f5b8d16..eb7d3d7 100644
--- a/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs
+++ b/lib/netstd/Thrift/GlobalSuppressions.cs
@@ -5,9 +5,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License. You may obtain a copy of the License at
-// 
+//
 //     http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -15,14 +15,17 @@
 // specific language governing permissions and limitations
 // under the License.
 
-using System.Threading;
-using System.Threading.Tasks;
-using Thrift.Protocol;
 
-namespace Thrift.Processor
-{
-    public interface ITAsyncProcessor
-    {
-        Task<bool> ProcessAsync(TProtocol iprot, TProtocol oprot, CancellationToken cancellationToken = default(CancellationToken));
-    }
-}
+// This file is used by Code Analysis to maintain SuppressMessage
+// attributes that are applied to this project.
+// Project-level suppressions either have no target or are given
+// a specific target and scoped to a namespace, type, member, etc.
+
+using System.Diagnostics.CodeAnalysis;
+
+// suppress certain messages for compatibility reasons with older C# versions we want to support
+[assembly: SuppressMessage("Style", "IDE0057", Justification = "compatibility", Scope = "module")]
+[assembly: SuppressMessage("Style", "IDE0066", Justification = "compatibility", Scope = "module")]
+[assembly: SuppressMessage("Style", "IDE0090", Justification = "compatibility", Scope = "module")]
+[assembly: SuppressMessage("Style", "IDE0063", Justification = "compatibility", Scope = "module")]
+
diff --git a/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs b/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs
index f5b8d16..0ef683d 100644
--- a/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs
+++ b/lib/netstd/Thrift/Processor/ITAsyncProcessor.cs
@@ -23,6 +23,6 @@ namespace Thrift.Processor
 {
     public interface ITAsyncProcessor
     {
-        Task<bool> ProcessAsync(TProtocol iprot, TProtocol oprot, CancellationToken cancellationToken = default(CancellationToken));
+        Task<bool> ProcessAsync(TProtocol iprot, TProtocol oprot, CancellationToken cancellationToken = default);
     }
 }
diff --git a/lib/netstd/Thrift/Processor/TMultiplexedProcessor.cs b/lib/netstd/Thrift/Processor/TMultiplexedProcessor.cs
index b192210..9759058 100644
--- a/lib/netstd/Thrift/Processor/TMultiplexedProcessor.cs
+++ b/lib/netstd/Thrift/Processor/TMultiplexedProcessor.cs
@@ -65,8 +65,7 @@ namespace Thrift.Processor
 
                 // Create a new TMessage, something that can be consumed by any TProtocol
                 var serviceName = message.Name.Substring(0, index);
-                ITAsyncProcessor actualProcessor;
-                if (!_serviceProcessorMap.TryGetValue(serviceName, out actualProcessor))
+                if (!_serviceProcessorMap.TryGetValue(serviceName, out ITAsyncProcessor actualProcessor))
                 {
                     await FailAsync(oprot, message, TApplicationException.ExceptionType.InternalError,
                         $"Service name not found: {serviceName}. Did you forget to call RegisterProcessor()?",
@@ -103,7 +102,7 @@ namespace Thrift.Processor
             _serviceProcessorMap.Add(serviceName, processor);
         }
 
-        private async Task FailAsync(TProtocol oprot, TMessage message, TApplicationException.ExceptionType extype,
+        private static async Task FailAsync(TProtocol oprot, TMessage message, TApplicationException.ExceptionType extype,
             string etxt, CancellationToken cancellationToken)
         {
             var appex = new TApplicationException(extype, etxt);
diff --git a/lib/netstd/Thrift/Protocol/TBinaryProtocol.cs b/lib/netstd/Thrift/Protocol/TBinaryProtocol.cs
index 9c23469..eee137c 100644
--- a/lib/netstd/Thrift/Protocol/TBinaryProtocol.cs
+++ b/lib/netstd/Thrift/Protocol/TBinaryProtocol.cs
@@ -23,8 +23,6 @@ using System.Threading.Tasks;
 using Thrift.Protocol.Entities;
 using Thrift.Transport;
 
-#pragma warning disable IDE0079 // unnecessary suppression
-#pragma warning disable IDE0066 // use switch expression
 
 namespace Thrift.Protocol
 {
diff --git a/lib/netstd/Thrift/Protocol/TCompactProtocol.cs b/lib/netstd/Thrift/Protocol/TCompactProtocol.cs
index 3758174..6893ad4 100644
--- a/lib/netstd/Thrift/Protocol/TCompactProtocol.cs
+++ b/lib/netstd/Thrift/Protocol/TCompactProtocol.cs
@@ -26,8 +26,6 @@ using System.Threading.Tasks;
 using Thrift.Protocol.Entities;
 using Thrift.Transport;
 
-#pragma warning disable IDE0079 // unnecessary suppression
-#pragma warning disable IDE0066 // use switch expression
 
 namespace Thrift.Protocol
 {
diff --git a/lib/netstd/Thrift/Protocol/TJSONProtocol.cs b/lib/netstd/Thrift/Protocol/TJSONProtocol.cs
index 081f42e..8799026 100644
--- a/lib/netstd/Thrift/Protocol/TJSONProtocol.cs
+++ b/lib/netstd/Thrift/Protocol/TJSONProtocol.cs
@@ -27,9 +27,6 @@ using Thrift.Protocol.Entities;
 using Thrift.Protocol.Utilities;
 using Thrift.Transport;
 
-#pragma warning disable IDE0079 // unnecessary suppression
-#pragma warning disable IDE0063 // simplify using
-#pragma warning disable IDE0066 // use switch expression
 
 namespace Thrift.Protocol
 {
diff --git a/lib/netstd/Thrift/Protocol/TProtocol.cs b/lib/netstd/Thrift/Protocol/TProtocol.cs
index 5b1bec1..cd93833 100644
--- a/lib/netstd/Thrift/Protocol/TProtocol.cs
+++ b/lib/netstd/Thrift/Protocol/TProtocol.cs
@@ -50,6 +50,7 @@ namespace Thrift.Protocol
         public void Dispose()
         {
             Dispose(true);
+            GC.SuppressFinalize(this);
         }
 
         public void IncrementRecursionDepth()
diff --git a/lib/netstd/Thrift/Protocol/ToString.cs b/lib/netstd/Thrift/Protocol/ToString.cs
index 14fa520..50dd6df 100644
--- a/lib/netstd/Thrift/Protocol/ToString.cs
+++ b/lib/netstd/Thrift/Protocol/ToString.cs
@@ -47,15 +47,15 @@ namespace Thrift.Protocol
                     if (first_child)
                         first_child = false;
                     else
-                        sb.Append(",");
+                        sb.Append(',');
 
                     sb.Append("{ ");
                     pair.Key.ToString(sb);
                     sb.Append(", ");
                     pair.Value.ToString(sb);
-                    sb.Append("}");
+                    sb.Append('}');
                 }
-                sb.Append("}");
+                sb.Append('}');
             }
             else if (self is IEnumerable)
             {
@@ -65,7 +65,7 @@ namespace Thrift.Protocol
                     elm.ToString(sb, first_child);
                     first_child = false;
                 }
-                sb.Append("}");
+                sb.Append('}');
             }
             else if (self is TBase)
             {
diff --git a/lib/netstd/Thrift/Server/TServer.cs b/lib/netstd/Thrift/Server/TServer.cs
index 3fd0bc5..3d4f3fc 100644
--- a/lib/netstd/Thrift/Server/TServer.cs
+++ b/lib/netstd/Thrift/Server/TServer.cs
@@ -35,7 +35,7 @@ namespace Thrift.Server
         protected TProtocolFactory OutputProtocolFactory;
         protected TTransportFactory OutputTransportFactory;
 
-        protected TServerEventHandler ServerEventHandler;
+        protected ITServerEventHandler ServerEventHandler;
         protected TServerTransport ServerTransport;
 
         protected TServer(ITProcessorFactory processorFactory, TServerTransport serverTransport,
@@ -52,12 +52,12 @@ namespace Thrift.Server
             Logger = logger; // null is absolutely legal
         }
 
-        public void SetEventHandler(TServerEventHandler seh)
+        public void SetEventHandler(ITServerEventHandler seh)
         {
             ServerEventHandler = seh;
         }
 
-        public TServerEventHandler GetEventHandler()
+        public ITServerEventHandler GetEventHandler()
         {
             return ServerEventHandler;
         }
@@ -66,7 +66,7 @@ namespace Thrift.Server
         protected void LogError( string msg)
         {
             if (Logger != null)
-                Logger.LogError(msg);
+                Logger.LogError("{Msg}",msg);  // NOTE: Log message template, not string interpolation!
         }
 
         public abstract void Stop();
diff --git a/lib/netstd/Thrift/Server/TServerEventHandler.cs b/lib/netstd/Thrift/Server/TServerEventHandler.cs
index 69314ef..9226b42 100644
--- a/lib/netstd/Thrift/Server/TServerEventHandler.cs
+++ b/lib/netstd/Thrift/Server/TServerEventHandler.cs
@@ -25,10 +25,18 @@ namespace Thrift.Server
     //TODO: replacement by event?
 
     /// <summary>
-    ///     Interface implemented by server users to handle events from the server
+    /// Interface implemented by server users to handle events from the server
     /// </summary>
+    /// <remarks>Replaced by ITServerEventHandler</remarks>
     // ReSharper disable once InconsistentNaming
-    public interface TServerEventHandler
+    #pragma warning disable IDE1006
+    public interface TServerEventHandler : ITServerEventHandler { }
+    #pragma warning restore IDE1006
+
+    /// <summary>
+    /// Interface implemented by server users to handle events from the server
+    /// </summary>
+    public interface ITServerEventHandler
     {
         /// <summary>
         ///     Called before the server begins */
diff --git a/lib/netstd/Thrift/Server/TSimpleAsyncServer.cs b/lib/netstd/Thrift/Server/TSimpleAsyncServer.cs
index d46d58a..f1f6277 100644
--- a/lib/netstd/Thrift/Server/TSimpleAsyncServer.cs
+++ b/lib/netstd/Thrift/Server/TSimpleAsyncServer.cs
@@ -23,8 +23,6 @@ using Thrift.Processor;
 using System.Threading.Tasks;
 using Microsoft.Extensions.Logging;
 
-#pragma warning disable IDE0079  // remove unnecessary pragmas
-#pragma warning disable IDE0063  // using can be simplified, we don't
 
 namespace Thrift.Server
 {
diff --git a/lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs b/lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs
index ba1834c..efa1698 100644
--- a/lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs
+++ b/lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs
@@ -29,8 +29,6 @@ using Thrift.Processor;
 using System.Threading.Tasks;
 using Microsoft.Extensions.Logging;
 
-#pragma warning disable IDE0079  // remove unnecessary pragmas
-#pragma warning disable IDE0063  // using can be simplified, we don't
 
 namespace Thrift.Server
 {
diff --git a/lib/netstd/Thrift/Transport/Client/THttpTransport.cs b/lib/netstd/Thrift/Transport/Client/THttpTransport.cs
index 4ca439e..60ed59c 100644
--- a/lib/netstd/Thrift/Transport/Client/THttpTransport.cs
+++ b/lib/netstd/Thrift/Transport/Client/THttpTransport.cs
@@ -25,8 +25,6 @@ using System.Security.Cryptography.X509Certificates;
 using System.Threading;
 using System.Threading.Tasks;
 
-#pragma warning disable IDE0079 // unnecessary suppression
-#pragma warning disable IDE0063 // simplify using
 
 namespace Thrift.Transport.Client
 {
diff --git a/lib/netstd/Thrift/Transport/Client/TMemoryBufferTransport.cs b/lib/netstd/Thrift/Transport/Client/TMemoryBufferTransport.cs
index a666c7c..5773d30 100644
--- a/lib/netstd/Thrift/Transport/Client/TMemoryBufferTransport.cs
+++ b/lib/netstd/Thrift/Transport/Client/TMemoryBufferTransport.cs
@@ -21,8 +21,6 @@ using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
 
-#pragma warning disable IDE0079  // unused suppression
-#pragma warning disable IDE0066  // requires C# 8 
 
 namespace Thrift.Transport.Client
 {
diff --git a/lib/netstd/Thrift/Transport/Layered/TBufferedTransport.cs b/lib/netstd/Thrift/Transport/Layered/TBufferedTransport.cs
index dee52dd..271a994 100644
--- a/lib/netstd/Thrift/Transport/Layered/TBufferedTransport.cs
+++ b/lib/netstd/Thrift/Transport/Layered/TBufferedTransport.cs
@@ -110,8 +110,7 @@ namespace Thrift.Transport
 
             // buffer a new chunk of bytes from the underlying transport
             ReadBuffer.Length = ReadBuffer.Capacity;
-            ArraySegment<byte> bufSegment;
-            ReadBuffer.TryGetBuffer(out bufSegment);
+            ReadBuffer.TryGetBuffer(out ArraySegment<byte> bufSegment);
             ReadBuffer.Length = await InnerTransport.ReadAsync(bufSegment.Array, 0, bufSegment.Count, cancellationToken);
             ReadBuffer.Position = 0;
 
@@ -134,8 +133,7 @@ namespace Thrift.Transport
             var free = WriteBuffer.Capacity - WriteBuffer.Length;
             if (length > free)
             {
-                ArraySegment<byte> bufSegment;
-                WriteBuffer.TryGetBuffer(out bufSegment);
+                WriteBuffer.TryGetBuffer(out ArraySegment<byte> bufSegment);
                 await InnerTransport.WriteAsync(bufSegment.Array, 0, bufSegment.Count, cancellationToken);
                 WriteBuffer.SetLength(0);
             }
@@ -163,8 +161,7 @@ namespace Thrift.Transport
 
             if (WriteBuffer.Length > 0)
             {
-                ArraySegment<byte> bufSegment;
-                WriteBuffer.TryGetBuffer(out bufSegment);
+                WriteBuffer.TryGetBuffer(out ArraySegment<byte> bufSegment);
                 await InnerTransport.WriteAsync(bufSegment.Array, 0, bufSegment.Count, cancellationToken);
                 WriteBuffer.SetLength(0);
             }
diff --git a/lib/netstd/Thrift/Transport/Layered/TFramedTransport.cs b/lib/netstd/Thrift/Transport/Layered/TFramedTransport.cs
index f560986..722df76 100644
--- a/lib/netstd/Thrift/Transport/Layered/TFramedTransport.cs
+++ b/lib/netstd/Thrift/Transport/Layered/TFramedTransport.cs
@@ -97,8 +97,7 @@ namespace Thrift.Transport
             ReadBuffer.SetLength(size);
             ReadBuffer.Seek(0, SeekOrigin.Begin);
 
-            ArraySegment<byte> bufSegment;
-            ReadBuffer.TryGetBuffer(out bufSegment);
+            ReadBuffer.TryGetBuffer(out ArraySegment<byte> bufSegment);
             await InnerTransport.ReadAllAsync(bufSegment.Array, 0, size, cancellationToken);
         }
 
@@ -129,8 +128,7 @@ namespace Thrift.Transport
                 throw new TTransportException(TTransportException.ExceptionType.NotOpen);
             }
 
-            ArraySegment<byte> bufSegment;
-            WriteBuffer.TryGetBuffer(out bufSegment);
+            WriteBuffer.TryGetBuffer(out ArraySegment<byte> bufSegment);
 
             int dataLen = bufSegment.Count - HeaderSize;
             if (dataLen < 0)
diff --git a/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs b/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
index d7421c9..3a4fed4 100644
--- a/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
+++ b/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
@@ -113,8 +113,11 @@ namespace Thrift.Transport.Server
             try
             {
                 TTransport tSocketTransport = null;
+                #if NET6_0_OR_GREATER
+                var tcpClient = await _server.AcceptTcpClientAsync(cancellationToken);
+                #else
                 var tcpClient = await _server.AcceptTcpClientAsync();
-
+                #endif
                 try
                 {
                     tSocketTransport = new TSocketTransport(tcpClient, Configuration)

[thrift] 02/02: Updated changes.md for 0.16.0

Posted by je...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jensg pushed a commit to branch 0.16.0
in repository https://gitbox.apache.org/repos/asf/thrift.git

commit d68f03c0edc539bc1757b2ac358dbd43c44bc651
Author: Jens Geyer <je...@apache.org>
AuthorDate: Mon Jan 24 22:26:21 2022 +0100

    Updated changes.md for 0.16.0
---
 CHANGES.md | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index c1a9034..97769c5 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -17,8 +17,9 @@
 
 ### C++
 
-- [THRIFT-5456](https://issues.apache.org/jira/browse/THRIFT-5456) - ServerSocket doesn't ignore SIGPIPE
 - [THRIFT-5187](https://issues.apache.org/jira/browse/THRIFT-5187) - Add support for Unix domain sockets on Windows 10 or later
+- [THRIFT-5418](https://issues.apache.org/jira/browse/THRIFT-5418) - C++ to_string and ostream operator not always generated
+- [THRIFT-5456](https://issues.apache.org/jira/browse/THRIFT-5456) - ServerSocket doesn't ignore SIGPIPE
 
 ### Common LISP
 
@@ -31,8 +32,8 @@
 ### Go
 
 - [THRIFT-5461](https://issues.apache.org/jira/browse/THRIFT-5461) - Invalid golang code generated for optional set<binary> with a default value
-- [THRIFT-5490](https://issues.apache.org/jira/browse/THRIFT-5490) - Improve memory efficiency in go THeader implementation
 - [THRIFT-5469](https://issues.apache.org/jira/browse/THRIFT-5469) - Go lib skip map value may cause stack overflow
+- [THRIFT-5490](https://issues.apache.org/jira/browse/THRIFT-5490) - Improve memory efficiency in go THeader implementation
 
 ### Haxe
 
@@ -40,8 +41,8 @@
 
 ### Java
 
-- [THRIFT-5486](https://issues.apache.org/jira/browse/THRIFT-5486) - fix issues found by spotbugs 
 - [THRIFT-5443](https://issues.apache.org/jira/browse/THRIFT-5443) - add support for partial deserialization of Thrift
+- [THRIFT-5486](https://issues.apache.org/jira/browse/THRIFT-5486) - fix issues found by spotbugs 
 
 ### JavaScript
 
@@ -49,27 +50,28 @@
 
 ### netstd
 
-- [THRIFT-5500](https://issues.apache.org/jira/browse/THRIFT-5500) - Uncompilable code when .thrift struct 'System' exists
-- [THRIFT-5479](https://issues.apache.org/jira/browse/THRIFT-5479) - Add net 6 support
+- [THRIFT-5401](https://issues.apache.org/jira/browse/THRIFT-5401) - MaxMessageSize reached exception thrown in TEndpointTransport
 - [THRIFT-5408](https://issues.apache.org/jira/browse/THRIFT-5408) - Support for deprecated methods (via annotation)
-- [THRIFT-5481](https://issues.apache.org/jira/browse/THRIFT-5481) - consolidate netstd server implementation details into one common model
+- [THRIFT-5479](https://issues.apache.org/jira/browse/THRIFT-5479) - Add net 6 support
 - [THRIFT-5480](https://issues.apache.org/jira/browse/THRIFT-5480) - TThreadPoolAsyncServer using TFramedTransport mistakenly drops client
-- [THRIFT-5401](https://issues.apache.org/jira/browse/THRIFT-5401) - MaxMessageSize reached exception thrown in TEndpointTransport
+- [THRIFT-5481](https://issues.apache.org/jira/browse/THRIFT-5481) - consolidate netstd server implementation details into one common model
+- [THRIFT-5500](https://issues.apache.org/jira/browse/THRIFT-5500) - Uncompilable code when .thrift struct 'System' exists
+- [THRIFT-5504](https://issues.apache.org/jira/browse/THRIFT-5504) - CA2254 Message template should be compile time constant
 
 ### Perl
 
-- [THRIFT-5416](https://issues.apache.org/jira/browse/THRIFT-5416) - Allow UDP Socket Client In Perl
 - [THRIFT-5055](https://issues.apache.org/jira/browse/THRIFT-5055) - Fix build-cpan-dist.sh to create a CPAN distribution correctly
+- [THRIFT-5416](https://issues.apache.org/jira/browse/THRIFT-5416) - Allow UDP Socket Client In Perl
 
 ### Python
 
-- [THRIFT-5488](https://issues.apache.org/jira/browse/THRIFT-5488) - SystemError when using fast binary or compact protocol in python 3.10
 - [THRIFT-5454](https://issues.apache.org/jira/browse/THRIFT-5454) - Python TProcessPoolServer does not spawn expected number of worker processes
+- [THRIFT-5488](https://issues.apache.org/jira/browse/THRIFT-5488) - SystemError when using fast binary or compact protocol in python 3.10
 
 ### Rust
 
-- [THRIFT-5457](https://issues.apache.org/jira/browse/THRIFT-5457) - Travis fails consistently on a Rust dependency
 - [THRIFT-5452](https://issues.apache.org/jira/browse/THRIFT-5452) - Make server optional
+- [THRIFT-5457](https://issues.apache.org/jira/browse/THRIFT-5457) - Travis fails consistently on a Rust dependency
 
 ### Test Suite