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
Release v0.10 #8176
Comments
more effort, or less effort? |
|
@eminence : doh - fixed - thanks! |
ChangelogFull Changelog
|
| Contributor | Commits | Lines ± | Files Changed |
|---|---|---|---|
| Daniel Martí | 42 | +8549/-6587 | 170 |
| Eric Myhre | 55 | +5883/-6715 | 395 |
| Marten Seemann | 100 | +1814/-2028 | 275 |
| Steven Allen | 80 | +1573/-1998 | 127 |
| hannahhoward | 18 | +1721/-671 | 53 |
| Will | 2 | +1114/-1217 | 18 |
| Andrew Gillis | 2 | +1220/-720 | 14 |
| gammazero | 3 | +43/-1856 | 10 |
| Masih H. Derkani | 3 | +960/-896 | 8 |
| Adin Schmahmann | 25 | +1458/-313 | 44 |
| vyzo | 27 | +986/-353 | 60 |
| Will Scott | 6 | +852/-424 | 16 |
| Rod Vagg | 19 | +983/-255 | 66 |
| Petar Maymounkov | 6 | +463/-179 | 22 |
| web3-bot | 10 | +211/-195 | 24 |
| adlrocha | 1 | +330/-75 | 15 |
| RubenKelevra | 2 | +128/-210 | 2 |
| Ian Davis | 3 | +200/-109 | 17 |
| Cory Schwartz | 3 | +231/-33 | 7 |
| Keenan Nemetz | 1 | +184/-71 | 2 |
| Randy Reddig | 2 | +187/-53 | 8 |
| Takashi Matsuda | 3 | +201/-2 | 7 |
| guseggert | 4 | +161/-20 | 9 |
| Lucas Molas | 5 | +114/-47 | 27 |
| nisdas | 4 | +115/-45 | 7 |
| Michael Muré | 6 | +107/-33 | 24 |
| Richard Ramos | 2 | +113/-9 | 3 |
| Marcin Rataj | 12 | +88/-24 | 13 |
| Ondrej Prazak | 2 | +104/-6 | 4 |
| Michal Dobaczewski | 2 | +77/-28 | 3 |
| Jorropo | 3 | +9/-75 | 4 |
| Andey Robins | 1 | +70/-3 | 3 |
| Gus Eggert | 10 | +34/-31 | 12 |
| noot | 1 | +54/-9 | 5 |
| Maxim Merzhanov | 1 | +29/-24 | 1 |
| Adrian Lanzafame | 1 | +30/-13 | 2 |
| Bogdan Stirbat | 1 | +22/-16 | 2 |
| Shad Sterling | 1 | +28/-3 | 1 |
| Jesse Bouwman | 5 | +30/-0 | 5 |
| Pavel Karpy | 1 | +19/-7 | 2 |
| lasiar | 5 | +14/-10 | 5 |
| Dennis Trautwein | 1 | +20/-4 | 2 |
| Louis Thibault | 1 | +22/-1 | 2 |
| whyrusleeping | 2 | +21/-1 | 2 |
| aarshkshah1992 | 3 | +12/-8 | 3 |
| Peter Rabbitson | 2 | +20/-0 | 2 |
| bt90 | 2 | +17/-2 | 2 |
| Dominic Della Valle | 1 | +13/-1 | 2 |
| Audrius Butkevicius | 1 | +12/-1 | 1 |
| Brian Strauch | 1 | +9/-3 | 1 |
| Aarsh Shah | 2 | +1/-11 | 2 |
| Whyrusleeping | 1 | +11/-0 | 1 |
| Max | 1 | +7/-3 | 1 |
| vallder | 1 | +3/-5 | 1 |
| Michael Burns | 3 | +2/-6 | 3 |
| Lasse Johnsen | 1 | +4/-4 | 2 |
| snyh | 1 | +5/-2 | 1 |
| Hector Sanjuan | 2 | +3/-2 | 2 |
| 市川恭佑 (ebi) | 1 | +1/-3 | 1 |
| godcong | 2 | +2/-1 | 2 |
| Mathis Engelbart | 1 | +1/-2 | 1 |
| folbrich | 1 | +1/-1 | 1 |
| Med Mouine | 1 | +1/-1 | 1 |
Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:
- Check the issues with the
help wantedlabel in the go-ipfs repo - Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands
- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
- Join the discussion at discuss.ipfs.io and help users finding their answers.
- Join the
🚀 IPFS Core Implementations Weekly Sync🛰 and be part of the action!
|
My reading of this is that this doesn't include the pending move of the blockstore from cids to multihashes. Is that correct? |
|
@ianopolous correct. That is currently planned to be a release all of its own (i.e. that will be the only change in that release in order to ease people through the migration). It's currently scheduled for v0.12.0 |
|
Is anyone aware of anything like https://deno.land/benchmarks for go-ipfs? The switch to go-ipld-prime under the hood is very exciting (thanks @hannahhoward !). To help assess release candidates, I'd really appreciate the sanity checks an automated set of benchmarks run between releases would provide. |
|
Early testers ping for RC1 testing
|
#8177 pls ? |
Things are looking good on our end. We've been running this on a segment of our infrastructure and there are no issues to report as of yet. |
|
tracking orbit-db support: orbitdb/orbit-db#909 |
|
Any thoughts on #8413 ? Seems like an easy add with a big usability improvement. |
|
Per 2021-09-09 verbal:
|
v0.10.0-rc2Just published RC2 on github, dist.ipfs.io, NPM and dockerhub. Changes since -rc1
Call for feedbackEarly testers – ping for
|
|
Would it be reasonable to include this merkledag fix ? |
|
tests are passing locally using orbitdb/orbit-db#913 (will be merged and published very soon) + go-ipfs@0.10.0-rc2. |
|
@MichaelMure IIUC that fix doesn't effect really effect the go-ipfs binary, but might be useful in some edge cases with go-ipfs as a library. If so then we can do a go-merkledag release. I'd prefer not to add much more into the release if we can to expedite getting it out. If there's a more pressing need or problem that I'm missing lmk (here, on the go-merkeldag PR, or in a DM) |
|
perhaps https://docs.ipfs.io/install/command-line/#official-distributions could be updated to reference the 0.10 release |
|
Good catch @eminence! |
BigLep commentedJun 4, 2021
•
edited by guseggert
go-ipfs 0.10.0 Release
We're happy to announce go-ipfs 0.10.0. This release brings some big changes to the IPLD internals of go-ipfs that make working with non-UnixFS DAGs easier than ever. There are also a variety of new commands and configuration options available.
As usual, this release includes important fixes, some of which may be critical for security. Unless the fix addresses a bug being exploited in the wild, the fix will not be called out in the release notes. Please make sure to update ASAP. See our release process for details.
ipfs dag getdag-jsondag-pbobjects returned bydag getipfs dag putdag-json, and data is serialized todag-cborat rest.--formatand--input-encwere removed and replaced with--store-codecand--input-codecdag-pbobjects stored viadag putKeep reading to learn more details.
The handling of data serialization as well as many aspects of DAG traversal and pathing have been migrated from older libraries, including go-merkledag and go-ipld-format to the new go-ipld-prime library and its components. This allows us to use many of the newer tools afforded by go-ipld-prime, stricter and more uniform codec implementations, support for additional (pluggable) codecs, and some minor performance improvements.
This is significant refactor of a core component that touches many parts of IPFS, and does come with some breaking changes:
PluginIPLDinterface has been changed to utilize go-ipld-prime. There is a demonstration of the change in the bundled git plugin.dag putanddag getchange:dag getnow takes theoutput-codecoption which accepts a multicodec name used to encode the output. By default this isdag-json, which is a strict and deterministic subset of JSON created by the IPLD team. Users may notice differences from the previously plain Go JSON output, particularly where bytes are concerned which are now encoded using a form similar to CIDs:{"/":{"bytes":"unpadded-base64-bytes"}}rather than the previously Go-specific plain padded base64 string. See the dag-json specification for an explanation of these forms.dag getno longer prints an additional new-line character at the end of the encoded block output. This means that the output as presented bydag getare the exact bytes of the requested node. A round-trip of such bytes back in throughdag putusing the same codec should result in the same CID.dag putuses theinput-codecoption to specify the multicodec name of the format data is being provided in, and thestore-codecoption to specify the multicodec name of the format the data should be stored in at rest. These formerly defaulted tojsonandcborrespectively. They now default todag-jsonanddag-cborrespectively but may be changed to any supported codec (bundled or loaded via plugin) by its multicodec name.jsonandcbormulticodec names (as used byinput-encandformatoptions) are now no longer aliases fordag-jsonanddag-cborrespectively. Instead, they now refer to their proper multicodec types.cborrefers to a plain CBOR format, which will not encode CIDs and does not have strict deterministic encoding rules.jsonis a plain JSON format, which also won't encode CIDs and will encode bytes in the Go-specific padded base64 string format rather than the dag-json method of byte encoding. See https://ipld.io/specs/codecs/ for more information on IPLD codecs.protobufis no longer used as the codec name fordag-pbrawis used to mean Bytes in the IPLD Data ModeldagAPI in a form that mirrors the protobuf schema used to define the binary format. This unifies the implementations and specification of dag-pb across the IPLD and IPFS stacks. Previously, additional layers of code for file and directory handling within IPFS between protobuf serialization and UnixFS obscured the protobuf representation. Much of this code has now been replaced and there are fewer layers of transformation. This means that interacting with dag-pb data via thedagAPI will use different forms:dag geton a dag-pb block would present the block serialized as JSON as{"data":"padded-base64-bytes","links":[{"Name":"foo","Size":100,"Cid":{"/":"Qm..."}},...]}.{"Data":{"/":{"bytes":"unpadded-base64-bytes"}},"Links":[{"Name":"foo","Tsize":100,"Hash":{"/":"Qm..."}},...]}. Aside from the change in byte formatting, most field names have changed:data→Data,links→Links,Size→Tsize,Cid→Hash. Note that this output can be changed now using theoutput-codecoption to specify an alternative codec.dag putand astore-codecoption ofdag-pbnow requires that the input conform to this dag-pb specified form. Previously, input using{"data":"...","links":[...]}was accepted, now it must be{"Data":"...","Links":[...]}.dag get QmFoo/NamedLinkwhereNamedLinkwas one of the links whose name wasNamedLink. This functionality remains the same, but by prefixing the path with/ipld/we enter data model pathing semantics and candag get /ipld/QmFoo/Links/0/Hashto navigate to links or/ipld/QmFoo/Datato simply retrieve the data section of the node, for example.go-ipfs now provides utility commands for working with multibase:
See
ipfs multibase --helpfor more examples.This release adds an
Internalsection to the configuration file that is designed to help advanced users optimize their setups without needing a custom binary. TheInternalsection is not guaranteed to be the same from release to release and may not be covered by migrations. If you use theInternalsection you should be making sure to check the config documentation between releases for any changes.ipfs commands completion bashwill generate a bash completion script for go-ipfs commandsPerformance profiles can now be collected using
ipfs diag profile. If you need to do some debugging or have an issue to submit the collected profiles are very useful to have around.The go-ipfs and related migration binaries (for both Intel and Apple Sillicon) are now signed and notarized to make Mac OS installation easier.
There is a completed implementation of the revised libp2p MDNS spec. This should result in better MDNS discovery and better local/offline operation as a result.
dag importcommand now supports--statsoption which will include the number of imported blocks and their total size in the output.This release adds
swarm peeringcommand for easy management of the peering subsystem. Peer in the peering subsystem is maintained to be connected at all times, and gets reconnected on disconnect with a back-off.See
ipfs swarm peering --helpfor more details.For each RC published in each stage:
version.gohas been updated (in therelease-vX.Y.Zbranch).vX.Y.Z-rcNChecklist:
release-vX.Y.Z) frommasterand make any further release related changes to this branch. If any "non-trivial" changes (see the footnotes of docs/releases.md for a definition) get added to the release, uncheck all the checkboxes and return to this stage.version.goin themasterbranch tovX.(Y+1).0-dev.make test)make test_go_lint)./bin/mkreleaselogto generate a nice starter listversion.gohas been updated.release-vX.Y.Zinto thereleasebranch.releasebranch) withvX.Y.Z.Announce it on the IPFS Users Mailing Listreleasebranch back intomaster, ignoring the changes toversion.go(keep the-devversion from master).The best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.io. We are also available at the
#lobby:ipfs.ioMatrix channel which is bridged with other chat platforms.The text was updated successfully, but these errors were encountered: