v0.26.0 #1275
Xuanwo
started this conversation in
Announcements
v0.26.0
#1275
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Upgrade to v0.26
In v0.26 we have replaced all internal dynamic dispatch usage with static dispatch. With this change, we can ensure that all operations performed inside OpenDAL are zero cost.
Due to this change, we have to refactor the logic of
Operator
's init logic. In v0.26, we addedopendal::Builder
trait andopendal::OperatorBuilder
. For the first glance, the only change to existing code will be like:By adding a
finish()
call, we will erase all generic types so thatOperator
can still be easily to used everywhere as before.Accessor
In v0.26,
Accessor
has been changed into trait with associated types.All services need to decalare the types returned as
Reader
orBlockingReader
:If your service doesn't support
read
orblocking_read
, we can use()
to represent an dummy reader:Layer
As described before, OpenDAL prefer to use static dispatch. Layers are required to implement the new
Layer
andLayeredAccessor
trait:LayeredAccessor
is a wrapper ofAccessor
with the typedInnder
. All methods that not implemented will be forward to inner instead.Builder
Since v0.26, we implement
opendal::Builder
for all services, and services' mod will not be exported.Conclusion
Sorry again for the big changes in this release. It's a big step for OpenDAL to work in more critical systems.
What's Changed
New Contributors
Full Changelog: v0.25.2...v0.26.0
This discussion was created from the release v0.26.0.
Beta Was this translation helpful? Give feedback.
All reactions