{"action":"created","issue":{"url":"https://api.github.com/repos/go-gorp/gorp/issues/270","repository_url":"https://api.github.com/repos/go-gorp/gorp","labels_url":"https://api.github.com/repos/go-gorp/gorp/issues/270/labels{/name}","comments_url":"https://api.github.com/repos/go-gorp/gorp/issues/270/comments","events_url":"https://api.github.com/repos/go-gorp/gorp/issues/270/events","html_url":"https://github.com/go-gorp/gorp/issues/270","id":92332938,"number":270,"title":"Project cleanup, the path to v2","user":{"login":"GeertJohan","id":564501,"avatar_url":"https://avatars.githubusercontent.com/u/564501?v=3","gravatar_id":"","url":"https://api.github.com/users/GeertJohan","html_url":"https://github.com/GeertJohan","followers_url":"https://api.github.com/users/GeertJohan/followers","following_url":"https://api.github.com/users/GeertJohan/following{/other_user}","gists_url":"https://api.github.com/users/GeertJohan/gists{/gist_id}","starred_url":"https://api.github.com/users/GeertJohan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeertJohan/subscriptions","organizations_url":"https://api.github.com/users/GeertJohan/orgs","repos_url":"https://api.github.com/users/GeertJohan/repos","events_url":"https://api.github.com/users/GeertJohan/events{/privacy}","received_events_url":"https://api.github.com/users/GeertJohan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"GeertJohan","id":564501,"avatar_url":"https://avatars.githubusercontent.com/u/564501?v=3","gravatar_id":"","url":"https://api.github.com/users/GeertJohan","html_url":"https://github.com/GeertJohan","followers_url":"https://api.github.com/users/GeertJohan/followers","following_url":"https://api.github.com/users/GeertJohan/following{/other_user}","gists_url":"https://api.github.com/users/GeertJohan/gists{/gist_id}","starred_url":"https://api.github.com/users/GeertJohan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeertJohan/subscriptions","organizations_url":"https://api.github.com/users/GeertJohan/orgs","repos_url":"https://api.github.com/users/GeertJohan/repos","events_url":"https://api.github.com/users/GeertJohan/events{/privacy}","received_events_url":"https://api.github.com/users/GeertJohan/received_events","type":"User","site_admin":false},"assignees":[{"login":"GeertJohan","id":564501,"avatar_url":"https://avatars.githubusercontent.com/u/564501?v=3","gravatar_id":"","url":"https://api.github.com/users/GeertJohan","html_url":"https://github.com/GeertJohan","followers_url":"https://api.github.com/users/GeertJohan/followers","following_url":"https://api.github.com/users/GeertJohan/following{/other_user}","gists_url":"https://api.github.com/users/GeertJohan/gists{/gist_id}","starred_url":"https://api.github.com/users/GeertJohan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeertJohan/subscriptions","organizations_url":"https://api.github.com/users/GeertJohan/orgs","repos_url":"https://api.github.com/users/GeertJohan/repos","events_url":"https://api.github.com/users/GeertJohan/events{/privacy}","received_events_url":"https://api.github.com/users/GeertJohan/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/go-gorp/gorp/milestones/12","html_url":"https://github.com/go-gorp/gorp/milestones/v2.0","labels_url":"https://api.github.com/repos/go-gorp/gorp/milestones/12/labels","id":1188588,"number":12,"title":"v2.0","description":"","creator":{"login":"GeertJohan","id":564501,"avatar_url":"https://avatars.githubusercontent.com/u/564501?v=3","gravatar_id":"","url":"https://api.github.com/users/GeertJohan","html_url":"https://github.com/GeertJohan","followers_url":"https://api.github.com/users/GeertJohan/followers","following_url":"https://api.github.com/users/GeertJohan/following{/other_user}","gists_url":"https://api.github.com/users/GeertJohan/gists{/gist_id}","starred_url":"https://api.github.com/users/GeertJohan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeertJohan/subscriptions","organizations_url":"https://api.github.com/users/GeertJohan/orgs","repos_url":"https://api.github.com/users/GeertJohan/repos","events_url":"https://api.github.com/users/GeertJohan/events{/privacy}","received_events_url":"https://api.github.com/users/GeertJohan/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-07-01T08:39:07Z","updated_at":"2015-07-02T09:21:34Z","due_on":"2015-09-18T22:00:00Z","closed_at":null},"comments":11,"created_at":"2015-07-01T09:49:59Z","updated_at":"2016-07-02T05:10:07Z","closed_at":null,"body":"There are two issues that currently hold back the development of gorp. The first is that there are a lot of issues and PR's open. A lot of PR's need to be rebased or edited before they can be merged in. Secondly: the codebase mostly resides in a single file having about 2200 lines.\r\n\r\nTo get back on track, we first need to close/merge most issues and PR's. And after that we should divide the source into separate files, clean up the sources, add tests, etc..\r\n\r\n#### The plan\r\nTo clean up, we start a plan with 3 phases/steps. Each phase will have a github milestone to assign issues/PR's too. A phase has completed when all issues/PR's in the milestone have been closed/merged.\r\n\r\n##### Phase 1: Cleanup issue/PR backlog ([~~issues~~](https://github.com/go-gorp/gorp/issues?q=is%3Aissue+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase1), [~~pr's~~](https://github.com/go-gorp/gorp/issues?q=is%3Apr+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase1))\r\n - We should merge all bugfix PR's as long as the code is good or needs only small changes to be merged.\r\n\r\nPlanned to be done 11th july.\r\n\r\n##### Phase 2: Split codebase into separate files ([issues](https://github.com/go-gorp/gorp/issues?q=is%3Aissue+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase2), [pr's](https://github.com/go-gorp/gorp/issues?q=is%3Apr+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase2))\r\n - Split code into separate files.\r\n - Create issues about problems we find in the code, set milestone `v2-phase3`.\r\n - Create issues about in which places code can be improved or cleaned up, set milestone `v2-phase3`.\r\n\r\nPlanned to be done 18th july.\r\n\r\n##### Phase 3: Cleanup codebase, add tests, fix bugs ([issues](https://github.com/go-gorp/gorp/issues?q=is%3Aissue+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase3), [pr's](https://github.com/go-gorp/gorp/issues?q=is%3Apr+is%3Aopen+-label%3Aquestion+milestone%3Av2-phase3))\r\n - Clean up code.\r\n - Add documentation and specs.\r\n - Add tests.\r\n - Make breaking changes to improve the API. Some will need to be discussed first.\r\n  - Move dialects to their own packages\r\n  - `TableMap` > `Table` ?\r\n  - `DbMap` > `DB` ?\r\n  - etc..\r\n\r\nWe are about to release a new major version. At this time we can make breaking changes to the API's to fix naming conventions, etc.\r\n\r\nWhen phase3 starts, there will already be issues with the milestone `v2-phase3` addressing the listed tasks.\r\n\r\nPhase 3 is the largest phase. This could take anywhere between 5 and 11 weeks. I've placed the due date on 12 september, but it's a rather rough estimate.\r\n\r\n#### Preparation\r\nTo prepare for this, I will do the following:\r\n\r\n - Add a statement in the README that new PR's except for bugfixes are put on hold because we're cleaning up.\r\n - Set milestone `v2-phase1` to feature PR's that can be merged easily, and most bug PR's (even if it needs some work or manual merge).\r\n - Set milestone `v2-phase2` to all PR's and issues related to codebase splitting.\r\n - Set milestone `v2-phase3` to all PR's and issues related to codebase cleanup, bugs and tests.\r\n - Set milestone `v2.1-maybe` to all other PR's an issues.\r\n - Close PR's that need way too much work and are unlikely to be merged, even if they're a bugfix. Create a documenting issue for closed bugfix PR's that we can pick up in phase 3.\r\n\r\n\r\n#### Completion\r\nWhen milestone v2-phase3 has been completed we can release v2\r\n- Remove the feature freeze message from the readme.\r\n- Tag the `master` branch as `v2.0.0`\r\n\r\nWhen v2 is released, we can start working on new features and performance increments such as prepared statements, etc.\r\n\r\n#### Start\r\nAs the phases have been discussed with some of the maintainers of this project, I will start the preparations right away. Feedback is still welcome, we can still modify the plan.\r\n\r\nThis issue will track global progress and is the best place for discussion about the plan."},"comment":{"url":"https://api.github.com/repos/go-gorp/gorp/issues/comments/230084172","html_url":"https://github.com/go-gorp/gorp/issues/270#issuecomment-230084172","issue_url":"https://api.github.com/repos/go-gorp/gorp/issues/270","id":230084172,"user":{"login":"hibooboo2","id":1197823,"avatar_url":"https://avatars.githubusercontent.com/u/1197823?v=3","gravatar_id":"","url":"https://api.github.com/users/hibooboo2","html_url":"https://github.com/hibooboo2","followers_url":"https://api.github.com/users/hibooboo2/followers","following_url":"https://api.github.com/users/hibooboo2/following{/other_user}","gists_url":"https://api.github.com/users/hibooboo2/gists{/gist_id}","starred_url":"https://api.github.com/users/hibooboo2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hibooboo2/subscriptions","organizations_url":"https://api.github.com/users/hibooboo2/orgs","repos_url":"https://api.github.com/users/hibooboo2/repos","events_url":"https://api.github.com/users/hibooboo2/events{/privacy}","received_events_url":"https://api.github.com/users/hibooboo2/received_events","type":"User","site_admin":false},"created_at":"2016-07-02T05:10:07Z","updated_at":"2016-07-02T05:10:07Z","body":"Has this been finished / sunsetted?"}}
{"actor":{"display_login":"hibooboo2"}}