1
1
# Changelog
2
+
2
3
All notable changes to this project will be documented in this file.
3
4
4
5
The format is based on [ Keep a Changelog] ( http://keepachangelog.com/en/1.0.0/ )
5
6
and this project adheres to [ Semantic Versioning] ( http://semver.org/spec/v2.0.0.html ) .
6
7
8
+ ## [ 0.3.7-RC] 2021-10-29
9
+
10
+ ### Changed
11
+
12
+ - Updated kotlin to 1.6.0-RC
13
+ - Updated ksp to 1.6.0-RC-1.0.1-RC
14
+ - Several improvements to code generation which often means less code is generated.
15
+
16
+ ### Added
17
+
18
+ - Multiple rounds handling: This includes support for using types generated by other ksp processors. As a side effect
19
+ there is better error reporting for unresolved types.
20
+ - Support for multiplatform/native. Check out
21
+ the [ sample project] ( https://github.com/evant/kotlin-inject-samples/tree/main/multiplatform/echo ) .
22
+
7
23
## [ 0.3.6] - 2021-07-16
8
24
9
25
### Changed
26
+
10
27
- Updated kotlin to 1.5.20
11
28
- Experimental kotlin js support
12
29
13
30
### Fixed
14
- - Fix generated code for @ Inject functions with a receiver
15
- ex: ` @Inject fun Foo.bar() = ... `
31
+
32
+ - Fix generated code for @ Inject functions with a receiver ex: ` @Inject fun Foo.bar() = ... `
16
33
- Fix not using the typealias for function return types
17
34
18
35
## [ 0.3.5] - 2021-06-02
19
36
20
37
### Changed
38
+
21
39
- Updated kotlin to 1.5.10
22
40
- Updated ksp to beta01
23
41
24
42
## [ 0.3.4] - 2021-05-30
25
43
26
44
### Fixed
45
+
27
46
- Fix metata parsing issue with kapt on kotlin 1.5.0
28
47
- Fix declaring function injection in another module in ksp
29
48
30
49
### Changed
50
+
31
51
- Updated kotlin to 1.5.0
32
52
- Updated ksp to alpha10
33
53
34
54
## [ 0.3.3] - 2021-04-20
35
55
36
56
### Added
57
+
37
58
- ** Allow cycles when there is delayed construction**
38
59
39
60
You can now break cycles by using ` Lazy ` or a function. For example,
@@ -51,10 +72,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
51
72
@Inject class Foo (bar : () -> Bar )
52
73
@Inject class Bar (foo : Foo )
53
74
```
54
- This uses ` lateinit ` under the hood. You will get a runtime exception if you try to use the dependency before
75
+ This uses ` lateinit ` under the hood. You will get a runtime exception if you try to use the dependency before
55
76
construction completes.
56
- - Added option ` me.tatarka.inject.dumpGraph ` to print the dependency graph while building. This can be useful for
57
- debugging issues.
77
+ - Added option ` me.tatarka.inject.dumpGraph ` to print the dependency graph while building. This can be useful for
78
+ debugging issues.
58
79
- ** Allow type-alias usage with ` @IntoMap ` .**
59
80
60
81
You can now do
@@ -70,13 +91,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
70
91
```
71
92
72
93
### Changed
94
+
73
95
- Code-gen optimization to reduce code size
74
96
- ksp performance improvements
75
97
- ** Made handling of nullable and platform types consistent on the different backends.**
76
98
77
99
It is now an error to return a platform type from a ` @Provides ` methods, you must declare the return type explicitly.
78
100
79
101
### Fixed
102
+
80
103
- Fix using ` @Qualifier ` on scoped dependencies
81
104
- Fix declaring components as an inner class
82
105
- Fix annotating java class constructors with ` @Inject `
@@ -85,6 +108,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
85
108
## [ 0.3.2] - 2021-04-05
86
109
87
110
### Changed
111
+
88
112
- Updated ksp to [ 1.4.30-1.0.0-alpha05] ( https://github.com/google/ksp/releases/tag/1.4.30-1.0.0-alpha05 )
89
113
90
114
## [ 0.3.1] - 2021-02-25
@@ -97,14 +121,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
97
121
## [ 0.3.0] - 2021-01-14
98
122
99
123
### Changed
100
- - ** Updated ksp to [ 1.4.20-dev-experimental-20210111] ( https://github.com/google/ksp/releases/tag/1.4.20-dev-experimental-20210111 ) **
124
+
125
+ - ** Updated ksp
126
+ to [ 1.4.20-dev-experimental-20210111] ( https://github.com/google/ksp/releases/tag/1.4.20-dev-experimental-20210111 ) **
101
127
102
128
Key changes:
103
- - You no longer have to define ` resolutionStrategy ` in your ` settings.gradle ` .
104
- - The plugin id has changed from ` symbol-processing ` to ` com.google.devtools.ksp ` .
129
+ - You no longer have to define ` resolutionStrategy ` in your ` settings.gradle ` .
130
+ - The plugin id has changed from ` symbol-processing ` to ` com.google.devtools.ksp ` .
105
131
- Minimum supported kotlin version is now 1.4.20
106
132
107
133
### Added
134
+
108
135
- ** Support injecting suspend functions**
109
136
110
137
You can now define ` suspend ` component and provides methods
@@ -147,23 +174,28 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
147
174
```
148
175
149
176
### Fixed
177
+
150
178
- Respect component's class visibility
151
179
- Fix generating incorrect code for fun providers
152
180
153
181
## [ 0.2.0] - 2020-09-28
154
182
155
183
### Changed
156
- - [ Migrate] ( https://github.com/google/ksp/blob/master/old-ksp-release.md ) ksp
184
+
185
+ - [ Migrate] ( https://github.com/google/ksp/blob/master/old-ksp-release.md ) ksp
157
186
- Improve kapt error messaging
158
187
- Build performance improvements
159
-
188
+
160
189
### Added
190
+
161
191
- Allow annotating interfaces with ` @Component `
162
192
- Support ` javax.inject.Qualifer `
163
193
164
194
### Fixed
195
+
165
196
- Fixed companion generation (` me.tatarka.inject.generateCompanionExtensions=true ` ) for ksp
166
197
- Throw error when parent component is missing val instead of generating incorrect code.
167
198
168
199
## [ 0.1.0] - 2020-09-17
200
+
169
201
- Initial Release
0 commit comments