Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dokan 1.1.0 - Breaking API #158

Open
Liryna opened this issue Nov 19, 2017 · 7 comments
Open

Dokan 1.1.0 - Breaking API #158

Liryna opened this issue Nov 19, 2017 · 7 comments

Comments

@Liryna
Copy link
Member

Liryna commented Nov 19, 2017

DokanMapStandardToGenericAccess has been merged with DokanMapKernelToUserCreateFileFlags.

We need to reflect this change on dokan-dotnet for 1.1.1.0

See dokan-dev/dokany@0da7787

@Liryna Liryna added this to the 1.1.1.0 milestone Nov 19, 2017
@kyanha
Copy link
Contributor

kyanha commented Oct 8, 2019

Did this break binary compatibility? If so, it should have bumped to version 2, not just 1.1.

@Liryna
Copy link
Member Author

Liryna commented Oct 8, 2019

Yes, we should have up to 2.1.1.0 😢 ...too late to do it ? even changelog seems to have missed it.
Versioning of dokan-dotnet is for now dokan-net major version + dokany version
(next version will be 2.1.3.0 for example) Yes, that's not the best I know but it started like this before me...I do not know if it can still be improved

@kyanha
Copy link
Contributor

kyanha commented Oct 8, 2019

Ideally, we'd have dokan-dotnet and dokany have the same major and minor versions, with the patch number of dokan-dotnet incrementing whenever it needs to be re-released for some reason.

I think the DokanMapStandardToGenericAccess roll into DokanMapKernelToUserCreateFileFlags might have also impacted the C API?

@Liryna
Copy link
Member Author

Liryna commented Oct 8, 2019

Yes, this would be the best 👍 It can even be done now as latest version is 1.1.2.1 We can release a 1.3.0.0 and the last number will be used for patch as you said. I think we can even do the release now, I do not see something missing.

You are right, this change impacted the C API. Dokan has move his MINOR version at this moment. (https://github.com/dokan-dev/dokany/wiki/How-to-package-your-application-with-Dokan#dokan-versioning)

@kyanha
Copy link
Contributor

kyanha commented Oct 8, 2019

By breaking the binary API, you broke adherence to semantic versioning.

And by breaking the source API for dokan-dotnet, we're also breaking adherence to semantic versioning.

Can we maybe just push v2 much more quickly than originally planned, for both? What would that break?

@Liryna
Copy link
Member Author

Liryna commented Oct 8, 2019

Yes, It can be see in this way but the dokan library <-> kernel is still compatible thats our point of view of "major break changes". As an example the dokan device name used for the communication to init the mount use the major api version to be sure that only dokan library 1.x.x can talk to driver 1.x.x
https://github.com/dokan-dev/dokany/blob/master/sys/dokan.h#L46-L52

For 2.x.x there is still some work and hands needed. Help would be very appreciated.

@Liryna
Copy link
Member Author

Liryna commented Oct 9, 2019

https://github.com/dokan-dev/dokan-dotnet/releases/tag/v1.3.0.0

1.3.0.0 is now released following this discussion. Glad we left this broken semantic version 😎

This can probably be closed @kyanha or if you wanna continue the v2 discussion I would be glad.

@Liryna Liryna removed this from the 1.1.1.0 milestone Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants