From a98c4ff25299b1bbbf892830beeb6f670610ffc8 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 29 Mar 2017 13:33:05 -0700 Subject: [PATCH] Updates to the Contributing.md file. Summary: Issue fixed: #473 - [x] All tests pass. Demo project builds and runs. - [x] I added tests, an experiment, or detailed why my change isn't tested. - [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes. - [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md) Closes https://github.com/Instagram/IGListKit/pull/558 Differential Revision: D4797501 Pulled By: jessesquires fbshipit-source-id: e197283f30781017e6fd76a6c604599a4f480e69 --- .github/CONTRIBUTING.md | 17 ++++++++++++++++- CHANGELOG.md | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 76b9c4c3..30b167e3 100755 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -28,6 +28,18 @@ IGListExperimentEnabled(self.experiments, IGListExperimentMyAwesomeChange) { Once your experiment is confirmed we will remove the option and wrapping check! +## How we do major and minor releases + +Everything merges into master. When we cut a release, we merge from `master` into `stable`, tag, and push to CocoaPods. + +*Example:* + +If current release is `2.1.0`, then any commits for `2.2.0` go into `stable` while commits for `3.0` would go to `master`. + +## Testing + +Keep in mind that we want 99% test coverage at all times. If you add new code, please make sure it gets tested! When fixing bugs, try to reproduce the bug in a unit test and then fix the test. This makes sure we never regress that issue again. + ## Contributor License Agreement ("CLA") In order to accept your pull request, we need you to submit a CLA. You only need @@ -48,7 +60,10 @@ outlined on that page and do not file a public issue. * 4 spaces for indentation rather than tabs * Public classes and methods must contain header documentation -* Use plain C functions whenever possible (as opposed to class methods) +* Use plain C functions instead of class methods whenever possible +* Restrict subclassing (`IGLK_SUBCLASSING_RESTRICTED` macro or `final` in Swift), unless the class is designed for subclassing. +* Use instance variables instead of properties +* Create local variables instead of repeatedly accessing properties like `self.property`. This results in a larger binary and extra `objc_msgSend(...)` calls. ## Updating Testing Dependencies diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dc7ce40..8c73fa9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -111,6 +111,8 @@ This release closes the [2.1.0 milestone](https://github.com/Instagram/IGListKit - `-[IGListAdapter updater]` is now public (read-only). [Adlai-Holler](https://github.com/Adlai-Holler) [(#379)](https://github.com/Instagram/IGListKit/pull/379) + + ### Fixes - Avoid `UICollectionView` crashes when queueing a reload and insert/delete on the same item as well as reloading an item in a section that is animating. [Ryan Nystrom](https://github.com/rnystrom) [(#325)](https://github.com/Instagram/IGListKit/pull/325) @@ -242,5 +244,3 @@ You can find a [migration guide here](https://instagram.github.io/IGListKit/migr ----- Initial release. :tada: - -