-
Notifications
You must be signed in to change notification settings - Fork 103
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
Downstream _print
users
#158
Comments
Just FYI, I suspect this is going to hit a LOT of private repos. JSON is used by pretty much any web app. I have at least 10 private repos that will be affected. I'm a little confused why JSON._print needs to be deprecated, but if you guys agree, I can deal with it. Get Outlook for iOShttps://aka.ms/o0ukef On Mon, Aug 8, 2016 at 10:55 AM +0800, "Fengyang Wang" <[email protected]mailto:[email protected]> wrote: In anticipation of #151#151 being (hopefully) merged, the following packages are using JSON._print, which will be deprecated:
(List from GitHub search.) From a quick glance, all of these packages will be easily converted to the new style. I'll submit PRs so that they can avoid the deprecation warning (but I'd like to submit that after #151#151 is merged and tagged). You are receiving this because you are subscribed to this thread. |
The package has not been very clear about what is to be considered an internal implementation detail, but let me be frank:
That should speak loud and clear that this is an internal function, and that it needs to be deprecated at all (as opposed to just removed) is unfortunate. However, I sympathize with the fact that this package did not have a good API to extend JSON serialization before. #151 fixes that, and so This code: JSON._print(io::IO, state::JSON.State, a::MyType) =
JSON._print(io, state, do_something_to_convert_to_JSON_primitive(a)) will become JSON.lower(a::MyType) = do_something_to_convert_to_JSON_primitive(a) If your use case for As to why the deprecation is necessary: tagging JSON v0.5.2 broke PlotlyJS, because an internal function was renamed, because PlotlyJS was reimplementing the JSON serialization code. This is a bad situation that is best to avoid. Having a documented, stable API is better from the consumer's perspective. |
All four PRs have been merged. |
In anticipation of #151 being (hopefully) merged, the following packages are using JSON._print, which will be deprecated:
_print
withlower
JuliaGizmos/Escher.jl#173JSON.lower
instead ofJSON.print
JuliaPlots/PlotlyJS.jl#65_print
extension JuliaPlots/Plots.jl#452(List from GitHub search.) From a quick glance, all of these packages will be easily converted to the new style. I'll submit PRs so that they can avoid the deprecation warning (but I'd like to submit that after #151 is merged and tagged).
The text was updated successfully, but these errors were encountered: