ngl icon indicating copy to clipboard operation
ngl copied to clipboard

When will be the next stable release?

Open panda-byte opened this issue 2 years ago • 11 comments

I'm a bit confused about the current state of NGL. According to GitHub, the latest release is v0.9.3 from 15 Oct 2016, while the version delivered by the unpkg CDN described in the manual is 0.10.4, and so is the current npm package as described by the docs. #384 is about the 1.0 release, which according to GitHub, has never been reached. However, version 2.0.0 seems to have been in development for some time now.

My question is basically: should/can I use a version upwards of 0.10.4 for deployment, and the docs / GitHub releases just were never updated? Or is 0.10.4 indeed still the version intended for deployment? In any case, maybe a clarifying statement somewhere in the manual, the docs or in the GitHub ReadMe would be helpful.

panda-byte avatar Mar 14 '22 14:03 panda-byte

We should make a 2.0.0 release.

For now, you can install using either a specific version "2.0.0-dev.39" is most recent. Or npm i ngl@next

Others: Shall we just make current master 2.0.0? It's way overdue, I think I have the necessary permissions on npm to do it.

fredludlow avatar Mar 14 '22 15:03 fredludlow

Oh, another thing concerning versions: the official online reference is currently at version 1.0.0-beta.7, it appears.

panda-byte avatar Mar 16 '22 13:03 panda-byte

Have just released 2.0.0-dev.40.

Shall I just make this the proper 2.0.0 release with the @latest tag?

Building docs broke with typedoc update (required because of typescript update), I expect it's easy enough to fix...

fredludlow avatar Mar 16 '22 16:03 fredludlow

Maybe we should solve the issue of declarations distribution for this release?

Le 16 mars 2022 à 12:52, Fred Ludlow @.***> a écrit :

 Have just released 2.0.0-dev.40.

Shall I just make this the proper 2.0.0 release with the @latest tag?

Building docs broke with typedoc update (required because of typescript update), I expect it's easy enough to fix...

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you are subscribed to this thread.

ppillot avatar Mar 16 '22 21:03 ppillot

Good idea - what's outstanding on this?

I have a (very) minimal demo for using it from a JS project: https://github.com/fredludlow/ngl-module-test which took a bit of fiddling just now to get back in a working state - it might be nice to do something similar with a barebones typescript project that imports NGL, with types exposed properly?

fredludlow avatar Mar 16 '22 22:03 fredludlow

I think we should at least ship the /declarations/ folder in the /dist/ folder. And test... Agreed about the ts example. I've tried to write one some time ago but did not reach something proper. There is also the possibility to leverage the declarations in JS projects through the JSDoc annotations.

ppillot avatar Mar 17 '22 00:03 ppillot

The declarations folder is getting shipped in the current build, and the package.json has a "types" attribute that links to: e.g. https://unpkg.com/browse/[email protected]/dist/declarations/ngl.d.ts

(You can browse the shipped package here https://unpkg.com/browse/[email protected]/ )

What else would we need?

fredludlow avatar Mar 17 '22 10:03 fredludlow

As an aside, we currently ship an esm.js file (referenced in "module" from package.json). That has dependencies on some non-es-module formatted modules (signals and chroma I think), which means downstream projects need to support resolving them somehow,

For rollup that's just using @rollup/plugin-commonjs: https://github.com/fredludlow/ngl-module-test/blob/master/rollup.config.js

It is, however, slightly annoying to force that complexity/dependency on consumers. I'm not really sure how to fix this other than moving them to devDependencies and making sure the code gets included in the various builds. The downside of this is possible duplication of code in downstream projects - they might include both our vendored-in signals and their own copy from an explicit dependency or a sub-dependency of another package.

fredludlow avatar Mar 17 '22 11:03 fredludlow

I made an equivalent typescript minimal demo. Opening this in VSCode I get all the nice hover-over typing information that's being picked up from the type declarations:

https://github.com/fredludlow/ngl-ts-demo/tree/main

fredludlow avatar Mar 17 '22 13:03 fredludlow

I've just tested it, it works beautifully! Very cool! As far as I'm concerned it looks fine for shipping the 2.0 version

As for the dependencies, right, it's a limitation. Signal is quite small, but chroma is another story. I suppose we should recommend using a bundler. Another option would be to have the code directly frozen in NGL as is the case for the mmtf code, and was the case for three.js. It's tedious to do and won't address the code duplication issue you were mentioning.

ppillot avatar Mar 18 '22 00:03 ppillot

Codecov Report

Merging #508 (e96bd58) into master (8e1cc27) will increase coverage by 0.00%. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #508   +/-   ##
=======================================
  Coverage   50.19%   50.19%           
=======================================
  Files         120      120           
  Lines       28019    28019           
  Branches     2987     2987           
=======================================
+ Hits        14063    14064    +1     
  Misses      13489    13489           
+ Partials      467      466    -1     
Impacted Files Coverage Δ
fury/fury/stream/tools.py 91.15% <0.00%> (+0.21%) :arrow_up:

panda-byte avatar May 13 '22 08:05 panda-byte

Hi @fredludlow

I see the latest tagged version is v2.0.0. But the latest installed version is still v2.0.0-dev.40. Will version 2.0.0 be released? And when?

Thanks.

galeo avatar Oct 27 '22 07:10 galeo

It would be great if the tagged version v2.0.0 was available on unpkg.

panda-byte avatar Nov 04 '22 13:11 panda-byte

I've published 2.0.1 - let me know how it goes

fredludlow avatar Nov 04 '22 16:11 fredludlow