From fe2f926943582722a599228d49ea16006c6f3cfe Mon Sep 17 00:00:00 2001 From: Chip Date: Wed, 8 Jul 2020 16:18:23 -0400 Subject: [PATCH] Release 1.19.3 (#1297) * Add release documentation. * Fix style in documentation. * Fix some errors and add links. * [Gutenberg] Correct Color for RichText links in Dark Mode - Expose helper method (#1295) * Expose the color coversion helper for use in subclasses * Revert Podfile version bump * Fix lint error * Bump Version number * Update changelog Co-authored-by: Sergio Estevao --- Aztec.xcodeproj/project.pbxproj | 12 ++ .../Classes/Extensions/UIColor+Parsers.swift | 2 +- CHANGELOG.md | 11 +- Documentation/ReleaseProcess.md | 112 ++++++++++++++++++ WordPress-Aztec-iOS.podspec | 4 +- WordPress-Editor-iOS.podspec | 4 +- 6 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 Documentation/ReleaseProcess.md diff --git a/Aztec.xcodeproj/project.pbxproj b/Aztec.xcodeproj/project.pbxproj index ca22c3c9d..2d8f7af96 100644 --- a/Aztec.xcodeproj/project.pbxproj +++ b/Aztec.xcodeproj/project.pbxproj @@ -235,6 +235,7 @@ FF437B6620D7CB83000D9666 /* LiFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF437B6520D7CB83000D9666 /* LiFormatter.swift */; }; FF48CAC8234DD5D3007FFC79 /* NSMutableAttributedString+ReplaceAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF48CAC7234DD5D3007FFC79 /* NSMutableAttributedString+ReplaceAttributes.swift */; }; FF4E26601EA8DF1E005E8E42 /* ImageAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4E265F1EA8DF1E005E8E42 /* ImageAttachment.swift */; }; + FF5DCBF2248ED900006D9FC7 /* ReleaseProcess.md in Resources */ = {isa = PBXBuildFile; fileRef = FF5DCBF1248ED900006D9FC7 /* ReleaseProcess.md */; }; FF61909E202481F4004BCD0A /* CodeFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF61909D202481F4004BCD0A /* CodeFormatter.swift */; }; FF7A1C511E5651EA00C4C7C8 /* LineAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7A1C501E5651EA00C4C7C8 /* LineAttachment.swift */; }; FF7C89B01E3BC52F000472A8 /* NSAttributedString+FontTraits.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7C89AF1E3BC52F000472A8 /* NSAttributedString+FontTraits.swift */; }; @@ -521,6 +522,7 @@ FF4E265F1EA8DF1E005E8E42 /* ImageAttachment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageAttachment.swift; sourceTree = ""; }; FF5B98E21DC29D0C00571CA4 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = SOURCE_ROOT; }; FF5B98E41DC355B400571CA4 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = SOURCE_ROOT; }; + FF5DCBF1248ED900006D9FC7 /* ReleaseProcess.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = ReleaseProcess.md; sourceTree = ""; }; FF61909D202481F4004BCD0A /* CodeFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeFormatter.swift; sourceTree = ""; }; FF7A1C481E51EFB600C4C7C8 /* WordPress-Aztec-iOS.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "WordPress-Aztec-iOS.podspec"; sourceTree = ""; }; FF7A1C4A1E51F05700C4C7C8 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; }; @@ -604,6 +606,7 @@ 5951CB841D8BC93600E1866F = { isa = PBXGroup; children = ( + FF5DCBF0248ED900006D9FC7 /* Documentation */, FF7A1C481E51EFB600C4C7C8 /* WordPress-Aztec-iOS.podspec */, FF5B98E41DC355B400571CA4 /* LICENSE */, FF5B98E21DC29D0C00571CA4 /* README.md */, @@ -1390,6 +1393,14 @@ path = Processor; sourceTree = ""; }; + FF5DCBF0248ED900006D9FC7 /* Documentation */ = { + isa = PBXGroup; + children = ( + FF5DCBF1248ED900006D9FC7 /* ReleaseProcess.md */, + ); + path = Documentation; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1510,6 +1521,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + FF5DCBF2248ED900006D9FC7 /* ReleaseProcess.md in Resources */, FF1F56A3239562B900E93A30 /* html_colors.json in Resources */, FF0714021EFD78AF00E50713 /* Media.xcassets in Resources */, ); diff --git a/Aztec/Classes/Extensions/UIColor+Parsers.swift b/Aztec/Classes/Extensions/UIColor+Parsers.swift index e19361692..01ef6542c 100644 --- a/Aztec/Classes/Extensions/UIColor+Parsers.swift +++ b/Aztec/Classes/Extensions/UIColor+Parsers.swift @@ -1,6 +1,6 @@ import UIKit -extension UIColor { +public extension UIColor { /// Creates a color based on a hexString. If the string is not a valid hexColor it return nil /// Example of colors: #FF0000, #00FF0000 diff --git a/CHANGELOG.md b/CHANGELOG.md index cea160fd2..96df28cbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +1.19.3 +------- +* Expose UIColor hexString helpers to be used by subclasses of Aztec components. + 1.19.2 ------- * Fix drawing of underlines when they include newlines. @@ -27,14 +31,14 @@ ----- * Improve display of ordered lists with large bullet numbers * Fix bug where links with text that had a mix of Latin and non-Latin characters were getting split. - + 1.15.0 ----- * Allow to use headers fonts without bold effect applied * Support for multilevel blockquotes * Fix presentation of placeholder images in dark mode. - * Fix bug that didn't set default text color when changing text color - + * Fix bug that didn't set default text color when changing text color + 1.14.1 ----- * Support for xcode 10. @@ -48,4 +52,3 @@ ----- * Fix a bug when copying and pasting from other apps when running dark mode. * Improve list indentation for markers. - diff --git a/Documentation/ReleaseProcess.md b/Documentation/ReleaseProcess.md new file mode 100644 index 000000000..5b1747157 --- /dev/null +++ b/Documentation/ReleaseProcess.md @@ -0,0 +1,112 @@ +## Release Process ## + +### Step 1: Creating a release branch ### + +The branch structure in Aztec iOS is based on the [Git Flow](https://nvie.com/posts/a-successful-git-branching-model/) methodology. + +These are the main branches involved in the release process: +``` +master: Kept up to date with the latest release. +develop: Bleeding edge branch with all of the latest changes. +release/x.y.z: Version branch, which we will use during the release process. +``` +The first step in the process is creating the version branch. + +The version branch is what allows work to continue in develop while also having a frozen snapshot of what we’re releasing. + +Using the command line, the process is pretty straightforward: + +``` +git checkout develop +git pull +git checkout -b release/x.y.z +git push origin -u release/x.y.z +``` + +Make sure to update the field `s.version` in both of these files to the `x.y.z` number +``` +WordPress-Aztec-iOS.podspec +WordPress-Editor-iOS.podespec +``` + +Open a PR on github where you target the `master` branch with the `release/x.y.z` branch and call it `Release x.y.z` + + +### Step 2: Testing the Integration ### + +Before going any further, tt's normally good practice to test the Aztec integration into [WordPress-iOS project](https://github.com/wordpress-mobile/WordPress-iOS), to make sure we won’t have to do the release process twice. + +Make sure WordPress-iOS’s podfile specifies the SAME (and latest) commit number for both of these: +``` +pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/AztecEditor-iOS.git', :commit => 'e0fc55abb4809b3b23b6d8b56791798af864025d' +pod 'WordPress-Editor-iOS', :git => 'https://github.com/wordpress-mobile/AztecEditor-iOS.git', :commit => 'e0fc55abb4809b3b23b6d8b56791798af864025d' +``` +The things we want to look out for are: + +- That the pod can be properly installed in WPiOS. +- That WPiOS builds properly. +- That you can open a post through the App, using both the classic editor and Gutenberg. + +### Step 3: Merge the branch ### + +If the release PR is approved and all is working correctly in WP-iOS merge the release branch to master. + +### Step 4: Push the POD. ### + +*Automated Process* + +Create a new release on Github targetting the master branch and name it `Release x.y.z` + +Set a tag with the value `x.y.z` . + +On the description field and the content of the changelog for this version + +Press the `Publish release` button + +At this moment the CI automation should notice your tag and after some minutes you should get the new pod publish on CocoaPods master trunk. + +If this for some reason fails chech the manual process bellow + +*Manual Process* + +Pushing the PODs is a bit different than in other repos due to the fact that this repo has two podspecs. + +The recommended steps are: + +Lint the core library +``` +bundle exec pod lib lint WordPress-Aztec-iOS.podspec +``` + +If all is good proceed to +``` +bundle exec pod trunk push WordPress-Aztec-iOS.podspec +``` + +Then lint the Editor library +``` +bundle exec pod lib lint WordPress-Editor-iOS.podspec +``` + +If all is good, push it +``` +bundle exec pod trunk push WordPress-Editor-iOS.podspec +``` + +### Step 5: Closing the milestone ### + +For simplicity Aztec uses a single milestone named “Next Stable”. The purpose of this milestone is to be used to assign to it all of the regular issues that are closed and merged into develop during the regular development process. + +At this point in the release process you should rename the milestone to the version you've just released. + +Once renamed, you can create a new “Next Stable” milestone and assign all pending open issues to it. + +At this point you’re ready to close the version milestone in GitHub. + +### Step 6: Merge Master to develop ### + +Following the git Flow methodology you now need to merge the master branch back to develop. + +Create a new PR in GitHub that targets `develop` with the master branch. + +After review, if all is ok, merge that PR and your work is done. diff --git a/WordPress-Aztec-iOS.podspec b/WordPress-Aztec-iOS.podspec index 083f661c3..64462f97e 100644 --- a/WordPress-Aztec-iOS.podspec +++ b/WordPress-Aztec-iOS.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'WordPress-Aztec-iOS' - s.version = '1.19.2' + s.version = '1.19.3' s.summary = 'The native HTML Editor.' # This description is used to generate tags and improve search results. @@ -41,5 +41,3 @@ Pod::Spec.new do |s| s.xcconfig = {'OTHER_LDFLAGS' => '-lxml2', 'HEADER_SEARCH_PATHS' => '/usr/include/libxml2'} end - - diff --git a/WordPress-Editor-iOS.podspec b/WordPress-Editor-iOS.podspec index 8971b3f46..537f7a6e9 100644 --- a/WordPress-Editor-iOS.podspec +++ b/WordPress-Editor-iOS.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'WordPress-Editor-iOS' - s.version = '1.19.2' + s.version = '1.19.3' s.summary = 'The WordPress HTML Editor.' # This description is used to generate tags and improve search results. @@ -39,5 +39,3 @@ Pod::Spec.new do |s| s.dependency "WordPress-Aztec-iOS", s.version.to_s end - -