@@ -4,6 +4,58 @@ Here you can find a list of migration guides to handle breaking changes between
44
55## 0.28.0
66
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+
759### Breaking changes in UpdateIndex API (both gRPC and go-lang)
860
961The gRPC message ` cc.arduino.cli.commands.v1.UpdateIndexResponse ` has been changed from:
0 commit comments