Skip to content

Instantly share code, notes, and snippets.

@obscuren
Last active February 20, 2017 20:46
Show Gist options
  • Save obscuren/d37cae6520fe0796fcb7ab27a1413191 to your computer and use it in GitHub Desktop.
Save obscuren/d37cae6520fe0796fcb7ab27a1413191 to your computer and use it in GitHub Desktop.

Release 1.6 call

In a nutshell: the 1.6 release will be an API breaking release. All minor future releases will be similar; they mark the dawn of breaking API changes and new features will be developed on top of those. Critical- and security issues will be backported to the previous release (i.e. we will continue to support the last two versions).

Notes (20 Feb 2017):

  • Whisper v5 should make its first alpha appearance in Geth v1.6.0. This may require some code modifications from people already using v2 of the protocol, so ideally we'd need either a documentation for v5, a transition document from v2->v5, or preferrably both.
  • New flag --mode={full, light, fast}. Deprecate --fast, --light. Default --mode=fast.
  • Optionally switch to a new logging system, retain the vmodule and have structured logging
  • 1.6 no changes to the geth subcommand system. @basvk will write up a proposal for 1.7
  • 1.6.0 will not contain pruning. Priority will be given to merge in pruning PRs. 1.6.x will at some point contain a pruning implementation.
  • Account naming:
    • It should be possible to name keys/wallets.
    • Account names should be local
    • We should also support ENS names for sendTransaction from/to parameter.
    • ERC about deprecating eth.accounts?
  • (very likely) minimum required Go version will be bumped to 1.7
    • we want this because go 1.7 has "context" in the standard library and we want to use subtests
    • one problem is that ubuntu 16.04 LTS and 16.10 have go 1.6 ("golang" package) getting go 1.7 requires the ~gophers PPA, but the package from the PPA requires changing PATH
  • --dev or private network needs to include all forks for newly initialised networks. Any forks coming after the initialisation are not included.
  • Light client: fast log searching (ethereum/go-ethereum#3619) includes some additions to the LES protocol, it is expected to be ready for 1.6
  • Remote signing is something we want to pursue, but that will require more work, API design and cross team synchronization than we're willing to target for 1.6.0.

Notes (15 Feb 2017):

  • The 1.5 release series is locked starting from 1.5.9 stable. Only critical bugfixes go in from now on to ensure it's something production systems (e.g. exchanges) can rely on for Metropolis.
  • The 1.6 release series starts with the 64bit EVM changes and may for the first couple of releases break Go APIs. There are no plans to do a too extensive sprint cycle for 1.6.0; it may last 1-2 weeks extra compared to our normal release schedule, but shouldn't be delayed significantly since we still do want to deliver updates and useful features to users.
  • Ledger OSX fixes and light client fixes/shortcommings with the 1.5 release branch will not be backported as we need to draw the line somewhere, but they can get merged into master (1.6.x) whenever ready and anyone needing it can build or pull develop binaries from our downlaods page.
  • Config file support should land in one way or another. Current best suggestion is to surface the internal Go config structs into a .yaml format. This will need cleaning up those structs and moving "automagic flag/config processing" from the cmd/utils package deeper so config files; flags (and potentially Go API users) can share the same logic.
  • The 1.6 release will have TLS support for HTTP RPC. TLS will be configurable via geth configuration files and will not support CLI arguments.
  • ABI gen compiler and runtime will split of in to two separate packages. Requires native Go contracts to be updated with 1.6.
  • Package core/type transactions validators will move to package crypto. Hash and Address from package common will move to core/types.
  • Follow up call 20 Feb 2017 @ 12.00 CET.
@ligi
Copy link

ligi commented Feb 15, 2017

Sounds great! Are there plans to expose whisper API to the android library?

@karalabe
Copy link

We're only1/3 through the features we want to debate :) Whisper will be debated too on Monday :)

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