Feathercoin daemon and wallet production version 0.17.0.2

[Dev] Release candidate Feathercoin 0.9.6 checklist & final issues


  • Moderators | Tip wrapper

    Feathercoin 0.9.6 : Release Conventions/Notes/Procedure/Check List and Task List :
    • All Github branches of Feathercoin (0.9.x and 0.11.x) are Development branches.
    • Branches may be promoted to the status ‘release candidate’ as documented in https://github.com/FeatherCoin/Feathercoin/tree/0.9.6
    • For Development versions the Production flag for these versions is set to false

    Procedure / Tick list for new official release :

    • The (0.9.x/0.11.x) appropriate branch is merged / copied to the master branch
    • The release flag in the master branch is set to true
    • The (0.9.x/0.9.11. x) branch is flagged as release in the releases tab on Github and the previous production release is marked as ‘old production’ (see Readme.md file) and the release description in the releases tab on Github is updated.
    • Binary builds are tested against keys.
    • The Binary files for Windows, Mac are attached to the new release
    • Linux installation packages are build and published on software. OpenSuse .com
    • Binary builds, scripts or instructions are duplicated to Ubuntu, BDS, ArchLinux and/ or other relevant OS, schedule mobile updates.
    • Include Travis build testing
    • Include updated zxing build instructions

    Associated Tasks with a release or fork

    • The Mobile wallet version is checked for compatibility with release.
    • Send upgrade messages to active nodes
    • New release is announced on forums and social media.
    • Extra support effort to look out for issues.

    Status : awaiting - software tests, build tests , final checks / issues.

    Feathercoin 0.9.6 release, overview

    Feathercoin 0.9.6 is a bug fix, build documentation, interface polish and auto test fixed version of Feathercoin 0.9.3 a tried tested and stable version of Feathercoin with a number of Feathercoin specific features.

    The 0.9.x development train has been kept backwardly compatible to 0.8.x releases as such it can be used straight away on the current blockchain.

    Feathercoin 0.9.6 release, status

    @Wellenreiter is organizing the Feathercoin 0.9.6 release on Github and making final decisions on last minute inclusions. Specific tests will be noted in the build tests to cover any further changes.

    As such it now ready to release, being a further tested and improved of Feathercoin 0.9.3.

    Thanks to @AFB, @Wellenreiter, @Aciddude, @wrapper, @Lizhi … (to be completed) for their significant contributions to this release.

    Feathercoin 0.9.6 release, addressing further issues.

    Further issues will be addressed in the next release of Feathercoin which will either be an updated version of 0.11, to accommodate the further refinements of 0.9.6 and have the tests running.

    Feathercoin build documentation :
    https://github.com/FeatherCoin/Feathercoin/tree/0.9.6/doc

    Feathercoin 0.9.6 release, Remaining Tasks to finalize the release :

    In priority / temporal order : ( List not complete being compiled, suggestions welcome)

    • https://github.com/FeatherCoin/Feathercoin/issues/151
    • Audit commits to Bitcoin 0.9.x for security or “include-able commits” since Bitcoin is at 0.9.6 and FTC Forked from Bitcoin version 0.9.0
    • Include auto testing config files
    • Finalize FTC specific release changes : Github @Wellenreiter
    • Update MAN pages
    • Create release notes
    • Review and sign off other issues on Github @wellenreiter @wrapper @aciddude
    • Review other operating system builds, pass.
    • Create list of work done, number of commits made @wrapper
    • Do and Test official beta builds for major OSs
    • Mirror (OpenSuse) build to Launchpad

  • Moderators | Tip wrapper

    Problem : Confirming the Windows and Mac builds (or others) are correct for the official release of Feathercoin software.

    Whilst anyone can compile and release there own version, the official FTC version must also prevent potential harm to members and have evidence the release is secure.

    Proposal : Binary build test
    • Once a build has been confirmed with the official release, the builder asks for confirmation.
    • A second person tries to reproduce the build : If binaries produced same : passes binary build test
    • If fails, differences in the set-ups can be discussed and set-up adjusted. : passes binary build test
    • If fails, can be confirmed by 3rd tester : pass
    • If fails, Use of the same virtual environment, discus results : pass

  • Moderators | Tip wrapper

    This post is deleted!

  • Moderators | Tip Wellenreiter

    Githug issure #151:

    • 0.9.6 is producing blocks version 2 and accepts Blocks version 2 and blocks version 4

    @Lizhi: can you confirm that?

    I’ve added/proposed a manual test procedure on github to test the interoperability


  • Moderators | Tip AcidD

    Information for the release notes:

    • Automated build tests fixed - Feathercoin v0.9.6 now includes automated unit tests from Bitcoin v0.9
    • Fixed Miniupnpc > 1.6 - There was a bug in the code that didn’t agree with versions of miniupnpc greater than version 1.6
    • Fixed “Ambiguous Overload” build error from chainparams.cpp when building with C++11 support
    • Fixed buffer overflow bug in Coins.cpp - Bitcoin and Litecoin had this bug, it’s been resolved in 0.9.6 now
    • Fixed refferences to “Bitcoin-QT” - These needed to be “Feathercoin-Qt” in order for the “Make Deploy” command to run correctly
    • Refreshed MacOS DMG background - Removed any branding related to Bitcoin, also updated icon size and position
    • Fixed a build issue with MacOS build and the Multi-Sig QT page
    • Fixed a C++11 build error “C++11 requires a space between literal and identifier” on main.cpp, wallet.cpp, walletmodel.cpp
    • Feathercoin-cli manpage added
    • updated feathercoind, feathercoin-qt, feathercoin.conf manpages

  • Moderators | Tip AcidD

    @wrapper said in [Dev] Release candidate Feathercoin 0.9.6 checklist & final issues:

    Problem : Confirming the Windows and Mac builds (or others) are correct for the official release of Feathercoin software.

    Whilst anyone can compile and release there own version, the official FTC version must also prevent potential harm to members and have evidence the release is secure.

    Proposal : Binary build test
    • Once a build has been confirmed with the official release, the builder asks for confirmation.
    • A second person tries to reproduce the build : If binaries produced same : passes binary build test
    • If fails, differences in the set-ups can be discussed and set-up adjusted. : passes binary build test
    • If fails, can be confirmed by 3rd tester : pass
    • If fails, Use of the same virtual environment, discus results : pass

    Do the Feathercoin Team have an official PGP Key ?

    These links are interesting:
    https://gitian.org/
    https://www.reddit.com/r/Bitcoin/wiki/verifying_bitcoin_core
    https://bitcointalk.org/index.php?topic=1588906.0
    http://bitcoin.stackexchange.com/questions/50185/how-to-verify-bitcoin-core-release-signing-keys/50186


  • Moderators | Tip wrapper

    Notes for Work completed in Feathercoin 0.9.6

    Information for release notes:

    Feathercoin 0.9.6 has 138 commits, with various bug fixes and enhancements.

    • Block database 4 forward compatibility, so upgrade is not needed after hard fork to block type 4
    • All wallet screens have been reviewed and improved for consistency
    • A new set of Feathercoin icons has been developed to give a consistent look and feel to the development
    • All the new feature in 0.9.3 have been further audited, tested, refined and documented
    • Include and update code unit tests.
    • Feathercoin wallet help guide : https://github.com/wrapperband/FeathercoinWalletGuide
    • Changed client string from Satoshi to Feathercoin
    • Fixed Boost 1.58 compile error.
    • Fixed warning base40.h error.
    • Improve layaout of all wallet forms.
    • Fix zxing build bugs and documentation
    • Improved Mac installer
    • Updated help / man pages for Feathercoin-cli

  • Moderators | Tip Wellenreiter

    @aciddude said in [Dev] Release candidate Feathercoin 0.9.6 checklist & final issues:

    @wrapper said in [Dev] Release candidate Feathercoin 0.9.6 checklist & final issues:

    Problem : Confirming the Windows and Mac builds (or others) are correct for the official release of Feathercoin software.

    Whilst anyone can compile and release there own version, the official FTC version must also prevent potential harm to members and have evidence the release is secure.

    Proposal : Binary build test
    • Once a build has been confirmed with the official release, the builder asks for confirmation.
    • A second person tries to reproduce the build : If binaries produced same : passes binary build test
    • If fails, differences in the set-ups can be discussed and set-up adjusted. : passes binary build test
    • If fails, can be confirmed by 3rd tester : pass
    • If fails, Use of the same virtual environment, discus results : pass

    Do the Feathercoin Team have an official PGP Key ?

    These links are interesting:
    https://gitian.org/
    https://www.reddit.com/r/Bitcoin/wiki/verifying_bitcoin_core
    https://bitcointalk.org/index.php?topic=1588906.0
    http://bitcoin.stackexchange.com/questions/50185/how-to-verify-bitcoin-core-release-signing-keys/50186

    As ‘feathercoin’ is an artificial user, with a group of people behind it, the feathercoin user should not be used to sign code.

    My opinion is, that every coder should use his own -github created?- signature to sign the code he modified.

    A different story is the signature of the binaries. Linux PPA created by me are loaded from my repository that of course is signed.
    We should sign the MAC and Windows binaries, too. My suggestion is to use the key of the user who compiled the code and created the binary/installation package


  • Moderators | Tip AcidD

    @Wellenreiter

    These links are interesting:
    https://gitian.org/
    https://www.reddit.com/r/Bitcoin/wiki/verifying_bitcoin_core
    https://bitcointalk.org/index.php?topic=1588906.0
    http://bitcoin.stackexchange.com/questions/50185/how-to-verify-bitcoin-core-release-signing-keys/50186

    As ‘feathercoin’ is an artificial user, with a group of people behind it, the feathercoin user should not be used to sign code.

    My opinion is, that every coder should use his own -github created?- signature to sign the code he modified.

    A different story is the signature of the binaries. Linux PPA created by me are loaded from my repository that of course is signed.
    We should sign the MAC and Windows binaries, too. My suggestion is to use the key of the user who compiled the code and created the binary/installation package

    Yes I believe bitcoin does something similar, all the developers have their own keys for signing their own releases.

    the actual binary signing needs to be signed with a cert that has a valid root CA (something from Comodo or Symantec etc) - this proves the authenticity of the code.

    The main issue is you’re required to give a lot of details about your project when you try to buy a cert for code signing. You need to provide valid ID (passport, Drivers license etc), details on the project name, website link, etc.

    I applied for/bought an OpenSource code signing cert, it was cheap because it’s supposed to be for OpenSource projects only. I bought it from http://certum.pl/certum/main.xml and paid 17 Euros.

    They’ve now asked for verification, I’ve provided a copy of my passport and other identification documents.

    I’ve sent them the Feathercoin.com url as well as the github page, I’ve explained that I contribute to the Git repo and I have my own personal fork as well, registered in my name with the same email address I used to register for the cert. I hope this is enough as proof. They did ask me to put my real name somewhere on the website for validation, I’ve explained because this is an OpenSource project, I’d only be able to post my name in the forums or on my personal fork of the Feathercoin repo.

    Waiting to hear back from them now.


  • Moderators | Tip AcidD

    http://certum.pl/certum/main.xml got back to me.

    The OpenSource certificate can only be applied to a person. So it would have my name in it and nothing to do with Feathercoin…hence why it’s soo cheap. it’s for really really personal projects.

    This is what needs to be bought:
    https://cheapsslsecurity.co.uk/comodo/codesigningcertificate.html

    If Feathercoin-Qt is not code signed, on MacOS you’ll get the following warning:
    alt text

    Not good. To run unsigned software they need to go into Mac OS X Preferences>Security & Privacy>General and change Allow applications downloaded from Mac App store and identified developers to Anywhere:

    on Windows you’d see something similar
    alt text


  • Regular Member | Tip AmDD

    @aciddude said in [Dev] Release candidate Feathercoin 0.9.6 checklist & final issues:

    http://certum.pl/certum/main.xml got back to me.

    The OpenSource certificate can only be applied to a person. So it would have my name in it and nothing to do with Feathercoin…hence why it’s soo cheap. it’s for really really personal projects.

    This is what needs to be bought:
    https://cheapsslsecurity.co.uk/comodo/codesigningcertificate.html

    If Feathercoin-Qt is not code signed, on MacOS you’ll get the following warning:
    alt text

    Not good. To run unsigned software they need to go into Mac OS X Preferences>Security & Privacy>General and change Allow applications downloaded from Mac App store and identified developers to Anywhere:

    on Windows you’d see something similar
    alt text

    Since Im no dev and dont really contribute much here - I can at least throw in some coin to buy this cert. Let me know if we go this direction.


  • Moderators | Tip wrapper

    Thanks and kudos to @Aciddude who I know has done quite a bit of work on this code signing issue.

    @Aciddude, let us know what you think the options are and if you cut the binaries, how much a “proper” certificate is.

    As the person that has done a huge amount to help get all the builds working, and have the VBs set-up , you should get first choice to do the (Mac and Windows) builds. Plus the Ubuntu build, if we can’t transfer the OpenSuse build service Ubuntu binaries.

    The other choice (as far as buying them a code certificate) would be look into the Github based certificate that @Wellenreiter can use, as he’s now took responsibility for controlling the Feathercoin Github. Just in case that is better way to do it.

    Also, could we also use that to other builds or scripts, e.g. Arch, BSD, Android?


  • Moderators | Tip Wellenreiter

    For the Github code, I think, we don’t really need a official certificate, if we can apply a PGP key and use that to sign the code.

    All the certificate stuff is about building trust, and that also can be archived through BGP and even through the forum here, If we show the fingerprints of your keys somewhere on the forum, maybe in our trailers, that are appended to the posts


  • Moderators | Tip Wellenreiter

    I have one other task, that I would like to give to someone else:

    • check/update Linux manpages for feathercoind, feathercoin-qt and feathercoin-cli
      • check, that no occurrences of ‘Bitcoin’ are in the man pages
      • check overall usability of the man pages
      • the page for feathercoin-cli needs to be created. That can be done by copying the content from feathercoind man page and modify it to mention feathercoin-cli

    The man page files are on Github here


  • Moderators | Tip AcidD

    I’ll sort out those man pages and do a pull request when I’m done.

    @Wellenreiter PR sent -
    https://github.com/FeatherCoin/Feathercoin/pull/153


  • Moderators | Tip wrapper

    @Wellenreiter - These issues from Github can be signed off / completed. Mostly due to patches AFB and I did in 0.9.3.2./ 0.9.6 and Lizhi pulled in, to improve the user interface design and consistency.

    Wallet main screen UI design / issue - Status Icons covered by frames
    https://github.com/FeatherCoin/Feathercoin/issues/103
    Interface work

    The layout of the form for advanced feature : OpenNames
    https://github.com/FeatherCoin/Feathercoin/issues/102
    Interface work

    Test fail --Transaction right click - Dropdown Bitmessage - Fails to operate
    https://github.com/FeatherCoin/Feathercoin/issues/120
    Documentation work

    Test fail–Transaction right click - Dropdown Ubuntu 16.04
    https://github.com/FeatherCoin/Feathercoin/issues/119
    Sign off : Not Fixed in 0.9.6 : Raise issue to test Show Transaction Total is correct in 0.11 or further versions.

    Test results - Create Stealth Address from the Button Receive Grid
    https://github.com/FeatherCoin/Feathercoin/issues/121
    Not being done - sign off


  • Moderators | Tip wrapper

    travis.yml and automatic testing for FTC 0.9.6.

    @Aciddude is looking into automatic testing. These are some notes, FTC possible ways forward / Bitcoin Litecoin status.

    Bitcoin implemented / has a travis test file in version 0.10. Similar with Litecoin.

    FTC is forked from Bitcoin, so it is proposed Bitcoin travis.yml be backported form Bitcoin 0.10 and tested for FTC compatibility / required changes to have 0.9.6 auto tested.

    Notes:

    • Litcoin have made some slight modifications / fixes, so their version is worth studying.
    • There are later versions of the Bitcoin travis.yml in 0.11, 0.12 and 0.13

    Bitcoin 0.10 travis.yml test file :
    https://github.com/bitcoin/bitcoin/blob/0.10/.travis.yml

    Litecoin 0.10 travis.yml
    https://github.com/litecoin-project/litecoin/blob/0.10/.travis.yml

    Latest Bitcoin travis.yml
    https://github.com/bitcoin/bitcoin/blob/master/.travis.yml


  • Moderators | Tip Wellenreiter

    I would like to release 0.9.6 this week, so I suggest to freeze the 0.9.6 code and only improve the man pages and release notes.
    We can either bring the new test capabilities in a version 0.9.7 or better implement them in 0.11.x
    For 0.9.6 we can live with the manual testing


  • Moderators | Tip wrapper

    Ok, I agree. FTC is ready to release. We’ve got a lot of further refinement we can quickly apply to 0.11. 0.9.6 is a significant update to 0.9.1.

    I think it is expedient to create FTC 0.9.7-dev ,

    Reason for 0.9.7-dev:

    • Copy / branch of code : Just prior to final release changes. Prevent / identify “rougue releases”
    • We may need to fix a bug (unlikely), but also can get travis working (nearly there), ready to accept and test any issues or further improvements to test.
    • Known testing ground for comparison with 0.11 in further developments
    • Gives FTC the possible to release “wallet fix versions” (i.e. new functionality review, possible remove shapeshift , etc) - that can be done with no fork issues.

    Backport Branch

    Suggestions for Development plan for 0.9.x branch

    Feathercoin 0.9.7-dev
    Implement Unit Test
    Implement Auto build service
    Collect issues From 0.9.6 release
    Test fixes to issues
    Move issue to Feathercoin 0.11-dev
    Collect issues and release 0.9.8


  • Moderators | Tip AcidD

    @wrapper @Wellenreiter - Agreed, +1 !

    There’s quite a few files that would need to be pulled in for Travis-CI to work correctly. I’d like to spend time understanding these files instead of blindly pulling in from Bitcoin or Litecoin.

    an easy example of what’s definitely going to break is zxing - so even if we got the build scripts for travis CI working, they wouldn’t include QR codes until we put in the necessary script/procedure for zxing.

    pushing Travis-CI stuff to a later version of Feathercoin sounds like the right idea 🙂


  • Moderators | Tip AcidD

    @wrapper said in [Dev] Release candidate Feathercoin 0.9.6 checklist & final issues:

    Ok, I agree. FTC is ready to release. We’ve got a lot of further refinement we can quickly apply to 0.11. 0.9.6 is a significant update to 0.9.1.

    I think it is expedient to create FTC 0.9.7-dev ,

    Reason for 0.9.7-dev:

    • Copy / branch of code : Just prior to final release changes. Prevent / identify “rougue releases”
    • We may need to fix a bug (unlikely), but also can get travis working (nearly there), ready to accept and test any issues or further improvements to test.
    • Known testing ground for comparison with 0.11 in further developments
    • Gives FTC the possible to release “wallet fix versions” (i.e. new functionality review, possible remove shapeshift , etc) - that can be done with no fork issues.

    Backport Branch

    Sugestions for Development plan for 0.9.x branch

    Feathercoin 0.9.7-dev
    Implement Unit Test
    Implement Auto build service
    Collect issues From 0.9.6 release
    Test fixes to issues
    Move issue to Feathercoin 0.11-dev
    Collect issues and release 0.9.8

    This is a good idea.

    Maybe create a post in the Admin/team area for now, just so that the version numbers dont confuse forum members. Once 0.9.6 is fully released as “production” - you could move the 0.9.7-dev topic to the public forums for discussion/in-put from the general feather public 🙂