{"push_id":605955153,"size":55,"distinct_size":0,"ref":"refs/heads/master","head":"51a5744940e390d1a9ea803fb5840f66e73e2e36","before":"0dee936166a059602d9608cc1f592ada3adf287f","commits":[{"sha":"a71d9a9eb79985800dac3551c70a87947ac96198","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added Token model.\nImplemented basic token access and generation for users.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/a71d9a9eb79985800dac3551c70a87947ac96198"},{"sha":"896ac2e23e02a0bc2cfeecdae5e8e3507ceb0efb","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added a note about keeping access token private.\nHidden section with access token from users with state other than active.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/896ac2e23e02a0bc2cfeecdae5e8e3507ceb0efb"},{"sha":"b19f8d50f692687f661fefdfe528178012937cd8","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Revoking user's tokens when their state is changed from active.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/b19f8d50f692687f661fefdfe528178012937cd8"},{"sha":"a05cb2641c0478ae908ec28860ee83bacd859a91","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Changed title of the log in page.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/a05cb2641c0478ae908ec28860ee83bacd859a91"},{"sha":"599232a8663aa83b78595c500f07f8889852dcee","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Getting email address from MusicBrainz and using it to prefill the form.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/599232a8663aa83b78595c500f07f8889852dcee"},{"sha":"91d613621a7a23c4a99ef4be1f014a6cbdd10d1c","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added agreement checkbox into non-commercial sign up form.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/91d613621a7a23c4a99ef4be1f014a6cbdd10d1c"},{"sha":"65834bc6907752afed508a3997ec8b656d1dba1a","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Not showing token generation confirmation dialog if there's no token initially.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/65834bc6907752afed508a3997ec8b656d1dba1a"},{"sha":"aba3898e1278a40b39d92d55bb062a53bd8f6543","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Showing user type on the profile page.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/aba3898e1278a40b39d92d55bb062a53bd8f6543"},{"sha":"509f32fd296f7635bd82dce033ff9ae6514d05a7","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Fixed incorrect value assigned to ignoreConfirmation in access token regeneration UI code.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/509f32fd296f7635bd82dce033ff9ae6514d05a7"},{"sha":"d090151a56b1369795b9bd79acf90c8a85b34207","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Removed token generation for new non-commercial users.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/d090151a56b1369795b9bd79acf90c8a85b34207"},{"sha":"32fb8f4dcca64f86eeeca5630b4f8175ff1358e2","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added cascading rules for owner FK in the Token model.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/32fb8f4dcca64f86eeeca5630b4f8175ff1358e2"},{"sha":"766df01445e105e10df42a727b8a1c84fb9d4ebd","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added cascading rules for tier_id FK in the User model.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/766df01445e105e10df42a727b8a1c84fb9d4ebd"},{"sha":"a491800ff6c4fbdaf62426031b45d188758f122b","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Updated footer. Added links to sign up page and user profile.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/a491800ff6c4fbdaf62426031b45d188758f122b"},{"sha":"10872bbb328b9bf2763f30f899ba91fe80ea96eb","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Added agreement field into commercial sign up form.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/10872bbb328b9bf2763f30f899ba91fe80ea96eb"},{"sha":"2e7880ee677ad4e9b0329d539a1cf1bac566b78a","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Marked agreement checkbox as required.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/2e7880ee677ad4e9b0329d539a1cf1bac566b78a"},{"sha":"eb4422546bcbe70c3181d33a0c015422395f1870","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Fixed incorrect reference to agreement field in commercial sign up form.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/eb4422546bcbe70c3181d33a0c015422395f1870"},{"sha":"3a89fe0803c74c779717cfebf41207810192876d","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Updated styling in templates related to sign up process.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/3a89fe0803c74c779717cfebf41207810192876d"},{"sha":"87388056a6e6a116fe1b0368eaf27135fe790f40","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Moved agreement field into UserSignUpForm.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/87388056a6e6a116fe1b0368eaf27135fe790f40"},{"sha":"c418b113bfbfa93b42551b3cfbd165a488bc554e","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Updated name of an old test case.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/c418b113bfbfa93b42551b3cfbd165a488bc554e"},{"sha":"79e14ed6e94a8686e24386c1dd0310ee102c5c17","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@tsukanov.me","name":"Roman Tsukanov"},"message":"Outlined API structure.","distinct":false,"url":"https://api.github.com/repos/metabrainz/metabrainz.org/commits/79e14ed6e94a8686e24386c1dd0310ee102c5c17"}]}