Skip to content

Commit d063e88

Browse files
committed
Bumping version to v0.6.0 + README + CHANGELOG
1 parent d4b5a89 commit d063e88

3 files changed

Lines changed: 67 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 65 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,66 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.0] - 2025-04-21
9+
10+
### Added
11+
- New `name_override` option for the `appsync_lambda_main!` macro allowing fine-grained control over generated Rust names:
12+
```rust
13+
appsync_lambda_main!(
14+
"schema.graphql",
15+
// Override type names, the struct will be called `GqlPlayer` in Rust
16+
name_override = Player: GqlPlayer,
17+
// Override field names, `name` becomes `email` in Rust
18+
name_override = Player.name: email,
19+
// Override enum variants, `Python` becomes `Snake`
20+
name_override = Team.PYTHON: Snake,
21+
// Handle Rust keywords gracefully, rename to `kind`
22+
name_override = WeirdFieldNames.type: kind,
23+
);
24+
```
25+
26+
Do not forget to also override operation return types if you change type names!
27+
- Comprehensive end-to-end integration tests for both batch and non-batch configurations, ensuring non-regression of the full AppSync request processing.
28+
29+
### Changed
30+
- **Major improvement**: Completely revamped compilation error messages for invalid operation handlers:
31+
- Error messages now point directly to the problematic code instead of the macro invocation
32+
- Clear indication of expected vs found types for arguments and return values
33+
- More accurate function signature mismatch reporting
34+
35+
See [Issue#7](https://github.com/JeremieRodon/lambda-appsync/issues/7) for detailed examples of the improved error messages.
36+
- Internal restructuring of code generation to use trait bounds for signature verification instead of dummy function calls
37+
38+
### Fixed
39+
- Compilation error messages that previously showed inverse type expectations (e.g., for return type mismatches)
40+
- Various edge cases in error reporting related to argument types and counts
41+
42+
### Breaking Changes
43+
- Removed `pub` visibility from `Operation::execute()` as it was not intended for direct use
44+
- Moved some internal types to new module structure. While these weren't meant for direct use, code explicitly referencing them may need updates
45+
- The improved error reporting system may affect existing trybuild tests that were matching against previous error messages
46+
47+
### Internal
48+
- Better module organization with clearer separation between public and internal APIs
49+
- Increased generated code size (approximately 2x) to support better error messages. While this may slightly increase compilation times, it has no runtime performance impact as the additional code is optimized away during compilation.
50+
51+
[0.6.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.4...v0.6.0
52+
853
## [v0.5.4] - 2025-04-24
954

1055
### Fixed
1156
- Bug where the `type_override` option was not working correctly for fields or arguments that were Rust keywords
1257

58+
[v0.5.4]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.3...v0.5.4
59+
1360
## [v0.5.3] - 2025-04-24
1461

1562
### Changed
1663
- Deprecated `field_type_override` option in favor of `type_override` to better reflect its broader scope covering both fields and arguments
1764
- (For project devs) Improved internal implementation of type override options for better clarity
1865

66+
[v0.5.3]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.2...v0.5.3
67+
1968
## [v0.5.2] - 2025-04-23
2069

2170
### Added
@@ -28,6 +77,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2877
### Fixed
2978
- Bug in `keep_original_function_name` attribute where it would fail when operation handlers had arguments
3079

80+
[v0.5.2]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.1...v0.5.2
81+
3182
## [v0.5.1] - 2025-04-21
3283

3384
### Changed
@@ -36,6 +87,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3687
### Fixed
3788
- Documentation linking issues between lambda-appsync and lambda-appsync-proc crates
3889

90+
[v0.5.1]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.0...v0.5.1
91+
3992
## [v0.5.0] - 2025-04-21
4093

4194
### Added
@@ -50,16 +103,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
50103
### Fixed
51104
- Missing documentation links in the crate documentation
52105

106+
[v0.5.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.2...v0.5.0
107+
53108
## [v0.4.2] - 2025-04-19
54109

55110
### Fixed
56111
- Clippy warnings and code style improvements
57112

113+
[v0.4.2]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.1...v0.4.2
114+
58115
## [v0.4.1] - 2025-04-19 [YANKED]
59116

60117
### Changed
61118
- Enhanced test coverage for null handling in GraphQL schema type generation
62119

120+
[v0.4.1]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.0...v0.4.1
121+
63122
## [v0.4.0] - 2025-04-19 [YANKED]
64123

65124
### Added
@@ -74,6 +133,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
74133
- Documentation examples and subscription filter code blocks
75134
- README referenced crate version
76135

136+
[v0.4.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.3.0...v0.4.0
137+
77138
## [v0.3.0] - 2025-04-04
78139

79140
### Added
@@ -93,6 +154,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
93154
- Memory allocation optimization
94155
- Documentation improvements
95156

157+
[v0.3.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.2.0...v0.3.0
158+
96159
## [v0.2.0] - 2025-04-01
97160

98161
### Added
@@ -108,6 +171,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
108171
- Improved documentation with compiled examples
109172
- Reorganized workspace dependencies
110173

174+
[v0.2.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.1.0...v0.2.0
175+
111176
## [v0.1.0] - 2025-03-30
112177

113178
### Added
@@ -122,14 +187,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
122187
- Support for custom type overrides
123188
- Basic examples and documentation
124189

125-
[v0.5.4]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.3...v0.5.4
126-
[v0.5.3]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.2...v0.5.3
127-
[v0.5.2]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.1...v0.5.2
128-
[v0.5.1]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.5.0...v0.5.1
129-
[v0.5.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.2...v0.5.0
130-
[v0.4.2]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.1...v0.4.2
131-
[v0.4.1]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.4.0...v0.4.1
132-
[v0.4.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.3.0...v0.4.0
133-
[v0.3.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.2.0...v0.3.0
134-
[v0.2.0]: https://github.com/JeremieRodon/lambda-appsync/compare/v0.1.0...v0.2.0
135190
[v0.1.0]: https://github.com/JeremieRodon/lambda-appsync/releases/tag/v0.1.0

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ members = ["lambda-appsync", "lambda-appsync-proc"]
33
resolver = "2"
44

55
[workspace.package]
6-
version = "0.5.4"
6+
version = "0.6.0"
77
rust-version = "1.81.0"
88
edition = "2021"
99
authors = ["Jérémie RODON <jeremie.rodon@gmail.com>"]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Add this dependency to your `Cargo.toml`:
3737

3838
```toml
3939
[dependencies]
40-
lambda-appsync = "0.5.4"
40+
lambda-appsync = "0.6.0"
4141
```
4242

4343
## Quick Start

0 commit comments

Comments
 (0)