369 Commits
Author SHA1 Message Date
Jens Geyer 58cee63f89 netstd bump versions 2026-10-24 15:16:42 +02:00
Dmytro ShteflyukandOpenAI Codex 327f3580eb Add make style targets for Ruby (#4026)
Client: rb

Run RuboCop safe autocorrection for the Ruby library, cross-language
tests, and tutorial through the existing Autotools style hooks.

Co-authored-by: OpenAI Codex (gpt-6.1-sol) <codex@openai.com>
2026-10-20 17:27:10 -04:00
dependabot[bot] dc83a929d1 Bump System.Security.Cryptography.Xml from 10.0.10 to 10.0.13
---
updated-dependencies:
- dependency-name: System.Security.Cryptography.Xml
  dependency-version: 10.0.13
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-17 02:01:19 +02:00
Sylwester Lachiewicz b3c95976da THRIFT-6162: Require Rust 1.85 with the 2024 edition and build with Rust 1.99
Client: rs

All Rust crates declare edition 2024 and rust-version 1.85. Edition 2024
turns on Cargo's MSRV-aware resolver, so dependencies resolve to versions
that still build on 1.85 even when a newer toolchain runs the build.

CI, the crates.io release and the Docker images use Rust 1.99.0, pinned
rather than "stable": the Rust jobs run clippy with -D warnings, and each
new release adds lints. Bump the pin on purpose, together with any lint
fixes it needs.

The generated ok_or() now matches with if-let instead of is_some() and
unwrap(), which clippy 1.99 rejects in every generated client.
2026-10-14 08:48:05 +02:00
Jens GeyerandClaude Opus 5.5 2e7cf9f991 THRIFT-6376: Run the netstd tutorial in CI
Client: netstd

smoketest.sh starts the tutorial server and runs the client against it
with -mc:2, once for each transport and with the compact and JSON
protocols, the buffered and framed transports and multiplexing. "make
check" in tutorial/netstd runs it, and so does a new step in the
lib-netstd job.

The client now exits with 1 when one of its clients fails. It used to
log the error and exit with 0, so a script could not tell a failed run
from a good one.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 17:58:02 +02:00
Jens GeyerandClaude Opus 5.5 c21dd251c3 THRIFT-6375: Give each netstd tutorial client its own transport
Client: netstd

With -mc greater than 1, all clients ran over the one transport and
protocol that RunAsync() created, so none of them completed its calls.
Create a transport and a protocol for each client inside the loop, as
the tutorial did before 0d12832d.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 12:28:12 +02:00
Jens GeyerandClaude Opus 5.5 240728472c THRIFT-6374: Make the netstd tutorial HTTP server start
Client: netstd

UseMiddleware<THttpServerTransport>() left ASP.NET Core only the
RequestDelegate to match, and all three public THttpServerTransport
constructors accept one, so the host stopped at startup. The tutorial
now also passes the processor and a TConfiguration.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 12:25:55 +02:00
Jens GeyerandClaude Opus 5 82bab63064 THRIFT-6316: Fetch the test and tutorial JavaScript libraries over HTTPS
Client: js,test

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 13:55:15 +02:00
Jens Geyer 451efc7a72 bump master version 2026-09-18 09:00:54 +02:00
Sylwester LachiewiczandClaude Fable 5.1 6b42e7fd03 THRIFT-5566: Migrate Java tutorial from Ant to Gradle
Client: java, tutorial

Migrated tutorial/java from Apache Ant (build.xml, build.properties) to Gradle:
- Added build.gradle with Java and Application plugins.
- Configured Gradle composite build (includeBuild) to build and consume libthrift directly.
- Added generateThrift task to invoke thrift compiler on tutorial.thrift and shared.thrift.
- Added tutorial, tutorialServer, and tutorialClient tasks for running the tutorial.
- Updated JavaServer and JavaClient SSL keystore/truststore paths to valid crossTest resource locations.
- Updated Makefile.am to invoke Gradle instead of Ant and updated EXTRA_DIST.
- Updated README.md with Gradle execution instructions.
- Added /tutorial/java/.gradle/ to .gitignore.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 18:11:03 +02:00
Jens GeyerandClaude Opus 5 407250f66f THRIFT-4244: Document the string literal syntax in tutorial.thrift and idl.md
Client: docs

Rule [36] in doc/specs/idl.md defined Literal as ('"' [^"]* '"') |
("'" [^']* "'"). Read literally, a backslash is an ordinary character, a
double quote cannot appear in a double-quoted literal and line breaks are
allowed; none of that matches the compiler. Correct the rule, add an Escape
rule for the six supported escape sequences and renumber the rules after
it. The IDL page on thrift.apache.org is generated from this file.

Describe the same syntax next to MAPCONSTANT in tutorial.thrift. The text
is a plain /* */ comment rather than a doc comment, so it does not reach
generated code: all 29 generators, plus the option variants used by the
tutorial builds, produce byte-identical output before and after.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-11 17:33:03 +02:00
Dmytro ShteflyukandOpenAI Codex de266f6859 Omit parentheses from zero-argument Ruby methods (#3740)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-23 18:23:10 -04:00
Dmytro ShteflyukandOpenAI Codex a1fad93879 Enable RuboCop Lint/UselessAssignment (#3729)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-19 13:16:09 -04:00
Dmytro ShteflyukandOpenAI Codex fe5641c7fc Enable RuboCop Style/RedundantReturn (#3728)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-17 00:43:24 -04:00
Dmytro ShteflyukandOpenAI Codex 9c0d894f30 Enable RuboCop redundancy rules (#3726)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-16 21:39:33 -04:00
Dmytro ShteflyukandOpenAI Codex 759b0faf31 Enforce Ruby whitespace layout rules (#3719)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-16 13:35:39 -04:00
Dmytro ShteflyukandOpenAI Codex 91d0590cf0 Enable double-quoted Ruby string literals (#3715)
Client: rb

Co-authored-by: OpenAI Codex (GPT-5.6) <codex@openai.com>
2026-08-14 17:58:27 -04:00
Jens Geyer cd00f037fa nuget package update 2026-07-21 14:51:31 +02:00
Jens Geyer aecca39882 Merge branch 'release/0.24.0' into upstream-master 2026-07-11 18:23:08 +02:00
Jens Geyer b7b838d450 bump version number, fixed veralign.sh new/removed files 2026-07-11 17:56:59 +02:00
Jens GeyerandClaude Opus 4.8 6d2ec95f45 Tune make dist: drop generated/build artifacts, add missing sources
Adjust what "make dist" ships in the release tarball.

Dropped (build output and generated code that a built tree leaves behind,
swept in via whole-directory EXTRA_DIST entries and pruned in dist-hook;
none of it is tracked, so a clean checkout never contained it):
- lib/haxe/test/{bin,gen-haxe}, lib/javame/gen-javame
- lib/netstd bin/obj/gen-netstd across the test and benchmark projects
- test/netstd/{Client,Server}/ThriftTest
- tutorial/netstd/Interfaces/{shared,tutorial} (tracked project
  scaffolding is kept so the tutorial still builds from the tarball)
- test/cpp/gen-cpp* (nodist generated sources)
- build/__pycache__ and stray *.pyc
Also no longer shipped: the .github/ CI configuration and
doc/thrift-threat-model.md.

Added (tracked sources that were missing from EXTRA_DIST):
- lib/lua/test/{RecursionDepth.thrift,test_recursion_depth.lua}
- lib/netstd/Tests/codegen/run-NetStd-Codegen-Tests.ps1
- test/JsRecursionDepthTest.thrift
- lib/php/{phpstan.neon,phpstan-baseline.neon}
- SECURITY.md

Verified end-to-end with make dist in a clean container: 4317 -> 3480
tarball entries, and the only tracked files removed are .github/* and
doc/thrift-threat-model.md.

Client: netstd,haxe,javame,lua,php,cpp

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 22:04:17 +02:00
Jens GeyerandClaude Sonnet 4.6 43e699045d THRIFT-5864: Remove Swift binding
Client: swift

Remove the Swift compiler generator, library, tests, tutorial, and all
associated build system, CI, and documentation references. No maintainer
has been available for this binding; the lib-swift CI job has been
disabled since 0.23.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 22:32:58 +02:00
Jens GeyerandClaude Opus 4.8 dc9644eacb THRIFT-4534: Move ASP.NET Core HTTP server transport to a separate package
Client: netstd

The core ApacheThrift package no longer depends on the ASP.NET Core stack or
the Microsoft.Extensions.Logging providers, so non-web projects no longer pull
in all of those DLLs. THttpServerTransport (the only ASP.NET Core type) moves to
a new ApacheThrift.AspNetCore package; the core library keeps only the
Microsoft.Extensions.Logging.Abstractions dependency used by the TServer types.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 00:44:14 +02:00
Jens Geyer ba3b7f7ebb Migration *.sln to *.slnx (except c++ libs) 2026-05-12 00:24:48 +02:00
Jens Geyer 4190558bdd netcore package upgrades
Client: netstd
Patch: Jens Geyer
2026-04-24 08:55:26 +02:00
Dmytro ShteflyukandOpenAI Codex 7b1f133a31 THRIFT-5950: Enforce frozen string literals in Ruby
Client: rb

Ruby is on a gradual path toward frozen string literals by default. That
transition began in Ruby 3.4.0 with chilled strings, but we can get the
benefits today by explicitly enabling `# frozen_string_literal: true`.
Doing so reduces avoidable string allocations and copies, lets the VM do
less work, removes many manual .freeze workarounds, and can deliver
meaningful performance improvements in allocation-heavy code paths.

This change adds frozen string literal to all generated files, and also
library files. There is one performance issue in JSON protocol I noticed
where we used += on strings instead of <<, which allocates much more
objects than necessary, and you can clearly see the gain in the profile
table below.

Co-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>
2026-04-20 23:13:48 +02:00
Jens Geyer 2e3afbe577 branch for release 2026-04-08 00:05:45 +02:00
Dmytro Shteflyuk 3b0ab4dfa1 Enforce consistent whitespaces around blocks, equal signs, and in parameters in Ruby code 2026-03-17 22:06:26 +01:00
Martin Haimberger 1eaa9a41f0 - THRIFT-5712 - Added Dart 3 Compatibility 2025-12-10 22:57:59 +01:00
Jens Geyer d6fc79122b bump nuget packages 2025-11-19 23:56:40 +01:00
Jens Geyer 2f214c28d8 THRIFT-5902 Add net10 support
Client: netstd
Patch: Jens Geyer
2025-11-14 21:17:28 +01:00
Jens Geyer 67f8280127 nuget package update 2025-06-21 01:43:47 +02:00
Jens Geyer c79d1cc179 Branch 0.22.0 created 2025-05-14 22:08:35 +02:00
Cameron Martin caef0eda24 THRIFT-5811: Update eslint & prettier
Client: js
Patch: Cameron Martin

This closes #3087
2025-02-28 22:22:22 +01:00
Hasnain Lakhani 93c15c2022 Various build fixes for clang and rust 2025-02-03 22:22:04 +01:00
Jens Geyer e26b4a8384 THRIFT-5832 Drop net6 support and add net9 instead
Client: netstd
Patch: Jens Geyer
2024-11-22 23:25:49 +01:00
Jens Geyer ef199ccbc2 bump version number 2024-09-03 01:33:19 +02:00
Jens Geyer 0f0e11fbce THRIFT-5798 Expand netstd compile tests to fully cover all current target environments
Client: netstd
Patch: Jens Geyer

This closes #3008
2024-07-20 22:36:10 +02:00
Jens Geyer 4ea20aafb5 THRIFT-5796 Indicate target environment via #if check
Client: netstd
Patch: Jens Geyer
2024-07-20 22:32:16 +02:00
Jens Geyer 0341323059 THRIFT-5783 drop net7 support
Client: netstd
Patch: Jens Geyer
2024-05-02 09:31:26 +02:00
CJCombrink 4a280d56cc THRIFT-5766 Replace std::endl with "\n"
Patch: Carel Combrink

This closes #2943
2024-04-15 22:37:44 +02:00
Thomas 63f04583e3 Manually remove $(BUILT_SOURCES) since no-dist-built-sources doesnt work 2024-04-02 14:09:27 +02:00
Jens Geyer f5396ed9dd Merge branch '0.20.0' 2024-03-22 23:54:45 +01:00
Jens Geyer 0d0ac75347 Preparing 0.20.0 2024-03-12 22:33:15 +01:00
Jens Geyer 75cf93ed22 bump version number 2024-02-04 14:50:37 +01:00
Jens Geyer ac2deed0fc THRIFT-5746 Upgrade to net8
Client: netstd
Patch: Jens Geyer

This updates certain packages that became available now for 8.0.0
2023-11-25 14:20:37 +01:00
Jens Geyer 4115e952b5 THRIFT-5746 Upgrade to net8
Client: netstd
Patch: Jens Geyer
2023-11-23 19:51:35 +01:00
Jens Geyer 0eab6e0ae5 THRIFT-5740 inherited interfaces should be explicitly listed in Delphi class decl
Client: Delphi
Patch: Jens Geyer
2023-11-03 11:19:47 +01:00
Jens Geyer 8e89abee17 THRIFT-5726 package upgrades and consolidation/improvement of build targets checks
Client: netstd
Patch: Jens Geyer
2023-07-21 22:32:03 +02:00
Jens Geyer 0d5b4f9fa1 created reöease branch 0.19.0 2023-07-08 12:49:11 +02:00