2022-12-13 21:24:24 +03:00
3.1.0 (released 13 December 2022)
------------------
- Add: Support default field values in struct-typed constants (#507)
- Add: Implement Java codegen for struct-typed constants (#503)
- Add: Sort constants in Schema by "dependency order" (#502)
- Add: Added `Constant#referencedConstants` list (#499)
- Add: new Gradle plugin support for TypeProcessors (#494)
- Change: Bump Okio to 3.2.0 (#510)
- Change: Bump Kotlin to 1.7.20 (#495)
- Fix: avoid afterEvaluate in thrifty-gradle-plugin (#492)
2022-06-08 00:56:10 +03:00
3.1.0-RC02 (released 7 June 2022)
------------------
- Add preliminary support for TypeProcessor plugins to thrifty-gradle-plugin (#490)
- Add "generated" comments to Kotlin files (thanks @shashachu ) (#486)
- Add Kotlin codegen for struct-value constants (#482)
- Maybe break? Removed deprecated `@JvmDefault` annotations from thrifty-runtime (#481)
3.1.0-RC01 (released 13 April 2022)
------------------
- Add struct-valued constant validator to thirfty-schema (thanks @janarajan ) (#467)
- Add server support (thanks @luqasn ) (#447)
- Bump Kotlin to 1.6.20
2021-08-08 07:47:22 +03:00
3.0.0 (released 7 August 2021)
------------------
The major update in this release is the transition of Thrifty from a Java project to a Kotlin Multiplatform project. Among other changes, one thing to note is that the runtime artifact `thrifty-runtime` now refers to an MPP artifact. The correct artifact to reference in your existing Android or Java projects is `thrifty-runtime-jvm` .
- BREAK: All support for `@Generated` annotations has been removed (#402)
- BREAK: thrifty-runtime ported to Kotlin Multiplatform (#401)
- BREAK: thrifty-runtime-ktx is gone, and has been merged into thrifty-runtime (#397)
- BREAK: thrifty-runtime ported to Kotlin (#391)
- BREAK: Minimum supported JDK is now version 8 (#391)
- BREAK: Fields whose names are "soft" or "modifier" Kotlin keywords now have an underscore suffix (thanks @luqasn ) (#446)
- Add Okio-based convenience APIs to thrifty-runtime (#408)
- Add big-enum mode to enable enums with large numbers of members (Thanks @shashachu ) (#421)
- Change: Kotlin structs are builderless by default (#414)
- Change: Gradle plugin defaults to Kotlin (#442)
- Change: thrifty-compiler defaults to generating Kotlin (#451)
- Fix: Empty structs use literal class name for hashCode (#415)
- Fix: `Location` in thrifty-schema should always be an include root (#416)
- Fix: Make `@JvmStatic` annotations opt-in (#417)
- Fix: Including sibling .thrift files now works (#434)
- Fix: Unions with fields named `error` (thanks @luqasn ) (#444)
3.0.0-RC-2 (released 2 August 2021)
------------------
- Fix broken Maven publication
2021-06-21 22:31:29 +03:00
3.0.0-RC01 (released 21 June 2021)
2021-02-11 10:16:53 +03:00
------------------
2021-06-21 22:31:29 +03:00
- BREAK: All support for `@Generated` annotations has been removed (#402)
- BREAK: thrifty-runtime-ktx is gone, and has been merged into thrifty-runtime (#397)
- BREAK: thrifty-runtime ported to Kotlin (#391)
- BREAK: Minimum supported JDK is now version 8 (#391)
- BREAK: Fields whose names are "soft" or "modifier" Kotlin keywords now have an underscore suffix (thanks @luqasn ) (#446)
- Add Okio-based convenience APIs to thrifty-runtime (#408)
- Add big-enum mode to enable enums with large numbers of members (Thanks @shashachu ) (#421)
- Change: Kotlin structs are builderless by default (#414)
- Change: Gradle plugin defaults to Kotlin (#442)
- Change: thrifty-compiler defaults to generating Kotlin (#451)
- Fix: Empty structs use literal class name for hashCode (#415)
- Fix: `Location` in thrifty-schema should always be an include root (#416)
- Fix: Make `@JvmStatic` annotations opt-in (#417)
- Fix: Including sibling .thrift files now works (#434)
- Fix: Unions with fields named `error` (thanks @luqasn ) (#444)
2021-02-11 10:16:53 +03:00
2020-07-14 00:29:43 +03:00
2.1.1 (released 13 July 2020)
------------------
- #369: Gradle plugin: Rename includeDir to includePath, customize outputDirectory
- #368: Fix infinite loop in FramedTransport#read on EOF (thanks @denisov -mikhail)
- #367: Gradle plugin: Add API to configure which specific thrift files are compiled
2020-06-09 20:47:31 +03:00
2.1.0 (released 9 June 2020)
------------------
- #362: Fix: Explicitly fail service calls on IOException or RuntimeException (thanks @amorozov )
- #357: Add --no-fail-on-default-enum-values (thanks @guptadeepanshu )
- #356: Add thrifty-gradle-plugin to compile thrifts in Gradle JVM projects
- #348: Change: Update okio from 1.14.1 to 2.6.0
- #332: Add --kt-emit-jvmname option (thanks @jparise )
- #330: Add --omit-service-clients option (thanks @jparise )
2020-05-05 00:02:47 +03:00
2.0.1 (released 4 May 2020)
------------------
Rebuild with JDK8, not JDK11
2020-04-29 09:45:28 +03:00
2.0.0 (released 28 April 2020, Quarantine Edition)
------------------
- #328: Fix: Print LoadFailedException cause on load failure (thanks @jparise )
- #326: Fix: Fix Java compilation with catch-all thrift namespaces (thanks @timvlaer )
- #317: Fix: Use UTF-8 for strings in SimpleJsonProtocol
2019-05-08 22:57:27 +03:00
2.0.0-RC1 (released 8 May 2019)
------------------
- #307: Support AndroidX nullability annotations (thanks, @DSteve595 )
- #305: Show location of including file when included file is not found (thanks, @hzsweers )
- #300: Fail parsing when the parser terminates without reading the entire input
- #253: Use sealed types for unions in generated Kotlin code (thanks, @Zomzog )
- General: Represent Thrift unions with sealed types in Kotlin
- #273: Fix circular-include error messages
2018-11-03 01:22:09 +03:00
1.0.0 (released 2 November 2018)
------------------
- #259: Enable configurable `@Generated` annotation type
- #254: Update to Kotlin 1.3, update generated coroutine APIs to be non-experimental
- #250: Add `@NonNull` to struct builder's copy ctor (thanks, @jparise )
- #241: Add nullable annotation to gen'd `findByValue` methods (thanks, @jparise )
- #239: Fix: Canonicalize paths of all loaded thrift files
- #236: Only use base filename in constants' comments (thanks, @jparise )
2018-09-11 01:41:11 +03:00
1.0.0-RC2 (released 10 September 2018)
------------------
- #235: Emit `@Generated` annotations on generated types
- #234: Add '--omit-file-comments' compiler flag (thanks, @jparise )
- #232: Add synthetic "JVM" namespace scope (yet again, thanks @hzsweers )
- #231: Add "functional-equality" implementation for schemas (thanks, @hzsweers )
- #230: Add rendering tool for thrifty-schema (thanks, @hzsweers )
2018-08-16 03:03:30 +03:00
1.0.0-RC1 (released 15 August 2018)
2018-08-06 06:40:37 +03:00
------------------
2018-08-16 03:03:30 +03:00
- #225: Add Kotlin coroutine-based service client APIs
- #224: Fix ClientBase by adding missing call to protocol.readMessageEnd()
- #223: Fix FramedTransport reads over > 1 frame
- #217: Avoid scope collisions when reading map values (thanks again, @jparise !)
- #216: Fix const validation for doubles (thanks, @jparise )
2018-08-06 06:40:37 +03:00
- General: Broke thrifty-schema API in favor of idiomatic Kotlin
- #204: Remove deprecated java.io.File methods in Loader
- #183: Added Kotlin codegen
- #178: Fix: .thrift files in include paths during path scanning
- #165: Adopted Guava's case formatter for FieldNamingPolicy
- #164: Fixed nullability annotations for struct builders
- #161: Generate @Nullable annotations for union fields
2018-01-08 22:02:57 +03:00
0.4.3 (released 8 January 2018)
------------------
- #156: Add JSON protocol support
- #153: Fix reading bool value in CompactProtocol
- #152: Add UUID for distinguishing parsed elements from those modified via `newBuilder`
- #147: Enable synchronous service calls
2017-05-02 21:39:48 +03:00
0.4.2 (released 2 May 2017)
------------------
- #141: Add missing method EnumMember#toBuilder()
- #139: Fix crash when thrift doc comments had `$L` or other JavaPoet sigils
2017-03-15 01:22:31 +03:00
0.4.1 (released π 2017)
------------------
- #133: Fix IndexOutOfBoundsException parsing empty comments
2017-03-09 03:36:20 +03:00
0.4.0 (released 8 March 2017)
------------------
- #127: Add JaCoCo reports to the build
- #126: Update Gradle to 3.4.1m
- #124: Add ErrorProne checks to the build
- #121: Replace 'java' plugin with 'java-library-plugin'
- #119: Use java.nio.file.Path in the Loader API
- #117: Update Gradle to 3.4
- #116: Emit hex literals from Thrift as hex literals in Java
- #115: Start using the Stream API
- #114: Update Guava
- #110: Update compiler to Java 8
- #109: Suppress StringEquality and NumberEquality on gen'd equals() methods
- #108: Improve generated ThriftField annotations
- #107: Fix: throw ThriftException on reading unrecognized enum values
- #104: Rewrite parser with ANTLR
2017-02-11 10:29:15 +03:00
0.3.2 (released 11 February 2017)
------------------
- #98 , #99 , #100 , #101 , #102: Improvements to builder APIs in thrifty-schema (thanks, @hzsweers )
- #96: Add builders to collection ThriftTypes
- #90: Upgrade JavaPoet in thrifty-java-codegen to 1.8.0
- #88: Upgrade Okio in thrifty-runtime to 1.11.0
2016-11-14 04:53:23 +03:00
0.3.1 (released 13 November 2016)
------------------
- #82: Fix i64 constants greater than Integer.MAX_VALUE
- #78: Fix bug preventing string const values from generating correctly
2016-11-08 04:55:33 +03:00
0.3.0 (released 9 November 2016)
------------------
- #73: Breaking change: Massive refactor of `thrifty-schema` , unifying `ThriftType` with `Named`
- #74: Add `.withNamespaces` API for `ThriftType` (thanks @hzsweers )
- #72: Add namespaces for `TypedefType` (thanks @hzsweers )
- #71: Fix: Include `@Nullable` fields in `.equals()` (thanks @naturalwarren )
- #70: Behavior change: Allow typedefs to be used with `TypeResolver`
- #67: Fix: Improve validation of enum constants whose types are imported
- #65: Add `DecoratingProtocol` (thanks @gabrielittner )
- #62: Fix: Remove `name` from `Field#hashcode()`
- #61: Add builders for most `thrifty-schema` types (thanks @naturalwarren )
- #60: Fix: Const validation when a typedef is assigned an enum literal value
- #59: Fix: Allow constants and types with the same name
- #58: Behavior change: Obfuscated fields that are missing are printed as 'null'
- #56: Breaking change: Change return type of `ServiceMethod#returnType()` .
- #55: Add check for circular Service inheritance
- #54: Replace TreeSet with HashMap in service method validation
- #53: Fix: Apply naming policy to method parameter names
- #52: Fix: Crash when parsing certain trailing documentation comments
- #50: Add link-time validation of services and methods
- #48: Fix: keep annotations on type references
- #47: Use `.equals()` instead of reference equality for `ThriftType` comparision
- #43: Add source-type annotations to `Typedef`
- #42: Add `@Deprecated` annotation to generated classes as appropriate
- #40: Add `Struct` interface to generated structured types (thanks @seanabraham )
2016-07-09 01:22:07 +03:00
0.2.3 (released 8 July 2016)
------------------
- #37: Add Obfuscated and Redacted annotations, along with codegen support for PII obfuscation
- #36: Fix references to constants in default values for fields
- #31: Fix parsing `throws` clauses when `throws` is on a separate line
2016-03-30 22:22:41 +03:00
0.2.2 (released 30 March 2016)
2016-07-09 01:22:07 +03:00
------------------
2016-03-30 22:22:41 +03:00
- #26: Fix generated `toString()` for fields with `@redacted` doc comments
2016-03-30 00:11:45 +03:00
0.2.1 (released 29 March 2016)
2016-03-04 04:04:16 +03:00
------------------
2016-03-27 23:17:58 +03:00
- #25: Improve generated `toString()` methods
- #24: Add SimpleJsonProtocol
- #19: Fix codegen for services which inherit from other services
2016-03-07 20:50:00 +03:00
- #5: Fix compilation with relative includes (e.g. `include '../common.thrift'` )
2016-03-06 06:43:57 +03:00
- #7: Fix lookup of included constants during linking
2016-03-04 04:04:16 +03:00
- #4: Add automatic Parcelable implementation
- #2: Fix nested-generic fields with default values
2016-02-23 22:36:14 +03:00
0.2.0 (released 23 February 2016)
2016-02-23 04:14:48 +03:00
------------------
- Re-design `Transport` to not use Okio, avoid potential threading issues therein
2016-02-16 19:07:21 +03:00
0.1.4 (released 16 February 2016)
---------------------------------
- Fix new bug in generated 'toString'
2016-02-13 02:36:45 +03:00
0.1.3 (released 12 February 2016)
---------------------------------
- Alter generated 'toString' so that it outputs one single line
- Make '@redacted' annotation detection case-insensitive
2016-01-14 21:58:22 +03:00
0.1.2 (released 14 January 2016)
2016-02-13 02:36:45 +03:00
--------------------------------
2016-01-14 03:03:25 +03:00
- Demote AssertionError to ProtocolExeception in ProtocolUtil#skip() for unknown TType values.
0.1.1 (released 6 January 2016)
2016-01-05 11:57:19 +03:00
------------------
2016-01-06 06:11:26 +03:00
- Add CompactProtocol implementation
2016-01-05 11:57:19 +03:00
- Add integration test suite
- Add service-client code generation
- Add service-client runtime implementation
- Add ability to parse annotations in Thrift IDL
- Add `(redacted)` annotation for fields
0.1.0 (internal release)
------------------------
- Thrift IDL parser
- Thrift IDL model
- Java code generator
- Command-line compiler
- Generated structs, adapters, and BinaryProtocol