From 4e9ed5df28a91b27e2631fc8ccd1439c1f9e28c0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 3 Apr 2015 18:59:37 +0300 Subject: [PATCH 01/10] add error class and documentation --- lib/github_changelog_generator.rb | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index a92817e..aa7346e 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -11,6 +11,12 @@ require_relative "github_changelog_generator/version" require_relative "github_changelog_generator/reader" module GitHubChangelogGenerator + + # Default error for ChangelogGenerator + class ChangelogGeneratorError < StandardError + end + + # Main class and entry point for this script. class ChangelogGenerator attr_accessor :options, :all_tags, :github @@ -18,6 +24,8 @@ module GitHubChangelogGenerator GH_RATE_LIMIT_EXCEEDED_MSG = "Warning: GitHub API rate limit (5000 per hour) exceeded, change log may be " \ "missing some issues. You can limit the number of issues fetched using the `--max-issues NUM` argument." + # Class, responsible for whole change log generation cycle + # @return initialised insance of ChangelogGenerator def initialize @options = Parser.parse_options @@ -176,6 +184,8 @@ module GitHubChangelogGenerator filtered_pull_requests end + # The entry point of this script to generate change log + # @raise (ChangelogGeneratorError) Is thrown when one of specified tags was not found in list of tags. def compound_changelog log = "# Change Log\n\n" @@ -195,12 +205,10 @@ module GitHubChangelogGenerator index2 = hash[tag2] log += generate_log_between_tags(all_tags[index1], all_tags[index2]) else - puts "Can't find tag #{tag2} -> exit" - exit + raise ChangelogGeneratorError.new("Can't find tag #{tag2} -> exit") end else - puts "Can't find tag #{tag1} -> exit" - exit + raise ChangelogGeneratorError.new("Can't find tag #{tag1} -> exit") end else log += generate_log_for_all_tags @@ -317,8 +325,10 @@ module GitHubChangelogGenerator @github_token ||= env_var end + # Generate log only between 2 specified tags + # @param [String] older_tag all issues before this tag date will be excluded. May be nil, if it's first tag + # @param [String] newer_tag all issue after this tag will be excluded. May be nil for unreleased section def generate_log_between_tags(older_tag, newer_tag) - # older_tag nil - means it's first tag, newer_tag nil - means it unreleased section filtered_pull_requests = delete_by_time(@pull_requests, :actual_date, older_tag, newer_tag) filtered_issues = delete_by_time(@issues, :actual_date, older_tag, newer_tag) From 2b656c83b6d2ed585c34f566eb335b176a667b0f Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 3 Apr 2015 19:13:50 +0300 Subject: [PATCH 02/10] add doc + fix raise --- lib/github_changelog_generator.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index aa7346e..e473a32 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -205,10 +205,10 @@ module GitHubChangelogGenerator index2 = hash[tag2] log += generate_log_between_tags(all_tags[index1], all_tags[index2]) else - raise ChangelogGeneratorError.new("Can't find tag #{tag2} -> exit") + raise ChangelogGeneratorError, "Can't find tag #{tag2} -> exit".red end else - raise ChangelogGeneratorError.new("Can't find tag #{tag1} -> exit") + raise ChangelogGeneratorError, "Can't find tag #{tag1} -> exit".red end else log += generate_log_for_all_tags @@ -384,8 +384,13 @@ module GitHubChangelogGenerator filtered_issues end - def delete_by_time(array, hash_key, older_tag = nil, newer_tag = nil) - fail "At least one of the tags should be not nil!" if older_tag.nil? && newer_tag.nil? + # @param [Array] array of issues to filter + # @param [Symbol] hash_key key of date value default is :actual_date + # @param [String] older_tag all issues before this tag date will be excluded. May be nil, if it's first tag + # @param [String] newer_tag all issue after this tag will be excluded. May be nil for unreleased section + def delete_by_time(array, hash_key = :actual_date, older_tag = nil, newer_tag = nil) + + raise ChangelogGeneratorError, "At least one of the tags should be not nil!" if older_tag.nil? && newer_tag.nil? newer_tag_time = get_time_of_tag(newer_tag) older_tag_time = get_time_of_tag(older_tag) From dae68ee3b59400c13cec5ea6218a843b58ffd1d0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 00:08:00 +0300 Subject: [PATCH 03/10] rubocop fixes --- lib/github_changelog_generator.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index e473a32..8f227ce 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -11,7 +11,6 @@ require_relative "github_changelog_generator/version" require_relative "github_changelog_generator/reader" module GitHubChangelogGenerator - # Default error for ChangelogGenerator class ChangelogGeneratorError < StandardError end @@ -205,10 +204,10 @@ module GitHubChangelogGenerator index2 = hash[tag2] log += generate_log_between_tags(all_tags[index1], all_tags[index2]) else - raise ChangelogGeneratorError, "Can't find tag #{tag2} -> exit".red + fail ChangelogGeneratorError, "Can't find tag #{tag2} -> exit".red end else - raise ChangelogGeneratorError, "Can't find tag #{tag1} -> exit".red + fail ChangelogGeneratorError, "Can't find tag #{tag1} -> exit".red end else log += generate_log_for_all_tags @@ -389,8 +388,7 @@ module GitHubChangelogGenerator # @param [String] older_tag all issues before this tag date will be excluded. May be nil, if it's first tag # @param [String] newer_tag all issue after this tag will be excluded. May be nil for unreleased section def delete_by_time(array, hash_key = :actual_date, older_tag = nil, newer_tag = nil) - - raise ChangelogGeneratorError, "At least one of the tags should be not nil!" if older_tag.nil? && newer_tag.nil? + fail ChangelogGeneratorError, "At least one of the tags should be not nil!".red if older_tag.nil? && newer_tag.nil? newer_tag_time = get_time_of_tag(newer_tag) older_tag_time = get_time_of_tag(older_tag) From e1161f9d9073bff9de744042df10fe8ba1223784 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 00:22:40 +0300 Subject: [PATCH 04/10] code cleanup. remove duplicate code --- lib/github_changelog_generator.rb | 38 +++++++++++++------------------ 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index 8f227ce..31ba9e1 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -46,17 +46,9 @@ module GitHubChangelogGenerator @all_tags = get_all_tags @issues, @pull_requests = fetch_issues_and_pull_requests - if @options[:pulls] - @pull_requests = get_filtered_pull_requests - else - @pull_requests = [] - end + @options[:pulls] ? @pull_requests = get_filtered_pull_requests : @pull_requests = [] - if @options[:issues] - @issues = get_filtered_issues - else - @issues = [] - end + @options[:issues] ? @issues = get_filtered_issues : @issues = [] fetch_event_for_issues_and_pr detect_actual_closed_dates @@ -162,12 +154,7 @@ module GitHubChangelogGenerator } end - unless @options[:exclude_labels].nil? - filtered_pull_requests = filtered_pull_requests.select { |issue| - # delete all labels from @options[:exclude_labels] array - !(issue.labels.map(&:name) & @options[:exclude_labels]).any? - } - end + filtered_pull_requests = exclude_issues_by_labels(filtered_pull_requests) if @options[:add_issues_wo_labels] issues_wo_labels = @pull_requests.select { |issue| @@ -183,6 +170,18 @@ module GitHubChangelogGenerator filtered_pull_requests end + # delete all labels with labels from @options[:exclude_labels] array + # @param [Array] issues + # @return [Array] filtered array + def exclude_issues_by_labels(issues) + unless @options[:exclude_labels].nil? + issues = issues.select { |issue| + !(issue.labels.map(&:name) & @options[:exclude_labels]).any? + } + end + issues + end + # The entry point of this script to generate change log # @raise (ChangelogGeneratorError) Is thrown when one of specified tags was not found in list of tags. def compound_changelog @@ -551,12 +550,7 @@ module GitHubChangelogGenerator } end - unless @options[:exclude_labels].nil? - filtered_issues = filtered_issues.select { |issue| - # delete all labels from @options[:exclude_labels] array - !(issue.labels.map(&:name) & @options[:exclude_labels]).any? - } - end + filtered_issues = exclude_issues_by_labels(filtered_issues) if @options[:add_issues_wo_labels] issues_wo_labels = issues.select { |issue| From 79d228c7a07a69ad96f307b06346fdab947d943f Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 00:25:14 +0300 Subject: [PATCH 05/10] cleanup --- lib/github_changelog_generator.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index 31ba9e1..20cfd8b 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -46,9 +46,9 @@ module GitHubChangelogGenerator @all_tags = get_all_tags @issues, @pull_requests = fetch_issues_and_pull_requests - @options[:pulls] ? @pull_requests = get_filtered_pull_requests : @pull_requests = [] + @pull_requests = @options[:pulls] ? get_filtered_pull_requests : [] - @options[:issues] ? @issues = get_filtered_issues : @issues = [] + @issues = @options[:issues] ? get_filtered_issues : [] fetch_event_for_issues_and_pr detect_actual_closed_dates From 38576e23e379b508232a81eb5c31754fde0e56aa Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 02:22:29 +0300 Subject: [PATCH 06/10] update changelog set default debug repo add documentation --- CHANGELOG.md | 122 ++++--- lib/CHANGELOG.md | 408 +---------------------- lib/github_changelog_generator.rb | 14 +- lib/github_changelog_generator/parser.rb | 29 +- 4 files changed, 97 insertions(+), 476 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93877ad..b44d01b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Change Log -## [Unreleased](https://github.com/skywinder/Github-Changelog-Generator/tree/HEAD) +## [Unreleased](https://github.com/skywinder/github-changelog-generator/tree/HEAD) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.11...HEAD) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.11...HEAD) **Implemented enhancements:** @@ -28,29 +28,25 @@ - Add --max-issues argument to limit requests [\#76](https://github.com/skywinder/github-changelog-generator/pull/76) ([sneal](https://github.com/sneal)) -## [1.3.11](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.11) (2015-03-21) +## [1.3.11](https://github.com/skywinder/github-changelog-generator/tree/1.3.11) (2015-03-21) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.10...1.3.11) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.10...1.3.11) **Merged pull requests:** - Add fallback with warning message to prevent crash in case of exceed API Rate Limit \(temporary workaround for \#71\) [\#75](https://github.com/skywinder/github-changelog-generator/pull/75) ([skywinder](https://github.com/skywinder)) -## [1.3.10](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.10) (2015-03-18) +## [1.3.10](https://github.com/skywinder/github-changelog-generator/tree/1.3.10) (2015-03-18) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.9...1.3.10) - -**Fixed bugs:** - -- Exclude closed \(not merged\) PR's from changelog. [\#69](https://github.com/skywinder/github-changelog-generator/issues/69) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.9...1.3.10) **Merged pull requests:** - Fix termination in case of empty unreleased section with `--unreleased-only` option. [\#70](https://github.com/skywinder/github-changelog-generator/pull/70) ([skywinder](https://github.com/skywinder)) -## [1.3.9](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.9) (2015-03-06) +## [1.3.9](https://github.com/skywinder/github-changelog-generator/tree/1.3.9) (2015-03-06) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.8...1.3.9) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.8...1.3.9) **Implemented enhancements:** @@ -60,57 +56,57 @@ - Resolved concurrency problem in case of issues \> 2048 [\#65](https://github.com/skywinder/github-changelog-generator/pull/65) ([skywinder](https://github.com/skywinder)) -## [1.3.8](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.8) (2015-03-05) +## [1.3.8](https://github.com/skywinder/github-changelog-generator/tree/1.3.8) (2015-03-05) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.6...1.3.8) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.6...1.3.8) **Merged pull requests:** - Fix `git remote` parsing in case, when script running without parameters inside destination directory [\#61](https://github.com/skywinder/github-changelog-generator/pull/61) ([skywinder](https://github.com/skywinder)) -## [1.3.6](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.6) (2015-03-05) +## [1.3.6](https://github.com/skywinder/github-changelog-generator/tree/1.3.6) (2015-03-05) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.5...1.3.6) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.5...1.3.6) -## [1.3.5](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.5) (2015-03-04) +## [1.3.5](https://github.com/skywinder/github-changelog-generator/tree/1.3.5) (2015-03-04) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.4...1.3.5) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.4...1.3.5) **Fixed bugs:** - Pull Requests in Wrong Tag [\#60](https://github.com/skywinder/github-changelog-generator/issues/60) -## [1.3.4](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.4) (2015-03-03) +## [1.3.4](https://github.com/skywinder/github-changelog-generator/tree/1.3.4) (2015-03-03) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.3...1.3.4) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.3...1.3.4) **Fixed bugs:** - --no-issues appears to break PRs [\#59](https://github.com/skywinder/github-changelog-generator/issues/59) -## [1.3.3](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.3) (2015-03-03) +## [1.3.3](https://github.com/skywinder/github-changelog-generator/tree/1.3.3) (2015-03-03) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.2...1.3.3) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.2...1.3.3) **Closed issues:** - Add \# character to encapsulate list. [\#58](https://github.com/skywinder/github-changelog-generator/issues/58) -## [1.3.2](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.2) (2015-03-03) +## [1.3.2](https://github.com/skywinder/github-changelog-generator/tree/1.3.2) (2015-03-03) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.1...1.3.2) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.1...1.3.2) **Fixed bugs:** - generation failed if github commit api return `404 Not Found` [\#57](https://github.com/skywinder/github-changelog-generator/issues/57) -## [1.3.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.1) (2015-02-27) +## [1.3.1](https://github.com/skywinder/github-changelog-generator/tree/1.3.1) (2015-02-27) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.0...1.3.1) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.0...1.3.1) -## [1.3.0](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.0) (2015-02-26) +## [1.3.0](https://github.com/skywinder/github-changelog-generator/tree/1.3.0) (2015-02-26) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.8...1.3.0) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.8...1.3.0) **Implemented enhancements:** @@ -130,9 +126,9 @@ - Implement filtering of Pull Requests by milestones [\#50](https://github.com/skywinder/github-changelog-generator/pull/50) ([skywinder](https://github.com/skywinder)) -## [1.2.8](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.8) (2015-02-17) +## [1.2.8](https://github.com/skywinder/github-changelog-generator/tree/1.2.8) (2015-02-17) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.7...1.2.8) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.7...1.2.8) **Closed issues:** @@ -144,25 +140,25 @@ - Prettify output [\#48](https://github.com/skywinder/github-changelog-generator/pull/48) ([skywinder](https://github.com/skywinder)) -## [1.2.7](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.7) (2015-01-26) +## [1.2.7](https://github.com/skywinder/github-changelog-generator/tree/1.2.7) (2015-01-26) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.6...1.2.7) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.6...1.2.7) **Merged pull requests:** - Add compare link between older version and newer version [\#46](https://github.com/skywinder/github-changelog-generator/pull/46) ([sue445](https://github.com/sue445)) -## [1.2.6](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.6) (2015-01-21) +## [1.2.6](https://github.com/skywinder/github-changelog-generator/tree/1.2.6) (2015-01-21) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.5...1.2.6) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.5...1.2.6) **Merged pull requests:** - fix link tag format [\#45](https://github.com/skywinder/github-changelog-generator/pull/45) ([sugamasao](https://github.com/sugamasao)) -## [1.2.5](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.5) (2015-01-15) +## [1.2.5](https://github.com/skywinder/github-changelog-generator/tree/1.2.5) (2015-01-15) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.4...1.2.5) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.4...1.2.5) **Implemented enhancements:** @@ -178,9 +174,9 @@ - support enterprise github via command line options [\#42](https://github.com/skywinder/github-changelog-generator/pull/42) ([glenlovett](https://github.com/glenlovett)) -## [1.2.4](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.4) (2014-12-16) +## [1.2.4](https://github.com/skywinder/github-changelog-generator/tree/1.2.4) (2014-12-16) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.3...1.2.4) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.3...1.2.4) **Fixed bugs:** @@ -188,9 +184,9 @@ - Crash when try generate log for rails [\#35](https://github.com/skywinder/github-changelog-generator/issues/35) -## [1.2.3](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.3) (2014-12-16) +## [1.2.3](https://github.com/skywinder/github-changelog-generator/tree/1.2.3) (2014-12-16) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.2...1.2.3) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.2...1.2.3) **Implemented enhancements:** @@ -208,9 +204,9 @@ - Fix crash when user is NULL [\#40](https://github.com/skywinder/github-changelog-generator/pull/40) ([skywinder](https://github.com/skywinder)) -## [1.2.2](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.2) (2014-12-10) +## [1.2.2](https://github.com/skywinder/github-changelog-generator/tree/1.2.2) (2014-12-10) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.1...1.2.2) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.1...1.2.2) **Fixed bugs:** @@ -220,9 +216,9 @@ - Add a Bitdeli Badge to README [\#36](https://github.com/skywinder/github-changelog-generator/pull/36) ([bitdeli-chef](https://github.com/bitdeli-chef)) -## [1.2.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.1) (2014-11-22) +## [1.2.1](https://github.com/skywinder/github-changelog-generator/tree/1.2.1) (2014-11-22) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.0...1.2.1) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.0...1.2.1) **Fixed bugs:** @@ -234,9 +230,9 @@ - Disable default --filter-pull-requests option. [\#28](https://github.com/skywinder/github-changelog-generator/pull/28) ([skywinder](https://github.com/skywinder)) -## [1.2.0](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.0) (2014-11-19) +## [1.2.0](https://github.com/skywinder/github-changelog-generator/tree/1.2.0) (2014-11-19) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.1.4...1.2.0) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.4...1.2.0) **Merged pull requests:** @@ -246,9 +242,9 @@ - Don't receive issues in case of --no-isses flag specied [\#24](https://github.com/skywinder/github-changelog-generator/pull/24) ([skywinder](https://github.com/skywinder)) -## [1.1.4](https://github.com/skywinder/Github-Changelog-Generator/tree/1.1.4) (2014-11-18) +## [1.1.4](https://github.com/skywinder/github-changelog-generator/tree/1.1.4) (2014-11-18) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.1.2...1.1.4) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.2...1.1.4) **Implemented enhancements:** @@ -258,9 +254,9 @@ - Sort tags by date [\#23](https://github.com/skywinder/github-changelog-generator/pull/23) ([skywinder](https://github.com/skywinder)) -## [1.1.2](https://github.com/skywinder/Github-Changelog-Generator/tree/1.1.2) (2014-11-12) +## [1.1.2](https://github.com/skywinder/github-changelog-generator/tree/1.1.2) (2014-11-12) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.1.1...1.1.2) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.1...1.1.2) **Merged pull requests:** @@ -268,9 +264,9 @@ - Fix bug with dot signs in user name [\#17](https://github.com/skywinder/github-changelog-generator/pull/17) ([skywinder](https://github.com/skywinder)) -## [1.1.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.1.1) (2014-11-10) +## [1.1.1](https://github.com/skywinder/github-changelog-generator/tree/1.1.1) (2014-11-10) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.1.0...1.1.1) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.0...1.1.1) **Merged pull requests:** @@ -280,9 +276,9 @@ - Add ability to add or exclude issues without any labels [\#13](https://github.com/skywinder/github-changelog-generator/pull/13) ([skywinder](https://github.com/skywinder)) -## [1.1.0](https://github.com/skywinder/Github-Changelog-Generator/tree/1.1.0) (2014-11-10) +## [1.1.0](https://github.com/skywinder/github-changelog-generator/tree/1.1.0) (2014-11-10) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.0.1...1.1.0) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.0.1...1.1.0) **Implemented enhancements:** @@ -294,13 +290,13 @@ - Markdown formating in the last line wrong [\#9](https://github.com/skywinder/github-changelog-generator/issues/9) -## [1.0.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.0.1) (2014-11-10) +## [1.0.1](https://github.com/skywinder/github-changelog-generator/tree/1.0.1) (2014-11-10) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.0.0...1.0.1) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.0.0...1.0.1) -## [1.0.0](https://github.com/skywinder/Github-Changelog-Generator/tree/1.0.0) (2014-11-07) +## [1.0.0](https://github.com/skywinder/github-changelog-generator/tree/1.0.0) (2014-11-07) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/0.1.0...1.0.0) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.1.0...1.0.0) **Implemented enhancements:** @@ -318,9 +314,9 @@ - Add support for issues in CHANGELOG [\#7](https://github.com/skywinder/github-changelog-generator/pull/7) ([skywinder](https://github.com/skywinder)) -## [0.1.0](https://github.com/skywinder/Github-Changelog-Generator/tree/0.1.0) (2014-11-07) +## [0.1.0](https://github.com/skywinder/github-changelog-generator/tree/0.1.0) (2014-11-07) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/0.0.2...0.1.0) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.0.2...0.1.0) **Merged pull requests:** @@ -330,11 +326,11 @@ - Add option \(-o --output\) to specify name of the output file. [\#1](https://github.com/skywinder/github-changelog-generator/pull/1) ([skywinder](https://github.com/skywinder)) -## [0.0.2](https://github.com/skywinder/Github-Changelog-Generator/tree/0.0.2) (2014-11-06) +## [0.0.2](https://github.com/skywinder/github-changelog-generator/tree/0.0.2) (2014-11-06) -[Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/0.0.1...0.0.2) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.0.1...0.0.2) -## [0.0.1](https://github.com/skywinder/Github-Changelog-Generator/tree/0.0.1) (2014-11-06) +## [0.0.1](https://github.com/skywinder/github-changelog-generator/tree/0.0.1) (2014-11-06) diff --git a/lib/CHANGELOG.md b/lib/CHANGELOG.md index a9ea351..745eb59 100644 --- a/lib/CHANGELOG.md +++ b/lib/CHANGELOG.md @@ -1,412 +1,32 @@ # Change Log -## [1.5.0](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.5.0) (2015-03-05) +## [Unreleased](https://github.com/skywinder/changelog_test/tree/HEAD) -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.4.0...1.5.0) +[Full Changelog](https://github.com/skywinder/changelog_test/compare/v0.0.3...HEAD) -- upside down portrait mode displays incorrectly [\#146](https://github.com/skywinder/ActionSheetPicker-3.0/issues/146) +**Merged pull requests:** -- Added support for upside down portrait; [\#149](https://github.com/skywinder/ActionSheetPicker-3.0/pull/149) ([dtrauger](https://github.com/dtrauger)) +- This PR SHOULD NOT appear in change log! [\#6](https://github.com/skywinder/changelog_test/pull/6) ([skywinder](https://github.com/skywinder)) -## [1.4.0](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.4.0) (2015-03-05) +- Add automatically generated change log file. [\#5](https://github.com/skywinder/changelog_test/pull/5) ([skywinder](https://github.com/skywinder)) -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.13...1.4.0) +## [v0.0.3](https://github.com/skywinder/changelog_test/tree/v0.0.3) (2015-03-04) -- Add additional showPickerWithTitle method [\#143](https://github.com/skywinder/ActionSheetPicker-3.0/pull/143) ([martinpfannemueller](https://github.com/martinpfannemueller)) +[Full Changelog](https://github.com/skywinder/changelog_test/compare/v0.0.2...v0.0.3) -- Add TapAction property and fix ActionSheetPickerView when toolbar hiden [\#140](https://github.com/skywinder/ActionSheetPicker-3.0/pull/140) ([BruceZCQ](https://github.com/BruceZCQ)) +**Merged pull requests:** -## [1.3.13](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.13) (2015-02-09) +- fix \#3. hotfix. Should appear in v0.0.3 [\#4](https://github.com/skywinder/changelog_test/pull/4) ([skywinder](https://github.com/skywinder)) -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.12...1.3.13) +## [v0.0.2](https://github.com/skywinder/changelog_test/tree/v0.0.2) (2015-03-04) -- Wrong background color of pickers [\#136](https://github.com/skywinder/ActionSheetPicker-3.0/issues/136) +[Full Changelog](https://github.com/skywinder/changelog_test/compare/v0.0.1...v0.0.2) -- Add DateMonthPicker Example [\#88](https://github.com/skywinder/ActionSheetPicker-3.0/pull/88) ([shivanraptor](https://github.com/shivanraptor)) +**Merged pull requests:** -## [1.3.12](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.12) (2015-02-04) +- Here is a test hotfix should appear in v.0.0.2 [\#2](https://github.com/skywinder/changelog_test/pull/2) ([skywinder](https://github.com/skywinder)) -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.11...1.3.12) - -- Light status bar style [\#119](https://github.com/skywinder/ActionSheetPicker-3.0/issues/119) - -## [1.3.11](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.11) (2015-01-15) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.10...1.3.11) - -- Fixes a crash while closing when using the Classy framework for styling [\#128](https://github.com/skywinder/ActionSheetPicker-3.0/pull/128) ([sudeepsidhu](https://github.com/sudeepsidhu)) - -## [1.3.10](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.10) (2015-01-09) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.9...1.3.10) - -- Should have minimum/maximum date property exposed [\#97](https://github.com/skywinder/ActionSheetPicker-3.0/issues/97) - -- No "cancel" button [\#122](https://github.com/skywinder/ActionSheetPicker-3.0/issues/122) - -- Fixed an issue when initial selections applied to picker with different number of rows for different components. [\#113](https://github.com/skywinder/ActionSheetPicker-3.0/pull/113) ([venj](https://github.com/venj)) - -- .m files should not be included in public header files [\#127](https://github.com/skywinder/ActionSheetPicker-3.0/pull/127) ([ened](https://github.com/ened)) - -- add header file to public [\#115](https://github.com/skywinder/ActionSheetPicker-3.0/pull/115) ([skywinder](https://github.com/skywinder)) - -## [1.3.9](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.9) (2014-12-11) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.8...1.3.9) - -- Bad interaction with submodules [\#111](https://github.com/skywinder/ActionSheetPicker-3.0/issues/111) - -- Fix bad interaction with Git submodules. Fixes issue \#111. [\#112](https://github.com/skywinder/ActionSheetPicker-3.0/pull/112) ([JimDabell](https://github.com/JimDabell)) - -## [1.3.8](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.8) (2014-12-10) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.7...1.3.8) - -- Redefinition of enumerator 'Selector' [\#109](https://github.com/skywinder/ActionSheetPicker-3.0/issues/109) - -- Fixed an issue when more than one ActionSheetCustomPicker is used in a ViewController [\#108](https://github.com/skywinder/ActionSheetPicker-3.0/pull/108) ([venj](https://github.com/venj)) - -- Fix for \#109 [\#110](https://github.com/skywinder/ActionSheetPicker-3.0/pull/110) ([michalciolek](https://github.com/michalciolek)) - -## [1.3.7](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.7) (2014-12-04) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.6...1.3.7) - -- UIDatePicker does not fire the target-action associated with the UIControlEventValueChanged event the first time [\#104](https://github.com/skywinder/ActionSheetPicker-3.0/issues/104) - -- Added workaround for a bug in UIDatePicker in count down mode. [\#105](https://github.com/skywinder/ActionSheetPicker-3.0/pull/105) ([tomaskraina](https://github.com/tomaskraina)) - -## [1.3.6](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.6) (2014-12-02) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.5...1.3.6) - -- Example projects failed to launch [\#96](https://github.com/skywinder/ActionSheetPicker-3.0/issues/96) - -- Travis builds is broken by fix \#96 [\#99](https://github.com/skywinder/ActionSheetPicker-3.0/issues/99) - -- Add a Bitdeli Badge to README [\#107](https://github.com/skywinder/ActionSheetPicker-3.0/pull/107) ([bitdeli-chef](https://github.com/bitdeli-chef)) - -- Added minimumDate and maximumDate to contructor of ActionSheetDatePicker [\#98](https://github.com/skywinder/ActionSheetPicker-3.0/pull/98) ([emmanuelay](https://github.com/emmanuelay)) - -- Add UITapGestureRecognizer on the SWActionSheet to allow dismissal [\#82](https://github.com/skywinder/ActionSheetPicker-3.0/pull/82) ([anas-ambri](https://github.com/anas-ambri)) - -## [1.3.5](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.5) (2014-11-14) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.4...1.3.5) - -- StatusBar visibility [\#90](https://github.com/skywinder/ActionSheetPicker-3.0/issues/90) - -- Update README.md [\#95](https://github.com/skywinder/ActionSheetPicker-3.0/pull/95) ([jeffreyjackson](https://github.com/jeffreyjackson)) - -## [1.3.4](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.4) (2014-11-12) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.3...1.3.4) - -- Fix statusBar visibility [\#93](https://github.com/skywinder/ActionSheetPicker-3.0/pull/93) ([krin-san](https://github.com/krin-san)) - -## [1.3.3](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.3) (2014-11-12) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.2...1.3.3) - -- Compiler warning due to Unicode char in source [\#92](https://github.com/skywinder/ActionSheetPicker-3.0/issues/92) - -## [1.3.2](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.2) (2014-11-11) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.1...1.3.2) - -- Add delegate for custom button pressed [\#33](https://github.com/skywinder/ActionSheetPicker-3.0/issues/33) - -- Add additional check for UIDatePickerModeCountDownTimer [\#91](https://github.com/skywinder/ActionSheetPicker-3.0/pull/91) ([skywinder](https://github.com/skywinder)) - -- Count down duration fix [\#89](https://github.com/skywinder/ActionSheetPicker-3.0/pull/89) ([ijameelkhan](https://github.com/ijameelkhan)) - -## [1.3.1](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.1) (2014-11-04) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.3.0...1.3.1) - -- Fix for \#84 and \#63 [\#85](https://github.com/skywinder/ActionSheetPicker-3.0/pull/85) ([skywinder](https://github.com/skywinder)) - -## [1.3.0](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.3.0) (2014-11-03) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.2.0...1.3.0) - -- iPad - Swift Popover not visible [\#68](https://github.com/skywinder/ActionSheetPicker-3.0/issues/68) - -- Added callback for custom button being pressed [\#81](https://github.com/skywinder/ActionSheetPicker-3.0/pull/81) ([velga](https://github.com/velga)) - -- Added support for popover customizations. [\#77](https://github.com/skywinder/ActionSheetPicker-3.0/pull/77) ([openreply](https://github.com/openreply)) - -## [1.2.0](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.2.0) (2014-10-15) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.21...1.2.0) - -- General fixes for \#74 & \#50 [\#76](https://github.com/skywinder/ActionSheetPicker-3.0/pull/76) ([skywinder](https://github.com/skywinder)) - -## [1.1.21](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.21) (2014-10-13) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.20...1.1.21) - -- i used DatePicker in ActionSheetPicket-3.0, but app crashed. [\#65](https://github.com/skywinder/ActionSheetPicker-3.0/issues/65) - -- ActionSheetString picker Crash [\#75](https://github.com/skywinder/ActionSheetPicker-3.0/issues/75) - -## [1.1.20](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.20) (2014-10-13) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.19...1.1.20) - -- ActionSheetDatePicker: set selectedDate in response to custom button press [\#73](https://github.com/skywinder/ActionSheetPicker-3.0/issues/73) - -- Using ActionSheetDatePicker as CountDownTimer-Picker [\#72](https://github.com/skywinder/ActionSheetPicker-3.0/issues/72) - -- Example fails when clicking "Modal Test": 'Pushing a navigation controller is not supported' [\#70](https://github.com/skywinder/ActionSheetPicker-3.0/issues/70) - -- Further support for countdown timer [\#74](https://github.com/skywinder/ActionSheetPicker-3.0/pull/74) ([mgmart](https://github.com/mgmart)) - -## [1.1.19](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.19) (2014-10-07) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.18...1.1.19) - -- Xcode 6 / Swift incompatibility [\#36](https://github.com/skywinder/ActionSheetPicker-3.0/issues/36) - -- title text with attributes. [\#64](https://github.com/skywinder/ActionSheetPicker-3.0/pull/64) ([nebiros](https://github.com/nebiros)) - -## [1.1.18](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.18) (2014-10-03) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.17...1.1.18) - -## [1.1.17](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.17) (2014-10-03) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.16...1.1.17) - -## [1.1.16](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.16) (2014-10-03) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.15...1.1.16) - -## [1.1.15](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.15) (2014-09-29) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.14...1.1.15) - -- Method request: hideActionSheetPicker [\#51](https://github.com/skywinder/ActionSheetPicker-3.0/issues/51) - -- DatePicker callback freezes screen [\#42](https://github.com/skywinder/ActionSheetPicker-3.0/issues/42) - -- Update SWActionSheet.m [\#60](https://github.com/skywinder/ActionSheetPicker-3.0/pull/60) ([zhongyang](https://github.com/zhongyang)) - -- Fix for UIDatePickerModeCountDownTimer callback [\#50](https://github.com/skywinder/ActionSheetPicker-3.0/pull/50) ([jklp](https://github.com/jklp)) - -## [1.1.14](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.14) (2014-09-28) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.13...1.1.14) - -- add block based API to date picker [\#56](https://github.com/skywinder/ActionSheetPicker-3.0/pull/56) ([mrtj](https://github.com/mrtj)) - -- fix compiler problem of AbstractActionSheetPicker\(not include storyboard... [\#47](https://github.com/skywinder/ActionSheetPicker-3.0/pull/47) ([yanzhiwei147](https://github.com/yanzhiwei147)) - -## [1.1.13](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.13) (2014-09-19) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.12...1.1.13) - -- impossible to run in xcode 6 [\#48](https://github.com/skywinder/ActionSheetPicker-3.0/issues/48) - -- update badge [\#46](https://github.com/skywinder/ActionSheetPicker-3.0/pull/46) ([skywinder](https://github.com/skywinder)) - -- Add badge [\#45](https://github.com/skywinder/ActionSheetPicker-3.0/pull/45) ([skywinder](https://github.com/skywinder)) - -## [1.1.12](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.12) (2014-09-17) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.11...1.1.12) - -- reformat [\#44](https://github.com/skywinder/ActionSheetPicker-3.0/pull/44) ([skywinder](https://github.com/skywinder)) - -- unexpected action sheet dismissing in portrait mode only [\#40](https://github.com/skywinder/ActionSheetPicker-3.0/pull/40) ([numen31337](https://github.com/numen31337)) - -- Support ActionSheet width to full-screen-width in 4.7 inch and 5.5 inch devices [\#38](https://github.com/skywinder/ActionSheetPicker-3.0/pull/38) ([nowsprinting](https://github.com/nowsprinting)) - -## [1.1.11](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.11) (2014-09-16) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.10...1.1.11) - -- Pop over direction [\#28](https://github.com/skywinder/ActionSheetPicker-3.0/issues/28) - -- ActionSheetDatePicker needs done/cancel blocks [\#37](https://github.com/skywinder/ActionSheetPicker-3.0/issues/37) - -- Show from a presented view controller [\#31](https://github.com/skywinder/ActionSheetPicker-3.0/issues/31) - -- ActionSheetStringPicker not showing on iphone [\#30](https://github.com/skywinder/ActionSheetPicker-3.0/issues/30) - -- ActionSheetPicker needs cancel block to handle hiding [\#39](https://github.com/skywinder/ActionSheetPicker-3.0/issues/39) - -- Notify cancel on popover dismiss [\#34](https://github.com/skywinder/ActionSheetPicker-3.0/pull/34) ([ynop](https://github.com/ynop)) - -## [1.1.10](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.10) (2014-09-04) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.9...1.1.10) - -- Method for presenting overlapping views. [\#32](https://github.com/skywinder/ActionSheetPicker-3.0/pull/32) ([serebryakov-av](https://github.com/serebryakov-av)) - -## [1.1.9](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.9) (2014-09-03) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.8...1.1.9) - -- Update SWActionSheet.m [\#29](https://github.com/skywinder/ActionSheetPicker-3.0/pull/29) ([serebryakov-av](https://github.com/serebryakov-av)) - -## [1.1.8](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.8) (2014-08-29) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.7...1.1.8) - -## [1.1.7](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.7) (2014-08-29) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.6...1.1.7) - -## [1.1.6](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.6) (2014-08-27) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.5...1.1.6) - -- Still getting warnings [\#16](https://github.com/skywinder/ActionSheetPicker-3.0/issues/16) - -- fix readme code [\#26](https://github.com/skywinder/ActionSheetPicker-3.0/pull/26) ([abeyuya](https://github.com/abeyuya)) - -## [1.1.5](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.5) (2014-08-26) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/compilerBug...1.1.5) - -- Toolbar buttons don't appear when Actionsheet is fired from an iPad Form Sheet or Page Sheet [\#22](https://github.com/skywinder/ActionSheetPicker-3.0/issues/22) - -## [compilerBug](https://github.com/skywinder/ActionSheetPicker-3.0/tree/compilerBug) (2014-08-26) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.4...compilerBug) - -## [1.1.4](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.4) (2014-08-26) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.3...1.1.4) - -- iOS 8 iPad wrong frame size. [\#18](https://github.com/skywinder/ActionSheetPicker-3.0/issues/18) - -- iOS8 - iPad popover, wrong size [\#24](https://github.com/skywinder/ActionSheetPicker-3.0/issues/24) - -- fix iOS8 wrong popover size in iPad [\#25](https://github.com/skywinder/ActionSheetPicker-3.0/pull/25) ([AdrianFlorian](https://github.com/AdrianFlorian)) - -## [1.1.3](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.3) (2014-08-25) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.2...1.1.3) - -- Presented in wrong frame when sender is a navbar bar button item [\#23](https://github.com/skywinder/ActionSheetPicker-3.0/issues/23) - -- done button color [\#21](https://github.com/skywinder/ActionSheetPicker-3.0/issues/21) - -## [1.1.2](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.2) (2014-08-15) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.1.1...1.1.2) - -- Landscape broken in iOS 7 [\#17](https://github.com/skywinder/ActionSheetPicker-3.0/issues/17) - -- Invalid context warning in landscape [\#13](https://github.com/skywinder/ActionSheetPicker-3.0/issues/13) - -## [1.1.1](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.1.1) (2014-08-13) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.18...1.1.1) - -## [1.0.18](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.18) (2014-08-12) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.17...1.0.18) - -## [1.0.17](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.17) (2014-08-12) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.15...1.0.17) - -- Issue with iOS 8 beta [\#9](https://github.com/skywinder/ActionSheetPicker-3.0/issues/9) - -## [1.0.15](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.15) (2014-08-11) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.14...1.0.15) - -## [1.0.14](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.14) (2014-08-01) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.13...1.0.14) - -- Set minimum date properly. [\#14](https://github.com/skywinder/ActionSheetPicker-3.0/pull/14) ([matt](https://github.com/matt)) - -## [1.0.13](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.13) (2014-07-30) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.12...1.0.13) - -- Use with UITableViewCells [\#4](https://github.com/skywinder/ActionSheetPicker-3.0/issues/4) - -- Minute Interval for ActionDatePicker [\#12](https://github.com/skywinder/ActionSheetPicker-3.0/pull/12) ([Jack-s](https://github.com/Jack-s)) - -## [1.0.12](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.12) (2014-07-24) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.11...1.0.12) - -- i get this warning!'sizeWithFont:' is deprecated: first deprecated in iOS 7.0 - Use -sizeWithAttributes: [\#11](https://github.com/skywinder/ActionSheetPicker-3.0/issues/11) - -- configurePickerView for ActionSheetCustomPicker throws exception [\#10](https://github.com/skywinder/ActionSheetPicker-3.0/issues/10) - -## [1.0.11](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.11) (2014-07-19) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.10...1.0.11) - -## [1.0.10](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.10) (2014-07-14) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.9...1.0.10) - -## [1.0.9](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.9) (2014-07-07) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.8...1.0.9) - -- Crash when using in 5s iOS 7.1 [\#8](https://github.com/skywinder/ActionSheetPicker-3.0/issues/8) - -- On Iphone 4 the ActionSheetStringPicker doesn't work Well [\#5](https://github.com/skywinder/ActionSheetPicker-3.0/issues/5) - -## [1.0.8](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.8) (2014-06-29) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.7...1.0.8) - -- added check for iPhone 4, to fix transparent view background problem. [\#6](https://github.com/skywinder/ActionSheetPicker-3.0/pull/6) ([JaseElder](https://github.com/JaseElder)) - -## [1.0.7](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.7) (2014-06-20) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.6...1.0.7) - -## [1.0.6](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.6) (2014-06-11) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.5...1.0.6) - -## [1.0.5](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.5) (2014-05-27) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.4...1.0.5) - -## [1.0.4](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.4) (2014-05-25) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/0.0.4...1.0.4) - -## [0.0.4](https://github.com/skywinder/ActionSheetPicker-3.0/tree/0.0.4) (2014-05-25) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.3...0.0.4) - -- Convert screenshots over to iOS 7. [\#3](https://github.com/skywinder/ActionSheetPicker-3.0/pull/3) ([markrickert](https://github.com/markrickert)) - -- Add basic documentation to the readme. [\#2](https://github.com/skywinder/ActionSheetPicker-3.0/pull/2) ([markrickert](https://github.com/markrickert)) - -## [1.0.3](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.3) (2014-05-21) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.2...1.0.3) - -## [1.0.2](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.2) (2014-05-21) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/1.0.1...1.0.2) - -- Get tint color for actionsheet buttons from application window [\#1](https://github.com/skywinder/ActionSheetPicker-3.0/pull/1) ([Mau04](https://github.com/Mau04)) - -## [1.0.1](https://github.com/skywinder/ActionSheetPicker-3.0/tree/1.0.1) (2014-05-19) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/0.1...1.0.1) - -## [0.1](https://github.com/skywinder/ActionSheetPicker-3.0/tree/0.1) (2012-05-11) - -[Full Changelog](https://github.com/skywinder/ActionSheetPicker-3.0/compare/v0.1...0.1) - -## [v0.1](https://github.com/skywinder/ActionSheetPicker-3.0/tree/v0.1) (2012-05-11) +## [v0.0.1](https://github.com/skywinder/changelog_test/tree/v0.0.1) (2015-03-02) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index 20cfd8b..a82e949 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -44,6 +44,7 @@ module GitHubChangelogGenerator @generator = Generator.new(@options) @all_tags = get_all_tags + @issues, @pull_requests = fetch_issues_and_pull_requests @pull_requests = @options[:pulls] ? get_filtered_pull_requests : [] @@ -566,6 +567,9 @@ module GitHubChangelogGenerator filtered_issues end + # This method fetch all closed issues and separate them to pull requests and pure issues + # (pull request is kind of issue in term of GitHub) + # @return [Tuple] with issues and pull requests def fetch_issues_and_pull_requests if @options[:verbose] print "Fetching closed issues...\r" @@ -586,20 +590,16 @@ module GitHubChangelogGenerator puts GH_RATE_LIMIT_EXCEEDED_MSG.yellow end - print " \r" + print " \r" if @options[:verbose] puts "Received issues: #{issues.count}" end # remove pull request from issues: - issues_wo_pr = issues.select { |x| - x.pull_request.nil? + issues.partition { |x| + x[:pull_request].nil? } - pull_requests = issues.select { |x| - !x.pull_request.nil? - } - [issues_wo_pr, pull_requests] end def fetch_event_for_issues_and_pr diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 0bb7b9d..a49b4d4 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -134,23 +134,28 @@ module GitHubChangelogGenerator end if !options[:user] && !options[:project] - remote = `git config --get remote.#{options[:branch]}.url` - # try to find repo in format: - # origin git@github.com:skywinder/Github-Changelog-Generator.git (fetch) - # git@github.com:skywinder/Github-Changelog-Generator.git - match = /.*(?:[:\/])((?:-|\w|\.)*)\/((?:-|\w|\.)*)(?:\.git).*/.match(remote) - - if match && match[1] && match[2] - puts "Detected user:#{match[1]}, project:#{match[2]}" - options[:user], options[:project] = match[1], match[2] + if ENV["RUBYLIB"] =~ /ruby-debug-ide/ + options[:user] = "skywinder" + options[:project] = "changelog_test" else + remote = `git config --get remote.#{options[:branch]}.url` # try to find repo in format: - # origin https://github.com/skywinder/ChangelogMerger (fetch) - # https://github.com/skywinder/ChangelogMerger - match = /.*\/((?:-|\w|\.)*)\/((?:-|\w|\.)*).*/.match(remote) + # origin git@github.com:skywinder/Github-Changelog-Generator.git (fetch) + # git@github.com:skywinder/Github-Changelog-Generator.git + match = /.*(?:[:\/])((?:-|\w|\.)*)\/((?:-|\w|\.)*)(?:\.git).*/.match(remote) + if match && match[1] && match[2] puts "Detected user:#{match[1]}, project:#{match[2]}" options[:user], options[:project] = match[1], match[2] + else + # try to find repo in format: + # origin https://github.com/skywinder/ChangelogMerger (fetch) + # https://github.com/skywinder/ChangelogMerger + match = /.*\/((?:-|\w|\.)*)\/((?:-|\w|\.)*).*/.match(remote) + if match && match[1] && match[2] + puts "Detected user:#{match[1]}, project:#{match[2]}" + options[:user], options[:project] = match[1], match[2] + end end end end From e82a75611c592036e373d0add5624bae59cbb4ca Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 02:30:02 +0300 Subject: [PATCH 07/10] refactoring --- .rubocop_todo.yml | 24 +++++++------- lib/github_changelog_generator/parser.rb | 40 +++++++++++++----------- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index c26d4e4..9bd544a 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,35 +1,35 @@ # This configuration was generated by `rubocop --auto-gen-config` -# on 2015-03-27 03:03:45 +0200 using RuboCop version 0.29.1. +# on 2015-04-04 02:29:34 +0300 using RuboCop version 0.29.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 20 +# Offense count: 21 Metrics/AbcSize: - Max: 114 + Max: 71 -# Offense count: 1 +# Offense count: 2 Metrics/BlockNesting: Max: 4 # Offense count: 2 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 471 + Max: 457 # Offense count: 6 Metrics/CyclomaticComplexity: - Max: 18 + Max: 15 -# Offense count: 27 +# Offense count: 28 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 147 + Max: 118 -# Offense count: 6 +# Offense count: 5 Metrics/PerceivedComplexity: - Max: 20 + Max: 18 # Offense count: 3 Style/AccessorMethodName: @@ -41,7 +41,7 @@ Style/AccessorMethodName: Style/AndOr: Enabled: false -# Offense count: 29 +# Offense count: 27 # Cop supports --auto-correct. Style/Blocks: Enabled: false @@ -51,7 +51,7 @@ Style/Blocks: Style/CaseIndentation: Enabled: false -# Offense count: 5 +# Offense count: 4 Style/Documentation: Enabled: false diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index a49b4d4..8fce304 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -113,6 +113,28 @@ module GitHubChangelogGenerator parser.parse! + detect_user_and_project(options) + + if !options[:user] || !options[:project] + puts parser.banner + exit + end + + if ARGV[1] + options[:tag1] = ARGV[0] + options[:tag2] = ARGV[1] + end + + if options[:verbose] + puts "Performing task with options:" + pp options + puts "" + end + + options + end + + def self.detect_user_and_project(options) if ARGV[0] && !ARGV[1] github_site = options[:github_site] ? options[:github_site] : "github.com" # this match should parse strings such "https://github.com/skywinder/Github-Changelog-Generator" or "skywinder/Github-Changelog-Generator" to user and name @@ -159,24 +181,6 @@ module GitHubChangelogGenerator end end end - - if !options[:user] || !options[:project] - puts parser.banner - exit - end - - if ARGV[1] - options[:tag1] = ARGV[0] - options[:tag2] = ARGV[1] - end - - if options[:verbose] - puts "Performing task with options:" - pp options - puts "" - end - - options end end end From 177b7aa18f03c150306b48454f3e601cdc970e93 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 03:10:16 +0300 Subject: [PATCH 08/10] code cleanup. remove code duplication --- lib/github_changelog_generator.rb | 57 ++++++++++++++----------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index a82e949..c130c6d 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -110,6 +110,9 @@ module GitHubChangelogGenerator puts JSON.pretty_generate(json) end + # This method fetch missing required attributes for pull requests + # :merged_at - is a date, when issue PR was merged. + # More correct to use this date, not closed date. def fetch_merged_at_pull_requests if @options[:verbose] print "Fetching merged dates...\r" @@ -143,27 +146,19 @@ module GitHubChangelogGenerator end end + # This method fetches missing params for PR and filter them by specified options + # It include add all PR's with labels from @options[:include_labels] array + # And exclude all from :exclude_labels array. + # @return [Array] filtered PR's def get_filtered_pull_requests fetch_merged_at_pull_requests - filtered_pull_requests = @pull_requests.select { |pr| !pr[:merged_at].nil? } + # filtered_pull_requests = @pull_requests.select { |pr| !pr[:merged_at].nil? } - unless @options[:include_labels].nil? - filtered_pull_requests = @pull_requests.select { |issue| - # add all labels from @options[:include_labels] array - (issue.labels.map(&:name) & @options[:include_labels]).any? - } - end + filtered_pull_requests = include_issues_by_labels(@pull_requests) filtered_pull_requests = exclude_issues_by_labels(filtered_pull_requests) - if @options[:add_issues_wo_labels] - issues_wo_labels = @pull_requests.select { |issue| - !issue.labels.map(&:name).any? - } - filtered_pull_requests |= issues_wo_labels - end - if @options[:verbose] puts "Filtered pull requests: #{filtered_pull_requests.count}" end @@ -171,6 +166,22 @@ module GitHubChangelogGenerator filtered_pull_requests end + def include_issues_by_labels(issues) + unless @options[:include_labels].nil? + _issues = issues.select { |issue| + (issue.labels.map(&:name) & @options[:include_labels]).any? + } + end + + if @options[:add_issues_wo_labels] + issues_wo_labels = issues.select { |issue| + !issue.labels.map(&:name).any? + } + _issues |= issues_wo_labels + end + _issues + end + # delete all labels with labels from @options[:exclude_labels] array # @param [Array] issues # @return [Array] filtered array @@ -540,26 +551,10 @@ module GitHubChangelogGenerator end def get_filtered_issues - issues = @issues - - filtered_issues = issues - - unless @options[:include_labels].nil? - filtered_issues = issues.select { |issue| - # add all labels from @options[:include_labels] array - (issue.labels.map(&:name) & @options[:include_labels]).any? - } - end + filtered_issues = include_issues_by_labels(@issues) filtered_issues = exclude_issues_by_labels(filtered_issues) - if @options[:add_issues_wo_labels] - issues_wo_labels = issues.select { |issue| - !issue.labels.map(&:name).any? - } - filtered_issues |= issues_wo_labels - end - if @options[:verbose] puts "Filtered issues: #{filtered_issues.count}" end From c44be45ce464834c7c64e994c445aea251244eac Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 03:18:12 +0300 Subject: [PATCH 09/10] add doc fix bug with filtering in case of nil issues --- lib/github_changelog_generator.rb | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index c130c6d..27fbad5 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -153,8 +153,6 @@ module GitHubChangelogGenerator def get_filtered_pull_requests fetch_merged_at_pull_requests - # filtered_pull_requests = @pull_requests.select { |pr| !pr[:merged_at].nil? } - filtered_pull_requests = include_issues_by_labels(@pull_requests) filtered_pull_requests = exclude_issues_by_labels(filtered_pull_requests) @@ -166,20 +164,19 @@ module GitHubChangelogGenerator filtered_pull_requests end + # Include issues with labels, specified in :include_labels + # @param [Array] issues to filter + # @return [Array] filtered array of issues def include_issues_by_labels(issues) - unless @options[:include_labels].nil? - _issues = issues.select { |issue| - (issue.labels.map(&:name) & @options[:include_labels]).any? - } - end + filtered_issues = @options[:include_labels].nil? ? issues : issues.select { |issue| (issue.labels.map(&:name) & @options[:include_labels]).any? } if @options[:add_issues_wo_labels] issues_wo_labels = issues.select { |issue| !issue.labels.map(&:name).any? } - _issues |= issues_wo_labels + filtered_issues |= issues_wo_labels end - _issues + filtered_issues end # delete all labels with labels from @options[:exclude_labels] array From b598bd5ba1b7e6e4eaa5c35c1521812613754a8a Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 4 Apr 2015 03:27:05 +0300 Subject: [PATCH 10/10] add docs. add fail statment --- lib/github_changelog_generator.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index 27fbad5..1b2d62e 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -229,6 +229,8 @@ module GitHubChangelogGenerator puts "Generated log placed in #{`pwd`.strip!}/#{output_filename}" end + # The full cycle of generation for whole project + # @return [String] The complete change log def generate_log_for_all_tags fetch_tags_dates @@ -261,6 +263,7 @@ module GitHubChangelogGenerator log end + # Async fetching of all tags dates def fetch_tags_dates if @options[:verbose] print "Fetching tag dates...\r" @@ -398,8 +401,8 @@ module GitHubChangelogGenerator def delete_by_time(array, hash_key = :actual_date, older_tag = nil, newer_tag = nil) fail ChangelogGeneratorError, "At least one of the tags should be not nil!".red if older_tag.nil? && newer_tag.nil? - newer_tag_time = get_time_of_tag(newer_tag) - older_tag_time = get_time_of_tag(older_tag) + newer_tag_time = newer_tag && get_time_of_tag(newer_tag) + older_tag_time = older_tag && get_time_of_tag(older_tag) array.select { |req| if req[hash_key] @@ -529,10 +532,13 @@ module GitHubChangelogGenerator log end + # Try to find tag date in local hash. + # Otherwise fFetch tag time and put it to local hash file. + # @param [String] tag_name name of the tag + # @param [Hash] tag_times_hash the hash of tag times + # @return [Time] time of specified tag def get_time_of_tag(tag_name, tag_times_hash = @tag_times_hash) - if tag_name.nil? - return nil - end + fail ChangelogGeneratorError, "tag_name is nil".red if tag_name.nil? if tag_times_hash[tag_name["name"]] return @tag_times_hash[tag_name["name"]]