##// END OF EJS Templates
release: merge back stable branch into default
marcink -
r3553:10cca1c5 merge default
parent child Browse files
Show More
@@ -0,0 +1,47 b''
1 |RCE| 4.16.1 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2019-03-07
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13
14
15 General
16 ^^^^^^^
17
18 - Docs: added missing reference for the user bookmarks feature.
19
20
21 Security
22 ^^^^^^^^
23
24 - Comments: prevent from allowing to resolve TODO comments across projects. In certain
25 conditions users could resolve TODOs not belonging to the same project.
26
27
28 Performance
29 ^^^^^^^^^^^
30
31
32
33 Fixes
34 ^^^^^
35
36 - Downloads: fixed archive links from file tree view.
37 - Markdown: fixed sanitization of checkbox extensions that removed "checked" attribute.
38 - Upgrade: fixed upgrades from older versions of RhodeCode.
39 - Pull Requests: handle non-ascii branches from short branch selector via URL.
40 - Hooks: fixed again unicode problems with new pull request link generator.
41
42
43
44 Upgrade notes
45 ^^^^^^^^^^^^^
46
47 - Scheduled release addressing problems in 4.16.X releases.
@@ -50,3 +50,4 b' 4b34ce0d2c3c10510626b3b65044939bb7a2cddf'
50 14502561d22e6b70613674cd675ae9a604b7989f v4.15.1
50 14502561d22e6b70613674cd675ae9a604b7989f v4.15.1
51 4aaa40b605b01af78a9f6882eca561c54b525ef0 v4.15.2
51 4aaa40b605b01af78a9f6882eca561c54b525ef0 v4.15.2
52 797744642eca86640ed20bef2cd77445780abaec v4.16.0
52 797744642eca86640ed20bef2cd77445780abaec v4.16.0
53 6c3452c7c25ed35ff269690929e11960ed6ad7d3 v4.16.1
@@ -9,6 +9,7 b' Release Notes'
9 .. toctree::
9 .. toctree::
10 :maxdepth: 1
10 :maxdepth: 1
11
11
12 release-notes-4.16.1.rst
12 release-notes-4.16.0.rst
13 release-notes-4.16.0.rst
13 release-notes-4.15.2.rst
14 release-notes-4.15.2.rst
14 release-notes-4.15.1.rst
15 release-notes-4.15.1.rst
@@ -70,7 +70,7 b' markdown_attrs = {'
70 "abbr": ["title"],
70 "abbr": ["title"],
71 "acronym": ["title"],
71 "acronym": ["title"],
72 "pre": ["lang"],
72 "pre": ["lang"],
73 "input": ["type", "disabled"]
73 "input": ["type", "disabled", "checked"]
74 }
74 }
75
75
76 standard_styles = [
76 standard_styles = [
@@ -270,7 +270,7 b' def post_push(extras):'
270 # make lock is a tri state False, True, None. We only release lock on False
270 # make lock is a tri state False, True, None. We only release lock on False
271 if extras.make_lock is False and not is_shadow_repo(extras):
271 if extras.make_lock is False and not is_shadow_repo(extras):
272 Repository.unlock(Repository.get_by_repo_name(extras.repository))
272 Repository.unlock(Repository.get_by_repo_name(extras.repository))
273 msg = 'Released lock on repo `%s`\n' % extras.repository
273 msg = 'Released lock on repo `{}`\n'.format(safe_str(extras.repository))
274 output += msg
274 output += msg
275
275
276 if extras.locked_by[0]:
276 if extras.locked_by[0]:
@@ -284,8 +284,8 b' def post_push(extras):'
284 output += _http_ret.title
284 output += _http_ret.title
285
285
286 if extras.new_refs:
286 if extras.new_refs:
287 tmpl = extras.server_url + '/' + extras.repository + \
287 tmpl = '{}/{}/pull-request/new?{{ref_type}}={{ref_name}}'.format(
288 "/pull-request/new?{ref_type}={ref_name}"
288 safe_str(extras.server_url), safe_str(extras.repository))
289
289
290 for branch_name in extras.new_refs['branches']:
290 for branch_name in extras.new_refs['branches']:
291 output += 'RhodeCode: open pull request link: {}\n'.format(
291 output += 'RhodeCode: open pull request link: {}\n'.format(
@@ -18,26 +18,11 b''
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21 import re
22
23 import markdown
21 import markdown
24
22
25 from mdx_gfm import GithubFlavoredMarkdownExtension # pragma: no cover
23 from mdx_gfm import GithubFlavoredMarkdownExtension # pragma: no cover
26
24
27
25
28 class FlavoredCheckboxPostprocessor(markdown.postprocessors.Postprocessor):
29 """
30 Adds `flavored_checkbox_list` class to list of checkboxes
31 """
32
33 pattern = re.compile(r'^([*-]) \[([ x])\]')
34
35 def run(self, html):
36 before = '<ul>\n<li><input type="checkbox"'
37 after = '<ul class="flavored_checkbox_list">\n<li><input type="checkbox"'
38 return html.replace(before, after)
39
40
41 # Global Vars
26 # Global Vars
42 URLIZE_RE = '(%s)' % '|'.join([
27 URLIZE_RE = '(%s)' % '|'.join([
43 r'<(?:f|ht)tps?://[^>]*>',
28 r'<(?:f|ht)tps?://[^>]*>',
@@ -26,7 +26,8 b' log = logging.getLogger(__name__)'
26
26
27
27
28 class UpgradeDb(BasePasterCommand):
28 class UpgradeDb(BasePasterCommand):
29 """Command used for paster to upgrade our database to newer version
29 """
30 Command used for paster to upgrade our database to newer version
30 """
31 """
31
32
32 max_args = 1
33 max_args = 1
@@ -41,7 +42,7 b' class UpgradeDb(BasePasterCommand):'
41 def command(self):
42 def command(self):
42 from rhodecode.lib.rc_commands import upgrade_db
43 from rhodecode.lib.rc_commands import upgrade_db
43 upgrade_db.command(
44 upgrade_db.command(
44 self.path_to_ini_file, self.options.__dict__.get('force_ask'))
45 self.path_to_ini_file, self.options.__dict__.get('force_ask'), None)
45
46
46 def update_parser(self):
47 def update_parser(self):
47 self.parser.add_option('--sql',
48 self.parser.add_option('--sql',
@@ -1420,8 +1420,8 b' class PullRequestModel(BaseModel):'
1420 _ = translator or get_current_request().translate
1420 _ = translator or get_current_request().translate
1421
1421
1422 commit_id = safe_str(commit_id) if commit_id else None
1422 commit_id = safe_str(commit_id) if commit_id else None
1423 branch = safe_str(branch) if branch else None
1423 branch = safe_unicode(branch) if branch else None
1424 bookmark = safe_str(bookmark) if bookmark else None
1424 bookmark = safe_unicode(bookmark) if bookmark else None
1425
1425
1426 selected = None
1426 selected = None
1427
1427
@@ -1439,10 +1439,11 b' class PullRequestModel(BaseModel):'
1439 )
1439 )
1440
1440
1441 groups = []
1441 groups = []
1442
1442 for group_key, ref_list, group_name, match in sources:
1443 for group_key, ref_list, group_name, match in sources:
1443 group_refs = []
1444 group_refs = []
1444 for ref_name, ref_id in ref_list:
1445 for ref_name, ref_id in ref_list:
1445 ref_key = '%s:%s:%s' % (group_key, ref_name, ref_id)
1446 ref_key = u'{}:{}:{}'.format(group_key, ref_name, ref_id)
1446 group_refs.append((ref_key, ref_name))
1447 group_refs.append((ref_key, ref_name))
1447
1448
1448 if not selected:
1449 if not selected:
@@ -1456,11 +1457,11 b' class PullRequestModel(BaseModel):'
1456 ref = commit_id or branch or bookmark
1457 ref = commit_id or branch or bookmark
1457 if ref:
1458 if ref:
1458 raise CommitDoesNotExistError(
1459 raise CommitDoesNotExistError(
1459 'No commit refs could be found matching: %s' % ref)
1460 u'No commit refs could be found matching: {}'.format(ref))
1460 elif repo.DEFAULT_BRANCH_NAME in repo.branches:
1461 elif repo.DEFAULT_BRANCH_NAME in repo.branches:
1461 selected = 'branch:%s:%s' % (
1462 selected = u'branch:{}:{}'.format(
1462 repo.DEFAULT_BRANCH_NAME,
1463 safe_unicode(repo.DEFAULT_BRANCH_NAME),
1463 repo.branches[repo.DEFAULT_BRANCH_NAME]
1464 safe_unicode(repo.branches[repo.DEFAULT_BRANCH_NAME])
1464 )
1465 )
1465 elif repo.commit_ids:
1466 elif repo.commit_ids:
1466 # make the user select in this case
1467 # make the user select in this case
@@ -30,7 +30,7 b''
30 % if c.enable_downloads:
30 % if c.enable_downloads:
31 <% at_path = '{}.zip'.format(request.GET.get('at') or c.commit.raw_id[:6]) %>
31 <% at_path = '{}.zip'.format(request.GET.get('at') or c.commit.raw_id[:6]) %>
32 <div title="${_('Download tree at {}').format(at_path)}" class="btn btn-default new-file">
32 <div title="${_('Download tree at {}').format(at_path)}" class="btn btn-default new-file">
33 <a href="${h.route_path('repo_archivefile',repo_name=c.repo_name, fname=c.commit.raw_id)}">
33 <a href="${h.route_path('repo_archivefile',repo_name=c.repo_name, fname='{}.zip'.format(c.commit.raw_id))}">
34 ${_('Download tree at {}').format(at_path)}
34 ${_('Download tree at {}').format(at_path)}
35 </a>
35 </a>
36 </div>
36 </div>
General Comments 0
You need to be logged in to leave comments. Login now