Comments (9)
That would be excellent, do you have any tips or techniques for making it automated?
from zeroclipboard.
The only effort-efficient way that comes to mind is just generating it from the commit logs. This, however, requires that we keep our commit history clean: rebase away the merge commits, squash/fixup superfluous commits into a single-purpose commit (e.g. feature/topic branch commits like in PRs), write good commit messages that mention if their changes might break backward compatibility, etc.
Perhaps the project leads for some other big projects (jQuery, Grunt, PhantomJS, etc.) could give us alternate suggestions. @dmethvin @scottgonzalez @cowboy @ariya?
from zeroclipboard.
squash commits, and rebases sound horrible, I'd rather write text each release.
from zeroclipboard.
Squashes and rebases aren't exactly fun but they certainly aren't needed all the time and they serve a very important purpose in keeping the history clean... and THAT is very important for hunting down regressions, etc,., as with git bisect
. You should probably learn to embrace them as a GitHubber. 😛
from zeroclipboard.
There's no automated way to know which changes are significant and which are not, it's up to your intuition and the quality of the unit tests. For a sufficiently large installed base, every change is a breaking change regardless of whether the behavior is documented or not.
I'm a fan of squash, rebase -i, and --amend (before push) on commits to the main project. Without them the commit history gets way too messy on a large project. Landing kitchen-sink branches is hard no matter how you do it though.
@otakusid, "waiting until the bugs are fixed" may use less of your time, but it won't allow you to contribute to the project by helping find and fix problems. Someone has to do it. Get a new version and give constructive detailed feedback about what broke, or document what changed!
from zeroclipboard.
We already have https://github.com/jonrohan/ZeroClipboard/blob/master/docs/releases.md I'm gonna work on keeping it updated more frequently.
from zeroclipboard.
It really depends on how detailed you want your change logs to be. For jQuery UI, we actually look at every single commit. I wrote a script that dumps out the log for the version we're releasing, parses it for references to issues, and inserts links.
While I do prefer clean history and hate merge commits, you don't need to change your process to deal with them. If you're going to script any part of this, you can easily have the script remove any line that starts with "Merge".
If you're interested, here's the script that generates the jQuery UI changelog: https://github.com/jquery/jquery-ui/blob/master/build/release/release.js#L219 Though there's still a lot of manual work that goes into it after that, and the upgrade guides are 100% hand written.
from zeroclipboard.
We've written an entire Upgrading from 0.3 to 0.4 migration guide for grunt.
from zeroclipboard.
@cowboy: That looks great, I'm a big fan of upgrade guides to explain breaking changes.
from zeroclipboard.
Related Issues (20)
- Copy a table using zeroclipboard
- ZeroClipboard never initialises HOT 1
- Why the button on github repo page doesn't need a flash object HOT 2
- Seeking new maintainers/collaborators HOT 8
- zeroclipboard alternative HOT 1
- it not work in mac chrome HOT 2
- how to use in vue2.0? HOT 1
- the content contains "<script" , the copy doesn't work
- Not working upon Recent upgrade of chrome in windows, but IE works HOT 7
- Problem with using this in something other than a button
- why the position absolute are not working. help HOT 1
- not working in chrome HOT 2
- Unable to keep format as it is while copying HOT 1
- How can get the selector to set to other method
- Xss problem HOT 6
- init zeroclipboard throw flash-disabled error HOT 1
- Encoding problems in IE11
- Copy the table and paste the data into MS-Excel
- Demo page not work but github copy clone url does? HOT 1
- `<button>` independent, support run as callback please!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zeroclipboard.