go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
43.98k stars 5.4k forks source link

Plan of Gitea v1.16 #16429

Closed lunny closed 2 years ago

lunny commented 3 years ago

Hi all Gitea contributors,

Gitea 1.15rc1 will be out sooner (🎉!) and after that we will create a new branch for 1.16 development. As mentioned in our CONTRIBUTION, it will spend three or four months before feature freeze.

I'm aware now is the time for the regular planning thread. Please use it to discuss your own plans for the 1.16 development cycle.

(Reminder, this thread is for things you PLAN TO DO YOURSELF, not things you want other people to do.)

Thanks, Lunny

lunny commented 3 years ago

I plan to finish some of my previous PRs at first,

And I also want to resolve the problems when migrating Gitea from Github to gitea.com .

If I have more time, I would like to try to support Github actions on Gitea.

zeripath commented 3 years ago

Authentication/Authorization refactors

models/login_source needs to be simplified and we need to make authentication and authorization a bit clearer.

This is likely to represent a large refactoring series with multiple PRs and will probably represent the bulk of the things.

(It's worth noting that although this may appear orthogonal to things like federation - this is key to making federation possible.)

Rendering repositories

Diff generation

It's way past time we improve this.

My work on 1.15 was massively derailed by the git and go-git problems so this might actually finally pop to the top of the list again.

I've got three four PRs ready at this:

I have some code that will allow you to request specific files to be diffed but it's dependent on #16775.

Once #16773 is in I can add in support for linguist-language to diffs.

We then couple the per-file diff with #16773 and a small amount of other work and we get a way of avoiding creating diffs for vendored files etc.

Caching

Now we have a memory cache implementation (twoqueue) that is not unbounded in the number of objects it will and can store we can consider caching more things. A good candidate could be commit verification as the cache invalidation is predictable.

It's likely that the simplistic solution within twoqueue may need further optimization as people try it - but hopefully we'll be able to consider it ready to make it the default for 1.16. Another thing is that it may be helpful to consider having a two level cache.

Queues

Organization Remove/Leave Modals

jolheiser commented 3 years ago

Existing PRs

Other plans

lafriks commented 3 years ago

Automatically pause queues if Elastic becomes unavailable and viceversa

Secrets storage

Advanced labels with priority

CI integration into Gitea UI

a1012112796 commented 3 years ago

Existing PRs

kolaente commented 3 years ago

I hope to finally find the time to work on these two:

richmahn commented 3 years ago

Having got into CSV/TSV for my company and how they render, I noticed a lot of bugs, which I created issues for last week. Will at least be fixing those, and back porting to v1.15.X if needed.

techknowlogick commented 3 years ago

For this milestone, the two things I am for sure working on are:

these are two required things for joining the fediverse.

wxiaoguang commented 3 years ago

I am investigating:

Admin user list filter

Issue / Comment content history

(actually they are the same one)

Two-factor authencation

Frontend refactor

vwbusguy commented 2 years ago

These are some low hanging fruit that have been asked for over several releases that I'd love to see picked up:

techknowlogick commented 2 years ago

Now that the RC is coming soon(tm) I will close this, and when 1.17-dev is here we can open a new one for that.