Hi, @shrv. We don’t give official ETAs for when a feature will available. We will announce it only once it is available - not before.
For this feature request, I don’t think this will ever happen. It would take a complete design of how our service works so it is very possible that this feature will never be added.
The design choice preventing this change is “atomic deploys”. We do not allow the changing of an existing deploy.
To make change a complete new deploy is required. To make a new deploy all the files in that specific deploy must be defined.
The feature request you have is to be able to send the details for only a single file and to make a new deploy that way. This just isn’t possible with the current design.
The feature request you want sounds like this workflow:
- Send the API a list of changes only.
To do this you would need a copy of the existing deploy locally and be able to compare the checksums of all the files in the new deploy to the deploy that was already published. Without this, you wouldn’t know what changed.
So, even the feature request requires calculating all the checksum for all files in the deploy locally. The only difference is that you wouldn’t send those checksums to Netlify but you still needed to do the work to generate them.
Now, the feature request says “just assume the checksums from the previous deploy”. However, consider this edge-case.
Say that someone else on your team and makes a new deploy while you are checksumming a previous deploy. In this new deploy they change 10 files and that is now the production site. You local checksumming doesn’t know about these file changes. You are working with an old deploy and you don’t know it. You the complete the deploy and change the files you want to change, however, you now also are now using the 10 changed files your teammate just upload but you don’t know that you. Uncertainty is being introduced because assumption are being made and those assumption can change without you knowing about it.
This problem (a deploy you don’t know about) is completely prevented by requiring the checksum of all files for every deploy. If you send all paths and checksum there is zero uncertainly.
Because your feature request has this new unhandled failure edge-case, it is unlikely to ever be implemented. The only way to avoid that edge-case is to always send all checksums. Sending all checksum is the existing API workflow. The only solution for the new edge-case is to not make the change in the first place.
In other words, there is a baked in bug with the new feature request and the solution for that bug is the current API behavior. Again, it is very unlikely that this will ever change for all the reasons listed above.
If there are other questions about this, please let us know.