-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
feat(NODE-4738)!: remove dot notation support by default #3520
Conversation
Co-authored-by: Durran Jordan <durran@gmail.com>
Co-authored-by: Neal Beeken <neal.beeken@mongodb.com>
Co-authored-by: Daria Pardue <daria.pardue@mongodb.com>
@avaly Yes, we are aware - unfortunately there were a lot of unintended consequences in making this the default behavior, which is why we are preserving it in an opt-in capacity and will consider options for integrating it more naturally in the future. We are leaving it marked experimental because we have not had the opportunity to test it as thoroughly as something with such wide-reaching scope would merit. In retrospect, we should have taken the time to do a technical design to fully define the intended boundaries of the functionality - but we were excited and it did seem to "just work". We would like to take a step back now and give this feature the attention it deserves, which we cannot do right this moment. Until we are able to prioritize this work, we are definitely open to feedback from the community to help guide this in the right direction. |
Thanks @dariakp for the message! Will the mongodb team accept pull requests regarding these strict filter types? Or would you like to keep those as-is until the team has resources to make those a priority? |
@avaly We are open to accepting PRs, with the caveat that as experimental features, triage and review of changes to these types will fall lower on our priority list than bugs or improvements to our officially supported features. However, our ultimate goal with these experimental types is to get them into a form that our users find most helpful, so we will consider all feedback we get: whether through PRs, Jira tickets, or comments. One thing to keep in mind is that the current |
Thanks again for the honest response. We (at Plex) have build Papr with full type-safety in mind from day 0. That's why we opted to submit all these features upstream to the driver. But given these shifted priorities in the driver project, we will copy these types in our library code to be able to move faster (plexinc/papr#410). |
@avaly We strive for transparency :) As far as dot notation support: we'll be sure to follow your version of the types and consider them in any future updates to ours. Thank you again for making the original contribution! |
As mentioned previously, we're adopting these strict types in our Papr library to be able to iterate on them faster and introduce more strictness: plexinc/papr#430 @dariakp Would your team be interesting in getting some of these changes submitted in PRs here? I know some changes will probably not be accepted (e.g. removing recursive types support), so I won't bother submitting those. But how about the other parts? |
@avaly As long as they come with tests and don't run counter to the objectives I mentioned above for |
Description
What is changing?
The
Filter
andUpdateFilter
types have been reverted to pre-dot notation support.Additionally, new types
StrictUpdateFilter
andStrictFilter
are exported for consumption. These types are experimental and provide the same dot-notation functionality as version 4.13.0 of the driver but they are not used in any driver CRUD APIs.Is there new documentation needed for these changes?
Yes.
Double check the following
npm run check:lint
scripttype(NODE-xxxx)[!]: description
feat(NODE-1234)!: rewriting everything in coffeescript