Ethminer: Add changes to CHANGELOG file

Created on 9 May 2018  路  20Comments  路  Source: ethereum-mining/ethminer

I'm sure I'm not the only one who would be very grateful if you guys posted change logs on the release pages, even if brief.

What are the changes from 13->14?

What about 14->15?

help wanted

Most helpful comment

Regarding this I sense a chance to contribute a tiny bit to the great! efforts you're doing here.
I appreciate all the work you're doing here and wish I could contribute some commits, but I'm way too unexperienced yet.

The following list aint complete yet and I do not claim 100% correctness. It's a changelog from v0.13.0 to v0.14.0rc10.

I tried to exclude fixes to recent feature commits, but as I mentioned, I'm a NOOB. ;-)

Bug Fixes

  • #331 Clean shutdown on ctrl+c or kill
  • #612 CUDA: -L sequential parameter is broken
  • #613 updated cwarn (missing space)
  • #635 Clean warnings and a bug caught in Apple (clang) build.
  • #644 Data races fixes
  • #661 Fix data race in mining progress
  • #694 Fix Benchmarking
  • #701 Fix impossible difficulty in benchmark
  • #702 Prevent stratum disconnect from killing solution stats
  • #716 Fix to issue 625 libdl.so.2 DSO missing
  • #720 Fixes #624 and others.
  • #726 Fix segfault specifying --*-devices. Issue #721
  • #729 Strip escape codes for Win versions under 10. Issue #728
  • #760 Warnings are cluttering build logs
  • #770 Mixed multiple AMD+NVIDIA fix. Issue #725
  • #776 Please clean up your build warnings...
  • #920 Segfault by m_endpoints. Issue #916 & #919
  • #935 Fix MSVC's C4800 warning.
  • #939 Clean up MSVC compiler options.
  • #941 Fixed benchmark inner mean calculation when several speeds are equal. Issue #942
  • #945 fix disconnect crash. Issue #887 #890 #892 #929
  • #948 Fix C4244 MSVC warnings.
  • #1029 Fix double disconnect()

Cosmetics

  • #604 Console output, purely cosmetic
  • #673 Display ethminer version at startup & colourized log
  • #698 Added colors on windows 10
  • #730 Update help with NO_COLOR documentation
  • #732 Combine stratum log lines, reduce log volume.
  • Option to display job switch time --verbosity <n> n > 5
  • Display connection and IP
  • Display pool response time
  • Display pool difficulty as it changes
  • Update --help for URI support for specifying pool -P (Feature 838, see below)
  • Update --help to flag deprecated parameters
  • Added --display-interval <n> description to --help (Feature 787)

Features / Optimizations

  • #503 Add clang-format config
  • #532 Cleanup of Getwork/Farm Client and move to separate lib
  • #618 Improved job switching
  • #629 CMake: Always build stratum
  • #641 CUDA: Use atomic rather than relying on special case
  • #642 CUDA: Eliminate software evals completely! (--cuda-noeval _old_ // --noeval _for CUDA and CL_)
  • #646 split CUDA/CL localWorkSize,globalWorkSize vs cudaBlockSize,cudaGridSize
  • #649 Optimize CUDA GPU
  • #660 List pcie info
  • #674 Display pool response time
  • #688 Exit on cuda run-time error
  • #704 Get rid of unused or inconsistent protocol method
  • #709 Rename alternate kernel to more representative name
  • #710 Changed HWMON to init library only once.
  • #718 Apparently 16 is not enough! Increase and parameterize max # of GPUs
  • #752 Reworked StratumClient to work with PoolManager
  • #753 Moved Simulator Code to fake PoolClient
  • #757 added --exit parameter to exit whenever an error occurred
  • #758 Power usage parameterized (Now Nvidia and AMD in both Linux and Windows)
  • #761 A simple JSON API format for supporting Power Usage
  • #762 Count opencl known stales
  • #763 Remove redundant loop from cuda GPU code
  • #781 OpenCl and CUDA - Display consistent log output (switch time logging --verbosity <n> n > 5)
  • #786 Minor pool manager optimization
  • #787 Added param to specify mining stats display interval (--display-interval <n> no need to abuse farm-recheck anymore)
  • #788 Display pool difficulty as it changes
  • #789 README.md: minor Markdown tweaks.
  • #799 Stratum SSL/TLS Support
  • #807 Don't consider client connected till it gets a job.
  • #808 Use Cable CMake library
  • #809 Rename variable m_abort to m_new_work.
  • #811 Completely remove stratum client v2
  • #815 Use CableBuildInfo
  • #818 Display last commit hash at startup
  • #821 Count stales according to pool rules
  • #828 Optimized farm.stop and worktimeout in stratum
  • #838 URI endpoint parameter support - feature complete -P
  • #860 Make sure all stratum IO is handled asynchronously from a single thread.
  • #882 CI: Use Python 3 for future migration to Hunter 0.20
  • #909 Remove unused variable.
  • #924 Upgrade Cable to 0.1.0
  • #931 Remove unneeded include guards.
  • #952 Upgrade Cable to 0.1.4
  • #1027 Socket logic adjustments (Redesign of Socket connection)

Regarding #838

Implement URI support for specifying pool all pool attributes.

Many of the current parameter options that are no longer necessary
are flagged at deprecated, but remain functional for backwards
compatibility. Presumably support for these would be dropped in
a future release.

In short, the new -P parameter allows specifying up to 6 pool
endpoints of the form scheme://user[:password]@hostname:port[/emailaddress]

For further information lookup --help


I hope this helps a bit.

Beside I can strongly recommend v0.15.0.dev8 upwards for CUDAminers, it rocks!
-> #1076 Fix cuda hash mis-count (stabilize hash rate)

All 20 comments

I m not a dev, and I also share the same point as you, I know that it is long to actually understand the changes, but let the devs work on the ethminer, please don t add tasks to them...
I know your point , but understand that living the project grow these last few month , I do understand the lack of logs and so fourth...
Read all the push request that got aproved, you will catch on rapidly to all that is going on. and the changes If you need help, someone will help...
Hope you understand my point of view.

I was saying I'd be grateful for even brief logs, as in a couple of lines/handful of words.

From my experience, changelogs cut down on misunderstandings and clarify what is expected behavior versus a bug. I don't think it's unreasonable to keep one that is concise. Should have a positive impact pn their time if the developers choose to create one.

As I always reiterate Github itself is a huge changelog system.
It's not as simple as you may wish but it keeps track of every addition/deletion performed. Yeah I know ... you have to be able to read (and understand) code.

Simplified changelogs for "end-users" would be great but they need time to be collected, mantained, explained and ... as we all use our spare time, I rather prefer use it to "implement" code than writing public documentation. If there's anyone willing to get in charge of this task is always welcome.

@AndreaLanfranchi in my software projects I decided to use changelog generators. A good changelog generator is this one that Angular developers use: Every commit that should be added to the changelog should have a special syntax. If you use this syntax you don't have any overhead. The list of features, bug fixes, breaking changes etc. is generated automatically.

Example for a changelog from the Angular project

More information: conventional-changelog-cli, commitizen

@julianpoemp Despite that you can opt commits in and out of the changelog using the generator, GitHub itself can also make comparison between changes to serve like a changelog, such as this one.

A common problem, with or without tools to filter a changelog, is that the commit descriptions are usually written as technical abstract and are difficult to understand. For example, I don't think things like

compiler-cli: reflect static methods added to classes in metadata (#21926) (eb8ddd2)

in your changelog make any sense to normal readers.

So still, in order to maintain a good and readable changelog, overhead and extra work is likely a must. The opposite is of course doing nothing and let GitHub handle the comparisons.

@Hakkk2002 With this generator you could add easy to read short descriptions and technical descriptions in the long description section and you can omit commits that are not relevant for users.

For example:

  fix(general): fixed reboot problem with nvidia 390.48 driver (#896)

  Technical information

  fixed #896

This would generate:

Bug fixes:

  • general: fixed reboot problem with nvidia 390.48 driver (#896)

The angular changelog I used before as an example is a changelog for devs, because only devs are using that repository. I think it makes sense for ethminer using a changelog generator. It's only a suggestion by me to meet the needs of a changelog without overhead for developers.

I strongly believe the following, using the github to get to understand the changes is a bit hard, and does require some effort from the end user to actually understand the changes, but its there, all written down, all explained, just browse the closed merged pull request.
I realy do not believe that the extra work being handed down to the devs be requiring a changelog is a good thing, a lot work is needed somewere else than a changelog like bugs, new features, solving AMD issues with etherminer.

We will try to collect changelog starting from 0.16.

For 0.14 and 0.15 you can review all merged PR and make the list of changes out of it. If you did, send it to me to include it in the release notes.

In the past change notes were only appended to final releases. Currently neither 14, nor 15, have reached final status. Once 14 is declared final, I'll volunteer to collate the changes, if no one else does it.

@jean-m-cyr Awesome, thank you very much. Just very briefly outlining the major changes would be enough for me (i'm guessing others would be happy too) - I for one just want to know whether it's worth trying the new version depending on what features I care about.

Regarding this I sense a chance to contribute a tiny bit to the great! efforts you're doing here.
I appreciate all the work you're doing here and wish I could contribute some commits, but I'm way too unexperienced yet.

The following list aint complete yet and I do not claim 100% correctness. It's a changelog from v0.13.0 to v0.14.0rc10.

I tried to exclude fixes to recent feature commits, but as I mentioned, I'm a NOOB. ;-)

Bug Fixes

  • #331 Clean shutdown on ctrl+c or kill
  • #612 CUDA: -L sequential parameter is broken
  • #613 updated cwarn (missing space)
  • #635 Clean warnings and a bug caught in Apple (clang) build.
  • #644 Data races fixes
  • #661 Fix data race in mining progress
  • #694 Fix Benchmarking
  • #701 Fix impossible difficulty in benchmark
  • #702 Prevent stratum disconnect from killing solution stats
  • #716 Fix to issue 625 libdl.so.2 DSO missing
  • #720 Fixes #624 and others.
  • #726 Fix segfault specifying --*-devices. Issue #721
  • #729 Strip escape codes for Win versions under 10. Issue #728
  • #760 Warnings are cluttering build logs
  • #770 Mixed multiple AMD+NVIDIA fix. Issue #725
  • #776 Please clean up your build warnings...
  • #920 Segfault by m_endpoints. Issue #916 & #919
  • #935 Fix MSVC's C4800 warning.
  • #939 Clean up MSVC compiler options.
  • #941 Fixed benchmark inner mean calculation when several speeds are equal. Issue #942
  • #945 fix disconnect crash. Issue #887 #890 #892 #929
  • #948 Fix C4244 MSVC warnings.
  • #1029 Fix double disconnect()

Cosmetics

  • #604 Console output, purely cosmetic
  • #673 Display ethminer version at startup & colourized log
  • #698 Added colors on windows 10
  • #730 Update help with NO_COLOR documentation
  • #732 Combine stratum log lines, reduce log volume.
  • Option to display job switch time --verbosity <n> n > 5
  • Display connection and IP
  • Display pool response time
  • Display pool difficulty as it changes
  • Update --help for URI support for specifying pool -P (Feature 838, see below)
  • Update --help to flag deprecated parameters
  • Added --display-interval <n> description to --help (Feature 787)

Features / Optimizations

  • #503 Add clang-format config
  • #532 Cleanup of Getwork/Farm Client and move to separate lib
  • #618 Improved job switching
  • #629 CMake: Always build stratum
  • #641 CUDA: Use atomic rather than relying on special case
  • #642 CUDA: Eliminate software evals completely! (--cuda-noeval _old_ // --noeval _for CUDA and CL_)
  • #646 split CUDA/CL localWorkSize,globalWorkSize vs cudaBlockSize,cudaGridSize
  • #649 Optimize CUDA GPU
  • #660 List pcie info
  • #674 Display pool response time
  • #688 Exit on cuda run-time error
  • #704 Get rid of unused or inconsistent protocol method
  • #709 Rename alternate kernel to more representative name
  • #710 Changed HWMON to init library only once.
  • #718 Apparently 16 is not enough! Increase and parameterize max # of GPUs
  • #752 Reworked StratumClient to work with PoolManager
  • #753 Moved Simulator Code to fake PoolClient
  • #757 added --exit parameter to exit whenever an error occurred
  • #758 Power usage parameterized (Now Nvidia and AMD in both Linux and Windows)
  • #761 A simple JSON API format for supporting Power Usage
  • #762 Count opencl known stales
  • #763 Remove redundant loop from cuda GPU code
  • #781 OpenCl and CUDA - Display consistent log output (switch time logging --verbosity <n> n > 5)
  • #786 Minor pool manager optimization
  • #787 Added param to specify mining stats display interval (--display-interval <n> no need to abuse farm-recheck anymore)
  • #788 Display pool difficulty as it changes
  • #789 README.md: minor Markdown tweaks.
  • #799 Stratum SSL/TLS Support
  • #807 Don't consider client connected till it gets a job.
  • #808 Use Cable CMake library
  • #809 Rename variable m_abort to m_new_work.
  • #811 Completely remove stratum client v2
  • #815 Use CableBuildInfo
  • #818 Display last commit hash at startup
  • #821 Count stales according to pool rules
  • #828 Optimized farm.stop and worktimeout in stratum
  • #838 URI endpoint parameter support - feature complete -P
  • #860 Make sure all stratum IO is handled asynchronously from a single thread.
  • #882 CI: Use Python 3 for future migration to Hunter 0.20
  • #909 Remove unused variable.
  • #924 Upgrade Cable to 0.1.0
  • #931 Remove unneeded include guards.
  • #952 Upgrade Cable to 0.1.4
  • #1027 Socket logic adjustments (Redesign of Socket connection)

Regarding #838

Implement URI support for specifying pool all pool attributes.

Many of the current parameter options that are no longer necessary
are flagged at deprecated, but remain functional for backwards
compatibility. Presumably support for these would be dropped in
a future release.

In short, the new -P parameter allows specifying up to 6 pool
endpoints of the form scheme://user[:password]@hostname:port[/emailaddress]

For further information lookup --help


I hope this helps a bit.

Beside I can strongly recommend v0.15.0.dev8 upwards for CUDAminers, it rocks!
-> #1076 Fix cuda hash mis-count (stabilize hash rate)

@Sail86 Thanks... I'll start translating that!

+1
I'm also share the same point as author of topic.

As changelog practice is effective since 0.16 this issue can be closed.

Hmm, I don't see any changelogs in 0.16.0 or 0.16.1 (there are for 0.14.0 and 0.15.0). Were they lost somehow?

They are not.

Sorry, you mean they do exist somewhere? If yes, where exactly? I checked the released files as well.

I mean that nobody has written any changelogs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ibmua picture ibmua  路  6Comments

unknown2this picture unknown2this  路  4Comments

krrkrr picture krrkrr  路  5Comments

skynet picture skynet  路  4Comments

rawsh picture rawsh  路  5Comments