Fable: Release Fable.Core 3.0 stable

Created on 11 Apr 2019  ·  28Comments  ·  Source: fable-compiler/Fable

Hi @et1975, @MangelMaxime, @Zaid-Ajaj, @dbrattli!

I'm thinking of releasing Fable.Core 3.0 stable in the coming days. However, this means if people update Fable.Core or download it anew it may conflict with other stable packages that still depend on Fable.Core 2.0, so it'd be ideal if we could all release stable version of the new packages (Elmish 3, Thoth.Json 3, Fable.SimpleHttp, etc) more or less at the same time.

What do you think? Are your packages ready? Would it be feasible to set a date next week for the release?

Most helpful comment

In theory, unless I missed one, all my packages are released now.

All 28 comments

I was updating Elmish.Bridge yesterday. That way I won't need to release a prerelease! 😗

I'm ok with stabilising elmish 3.

Well the prerelease weren't release long ago so we don't know yet if Fable 2.2 and Fable.Core 3.0 is stable.

But as we saw in the past most people don't try prerelease package :).

Do you know if there is a way to get all the libraries that's using Fable.Core from nuget as list. So we could take a look if we ported all of them.

To answer the original question, my libraries are ready to be published as stable.

That list is filled as the dependents are loaded, but may be a good starting point.

Several libraries are missing from this list:

  • Fable.ReactLeaflet
  • Fulma.Extensions.Wikiki.*(probably 6-7 missing)

So I am not sure how good it is.

I am in! I should be able to update all packages in a couple of days after the stable release. Just ping me when it is published ;)

Thank you all for your answers! Then let's say we'll publish Fable.Core 3.0 on Saturday (I'll ping you again here when it's done) so we can sort out anything missing during next week :+1:

Great news! I'm a bit behind on Reaction because of a new job, but please release Fable 3 and I'll catch-up whenever I get my head above the water again.

@alfonsogarciacaro I would like to postpone the stable release until we solve the problem I have with upgrading https://github.com/SAFE-Stack/SAFE-BookStore/pull/388

Because, I have no idea what the real problem here and I prefer to not break all the SAFE project without knowing the solution.

Fable.Core 3 _stablish_ has just been released together with new versions of the other packges I publish myself: Fable.Promise, Fable.Fetch, Fable.Browser.*, Fable.React. There's also a post about Fable.React 5 new features here. Fingers crossed 🤞

Thoth.Json has been released as stable.

I am now waiting for Fable.Elmish because Thoth.Elmish.* and some packages of Fulma depend on it.

Released elmish, .react, .browser and .debugger.

Using FontAwesome gives me FSC : error FS0193: The module/namespace 'Fable.Import.React' from compilation unit 'Fable.React' did not contain the namespace, module or type 'ReactElement' [/Users/dbrattli/Developer/GitHub/.../src/Server/Server.fsproj]

Released Fable.Elmish.Reaction.3.0.0

Using FontAwesome gives me FSC : error FS0193: The module/namespace 'Fable.Import.React' from compilation unit 'Fable.React' did not contain the namespace, module or type 'ReactElement' [/Users/dbrattli/Developer/GitHub/.../src/Server/Server.fsproj]

If you didn't use the prerelease version this is normal.

The following packages have not been released as stable yet:

  • Thoth.Elmish.*
  • Fulma related packge
  • Fable.FontAwesome
  • Elmish.HMR

I was waiting for Elmish 3.0. Now, that we have it I will released the stable version of these packages today or tomorrow depending of when I have the time to do it :)

Released Elmish.Bridge too

In theory, unless I missed one, all my packages are released now.

Tried to update a simple app I had and had problems removing the prerelease on Fable.Elmish.Debugger. Seems the lastest stable release is still on 2.0.3 on nuget. Could you check while are you on it?

Fable.Node needs some :heart: too

Please I need an actual project template for the "Elmish application project" which it will contain the latest versions of libraries, because I had a problem with compilation after I i updated project with command "paket update". Check this out:

_Sorry for my broken english_

Hello @frank-hliva ,

Your Fable.Elmish.HMR is not updated to the latest version it should be 4.0.1.

hi, i was trying to upgrade my project to fable.core 3.0 and noticed that all the TypedArrays have vanished from fable.core. Although i understand the motivation i could not create views like Uint8Array(somebuffer, 10, 8). is there a way to do that with standard-arrays or should i just write it myself using emit?

Btw I got lots of compile errors when using Fable.Import.Browser (since the TypedArrays are missing). Maybe semantic versioning in the dependencies could help?
Cheers

Hello @krauthaufen ,

did you see the Announcing fable-compiler 2.2, Fable.Core 3 and more blog post?

Fable.Import.Browser is now deprecated and you should use one of the replacement packages. We splitted it in several packages so maintenance is easier and also to increase performance of the IDE by removing a lot of magic :)

About Uint8Array I don't know.

@alfonsogarciacaro I think we probably should release a new version of Fable.Import.Browser where we put [<Osbelete>] attribute on top of the types to redirect people to the different packages.

What do you think?

@MangelMaxime thanks for the explanation.
Are you using >= dependencies on purpose in your packages instead of = 2.*.* ?
Cheers

To be fair I don't know ^^

That's just what dotnet pack generate by default I guess. And most of the project I see use >= too so I never really question myself on this thing. But if you want to discuss it feel free to open an issue on the concerned repo :)

@Zaid-Ajaj You need to ask the new maintainers of the Fable.Node package :) Maybe opening an issue in the Fable.Node repo?

@krauthaufen I'm sorry you're having problems to update your projects. I understand the inconvenience but everything was getting too big for me to maintain by myself so I've tried to remove as much code as possible from the "core" packages and split others so contributors can help more easily. As Maxime says, please read the blog post for instructions and namespace changes and let us know if there's something not clear. About the typed arrays, I tried to unify the .NET/JS types that Fable compiled the same way (array, regex) to help make more idiomatic bindings, Uint8Array is assimilated for example to byte[]. But if you need to specific JS features the old JS typed array bindings could be published in another package (we would need a volunteer for that) or you can just copy them into your project, and expose them with the Global attribute, like:

let [<Global>] Uint8Array: Uint8ArrayConstructor = jsNative

@frank-hliva Again, apologize for the confusion in the update, please check the blog post for the namespace changes. In your case, seems you need to change: Fable.Import.React > Fable.React & Elmish.Browser.Navigation > Emish.Navigation.

@alfonsogarciacaro done

Was this page helpful?
0 / 5 - 0 ratings