Gitea 1.7.0 is released

Thu Jan 24, 2019 by lunny

The time has come for another major release! We are proud to present Gitea 1.7.0 to the world. In this release, we merged 157 pull requests – it’s less than last time (178).

You can download one of our pre-built binaries from our downloads page - make sure to select the correct platform! For further details on how to install, follow our installation guide.

We’d like to thank all of our backers on Open Collective, who are helping us deliver a better piece of software.

With that out of the way, here’s what’s new in Gitea version 1.7.0:

User action heatmap (#5131)

User action heatmap

Now user’s action heatmap will be shown on your first login page and user’s profile page.

Thanks to @kolaente

Show review summary in pull requests (#5132)

Review summary in pull requests

A review summary now will be shown on the bottom of a pull request.

Thanks to @kolaente

Approvals at Branch Protection (#5350)

approvals limitation

This PR adds approvals limitations to branch protection. A pull request could only be merged after serval approvals.

Thanks to @jonasfranz

Milestone issues and pull requests (#5293)

milestone issues and pulls

This PR adds milestone issues and pulls page.

Thanks to @lunny

Implement pasting image from clipboard for browsers that supports that (#5317)

pasting image from clipboard

Implemented pasting image from clipboard in new issue text area or adding issue/pr comments.

Thanks to @lafriks

Create Progressive Web App (#4730)

progressive web app

This will allow users (especially on Android) to add the gitea website to the home-screen and use it like a native app.

Thanks to @SohnyBohny

When push to a remote non-default branch. It will display a useful link. Output of a push when no active PR exists:

[branch2/test be40717] test
 1 file changed, 1 deletion(-)
Counting objects: 3, done.
Writing objects: 100% (3/3), 255 bytes | 255.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a new pull request for 'branch2/test':
remote:   http://localhost:3000/test1/test/compare/master...branch2%2Ftest
remote:
To http://localhost:3000/test1/test.git
   0c5683f..be40717  branch2/test -> branch2/test

Output of a push when an active PR exists:

[branch2/test 453d638] test
 1 file changed, 1 insertion(+)
Counting objects: 3, done.
Writing objects: 100% (3/3), 255 bytes | 255.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Visit the existing pull request:
remote:   http://localhost:3000/test1/test/pulls/6
remote:
To http://localhost:3000/test1/test.git
   be40717..453d638  branch2/test -> branch2/test

Thanks to @JulienTant

Add rebase with merge commit merge style (#4052)

rebase with merge commit

This PR adds the Rebase and Merge (–no-ff) merge style.

Thanks to @apricote

Other changes

  • SECURITY
    • Do not display the raw OpenID error in the UI (#5705) (#5712)
    • When redirecting clean the path to avoid redirecting to external site (#5669) (#5679)
    • Prevent DeleteFilePost doing arbitrary deletion (#5631)
  • BREAKING
    • Restrict permission check on repositories and fix some problems (#5314)
    • Show only opened milestones on issues page milestone filter (#5051)
  • FEATURES
    • Implement git refs API for listing references (branches, tags and other) (#5354)
    • Approvals at Branch Protection (#5350)
    • Add raw blob endpoint to get objects by SHA ID (#5334)
    • Add api for user to create org (#5268)
    • Create AuthorizedKeysCommand (#5236)
    • User action heatmap (#5131)
    • Refactor heatmap to vue component (#5401)
    • Webhook for Pull Request approval/rejection (#5027)
    • Add command for migrating database (#4954)
    • Search keyword by splitting provided values by , (#4939)
    • Give user a link to create PR after push (#4716)
    • Add rebase with merge commit merge style (#3844) (#4052)
  • BUGFIXES
    • Disallow empty titles (#5785) (#5794)
    • Fix sqlite deadlock when assigning to a PR (#5640) (#5642)
    • Don’t close issues via commits on non-default branch. (#5622) (#5643)
    • Fix commit page showing status for current default branch (#5650) (#5653)
    • Only count users own actions for heatmap contributions (#5647) (#5655)
    • Update xorm to fix issue postgresql dumping issues (#5680) (#5692)
    • Use correct value for “MSpan Structures Obtained” (#5706) (#5716)
    • Fix bug on modifying sshd username (#5624)
    • Delete tags in mirror which are removed for original repo. (#5609)
    • Fix wrong text getting saved on editing second comment on an issue. (#5608)
    • Fix nil pointer when adding a due date (#5587)
    • Fix type mismatch of format string (#5574)
    • Fix bug on upload file name (#5571)
    • Issue is not overdue when it is on the same date #5566 (#5568)
    • Fix indexer reindex bug when gitea restart (#5563)
    • Fix table name typo on SQL (#5562)
    • Synchronize SSH keys on login with LDAP + Fix SQLite deadlock on ldap ssh key deletion (#5557)
    • Fix makefile generate buildstep (#5556)
    • Fix nil pointer base branch bug (#5555)
    • Fix permission check on api create org (#5523)
    • Fix detect force push failure on deletion of protected branches (#5522)
    • Fix approvals limitation (#5521)
    • Fix bug when a read perm user to edit his issue (#5516)
    • Fix adding reaction fail for read permission user (#5515)
    • Fixing MSSQL timestamp type (#5511)
    • Fix forgot deletion of notification when delete repository (#5506)
    • Fix empty wiki (#5504)
    • Fix clone wiki failed via ssh (#5503)
    • Fix code review on mssql (#5502)
    • Fix lfs version check warning log when using ssh protocol (#5501)
    • Fix topic name length on database (#5493)
    • Ensure that the closed_at is set for closed issues (#5449)
    • Admin should be able to delete repos via the API even if he is not a member of the organization (#5443)
    • Word-Break the WebHook url to prevent a ui-break (#5432)
    • Fix forgot removed records when deleting user (#5429)
    • Fix repository deletion when there is large number of issues in it (#5426)
    • Fix heatmap colors for Chrome/Safari (#5421)
    • Fix password variable shadowing (#5405)
    • Fix dependent issue searching when gitea is run in subpath (#5392)
    • Don’t force a password change for the admin user when creating an account via cli (#5391)
    • API: ‘/orgs/:org/repos’: return private repos with read access (#5383)
    • Don’t send assign webhooks when creating issue (#5365)
    • Removing Labels via EditPullRequest API (#5348)
    • Migration fixes for gogs (0.11.66) to gitea (1.6.0) #5318 (#5341)
    • Fix bug when users have serval teams with different units on different repositories (#5307)
    • Fix U2F if gitea is configured in subpath (#5302)
    • Fix file edit change preview functionality (#5300)
    • Update gitignore list (#5258)
    • Fixed heatmap not working in mssql (#5248)
    • Fixed wrong api request url for instances running in subfolders (#5247)
    • Fix compatibility heatmap with mysql 8 (#5232)
    • Fix data race on migrate repository (#5224)
    • Fix sqlite and mssql lock (#5214)
    • Fix sqlite lock (#5210)
    • Fix: Accept web-command cli flags if web-command is commited (#5200)
    • Fix: Add secret to all webhook’s payload where it has been missing (#5199)
    • Fix race on updatesize (#5190)
    • Fix create team, update team missing units (#5188)
    • Fix sqlite lock (#5184 & #5176)
    • Fix showing pull request link when delete a branch (#5166)
    • Fix JSON result of empty array in heatmap data array (#5154)
    • Update build tags for sqlite_unlock notify (#5144)
    • This commit will reduce join star, repo_topic, topic tables on repo search, so that fix extra columns problem on mssql (#5136)
    • Fix deadlock when sqlite (#5118)
    • Add comment replies (#5104)
    • Fix home page template regression (#5102)
    • Fix regex to support optional end line of old section in diff hunk (#5096)
    • LDAP via simple auth separate bind user and search base (#5055)
    • Fix markdown image with link (#4675)
    • Fix to 3819 - Filtering issues by tags on main screen issues (#3824)
  • ENHANCEMENT
    • Delete organization endpoint added (#5601)
    • Update Licenses (#5558)
    • Support reverse proxy providing email (#5554)
    • Add git protocol v2 support via SSH on Docker image (#5520)
    • Add tests for api user orgs (#5494)
    • Allow link verification for services like Mastodon (#5481)
    • Improve team members and repositories settings UI (#5457)
    • Remove the required class from optional ssh port in installation page (#5428)
    • Explicitly disable Git credential helper (#5367)
    • Setting Labels via EditPullRequest API (#5347)
    • Implement pasting image from clipboard for browsers that supports that (#5317)
    • Milestone issues and pull requests (#5293)
    • Support envs on external render commands (#5278)
    • Add option to disable automatic mirror syncing. (#5242)
    • Remove unused db init on commands serv, update, hooks (#5225)
    • Serve audio files using HTML5 audio tag (#5221)
    • Pass link prefixes to external markup parsers (#5201)
    • Add AutoHead functionality. (#5186)
    • Fix emojis not showing in commit messages (#5168)
    • Block registration based on email domain (#5157)
    • Update vendor/go-sqlite3 (#5133 & #5162)
    • Update x/net lib (#5169)
    • Show review summary in pull requests (#5132)
    • Use type switch (#5122)
    • Remove duplicated if bodies (#5121)
    • Remove check for negative length (#5120)
    • Make switch more clear (#5119)
    • Use named const instead of a raw string (#5115)
    • Fix issue where ecdsa and other key types are not synced from LDAP (#5092) (#5094)
    • Refactor: err != nil check, just return error instead (#5093)
    • Add notification interface and refactor UI notifications (#5085)
    • Use APP_NAME on home page (#5048)
    • Explicitly decide whether to use TLS in mailer’s configuration (#5024)
    • Generate random password (#5023)
    • UX of link account (Step 1) (#5006)
    • Make sure argsSet verifies string isn’t empty too (#4980)
    • Improve performance of dashboard (#4977)
    • Keys API changes (#4960)
    • Add must-change-password flag to cli for creating a user (#4955)
    • Use native go method to get current user rather than environment variable (#4930)
    • Make gitea serv use api/internal (#4886)
    • Add support for search by uid (#4876)
    • Allow to add organization members as collaborators on organization owned repositories (#4748)
  • BUILD
    • Replace lint to revive (#5422)
    • Update golang version in Dockerfile (#5246)
  • DOCS
    • Typo in routers/api/v1/org/org.go fixed. (#5598)
    • Update the docs for sqlite_unlock_notify (#5145)
    • CN translation of docs part (#5049)
    • Kubernetes deployment file (#5046)
  • MISC
    • Upgrade alpine to 3.8 (#5423)
    • Git-Trees API (#5403)
    • Only chown directories during docker setup if necessary. Fix #4425 (#5064)

To see all user-facing changes that went into the release, check out our full changelog.

A shoutout goes to those who reported and/or fixed security issues in this release:

Help us out!

Gitea is focused on community input and contributions. To keep a project like Gitea going we need people. LOTS of people. You can help in the following areas:

Programming

If you know Go or HTML/CSS/JavaScript, you may be interested in working on the code. Working on OSS may seem scary, but the best way is to try! Read the Gitea contribution guide, and then find an itch to scratch, or scratch your own!

Translating

Want to translate Gitea in your own language? Awesome! Join the Gitea project on Crowdin. As soon as your translation is approved, it will be pushed to the Gitea project to be used in future releases!

Documentation

Documentation is important, but also time consuming. If you enjoy writing and have a pretty good knowledge of English, or you would like to translate the English version to your native language, you’re very welcome to do so. Find our documentation on the main git repository here. Just fork, update the documentation and then create a pull request!

Support

Do you like people? Can you give calm and thought-out responses to users needing help? Then you can spend some time providing support to those who need it. Most answers can really be found in the documentation, so make sure to take some time to read it. Then, either join our chat or forums (linked below), or simply help us sort out issues and answer questions on the Gitea repository.

Donations

If you, or your company, want to help us out sustain our financial expenses, you can do so by donating on Open Collective.

… or reporting bugs

If you lack the time or knowledge to do any of the above, just using Gitea and sharing the word is enough to make us happy! One thing you can always do is to report any bugs you find on the Gitea issue tracker.

Before opening an issue, read the contribution guidelines about reporting bugs. After opening an issue, try to stick around a while to answer any questions we might have. Replies greatly help us find the root cause of an issue.

Thanks

This release would not have been possible without the pull requests from the following people:

PRs and issues merged in 1.7.0.

Get in touch

Need help with anything? You can come on our Discord server, or if you’re more old-fashioned you can also use our forums.