Show More
@@ -0,0 +1,230 b'' | |||
|
1 | |RCE| 4.18.0 |RNS| | |
|
2 | ------------------ | |
|
3 | ||
|
4 | Release Date | |
|
5 | ^^^^^^^^^^^^ | |
|
6 | ||
|
7 | - 2020-01-05 | |
|
8 | ||
|
9 | ||
|
10 | New Features | |
|
11 | ^^^^^^^^^^^^ | |
|
12 | ||
|
13 | - Artifacts: are no longer in BETA. New info page is available for uploaded artifacts | |
|
14 | which exposes some useful information like sha256, various access urls etc, and also | |
|
15 | allows deletion of artifacts, and updating their description. | |
|
16 | - Artifacts: support new download url based on access to artifacts using new auth-token types. | |
|
17 | - Artifacts: added ability to store artifacts using API, and internal cli upload. | |
|
18 | This allows uploading of artifacts that can have 100s of GBs in size efficiently. | |
|
19 | - Artifacts: added metadata logic to store various extra custom data for artifacts. | |
|
20 | - Comments: added support for adding comment attachments using the artifacts logic. | |
|
21 | Logged in users can now pick or drag and drop attachments into comment forms. | |
|
22 | - Comments: enable linkification of certain patterns on comments in repo/pull request scopes. | |
|
23 | This will render now active links to commits, pull-requests mentioned in comments body. | |
|
24 | - Jira: new update integration plugin. | |
|
25 | Plugin now fetches possible transitions from tickets and show them to users in the interface. | |
|
26 | Allow sending extra attributes during a transition like `resolution` message. | |
|
27 | - Navigation: Added new consistent and contextual way of creating new objects | |
|
28 | likes gists, repositories, and repository groups using dedicated action (with a `+` sign) | |
|
29 | available in the top navigation. | |
|
30 | - Hovercards: added new tooltips and hovercards to expose certain information for objects shown in UI. | |
|
31 | RhodeCode usernames, issues, pull-requests will have active hovercard logic that will | |
|
32 | load extra information about them and exposing them to users. | |
|
33 | - Files: all readme files found in repository file browser will be now rendered, allowing having readme per directory. | |
|
34 | - Search: expose line counts in search files information. | |
|
35 | - Audit-logs: expose download user audit logs as JSON file. | |
|
36 | - Users: added description field for users. | |
|
37 | Allows users to write a short BIO, or description of their role in the organization. | |
|
38 | - Users: allow super-admins to change bound authentication type for users. | |
|
39 | E.g internal rhodecode accounts can be changed to ldap easily from user settings page. | |
|
40 | - Pull requests: simplified the UI for display view, hide less important information and expose the most important ones. | |
|
41 | - Pull requests: add merge check that detects WIP marker in title. | |
|
42 | Usually WIP in title means unfinished task that needs still some work, such marker will prevent accidental merges. | |
|
43 | - Pull requests: TODO comments have now a dedicated box below reviewers to keep track | |
|
44 | of important TODOs that still need attention before review process is finalized. | |
|
45 | - Pull requests: participants of pull request will receive an email about update of a | |
|
46 | pull requests with a small summary of changes made. | |
|
47 | - Pull requests: change the naming from #NUM into !NUM. | |
|
48 | !NUM format is now parsed and linkified in comments and commit messages. | |
|
49 | - Pull requests: pull requests which state is changing can now be viewed with a limited view. | |
|
50 | - Pull requests: re-organize merge/close buttons and merge checks according to the new UI. | |
|
51 | - Pull requests: update commits button allows a force-refresh update now using dropdown option. | |
|
52 | - Pull requests: added quick filter to grid view to filter/search pull requests in a repository. | |
|
53 | - Pull requests: closing a pull-request without a merge requires additional confirmation now. | |
|
54 | - Pull requests: merge checks will now show which files caused conflicts and are blocking the merge. | |
|
55 | - Emails: updated all generated emails design and cleanup the data fields they expose. | |
|
56 | * more consistent UI for all types of emails | |
|
57 | * improved formatting of plaintext emails | |
|
58 | * emails: added reply link to comment type emails for quicker response action. | |
|
59 | ||
|
60 | ||
|
61 | General | |
|
62 | ^^^^^^^ | |
|
63 | ||
|
64 | - Artifacts: don't show hidden artifacts, allow showing them via a GET ?hidden=1 flag. | |
|
65 | Hidden artifacts are for example comment attachments. | |
|
66 | - UI: new commits page, according to the new design, which started on 4.17.X release lines | |
|
67 | - UI: use explicit named actions like "create user" instead of generic "save" which is bad UX. | |
|
68 | - UI: fixed problems with generating last change in repository groups. | |
|
69 | There's now a new logic that checks all objects inside group for latest update time. | |
|
70 | - API: add artifact `get_info`, and `store_metadata` methods. | |
|
71 | - API: allowed to specify extra recipients for pr/commit comments api methods. | |
|
72 | - Vcsserver: set file based cache as default for vcsserver which can be shared | |
|
73 | across multiple workers saving memory usage. | |
|
74 | - Vcsserver: added redis as possible cache backend for even greater performance. | |
|
75 | - Dependencies: bumped GIT version to 2.23.0 | |
|
76 | - Dependencies: bumped SVN version to 1.12.2 | |
|
77 | - Dependencies: bumped Mercurial version to 5.1.1 and hg-evolve to 9.1.0 | |
|
78 | - Search: added logic for sorting ElasticSearch6 backend search results. | |
|
79 | - User bookmarks: make it easier to re-organize existing entries. | |
|
80 | - Data grids: hide pagination for single pages in grids. | |
|
81 | - Gists: UX, removed private/public gist buttons and replaced them with radio group. | |
|
82 | - Gunicorn: moved all configuration of gunicorn workers to .ini files. | |
|
83 | - Gunicorn: added worker memory management allowing setting maximum per-worker memory usage. | |
|
84 | - Automation: moved update groups task into celery task | |
|
85 | - Cache commits: add option to refresh caches manually from advanced pages. | |
|
86 | - Pull requests: add indication of state change in list of pull-requests and actually show them in the list. | |
|
87 | - Cache keys: register and self cleanup cache keys used for invalidation to prevent leaking lot of them into DB on worker recycle | |
|
88 | - Repo groups: removed locking inheritance flag from repo-groups. We'll deprecate this soon and this only brings in confusion | |
|
89 | - System snapshot: improved formatting for better readability | |
|
90 | - System info: expose data about vcsserver. | |
|
91 | - Packages: updated celery to 4.3.0 and switch default backend to redis instead of RabbitMQ. | |
|
92 | Redis is stable enough and easier to install. Having Redis simplifies the stack as it's used in other parts of RhodeCode. | |
|
93 | - Dependencies: bumped alembic to 1.2.1 | |
|
94 | - Dependencies: bumped amqp==2.5.2 and kombu==4.6.6 | |
|
95 | - Dependencies: bumped atomicwrites==1.3.0 | |
|
96 | - Dependencies: bumped cffi==1.12.3 | |
|
97 | - Dependencies: bumped configparser==4.0.2 | |
|
98 | - Dependencies: bumped deform==2.0.8 | |
|
99 | - Dependencies: bumped dogpile.cache==0.9.0 | |
|
100 | - Dependencies: bumped hupper==1.8.1 | |
|
101 | - Dependencies: bumped mako to 1.1.0 | |
|
102 | - Dependencies: bumped markupsafe to 1.1.1 | |
|
103 | - Dependencies: bumped packaging==19.2 | |
|
104 | - Dependencies: bumped paste==3.2.1 | |
|
105 | - Dependencies: bumped pastescript==3.2.0 | |
|
106 | - Dependencies: bumped pathlib2 to 2.3.4 | |
|
107 | - Dependencies: bumped pluggy==0.13.0 | |
|
108 | - Dependencies: bumped psutil to 5.6.3 | |
|
109 | - Dependencies: bumped psutil==5.6.5 | |
|
110 | - Dependencies: bumped psycopg2==2.8.4 | |
|
111 | - Dependencies: bumped pycurl to 7.43.0.3 | |
|
112 | - Dependencies: bumped pyotp==2.3.0 | |
|
113 | - Dependencies: bumped pyparsing to 2.4.2 | |
|
114 | - Dependencies: bumped pyramid-debugtoolbar==4.5.1 | |
|
115 | - Dependencies: bumped pyramid-mako to 1.1.0 | |
|
116 | - Dependencies: bumped redis to 3.3.8 | |
|
117 | - Dependencies: bumped sqlalchemy to 1.3.8 | |
|
118 | - Dependencies: bumped sqlalchemy==1.3.11 | |
|
119 | - Dependencies: bumped test libraries. | |
|
120 | - Dependencies: freeze alembic==1.3.1 | |
|
121 | - Dependencies: freeze python-dateutil | |
|
122 | - Dependencies: freeze redis==3.3.11 | |
|
123 | - Dependencies: freeze supervisor==4.1.0 | |
|
124 | ||
|
125 | ||
|
126 | Security | |
|
127 | ^^^^^^^^ | |
|
128 | ||
|
129 | - Security: fixed issues with exposing wrong http status (403) indicating repository with | |
|
130 | given name exists and we don't have permissions to it. This was exposed in the redirection | |
|
131 | logic of the global pull-request page. In case of redirection we also exposed | |
|
132 | repository name in the URL. | |
|
133 | ||
|
134 | ||
|
135 | Performance | |
|
136 | ^^^^^^^^^^^ | |
|
137 | ||
|
138 | - Core: many various small improvements and optimizations to make rhodecode faster then before. | |
|
139 | - VCSServer: new cache implementation for remote functions. | |
|
140 | Single worker shared caches that can use redis/file-cache. | |
|
141 | This greatly improves performance on larger instances, and doesn't trigger cache | |
|
142 | re-calculation on worker restarts. | |
|
143 | - GIT: switched internal git operations from Dulwich to libgit2 in order to obtain better performance and scalability. | |
|
144 | - SSH: skip loading unneeded application parts for SSH to make execution of ssh commands faster. | |
|
145 | - Main page: main page will now load repositories and repositories groups using partial DB calls instead of big JSON files. | |
|
146 | In case of many repositories in root this could lead to very slow page rendering. | |
|
147 | - Admin pages: made all grids use same DB based partial loading logic. We'll no longer fetch | |
|
148 | all objects into JSON for display purposes. This significantly improves speed of those pages in case | |
|
149 | of many objects shown in them. | |
|
150 | - Summary page: use non-memory cache for readme, and cleanup cache for repo stats. | |
|
151 | This change won't re-cache after worker restarts and can be shared across all workers | |
|
152 | - Files: only check for git_lfs/hg_largefiles if they are enabled. | |
|
153 | This speeds up fetching of files if they are not LF and very big. | |
|
154 | - Vcsserver: added support for streaming data from the remote methods. This allows | |
|
155 | to stream very large files without taking up memory, mostly for usage in SVN when | |
|
156 | downloading large binaries from vcs system. | |
|
157 | - Files: added streaming remote attributes for vcsserver. | |
|
158 | This change enables streaming raw content or raw downloads of large files without | |
|
159 | transferring them over to enterprise for pack & repack using msgpack. | |
|
160 | Msgpack has a limit of 2gb and generally pack+repack for ~2gb is very slow. | |
|
161 | - Files: ensure over size limit files never do any content fetching when viewing such files. | |
|
162 | - VCSServer: skip host verification to speed up pycurl calls. | |
|
163 | - User-bookmarks: cache fetching of bookmarks since this is quite expensive query to | |
|
164 | make with joinedload on repos/repo groups. | |
|
165 | - Goto-switcher: reduce query data to only required attributes for speedups. | |
|
166 | - My account: owner/watched repos are now loaded only using DB queries. | |
|
167 | ||
|
168 | ||
|
169 | Fixes | |
|
170 | ^^^^^ | |
|
171 | ||
|
172 | - Mercurial: move imports from top-level to prevent from loading mercurial code on hook execution for svn/git. | |
|
173 | - GIT: limit sync-fetch logic to only retrieve tags/ and heads/ with default execution arguments. | |
|
174 | - GIT: fixed issue with git submodules detection. | |
|
175 | - SVN: fix checkout url for ssh+svn backend not having special prefix resulting in incorrect command shown. | |
|
176 | - SVN: fixed problem with showing empty directories. | |
|
177 | - OAuth: use a vendored version of `authomatic` library, and switch Bitbucket authentication to use oauth2. | |
|
178 | - Diffs: handle paths with quotes in diffs. | |
|
179 | - Diffs: fixed outdated files in pull-requests re-using the filediff raw_id for anchor generation. Fixes #5567 | |
|
180 | - Diffs: toggle race condition on sticky vs wide-diff-mode that caused some display problems on larger diffs. | |
|
181 | - Pull requests: handle exceptions in state change and improve logging. | |
|
182 | - Pull requests: fixed title/description generation for single commits which are numbers. | |
|
183 | - Pull requests: changed the source of changes to be using shadow repos if it exists. | |
|
184 | In case of `git push -f` and rebase we lost commits in the repo resulting in | |
|
185 | problems of displaying versions of pull-requests. | |
|
186 | - Pull requests: handle case when removing existing files from a repository in compare versions diff. | |
|
187 | - Files: don't expose copy content helper in case of binary files. | |
|
188 | - Registration: properly expose first_name/last_name into email on user registration. | |
|
189 | - Markup renderers: fixed broken code highlight for rst files. | |
|
190 | - Ui: make super admin be named consistently across ui. | |
|
191 | - Audit logs: fixed search cases with special chars such as `-`. | |
|
192 | ||
|
193 | ||
|
194 | Upgrade notes | |
|
195 | ^^^^^^^^^^^^^ | |
|
196 | ||
|
197 | - New Automation task. We've changed the logic for updating latest change inside repository group. | |
|
198 | New logic includes scanning for changes in all nested objects. Since this is a heavy task | |
|
199 | a new dedicated scheduler task has been created to update it automatically on a scheduled base. | |
|
200 | Please review in `admin > settings > automation` to enable this task. | |
|
201 | ||
|
202 | - New safer encryption algorithm. Some setting values are encrypted before storing it inside the database. | |
|
203 | To keep full backward compatibility old AES algorithm is used. | |
|
204 | If you wish to enable a safer option set fernet encryption instead inside rhodecode.ini | |
|
205 | `rhodecode.encrypted_values.algorithm = fernet` | |
|
206 | ||
|
207 | - Pull requests UI changes. We've simplified the UI on pull requests page. | |
|
208 | Please review the new UI to prevent surprises. All actions from old UI should be still possible with the new one. | |
|
209 | ||
|
210 | - Redis is now a default recommended backend for Celery and replaces previous rabbitmq. | |
|
211 | Redis is generally easier to manage and install, and it's also very stable for usage | |
|
212 | in the scheduler/celery async tasks. Since we also recommend Redis for caches the application | |
|
213 | stack can be simplified by removing rabbitmq and replacing it with single Redis instance. | |
|
214 | ||
|
215 | - Recommendation for using Redis as the new cache backend on vcsserver. | |
|
216 | Since Version 4.18.0 VCSServer has a new cache implementation for VCS data. | |
|
217 | By default, for simplicity the cache type is file based. We strongly recommend using | |
|
218 | Redis instead for better Performance and scalability | |
|
219 | Please review vcsserver.ini settings under: | |
|
220 | `rc_cache.repo_object.backend = dogpile.cache.rc.redis_msgpack` | |
|
221 | ||
|
222 | - New memory monitoring for Gunicorn workers. Starting from 4.18 release a option was added | |
|
223 | to limit the maximum amount of memory used by a worker. | |
|
224 | Please review new settings for memory management in both rhodecode.ini and vcsserver.ini: | |
|
225 | ||
|
226 | ; Maximum memory usage that each worker can use before it will receive a | |
|
227 | ; graceful restart signal 0 = memory monitoring is disabled | |
|
228 | ; Examples: 268435456 (256MB), 536870912 (512MB) | |
|
229 | ; 1073741824 (1GB), 2147483648 (2GB), 4294967296 (4GB) | |
|
230 | memory_max_usage = 0 |
@@ -62,7 +62,7 b' Performance' | |||
|
62 | 62 | Fixes |
|
63 | 63 | ^^^^^ |
|
64 | 64 | |
|
65 |
- |
|
|
65 | - Hooks: fixed more unicode problems with new pull-request link generator. | |
|
66 | 66 | - Mercurial: fix ssh-server support for mercurial custom options. |
|
67 | 67 | - Pull requests: updated metadata information for failed merges with multiple heads. |
|
68 | 68 | - Pull requests: calculate ancestor in the same way as creation mode. |
General Comments 0
You need to be logged in to leave comments.
Login now