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 | Fixes |
|
62 | Fixes | |
63 | ^^^^^ |
|
63 | ^^^^^ | |
64 |
|
64 | |||
65 |
- |
|
65 | - Hooks: fixed more unicode problems with new pull-request link generator. | |
66 | - Mercurial: fix ssh-server support for mercurial custom options. |
|
66 | - Mercurial: fix ssh-server support for mercurial custom options. | |
67 | - Pull requests: updated metadata information for failed merges with multiple heads. |
|
67 | - Pull requests: updated metadata information for failed merges with multiple heads. | |
68 | - Pull requests: calculate ancestor in the same way as creation mode. |
|
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