It looks like we didn't implement uuid in rust yet, so with swift already fixed, Java/kotlin is the last one to fix.
On Thu, Aug 10, 2023 at 8:43 AM Yuxuan Wang <yuxuan.w...@reddit.com> wrote: > Actually, only Java is remaining non-compliance while all other > implementations are 16: > > === 8< === > fishy@perch:~/work/thrift/lib$ git grep -w 17 | grep -i uuid > java/src/main/java/org/apache/thrift/protocol/TType.java: public static > final byte UUID = 17; > java/src/test/java/org/apache/thrift/protocol/ProtocolTestBase.java: > new StructFieldTestCase(TType.UUID, (short) 17) { > fishy@perch:~/work/thrift/lib$ git grep -w 16 | grep -i uuid > delphi/src/Thrift.Protocol.Compact.pas: Types.UUID // Uuid > = 16 > delphi/src/Thrift.Protocol.Compact.pas: ASSERT( SizeOf(uuid) = 16); > delphi/src/Thrift.Protocol.pas: Uuid = 16 > delphi/src/Thrift.Protocol.pas: ASSERT( SizeOf(uuid) = 16); > go/thrift/compact_protocol.go:// Write a Tuuid to the wire as 16 bytes. > go/thrift/compact_protocol.go:// Read fixed 16 bytes as UUID. > go/thrift/type.go: UUID = 16 > go/thrift/uuid.go:type Tuuid [16]byte > go/thrift/uuid.go: 14, 16, > haxe/src/org/apache/thrift/protocol/TBinaryProtocol.hx: > case TType.UUID: return 16; // uuid bytes > haxe/src/org/apache/thrift/protocol/TCompactProtocol.hx: > case TType.UUID: return 16; // uuid bytes > haxe/src/org/apache/thrift/protocol/TType.hx: public static inline var > UUID : Int = 16; > netstd/Thrift/Protocol/Entities/TType.cs: Uuid = 16 > netstd/Thrift/Protocol/TBinaryProtocol.cs: > Transport.CheckReadBytesAvailable(16); // = sizeof(uuid) > netstd/Thrift/Protocol/TBinaryProtocol.cs: case TType.Uuid: > return 16; // uuid bytes > netstd/Thrift/Protocol/TCompactProtocol.cs: > Transport.CheckReadBytesAvailable(16); // = sizeof(uuid) > netstd/Thrift/Protocol/TCompactProtocol.cs: case > TType.Uuid: return 16; // uuid bytes > swift/Sources/TProtocol.swift: case uuid = 16 > === >8 === > > I don't see rust showing up in either 16 or 17 though. Anyone familiar > with rust code can help check whether it's compliant? > > On Thu, Aug 10, 2023 at 8:15 AM Yuxuan Wang <yuxuan.w...@reddit.com> > wrote: > >> Sorry I'm changing my vote to -1. >> >> I just realized that we still have >> https://issues.apache.org/jira/browse/THRIFT-5653 unfixed. Basically we >> shipped 0.18.0 and 0.18.1 with java, kotlin, rust, and swift with the >> non-compliant UUID implementation. That probably didn't cause much problem >> because the usage/adoption is not high, but one of the reason the other >> Apache project cited when they say they need to add back JDK8 support is >> that they want to use the UUID feature but the 0.18.* was shipped with >> minimal JDK version of 11. So I would assume that if we ship the same bug >> with 0.19.0 with JDK8 support, they would adopt it, with the non-compliance >> implementation, and the situation will be more dire (the serialized data >> will be broken once they upgraded to a fixed version of thrift, or when >> they read from a compliance language implementation). >> >> On Tue, Aug 8, 2023 at 10:36 AM Yuxuan Wang <yuxuan.w...@reddit.com> >> wrote: >> >>> lol of course go 1.21 is finally out of RC one day after I said I won't >>> wait for it any longer. >>> >>> regarding thrift 0.19, I'm fine either way ("release thrift 0.19 with >>> support to go 1.19 and go 1.20" or "do another RC to change supported go >>> version to go 1.20 and go 1.21"). >>> >>> On Mon, Aug 7, 2023 at 10:19 AM Yuxuan Wang <yuxuan.w...@reddit.com> >>> wrote: >>> >>>> +1. >>>> >>>> We tested the go compiler/lib but didn't finish the python test in time >>>> but don't want to hold this forever. >>>> >>>> Also there's a new RC for go1.21 so I don't want that to hold this >>>> release forever as well. >>>> >>>> Sorry for the late vote. >>>> >>>> On Tue, Jul 18, 2023 at 4:14 PM Yuxuan Wang <yuxuan.w...@reddit.com> >>>> wrote: >>>> >>>>> Thanks for the work, Jens! >>>>> >>>>> We already tested the RC version on a go service in our environment. >>>>> We also have another team to try to test the RC version on a python >>>>> service, but that's more challenging (especially for an unreleased version >>>>> that there's no pre-built python packages) so it might take a few more >>>>> days. >>>>> >>>>> Another thing that's not really a release blocker but I would prefer >>>>> to wait for a little bit is https://github.com/apache/thrift/pull/2821, >>>>> which depends on the release of Go 1.21. There was go 1.21-rc2 from June >>>>> 21 >>>>> and -rc3 from July 14, so I would expect the actual release will happen >>>>> very soon, and it would be great to wait a bit and align our releases >>>>> (since we both have similar release cadence of twice a year). >>>>> >>>>> On Sat, Jul 15, 2023 at 3:20 AM Jens Geyer <je...@apache.org> wrote: >>>>> >>>>>> All, >>>>>> >>>>>> I propose that we accept the following release candidate as the >>>>>> official >>>>>> Apache Thrift 0.19.0 release: >>>>>> >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://dist.apache.org/repos/dist/dev/thrift/0.19.0-rc0/thrift-0.19.0.tar.gz___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6NjoyZTU4OmQ0Yzk5YTQzZTViOTk2Njc5YjA3NzcwZTA2ZmNhZjFjZjM0ODdjMmM3MWJhYWI0ZjA1ZjI0ZjAwZWJhNTBkNzE6cDpU >>>>>> >>>>>> The release candidate was created from the release/0.19.0 branch and >>>>>> can >>>>>> be cloned using: >>>>>> >>>>>> git clone -b release/0.19.0 >>>>>> https://protect.checkpoint.com/v2/___https://github.com/apache/thrift.git___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6NjowZDM0OjI3YmY2NzVjZjhjNjhjMTVjNTllYjQ4NzNlYmU4MDM4NzkxOTBjZDMxZTFkMDUwNTc1YjM5MmIzYzJjMDQzMDI6cDpU >>>>>> >>>>>> The release candidates GPG signature can be found at: >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://dist.apache.org/repos/dist/dev/thrift/0.19.0-rc0/thrift-0.19.0.tar.gz.asc___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6NjplZGMzOmI0YWM4OGI1MGU0MTFkNTJkZjlkMGVlYzk5ZmNlNGRiN2RmODMyZmIwNzcxMWI2YjFhMzIwMjcwOWI1ZjcwNjY6cDpU >>>>>> >>>>>> The release candidates checksums are: >>>>>> md5: d1f7f19a23e1830f83052c050156cebc >>>>>> sha1: f06f3a281bb41eed789d0e88d8a1b35405c664a8 >>>>>> sha256: >>>>>> c5a6ac0aca3bf1fd8a2f6afffc24bdf247cd8188480222c89f14a7900f7d6a51 >>>>>> >>>>>> >>>>>> A prebuilt statically-linked Windows compiler is available at: >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://dist.apache.org/repos/dist/dev/thrift/0.19.0-rc0/thrift-0.19.0.exe___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6Njo5NDIzOjUxNTRlM2IxMDlmY2VjOWY5OWM4NjVjNzQzNmM2NTE1NTJmNzdmMmRlMGMyOTNlOGEzOTQ1MTk2MjJhZDFlMWI6cDpU >>>>>> >>>>>> Prebuilt statically-linked Windows compiler GPG signature: >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://dist.apache.org/repos/dist/dev/thrift/0.19.0-rc0/thrift-0.19.0.exe.asc___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6Njo5YWQ3OjFhNjNmZGZjNmJiM2YxODY2ODAxNmY4NGFjYWYzYjdkNmNjMWNjNTA5OWJhYzVmZjdhZWExYTI1ZDQ4ZDExMzA6cDpU >>>>>> >>>>>> Prebuilt statically-linked Windows compiler checksums are: >>>>>> md5: cf4a7d003893c4503fc7105aef0259ca >>>>>> sha1: d0e67bb8c89ee557614fd9e1e0f3086ff67164c9 >>>>>> sha256: >>>>>> 1f1ce1658df1226a35dc6a6318da6d534328e24f3c99da4dee847eb57654401d >>>>>> >>>>>> >>>>>> The CHANGES list for this release is available at: >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://github.com/apache/thrift/blob/0.19.0/CHANGES.md___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6NjoyZjVkOjkxMDkwNjY1YjU4MDQ1NWRjNmFhM2ZiM2Q1MGY1NzhlOGFhZDU3MDEwY2Q1ODAwMzNlYzMwZjIwYmI3ZTRmOWI6cDpU >>>>>> >>>>>> >>>>>> Please download, verify sig/sum, install and test the libraries and >>>>>> languages of your choice. >>>>>> >>>>>> This vote will close in 109 hours on 2023-07-20 00:00 UTC >>>>>> >>>>>> https://protect.checkpoint.com/v2/___https://www.timeanddate.com/countdown/generic?iso=20230720T0000&p0=1440___.YzJ1OnJlZGRpdDpjOmc6ZWI5MWFkNzI2OWQxMWVlMTZiNWYzODUyMThmYjk4YWQ6NjpkOGMzOjNiOTY1ZTZkNjcwNzVlOGU0OTc2N2EyOTcxNzYwNDI0ZDUwN2E5M2M2ODEwMzFmZTM2NWNiNGZmNjMwNjY5NDg6cDpU >>>>>> >>>>>> [ ] +1 Release this as Apache Thrift 0.19.0 >>>>>> [ ] +0 >>>>>> [ ] -1 Do not release this as Apache Thrift 0.19.0 because... >>>>>> >>>>>> >>>>>> Have fun, >>>>>> JensG >>>>>> >>>>>