/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Robert Collins
  • Date: 2010-06-22 04:15:25 UTC
  • mto: This revision was merged to the branch mainline in revision 5314.
  • Revision ID: robertc@robertcollins.net-20100622041525-3nigypxfyvm4x31e
Another tuple-printing case fixed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
.. contents:: List of Releases
6
6
   :depth: 1
7
7
 
 
8
bzr 2.2b4
 
9
#########
 
10
 
 
11
:Codename: Monkey Magic
 
12
:2.2b4: NOT RELEASED YET
 
13
 
 
14
Compatibility Breaks
 
15
********************
 
16
 
 
17
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
 
18
  the result of ``bzrlib.initialize``. This change was made when fixing
 
19
  the bad habit recent bzr versions have had of leaving progress bars 
 
20
  behind on the screen. That required calling another function before
 
21
  exiting the program, and it made sense to provide a full context
 
22
  manager at the same time. (Robert Collins)
 
23
 
 
24
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
 
25
  context manager in the Python 2.5 and above sense. The bzrlib base class
 
26
  is such a manager, but third party UI factories which do not derive from
 
27
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
 
28
  end.
 
29
  
 
30
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
 
31
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
 
32
  scheme.  Previously these URLs would be treated as local paths.
 
33
  (Gordon Tyler)
 
34
 
 
35
 
 
36
New Features
 
37
************
 
38
 
 
39
* Support ``--directory`` option for a number of additional commands:
 
40
  conflicts, merge-directive, missing, resolve, shelve, switch,
 
41
  unshelve, whoami. (Martin von Gagern, #527878)
 
42
 
 
43
Bug Fixes
 
44
*********
 
45
 
 
46
* ``bzr init`` does not recursively scan directory contents anymore
 
47
  leading to faster init for directories with existing content.
 
48
  (Martin [gz], Parth Malwankar, #501307)
 
49
 
 
50
* ``bzr log --exclude-common-ancestry`` is now taken into account for
 
51
  linear ancetries. (Vincent Ladeuil, #575631)
 
52
 
 
53
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
 
54
  or pull location in locations.conf or branch.conf.
 
55
  (Gordon Tyler, #534787)
 
56
 
 
57
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
 
58
  proper error messages. (Vincent Ladeuil, #591215)
 
59
 
 
60
* Explicitly removing ``--profile-imports`` option from parsed command-line
 
61
  arguments on Windows, because bzr script does the same.
 
62
  (Alexander Belchenko, #588277)
 
63
 
 
64
* Fetching was slightly confused about the best code to use and was
 
65
  using a new code path for all branches, resulting in more lookups than
 
66
  necessary on old branches. (Robert Collins, #593515)
 
67
 
 
68
* Final fix for 'no help for command' issue. We now show a clean message
 
69
  when a command has no help, document how to set help more clearly, and
 
70
  test that all commands available to the test suite have help.
 
71
  (Robert Collins, #177500)
 
72
 
 
73
* Progress output is cleaned up when exiting.  (Aaron Bentley)
 
74
 
 
75
* Raise ValueError instead of a string exception.
 
76
  (John Arbash Meinel, #586926)
 
77
 
 
78
* Relative imports in plugins are now handled correctly when using
 
79
  BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
 
80
 
 
81
* ``ScriptRunner`` now strips off leading indentation from test scripts,
 
82
  which previously caused "SyntaxError: No command for line".
 
83
  (Martin Pool)
 
84
 
 
85
* Show unicode filenames in diff headers using terminal encoding. 
 
86
  (Alexander Belchenko, Bug #382699)
 
87
  NOTE for Windows users: If user need to save diff to file then user need to
 
88
  change encoding of the terminal to ANSI encoding with command ``chcp XXX``
 
89
  (e.g. ``chcp 1251`` for Russian Windows).
 
90
 
 
91
* URL displayed for use with ``break-lock`` when smart server sees lock
 
92
  contention are now valid. Default timeout for lock contention retry is
 
93
  now 30 seconds instead of 300 seconds.
 
94
  (Parth Malwankar, #250451)
 
95
 
 
96
* ``walkdirs`` now raises a useful message when the filenames are not using
 
97
  the filesystem encoding. (Eric Moritz, #488519)
 
98
 
 
99
Improvements
 
100
************
 
101
 
 
102
* Bazaar now reads data from SSH connections more efficiently on platforms
 
103
  that provide the ``socketpair`` function, and when using paramiko.
 
104
  (Andrew Bennetts, #590637)
 
105
 
 
106
* ``Branch.copy_content_into`` is now a convenience method dispatching to
 
107
  a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
 
108
  plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
 
109
  (Robert Collins, #201613)
 
110
 
 
111
* ``Branch`` formats can now be loaded lazily by registering a
 
112
  ``MetaDirBranchFormatFactory`` rather than an actual format. This will
 
113
  cause the named format class to be loaded only when an enumeration of
 
114
  formats is needed or when the format string for the object is
 
115
  encountered. (Robert Collins, Jelmer Vernooij)
 
116
 
 
117
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
 
118
  do not cause modules to be loaded unnecessarily just because the plugin
 
119
  registers a merge hook.  This improves ``bzr rocks`` time by about 25%
 
120
  in a default installation (with just the core plugins).
 
121
  (Andrew Bennetts)
 
122
 
 
123
Documentation
 
124
*************
 
125
 
 
126
* Added ``regression`` tag to our tags list. (Robert Collins)
 
127
 
 
128
* Improved our release checklist to have a bit less churn and leave things
 
129
  ready-to-go for the next action (including other people doing
 
130
  development). (Robert Collins)
 
131
 
 
132
* Remove obsolete discussion of PQM in documentation about how to
 
133
  contribute to Bazaar.  (Martin Pool, #588444)
 
134
 
 
135
API Changes
 
136
***********
 
137
 
 
138
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
 
139
  an iterable of format pairs, rather than just a single pair, permitting
 
140
  InterBranch objects that work with multiple permutations to be
 
141
  comprehensively tested. (Robert Collins)
 
142
 
 
143
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
 
144
  2007, has been deleted.  Use ``PatienceSequenceMatcher`` from
 
145
  ``bzrlib.patiencediff`` instead. (Andrew Bennetts)
 
146
 
 
147
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated.  It provided only
 
148
  one method ``check_output``, and we now recommend checking command
 
149
  output using ``run_script``. (Martin Pool)
 
150
 
 
151
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
 
152
  that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
 
153
  Third-party implementations of ``SSHVendor`` may need to be updated
 
154
  accordingly.  Similarly, any code using ``SSHConnection`` directly will
 
155
  need to be updated.  (Andrew Bennetts)
 
156
 
 
157
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
 
158
  changed to take an ``SSHParams`` instance (replacing many individual
 
159
  values).  (Andrew Bennetts)
 
160
 
 
161
Internals
 
162
*********
 
163
 
 
164
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
 
165
 
 
166
Testing
 
167
*******
 
168
 
 
169
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
 
170
  (Vincent Ladeuil, #595587)
 
171
 
8
172
bzr 2.2b3
9
173
#########
10
174
 
11
 
:2.2b3: NOT RELEASED YET
 
175
:2.2b3: 2010-05-28
 
176
 
 
177
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
 
178
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
 
179
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
 
180
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
 
181
bash completion script and bzr will no longer guess at identity details -
 
182
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
 
183
For developers we have some API changes which may impact plugins as well
 
184
as a bunch of our regular improvements to internal clarity and test
 
185
support.
12
186
 
13
187
Compatibility Breaks
14
188
********************
23
197
 
24
198
* ``bzr`` does not try to guess the username as ``username@hostname``
25
199
  and requires it to be explictly set. This can be set using ``bzr
26
 
  whoami``.
27
 
  (Parth Malwankar, #549310)
 
200
  whoami``. (Parth Malwankar, #549310)
 
201
 
 
202
* ``bzrlib.commands.Command`` will now raise ValueError during
 
203
  construction if there is no __doc__ set. (Note, this will be reverted in
 
204
  2.2b4) (Robert Collins)
 
205
 
 
206
* The source tree no longer contains a contrib/zsh/_bzr completion
 
207
  script. The new file contrib/zsh/README suggests alternatives.
 
208
  (Martin von Gagern, #560030)
28
209
 
29
210
New Features
30
211
************
53
234
  re-sign, unbind, unknowns.
54
235
  (Martin von Gagern, #527878)
55
236
 
 
237
* The bash_completion plugin from the bzr-bash-completion project has
 
238
  been merged into the tree. It provides a bash-completion command and
 
239
  replaces the outdated ``contrib/bash/bzr`` script with a version
 
240
  using the plugin. (Martin von Gagern, #560030)
 
241
 
 
242
* A new transport based on GIO (the gnome i/o library) provides access to
 
243
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
 
244
  use gio for some already existing transport methods as gio+file,
 
245
  gio+sftp, gio+ftp. 
 
246
  (Mattias Eriksson)
 
247
 
56
248
Bug Fixes
57
249
*********
58
250
 
 
251
* Alias information shown by ``bzr help`` is now accurate. This
 
252
  was showing an internal object name for some plugin aliases.
 
253
  (Parth Malwankar, #584650)
 
254
 
59
255
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
60
256
  group ownership from the containing directory. This allow bzr to work
61
257
  better with sudo.
73
269
  difference).
74
270
  (Vincent Ladeuil, #320119)
75
271
 
 
272
* ``bzr lp-propose`` which was switched to use production Launchpad API
 
273
  servers a few commits ago has been reverted to use edge: there is a
 
274
  problem with using production which isn't trivially obvious, so we've
 
275
  filed a bug to track it, and until thats fixed will be using edge.
 
276
  (Robert Collins, #583667)
 
277
 
76
278
* ``bzr rm`` should not refuse to delete directories which contained a file
77
279
  which has been moved elsewhere in the tree after the previous commit.
78
280
  (Marius Kruger, Daniel Watkins, #129880)
83
285
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
84
286
  (Vincent Ladeuil, #563997)
85
287
 
 
288
* CommitBuilder refuses to create revisions whose trees have no root.
 
289
  (Aaron Bentley)
 
290
 
 
291
* Do not register a SIGWINCH signal handler, instead just poll for the
 
292
  terminal width as needed.  This avoids the "Interrupted System Call"
 
293
  problems that occur on POSIX with all currently released versions of
 
294
  Python.
 
295
  (Andrew Bennetts, #583941)
 
296
 
86
297
* Don't mention --no-strict when we just issue the warning about unclean trees.
87
298
  (Vincent Ladeuil, #401599)
88
299
 
90
301
  versions before 1.6.
91
302
  (Andrew Bennetts, #528041)
92
303
 
93
 
* Heavyweight checkout operation now shows a message to the user indicating
94
 
  history is being copied.
95
 
  (Parth Malwankar, #538868)
 
304
* Improved progress bar for fetch (2a format only). Bazaar now shows an
 
305
  estimate of the number of records to be fetched vs actually fetched.
 
306
  (Parth Malwankar, #374740, #538868)
96
307
 
97
308
* Reduce peak memory by one copy of compressed text.
98
309
  (John Arbash Meinel, #566940)
99
310
 
 
311
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
 
312
  read lock, rather than causing an ``AttributeError``.
 
313
  (Andrew Bennetts, Данило Шеган, #582781)
 
314
 
 
315
* Selftest was failing with testtools 0.9.3, which caused an
 
316
  AssertionError raised from a cleanUp to be reported as a Failure, not an
 
317
  Error, breaking on of our test hygiene tests.
 
318
  (Robert Collins, Vincent Ladeuil).
 
319
 
 
320
* ``set_user_option`` with a dict on remote branches no longer fails with
 
321
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
 
322
  to support this efficiently.
 
323
  (Andrew Bennetts, #430382)
 
324
  
100
325
* Show the filenames when a file rename fails so that the error will be
101
326
  more comprehensible.
102
327
  (Martin Pool, #491763)
103
328
 
 
329
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
330
  (John Arbash Meinel, #582656)
 
331
 
104
332
* Unicode characters in aliases are now handled correctly and do not cause
105
333
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
106
334
 
112
340
* Using bzr with `lp:` urls behind an http proxy should work.
113
341
  (Robert Collins, #558343)
114
342
 
 
343
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
344
  directory file handle after the chdir fails. Otherwise when passing many
 
345
  filenames into a command line ``bzr status`` we would leak descriptors.
 
346
  (John Arbash Meinel, #583486)
 
347
 
115
348
Improvements
116
349
************
117
350
 
131
364
  be interpreted as a boolean.
132
365
  (Vincent Ladeuil)
133
366
 
 
367
* The all-in-one Windows installer will now be built with docstrings stripped
 
368
  from the library zip, reducing the size and slightly improving cold startup
 
369
  time. Bundled plugins are unchanged for the moment, but if adding other new
 
370
  plugins to an all-in-one installation, ensure they are compiled and
 
371
  installed with -O1 or help may not work. (Martin [gz])
 
372
 
134
373
Documentation
135
374
*************
136
375
 
167
406
Internals
168
407
*********
169
408
 
 
409
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
 
410
  the (file-id, revision-id) key from a CHKInventory entry. This can
 
411
  potentially shave 5-10% time off during a large fetch. Related to bug
 
412
  #562666. (John Arbash Meinel)
 
413
 
170
414
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
171
415
  (Robert Collins)
172
416
 
182
426
  stripped, the prefix ``__doc__ =`` should now be used.
183
427
  (Martin <gzlist@googlemail.com>)
184
428
 
 
429
* No longer require zlib headers to build extensions, and remove the need
 
430
  for seperate copy of zlib library on windows.
 
431
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #66923)
 
432
 
185
433
Testing
186
434
*******
187
435
 
196
444
  failures on Lucid, FreeBSD and gentoo.  
197
445
  (Vincent Ladeuil, #528436)
198
446
 
 
447
* New class ``ExecutableFeature`` for checking the availability of
 
448
  executables on the ``PATH``. Migrated from bash_completion plugin.
 
449
  (Martin von Gagern)
 
450
 
199
451
bzr 2.2b2
200
452
#########
201
453
 
255
507
* Reset ``siginterrupt`` flag to False every time we handle a signal
256
508
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
257
509
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
258
 
  errors after two window resizes.
 
510
  errors compared to registering ``signal.signal`` directly.
259
511
  (Andrew Bennetts)
260
512
 
261
513
* When invoked with a range revision, ``bzr log`` doesn't show revisions
316
568
  Command is now transient and only exists for the duration of ``run()``.
317
569
  (Robert Collins)
318
570
 
319
 
bzr 2.2.0b1
320
 
###########
321
 
 
322
 
:2.2.0b1: 2010-04-01
 
571
bzr 2.2b1
 
572
#########
 
573
 
 
574
:2.2b1: 2010-04-01
 
575
 
 
576
This is the first beta of the 2.2 series, leading up to a 2.2.0
 
577
release in July or August.  Beta releases are suitable for everyday use
 
578
but may cause some incompatibilities with plugins.  Some plugins may need
 
579
small updates to work with 2.2b1.
 
580
 
 
581
2.2b1 includes some changes to make merge conflicts easier to understand
 
582
and resolve.  It also removes some old unnecessary code, and loads
 
583
somewhat less code at startup.  It starts adding a common infrastructure
 
584
for dealing with colocated named branches, which can be implemented in
 
585
various ways in either bzr native or foreign formats.   On Ubuntu and
 
586
other platforms with the apport bug-reporting library, there's an easier
 
587
path to report problems with bzr.  We plan to continue with these themes
 
588
through the 2.2 series.
 
589
 
 
590
Over thirty bugs have been fixed, including in the log command, exporting
 
591
to tarballs, restarting interrupted system calls, portability of compiled
 
592
extensions, making backups during upgrade, and locking on ftp.
323
593
 
324
594
Compatibility Breaks
325
595
********************
601
871
  happens, and another warning will be written if the log file could not
602
872
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
603
873
 
 
874
bzr 2.1.3
 
875
#########
 
876
 
 
877
:Codename: Do run run
 
878
:2.1.3: NOT RELEASED YET
 
879
 
 
880
Compatibility Breaks
 
881
********************
 
882
 
 
883
New Features
 
884
************
 
885
 
 
886
Bug Fixes
 
887
*********
 
888
 
 
889
* Raise ValueError instead of a string exception.
 
890
  (John Arbash Meinel, #586926)
 
891
 
 
892
Improvements
 
893
************
 
894
 
 
895
Documentation
 
896
*************
 
897
 
 
898
API Changes
 
899
***********
 
900
 
 
901
Internals
 
902
*********
 
903
 
 
904
Testing
 
905
*******
 
906
 
604
907
bzr 2.1.2
605
908
#########
606
909
 
607
 
:2.1.2: NOT RELEASED YET
 
910
:2.1.2: 2010-05-28
 
911
 
 
912
This release fixes two critical networking issues with older servers and
 
913
with interrupted system call errors when pushing or pulling.  We recommend
 
914
upgrading to anyone running a 2.1.x version of bzr.
608
915
 
609
916
Bug Fixes
610
917
*********
611
918
 
 
919
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
920
  support of bzr-externals and scmproj plugins.
 
921
  (Alexander Belchenko, bug #572098)
 
922
 
612
923
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
613
924
  (Aaron Bentley, #559436)
614
925
 
 
926
* Do not register a SIGWINCH signal handler, instead just poll for the
 
927
  terminal width as needed.  This avoids the "Interrupted System Call"
 
928
  problems that occur on POSIX with all currently released versions of
 
929
  Python.
 
930
  (Andrew Bennetts, #583941)
 
931
 
615
932
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
616
933
  versions before 1.6.
617
934
  (Andrew Bennetts, #528041)
619
936
* Reset ``siginterrupt`` flag to False every time we handle a signal
620
937
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
621
938
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
622
 
  errors after two window resizes.
 
939
  errors compared to registering ``signal.signal`` directly.
623
940
  (Andrew Bennetts)
624
941
 
 
942
* Reduce peak memory by one copy of compressed text.
 
943
  (John Arbash Meinel, #566940)
 
944
 
 
945
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
946
  (John Arbash Meinel, #582656)
 
947
 
 
948
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
949
  directory file handle after the chdir fails. Otherwise when passing many
 
950
  filenames into a command line ``bzr status`` we would leak descriptors.
 
951
  (John Arbash Meinel, #583486)
 
952
 
625
953
Internals
626
954
*********
627
955
 
1071
1399
  permissions as ``.bzr`` directory on a POSIX OS.
1072
1400
  (Parth Malwankar, #262450)
1073
1401
 
 
1402
* Raise ValueError instead of a string exception.
 
1403
  (John Arbash Meinel, #586926)
 
1404
 
 
1405
* Reduce peak memory by one copy of compressed text.
 
1406
  (John Arbash Meinel, #566940)
 
1407
 
1074
1408
* Repositories accessed via a smart server now reject being stacked on a
1075
1409
  repository in an incompatible format, as is the case when accessing them
1076
1410
  via other methods.  This was causing fetches from those repositories via
1077
1411
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
1078
1412
  (Andrew Bennetts, #562380)
1079
1413
 
 
1414
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
1415
  error. This error was caused by 2.0 not being updated when upstream
 
1416
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
1417
  ``done``. (Robert Collins, #571437)
 
1418
 
 
1419
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
1420
  directory file handle after the chdir fails. Otherwise when passing many
 
1421
  filenames into a command line ``bzr status`` we would leak descriptors.
 
1422
  (John Arbash Meinel, #583486)
 
1423
 
 
1424
 
1080
1425
bzr 2.0.5
1081
1426
#########
1082
1427
 
3776
4121
  can have a large effect on ``bzr checkout`` times. (John Arbash Meinel)
3777
4122
 
3778
4123
* selftest now supports a --parallel option, with values of 'fork' or
3779
 
  'subprocess' to run the test suite in parallel. Currently only linux
3780
 
  machine work, other platforms need patches submitted. (Robert Collins,
 
4124
  'subprocess' to run the test suite in parallel. Currently only Linux
 
4125
  machines work, other platforms need patches submitted. (Robert Collins,
3781
4126
  Vincent Ladeuil)
3782
4127
 
3783
4128
* ``tests.run_suite`` has a new parameter ``suite_decorators``, a list of 
6531
6876
 
6532
6877
* bzr main script cannot be imported (Benjamin Peterson)
6533
6878
 
6534
 
* On Linux bzr additionally looks for plugins in arch-independent site
 
6879
* On GNU/Linux bzr additionally looks for plugins in arch-independent site
6535
6880
  directory. (Toshio Kuratomi)
6536
6881
 
6537
6882
* The ``set_rh`` branch hook is now deprecated. Please migrate
6874
7219
 
6875
7220
* BZR_LOG environment variable controls location of .bzr.log trace file.
6876
7221
  User can suppress writing messages to .bzr.log by using '/dev/null'
6877
 
  filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
 
7222
  filename (on Unix) or 'NUL' (on Windows). If BZR_LOG variable
6878
7223
  is not defined but BZR_HOME is defined then default location
6879
7224
  for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
6880
7225
  (Alexander Belchenko, #106117)