##// END OF EJS Templates
docs: added release notest for 4.18.X
marcink -
r4170:84d6a0cd default
parent child Browse files
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 - hHooks: fixed more unicode problems with new pull-request link generator.
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.
@@ -9,6 +9,7 b' Release Notes'
9 9 .. toctree::
10 10 :maxdepth: 1
11 11
12 release-notes-4.18.0.rst
12 13 release-notes-4.17.4.rst
13 14 release-notes-4.17.3.rst
14 15 release-notes-4.17.2.rst
General Comments 0
You need to be logged in to leave comments. Login now