Skip to content

Compatability with JSON.jl v1 #514

Open

Description

@RGonTheNoble

Describe the bug
This package pins JSON.jl to pre 1.0, and prevents me from the suggested JSON3 => JSON v1 migration (as JSON3 is being deprecated)

Status `C:\***\environments\v1.12\Project.toml`
⌅ [682c06a0] JSON v0.21.4 (<v1.2.0): AssetRegistry, JSExpr, PlotlyBase, PlotlyJS, PlotlyKaleido, WebIO

Version info

Please provide the following:

  1. output of julia command versioninfo()
Julia Version 1.12.1
Commit ba1e628ee4 (2025-10-17 13:02 UTC)
Build Info:
  Official https://julialang.org release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 14 × Intel(R) Core(TM) Ultra 7 255U
  WORD_SIZE: 64
  LLVM: libLLVM-18.1.7 (ORCJIT, goldmont)
  GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 14 virtual cores)
  1. Output running the following in Julia 0.7 or greater: using Pkg; pkg"status" (if you are on Julia 0.6 or earlier run Pkg.status())
Status `C:\***\environments\v1.12\Project.toml`
  [76e01b6b] FlexUnits v0.2.8
⌅ [682c06a0] JSON v0.21.4
  [0f8b85d8] JSON3 v1.14.3
  [f0f68f2c] PlotlyJS v0.18.17
  [91a5bcdd] Plots v1.41.1
  [295af30f] Revise v3.11.0
  [b543fe20] TimeRecords v2.0.2
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`

Activity

  1. BeastyBlacksmith commented on Oct 23, 2025

    @BeastyBlacksmith
    Member
  2. fhagemann commented on Dec 9, 2025

    @fhagemann

    +1

  3. PhyX-Meow commented on Jan 25, 2026

    @PhyX-Meow

    +1 Please, I have to give up using PlotlyJS because this. It conflicts with a lot of packages now.

  4. jd-foster commented on Feb 3, 2026

    @jd-foster
    Collaborator

    An example to guide this: jump-dev/MathOptInterface.jl#2918
    Also, this advice here: sglyon/PlotlyBase.jl#121 (comment)

  5. hhaensel commented on Mar 21, 2026

    @hhaensel
    Collaborator
  6. orenbenkiki commented on Mar 25, 2026

    @orenbenkiki

    Also running into this. JSON is at 1.4 now, PlotlyJS pins it to 0.2[01]. JSON is a pretty popular package so this causes a lot of conflicts.

  7. hhaensel commented on Mar 25, 2026

    @hhaensel
    Collaborator

    Most of is is ready to be rolled out, but we need 4 packages to bump their compats. I submitted PRs in all of them.

  8. Deduction42 commented on Jun 12, 2026

    @Deduction42

    Any luck with getting the dependencies to bump their compats?

  9. orenbenkiki commented on Jun 13, 2026

    @orenbenkiki

    I gave up on PlotlyJS extra features and switched to PlotlyKaleido for just off-line rendering. WebIO seems the stumbling block - I assume they’ll fix it eventually.

  10. hhaensel commented on Jun 13, 2026

    @hhaensel
    Collaborator

    I spent some more time on this, but this is progressing slowly ...
    Using PlotlyBase + PlotlyKaleido is the better choice anyhow, because it has far less dependencies.

  11. Deduction42 commented on Jun 13, 2026

    @Deduction42

    Is there any way I could use this combo a backend through the Plots interface? I only really use PlotlJS for the zooming capability. I eventually and up saving files anyway, but it's faster to just zoom in on the plot than repeatedly changing axes programmatically to inspect long timeseries for disturbance patterns. Most of my code-base already uses the Plots.jl interface.

  12. hhaensel commented on Jun 13, 2026

    @hhaensel
    Collaborator

    You could use either VSCode's ability to display plots. Just execute

    Plot(...)

    at VSCode's REPL.
    Or you could use a Genie App with StipplePlotly ;-)

  13. orenbenkiki commented on Jun 13, 2026

    @orenbenkiki

    FWIW - Use PlotlyKaleido to generate an HTML and that HTML will be interactive (w/ zoom and pan and so on). Not as powerful as PlotlyJS and not as nicely integrated w/ IDEs and REPLs, but...

  14. hhaensel commented on Jun 13, 2026

    @hhaensel
    Collaborator

    Today I could get PlotlyJS running!
    It is still brittle, as the Blink version relies on JSExpr 0.5. But I've now moved to JSExpr 1, which is breaking.
    The good thing is, I started from scratch from the master branches and made only minor changes. The strange thing is that Blink's @js macro stopped working. Currently I import JSExpr and rely on JSExpr's @js macro, which works differently.
    But there's light at the end of the tunnel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions