Cleaned up file naming/organization, optimized some things like using preallocated indexed slices instead of appends, etc.
libsecret/gosecret
This project is originally forked from go-libsecret due to:
-
Lack of response from the developer
-
Complete lack of documentation
-
Poor, ineffecient, or just plain antipattern design
-
Missing functionality
and as such, hopefully this library should serve as a more effective libsecret/SecretService interface.
1. Backwards Compatability/Drop-In Replacement Support
Version series v0.X.X of this library promises full and non-breaking backwards support of API interaction with the original project. The only changes should be internal optimizations, adding documentation, some file reorganizing, adding Golang module support, etc. — all transparent from the library API itself.
To use this library as a replacement without significantly modifying your code, you can simply use a replace directive:
# ...
replace (
github.com/gsterjov/go-libsecret dev => r00t2.io/gosecret v0
)
and then run go mod tidy.
2. New Developer API
Starting from v1.0.0 onwards, entirely breaking changes can be assumed from the original project.
To use the new version,
import (
`r00t2.io/gosecret/v1`
)
To reflect the absolute breaking changes, the module name changes as well from libsecret to gosecret.
3. Usage
Full documentation can be found via inline documentation. Either via the pkg.go.dev documentation or godoc (or go doc) in the source root.