@@ -4,6 +4,58 @@ Here you can find a list of migration guides to handle breaking changes between
4
4
5
5
## 0.28.0
6
6
7
+ ### Breaking changes in libraries name handling
8
+
9
+ In the structure ` github.com/arduino/arduino-cli/arduino/libraries.Library ` the field:
10
+
11
+ - ` RealName ` has been renamed to ` Name `
12
+ - ` Name ` has been renamed to ` CanonicalName `
13
+
14
+ Now ` Name ` is the name of the library as it appears in the ` library.properties ` file and ` CanonicalName ` it's the name
15
+ of the directory containing the library. The ` CanonicalName ` is usually the name of the library with non-alphanumeric
16
+ characters converted to underscore, but it could be actually anything since the directory where the library is installed
17
+ can be freely renamed.
18
+
19
+ This change improves the overall code base naming coherence since all the structures involving libraries have the ` Name `
20
+ field that refers to the library name as it appears in the ` library.properties ` file.
21
+
22
+ ### ` github.com/arduino/arduino-cli/arduino/libraries/librariesmanager.LibrariesManager.Install ` removed parameter ` installLocation `
23
+
24
+ The method:
25
+
26
+ ``` go
27
+ func (lm *LibrariesManager ) Install (indexLibrary *librariesindex .Release , libPath *paths .Path , installLocation libraries .LibraryLocation ) error { ... }
28
+ ```
29
+
30
+ no more needs the ` installLocation ` parameter:
31
+
32
+ ``` go
33
+ func (lm *LibrariesManager ) Install (indexLibrary *librariesindex .Release , libPath *paths .Path ) error { ... }
34
+ ```
35
+
36
+ The install location is determined from the libPath.
37
+
38
+ ### ` github.com/arduino/arduino-cli/arduino/libraries/librariesmanager.LibrariesManager.FindByReference ` now returns a list of libraries.
39
+
40
+ The method:
41
+
42
+ ``` go
43
+ func (lm *LibrariesManager ) FindByReference (libRef *librariesindex .Reference , installLocation libraries .LibraryLocation ) *libraries .Library { ... }
44
+ ```
45
+
46
+ has been changed to:
47
+
48
+ ``` go
49
+ func (lm *LibrariesManager ) FindByReference (libRef *librariesindex .Reference , installLocation libraries .LibraryLocation ) libraries .List { ... }
50
+ ```
51
+
52
+ the method now returns all the libraries matching the criteria and not just the first one.
53
+
54
+ ### ` github.com/arduino/arduino-cli/arduino/libraries/librariesmanager.LibraryAlternatives ` removed
55
+
56
+ The structure ` librariesmanager.LibraryAlternatives ` has been removed. The ` libraries.List ` object can be used as a
57
+ replacement.
58
+
7
59
### Breaking changes in UpdateIndex API (both gRPC and go-lang)
8
60
9
61
The gRPC message ` cc.arduino.cli.commands.v1.UpdateIndexResponse ` has been changed from:
0 commit comments