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