4 :Contact: grubert@users.sourceforge.net, docutils-develop@users.sourceforge.net
7 :Copyright: This document has been placed in the public domain.
9 Notes on what happend while releasing.
11 Release 0.20 (2023-05-09)
12 =========================
14 (follow docs/dev/release.txt)
18 * Update RELEASE-NOTES.txt add section ``Release 0.20``.
20 Changes were already done on canditate
22 * Change HISTORY.txt title ``Release 0.20 (2023-05-09)``.
24 * Set new version (replace ``<version>`` with the new version indentifier
25 and ``<docutils-repository-root>`` with the dir containing
26 ``HISTORY.txt`` and ``RELEASE-NOTES.txt``)::
28 cd <docutils-repository-root>
29 ../sandbox/infrastructure/set_version.sh <version>
31 * run tox 3.7 ... 3.11, run python3.12 alltests.py
35 * Generate wheel and source-distribution::
37 python3 setup.py sdist
38 python3 setup.py bdist_wheel
40 * Upload wheel and source to test.pypi::
42 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
46 python3 -m venv du3 ; cd du3
47 export PYTHONPATH= ; . bin/activate
49 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
51 cp -Lr ../docutils-code/docutils/test .
52 python test/alltests.py
54 python -m pip uninstall docutils
55 deactivate ; cd .. ; rm -r du3
57 * Commit changes ... the changed version number.
60 release candidate 1 (2023-05-04)
63 * run tox : py3.7 to py3.11 : OK
64 * run tests with 3.12.0a7 : OK
66 * Update RELEASE-NOTES.txt add section ``Release <version>``.
68 Consult HISTORY.txt for important changes.
70 * Change HISTORY.txt title ``Changes Since <previous release>`` to ``Release <version>``.
72 * Set new version with ``sandbox/infrastructure/set_version.sh <version>``
74 run tox (py3.7 to 3.11)
76 Check docutils/__init__.py __version_info__ tuple. : OK
80 export PYTHONWARNINGS=default
81 python3 test/alltests.py
83 OK , no warnings (really no)
85 * Generate wheel and source-distribution::
87 python3 setup.py sdist
88 python3 setup.py bdist_wheel
90 * Upload wheel and source to test.pypi::
92 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
94 * Test in venv. NOTE use --pre for prereleases::
96 python3 -m venv du3 ; cd du3
97 export PYTHONPATH= ; . bin/activate
99 python -m pip install --index-url https://test.pypi.org/simple/ --pre --no-deps docutils
101 cp -Lr ../docutils-code/docutils/test .
102 python test/alltests.py
104 HISTORY.txt is not installed with wheel.
108 python -m pip uninstall docutils
109 deactivate ; cd .. ; rm -r du3
111 * Commit changes ... the changed version number.
113 * Now upload to pypi::
115 python3 -m twine upload dist/docutils-0.20*
117 * Remove previous package from local cache::
119 find .cache/pip/wheels -name docutils\*whl -exec rm -v -i {} \;
123 python3 -m venv du3 ; cd du3
124 export PYTHONPATH= ; . bin/activate
126 pip install --pre --no-deps docutils
127 cp -Lr ../docutils-code/docutils/test .
128 python test/alltests.py
130 HISTORY.txt is missing.
134 deactivate ; cd .. ; rm -r du3
136 * Notify to docutils-developer and user.
140 TODO on release tag the source
142 Release 0.19 (2022-07-05)
143 =========================
145 (follow docs/dev/release.txt)
149 * run tests with py3.6 to 3.11
151 * Update RELEASE-NOTES.txt add section ``Release <version>``.
153 Consult HISTORY.txt for important changes.
155 * Change HISTORY.txt title ``Changes Since <previous release>`` to ``Release <version>``.
157 * Set new version with ``sandbox/infrastructure/set_version.sh <version>``
159 Check what was changed with version control system by ``set_version.sh``
161 Change docutils/__init__.py __version_info__ tuple.
165 export PYTHONWARNINGS=default
166 python3 test/alltests.py
170 ``export PYTHONWARNINGS=default`` prints DeprecationWarnings in python3.
172 * Generate wheel and source-distribution::
174 python3 setup.py sdist
175 python3 setup.py bdist_wheel
177 * Upload wheel and source to test.pypi::
179 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
181 Test in venv. NOTE use --pre for prereleases::
183 python3 -m venv du3 ; cd du3
184 export PYTHONPATH= ; . bin/activate
186 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
188 cp -Lr ../docutils-code/docutils/test .
189 python test/alltests.py
191 python -m pip uninstall docutils
192 deactivate ; cd .. ; rm -r du3
194 * Commit changes ... the changed version number.
196 * tag 0.## (Note: only directory docutils is copied)::
198 svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
199 svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.19 \
200 -m "tagging release 0.19"
202 * Update your source directory.
203 * Rebuild wheel and source-distribution ::
205 python3 setup.py sdist
206 python3 setup.py bdist_wheel
208 * Now upload to pypi::
210 python3 -m twine upload dist/docutils-0.19*
212 * Remove previous package from local cache::
214 find .cache/pip/wheels -name docutils\*whl -exec rm -v -i {} \;
218 python3 -m venv du3 ; cd du3
219 export PYTHONPATH= ; . bin/activate
221 pip install --no-deps docutils
222 cp -Lr ../docutils-code/docutils/test .
223 python test/alltests.py
225 deactivate ; cd .. ; rm -r du3
227 * Notify to docutils-developer and user.
229 * upload source and generated html to sf-htdocs/0.19 ::
233 tar xzvf ../dist/docutils-0.19.tar.gz
236 find . -name \*.pyc -exec rm -v {} \;
237 find . -name __pycache__ -exec rmdir -v {} \;
238 rm -r docutils.egg-info
239 rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.19
241 * Check web/index.txt for necessary corrections.
242 * Run sandbox/infrastructure/docutils-update.local to update web-content.
243 * Release to sourceforge.
245 - Upload tar.gz and 0.19 release notes to sourceforge.
246 - Select docutils-0.19.tar.gz as default for all OS.
248 * set_version 0.19.1b.dev
250 * docutils/HISTORY.txt: add title "Changes Since 0.##"
252 * run sandbox/infrastructure/docutils-update.local
254 Problems while releasing 0.19b1
255 ===============================
257 * If docutils is installed into virtual environment and
258 the test directory is copied from development directory
259 with ``cp -Lr ...``::
262 always follow symbolic links in SOURCE
264 - finding ``HISTORY.txt`` in test_utils.py fails.
265 Create a HISTORY.txt file to avoid.
267 setup.cfg contained the universal setting that generated py2py3 wheels.
269 Release 0.19b1 (2022-06-21)
270 ===========================
275 * Generate universal wheel and source-distribution ::
277 python3 setup.py sdist
278 python3 setup.py bdist_wheel
280 * Upload universal wheel and source to test.pypi::
282 twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.19b*
284 * test in venvs: ignore wrong paths and un-embedded images
288 twine upload dist/docutils-0.19*
290 * and test: python uses the cached download from the previous test.
292 - remove from pip cache::
294 find .cache/pip/wheels -name docutils\*whl
296 ERROR (fixed in r9089)
298 ``python3 setup.py bdist_wheel`` builds a docutils-0.19b1-py2.py3-none-any.whl
299 although python > 3.7 is required ... will this break python2 installations ?
301 This happens with option universal and without and also if using *build*.
303 Testing with python2.7 : only 0.18 is installed, even with --pre and -U.
305 Locally cached wheels may pose a problem, though.
306 Cf. https://github.com/marshmallow-code/marshmallow/issues/1860
308 * set_version 0.19b2.dev and change __version_info_structure.
311 * Run sandbox/infrastructure/docutils-update.local to update web-content.
313 Release 0.18.1 (2021-11-23)
314 ===========================
316 follow docs/dev/release.txt
318 Release 0.18.1b (2021-11-18)
319 ============================
321 * run tox: passed 2.7, 3.5 ... 3.11
322 * set_version 0.18.1b
324 * commit : release 0.18.1b
325 * Generate universal wheel and source-distribution with py3.8::
327 python3 setup.py sdist
328 python3 setup.py bdist_wheel --universal
330 * Upload universal wheel and source to test.pypi::
332 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.18.1b0*
334 * test in venvs: ignore wrong paths and un-embedded images
338 python3.9 -m twine upload dist/docutils-0.18.1b0*
340 * and test: Note python3 uses the cached download from the python2 test.
342 - remove from pip cache::
344 find .cache/pip/wheels -name docutils\*whl
346 * set_version 0.18.1b1.dev
349 * Run sandbox/infrastructure/docutils-update.local to update web-content.
351 Release 0.18 (2021-10-26)
352 =========================
354 * beta is out for three weeks.
355 * announce soft freeze on dev-mail.
356 * run tox: passed 2.7, 3.5 ... 3.11
359 * commit : release 0.18
360 * Generate universal wheel and source-distribution with py39.
361 * Upload universal wheel and source to test.pypi.
362 * test in venvs: ignore wrong paths and un-embedded images
365 svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils
366 svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.18
367 -m "tagging release 0.18"
370 * and test: Note python3 uses the cached download from the python2 test.
373 * upload source and generated html to sf-htdocs/0.18
377 tar xzvf ../dist/docutils-0.18.tar.gz
380 find . -name \*.pyc -exec rm {} \;
381 rm -rf docutils.egg-info
382 rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.18
384 * Check web/index.txt for necessary corrections : None necessary.
385 * Release to sourceforge.
387 - Upload tar.gz and 0.18 release notes to sourceforge.
388 - Select docutils-0.18.tar.gz as default for all OS.
390 * set_version 0.18.1.dev
392 * docutils/HISTORY.txt: add title "Changes Since 0.18"
393 * Notify docutils-developer and user.
394 * Run sandbox/infrastructure/docutils-update.local to update web-content.
396 Release 0.17 aftermath
397 ======================
399 :2021-04-05: Fixed: on-ASCII characters in docutils/writers/latex2e/docutils.sty
401 :2021-04-04: Open: [readthedocs/recommonmark]
402 AttributeError: 'Values' object has no attribute 'tab_width' (#220)
404 pinning to docutils 0.16 helped ... why ?
406 Release 0.17.1 (2021-04-16)
407 ===========================
409 * tox with 2.7 3.5, 3.6, 3.7, 3.8, 3.9, 3.10
412 * commit : release 0.17.1
413 * Generate universal wheel and source-distribution with py38.
414 * Upload universal wheel and source to test.pypi.
415 * test in venvs ... and then next problem pypi caches 0.17.1b2.
417 --no-cache-dir does not help.
419 call twice, second time with ``--upgrade``.
424 * Notify docutils-developer and user.
425 * upload source and generated html to sf-htdocs/0.17.1
426 * Check web/index.txt for necessary corrections : None necessary.
427 * Release to sourceforge.
428 * set_version 0.17.2b.dev
430 * docutils/HISTORY.txt: add title "Changes Since 0.17.1"
431 * run sandbox/infrastructure/docutils-update.local
434 Release 0.17.1 (2021-04-12 ...)
435 ===============================
437 * tox with 2.7 3.5, 3.6, 3.7, 3.8, 3.9, 3.10
439 - 3.7 and 3.10 fail. Both with ::
441 from _ctypes import Union, Structure, Array
442 ModuleNotFoundError: No module named '_ctypes'
444 testing against development source passes.
446 Test crosstest, see subdirectory
448 3.7 and 3.10 require libffi-dev to build local
449 then tox passes for 3.5 to 3.10.
451 Release 0.17.1b1 (2021-04-09)
452 =============================
454 * tox with 2.7 3.5, 3.6, 3.8, 3.9
456 * with LC_ALL=C and PYTHONWARNINGS=default
458 python3.6 and python3.10.0a ::
460 docutils/utils/smartquotes.py:639: DeprecationWarning: invalid escape sequence \[
461 ch_classes = {'open': u'[(\[{]', # opening braces
462 docutils/test/test_writers/test_manpage.py:62: DeprecationWarning: invalid escape sequence \-
463 ... several of the same
465 * recommonmark tests::
467 python3.6 -m pip install --user recommonmark
470 python3.6 test/alltests.py
471 FAILED (failures=17, errors=17, skipped=1)
474 b'\nExternal hyperlink [target]s:\n\n[target]: http://www.python.org/\n'
477 <document source="test data">
480 - <reference name="target" refuri="http://www.python.org/">
482 + <reference refuri="http://www.python.org/">
486 only works with recommonmark 0.4
488 * Generate universal wheel and source-distribution with py38.
489 * Upload universal wheel and source to test.pypi.
490 * Test in python3.8 venv
496 >>> import docutils.parsers.recommonmark_wrapper as rw
498 ['Parser', '__builtins__', '__cached__', '__doc__', '__file__',
499 '__loader__', '__name__', '__package__', '__spec__',
500 '_recommonmarkParser', 'docutils', 'nodes', 'with_recommonmark']
502 In development directory ::
504 >>> import docutils.parsers.recommonmark_wrapper as rw
506 ['CommonMarkParser', 'Component', 'Parser', '__builtins__',
507 '__cached__', '__doc__', '__file__', '__loader__',
508 '__name__', '__package__', '__spec__', 'docutils', 'nodes']
510 Depending on recommonmark being installed in the running python
511 version or not ``CommonMarkParser`` is a class or None.
513 * Rebuild the wheel after running tox (this cleans caches).
514 Cannot be uploaded to testpypi because it is the same name.
516 Install the whl from dist-directory into py38 venv.
519 * New version 0.17.1b1.dev because pypi does not allow changing uploads.
520 * Run tox and python3.10 test.
521 * Commit new version number
522 * build sdist and universal wheel with py39.
523 * Install wheel from dist into venv py39.
525 Test passes (embedding fails because images are missing).
527 * Upload universal wheel and source to test.pypi.
528 * Install into py39 venv : This time install the --pre release
532 * test in py39 venv. Passed
533 * test in py39 venv with LC_ALL=C. Passed
534 * test in venv with recommonmark==0.4: fails . requires module html.
536 * notify docutils-develop and user and sphinx.
537 * New version 0.17.1b2.dev
539 Release 0.17 (2021-04-03 ...)
540 =============================
542 * tox with 2.7 3.8, 3.9
544 3.10a6 misses _ctypes.
546 * copy more things from HISTORY to RELEASE-NOTES
548 * ``set_version.sh 0.17``
550 * Run tests manually and via tox:
561 * Generate universal wheel and source-distribution.
562 * Upload universal wheel and source to test.pypi.
563 Wait some minutes to test in python2 virtualenv.
565 Test in python3.10 venv.
567 Stylesheet paths are different and image embedding fails
568 because images are not found.
570 After copying ``docs/user/rst/images`` from docutils into the
571 venv-directory/docs/user/rst/images image embedding works.
573 * Commit changes to version control system.
574 * tag 0.17 (Note: only directory docutils is copied)::
576 svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
577 svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.17 \
578 -m "tagging release 0.17"
580 * Generate universal wheel and source-distribution.
581 Do it again and check for differences: svn-numbers and sha-fingerprints
583 * Now upload to pypi (the newly created s- and bdist).
584 * ... and test in venv and virtualenv.
585 * Notify to docutils-developer and user.
586 * Upload source and html to sf-htdocs/0.17
588 * Check web/index.txt for necessary corrections: nothing to do.
590 * Run sandbox/infrastructure/docutils-update.local to update web-content.
591 * Release to sourceforge.
593 - Upload tar.gz and 0.17 release notes to sourceforge.
594 - Select docutils-0.17.tar.gz as default for all OS.
596 * set_version 0.18b.dev
597 * test with py2 and py3
598 * docutils/HISTORY.txt: add title "Changes Since 0.17"
600 * run sandbox/infrastructure/docutils-update.local
602 BetaRelease 0.17b1 (2021-02-10) to test.pypi
603 ============================================
605 * tox with 2.7 3.8 and 3.9 ::
607 functional/expected/standalone_rst_html5.html
609 -<dl class="footnote brackets">
611 -<dd><p>Requires support for attributes to inline
612 -roles to make sense.</p>
616 seams to be a moved chunk in test input but not in expected
620 ``python3 setup.py clean`` tells ::
622 setuptools/dist.py:473: UserWarning: Normalizing '0.17b.dev' to '0.17b0.dev0'.
624 According to https://peps.python.org/pep-0440/#pre-releases
631 export PYTHONWARNINGS=default
632 python2 test/alltests.py
637 python3 test/alltests.py
641 python has some ResourceWarning::
643 docutils/parsers/rst/directives/images.py:145: ResourceWarning:
644 unclosed file <_io.BufferedReader name=b'../docs/user/rst/images/title.png'>
647 docutils/writers/html4css1/__init__.py:578: ResourceWarning:
648 unclosed file <_io.BufferedReader name=b'../docs/user/rst/images/biohazard.png'>
651 * Upload universal wheel and source to test.pypi::
653 python3 setup.py sdist
654 python3 setup.py bdist_wheel --universal
655 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
657 Wait some minutes to test in virtualenv ::
659 python2 -m virtualenv du2 ; cd du2
660 export PYTHONPATH= ; . bin/activate
662 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps --pre docutils
663 # Successfully installed docutils-0.17b1
665 cp -r ~/projects/docutils-code/docutils/test .
666 # copy docs too for inlined images to be found
667 python2 test/alltests.py
668 # IGNORE stylesheet path differences ?
672 python3 -m venv du3 ; cd du3
673 export PYTHONPATH= ; . bin/activate
675 python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps --pre docutils
676 # Successfully installed docutils-0.17b1
678 cp -r ~/projects/docutils-code/docutils/test .
679 cp -r ~/projects/docutils-code/docutils/docs .
680 python test/alltests.py
681 # Python 3.8.5 Linux 5.4.0
682 # IGNORE stylesheet path differences ?
684 * commit 0.17b1 to code.sf
686 * Now upload to pypi::
688 python3 -m twine upload dist/docutils-0.17b1*
692 python3 -m venv du3 ; cd du3
693 export PYTHONPATH= ; . bin/activate
695 pip install --no-deps --pre docutils
697 cp -r ~/projects/docutils-code/docutils/test .
698 cp -r ~/projects/docutils-code/docutils/docs .
699 python test/alltests.py
702 * Notify to docutils-developer and user.
704 * ON RELEASE then: tag 0.16 (Note: only directory docutils is copied)::
706 svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
707 svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.16 \
708 -m "tagging release 0.16"
710 * run sandbox/infrastructure/docutils-update.local
712 * set version 0.17b2.dev
713 * test with tox: py27 and py38 39
715 * run sandbox/infrastructure/docutils-update.local
717 .. note:: final release has some extra steps
719 Release 0.16 (2020-01-12)
720 =========================
726 export PYTHONWARNINGS=default
727 python2 test/alltests.py
728 python3 test/alltests.py
730 Upload universal wheel and source to test.pypi::
732 python3 setup.py sdist
733 python3 setup.py bdist_wheel --universal
734 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
736 Wait some minutes to test in virtualenv ::
738 python2 -m virtualenv du2 ; cd du2
739 export PYTHONPATH= ; . bin/activate
741 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
742 # Successfully installed docutils-0.16
744 cp -r ~/projects/docutils-code/docutils/test .
745 python2 test/alltests.py
746 # IGNORE stylesheet path differences ?
748 python -m pip uninstall docutils
749 deactivate ; cd .. ; rm -rf du2
753 python3 -m venv du3 ; cd du3
754 export PYTHONPATH= ; . bin/activate
756 python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
757 # Successfully installed docutils-0.16
759 cp -r ~/projects/docutils-code/docutils/test .
760 python test/alltests.py
761 # IGNORE stylesheet path differences ?
762 # FAIL: test_find_file_in_dirs (test_utils.HelperFunctionTests)
763 # FAIL: test_rst/ interpreted directives/code ...
764 # classes="keyword" is "name builtin" in 3.8.0b3 on Darwin 15.6.0
768 python3 -m twine upload dist/docutils-0.16*
772 python3 -m venv du3 ; cd du3
773 export PYTHONPATH= ; . bin/activate
775 pip install --no-deps docutils
777 cp -r ~/projects/docutils-code/docutils/test .
778 python test/alltests.py
781 python2 -m virtualenv du2 ; cd du2
782 export PYTHONPATH= ; . bin/activate
784 pip install --no-deps docutils
786 cp -r ~/projects/docutils-code/docutils/test .
787 python test/alltests.py
790 Notify to docutils-developer and user.
792 * tag 0.16 (Note: only directory docutils is copied)::
794 svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
795 svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.16 \
796 -m "tagging release 0.16"
802 tar xzvf ../dist/docutils-0.16.tar.gz
805 find . -name \*.pyc -exec rm {} \;
806 rm -rf docutils.egg-info
807 rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.16
809 * change web index.txt
810 * run sandbox/infrastructure/docutils-update.local
812 * set version 0.17b.dev
813 * test with py2 and py3
814 * run sandbox/infrastructure/docutils-update.local
816 * docutils/HISTORY.txt: change title "Changes since 0.15" to "Release 0.16"
817 add "Changes since 0.16"
818 * docutils/RELEASE-NOTES.txt change title "Release 0.16b ..." to Release 0.16 ..."
820 * Release to sourceforge.
822 - Remove test/outputs from tar.gz.
823 - Upload tar.gz and 0.16 release notes to sourceforge.
824 - Select docutils-0.16.tar.gz as default for all OS.
833 export PYTHONWARNINGS=default
834 python2 test/alltests.py
835 python3 test/alltests.py
837 Fix: DeprecationWarning: Please use assertEqual in test_nodes.
839 Upload universal wheel and source to test.pypi::
841 python3 setup.py sdist
842 python3 setup.py bdist_wheel --universal
843 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
845 Wait some minutes to test in virtualenv ::
847 python2 -m virtualenv du2 ; cd du2
848 export PYTHONPATH= ; . bin/activate
850 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
851 # Successfully installed docutils-0.15.2
852 python -m pip uninstall docutils
853 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps --pre docutils
854 # Successfully installed docutils-0.16Crc1
856 cp -r ~/projects/docutils-code/docutils/test .
857 python2 test/alltests.py
858 # IGNORE stylesheet path differences ?
860 # -<link rel="stylesheet" href="../input/data/html4css1.css" type="text/css" />
861 # -<link rel="stylesheet" href="../input/data/math.css" type="text/css" />
862 # +<link rel="stylesheet" href="../../html4css1.css" type="text/css" />
863 # +<link rel="stylesheet" href="../../math.css" type="text/css" />
865 deactivate ; cd .. ; rm -rf du2
869 python3 -m venv du3 ; cd du3
870 export PYTHONPATH= ; . bin/activate
872 python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
873 # Successfully installed docutils-0.15.2
874 python -m pip uninstall docutils
875 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps --pre docutils
876 # Successfully installed docutils-0.16b0.dev0
877 cp -r ~/projects/docutils-code/docutils/test .
878 python test/alltests.py
880 Seven CSS-path failures ... ignored for now::
882 deactivate ; cd .. ; rm -rf du3
886 python3 -m twine upload dist/docutils-0.16rc1*
890 python3 -m venv du3 ; cd du3
891 export PYTHONPATH= ; . bin/activate
893 pip install --no-deps --pre docutils
895 cp -r ~/projects/docutils-code/docutils/test .
896 python test/alltests.py
899 python2 -m virtualenv du2 ; cd du2
900 export PYTHONPATH= ; . bin/activate
902 pip install --no-deps --pre docutils
904 cp -r ~/projects/docutils-code/docutils/test .
905 python test/alltests.py
908 Notify to docutils-developer and user.
910 Release 0.15 (2019-07-24)
911 =========================
918 While releasing 0.15 ::
920 python3 setup.py sdist bdist_wheel
921 python2 setup.py bdist_wheel
923 This will result in the py2 wheel being identical to the py3 one.
925 The name ``docutils-0.15-py2-none-any.whl`` cannot be used twice on pypi,
926 build the py2-wheel and rename it ``docutils-0.15.post1-py2-none-any.whl``.
927 (No code was changed therefore only filename change.)
929 Name it ``docutils-0.15-post1-py2-none-any.whl`` then the version in the filename
930 corresponds to the directory names in the wheel file.
932 Maybe change the the version number in setup.py ?
934 Release 0.15.2 (2019-07-30)
935 ===========================
937 Bump the version number to ease tool live.
942 python2 test/alltests.py
943 python3 setup.py test3/alltests.py
945 svn di | grep '^[+-]' | less -p '0.15.[12]'
948 Build py2 release upload to test.pypi ::
951 svn export svn+ssh://grubert@svn.code.sf.net/p/docutils/code/branches/rel-0.15/docutils
953 python2 setup.py sdist bdist_wheel
954 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.15.2-py2-none-any.whl
956 Test in virtualenv ::
958 virtualenv du2 ; cd du2
959 export PYTHONPATH= ; . bin/activate
961 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
962 cp -r ~/projects/docutils-rel-0.15/docutils/py2/docutils/test .
963 python2 test/alltests.py
964 # IGNORE stylesheet path differences
966 deactivate ; cd .. ; rm -rf du2
968 release to pypi from the exported source directory ::
970 python3 -m twine upload dist/docutils-0.15.2*
972 Test in new virtualenv ::
974 virtualenv du2 ; cd du2
975 export PYTHONPATH= ; . bin/activate
978 # Successfully installed docutils-0.15.2
980 cp -r ~/projects/docutils-rel-0.15/docutils/py2/docutils/test .
981 python2 test/alltests.py
982 # IGNORE stylesheet path differences
984 deactivate ; cd .. ; rm -rf du2
986 Build py3 release upload to test.pypi.
987 In the export/docutils ::
990 python3 setup.py bdist_wheel
991 python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.15.2-py3-none-any.whl
993 Test in virtualenv ::
995 python3 -m venv du3 ; cd du3
996 export PYTHONPATH= ; . bin/activate
998 python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
1000 BUG install 0.15 source. Check test.pypi web interface ... py3-wheel is there.
1003 # Successfully installed docutils-0.15.2
1004 cp -r ~/projects/docutils-rel-0.15/docutils/py2/docutils/test3 .
1005 python test3/alltests.py
1006 # IGNORE upper directory Failure
1008 deactivate ; cd .. ; rm -rf du3
1010 release to pypi from the exported source directory ::
1012 python3 -m twine upload dist/docutils-0.15.2-py3*
1014 Wait for wheel to appear on pypi.org.
1016 Test in virtualenv ::
1018 python3 -m venv du3 ; cd du3
1019 export PYTHONPATH= ; . bin/activate
1021 pip install docutils
1022 # Successfully installed docutils-0.15.2
1024 cp -r ~/projects/docutils-rel-0.15/docutils/py2/docutils/test3 .
1025 python test3/alltests.py
1026 # IGNORE upper directory Failure
1028 deactivate ; cd .. ; rm -rf du3
1032 Release 0.15.1 (2019-07-24)
1033 ===========================
1035 Bug fix release for python2 only.
1037 * set version 0.15.1
1038 * ``python2 setup.py sdist bdist_wheel``
1039 * ``python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.15.1-py2-none-any.whl ``
1040 * in a new virtualenv::
1042 python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
1044 and then test/alltests.py
1046 * ``python3 -m twine upload dist/docutils-0.15.1*``
1048 upload py2-wheel and source.
1050 * in a new virtualenv::
1052 python -m pip install docutils
1054 and then test/alltests.py
1056 * (2019-07-25) replace source by -post1
1058 Name it ``docutils-0.15.1-post1.tar.gz`` to make sure
1060 * It is unchanged library code: *post1*
1061 * the version is still 0.15.1: therefore separate with ``-``
1063 * run the tests somewhere, fix and commit.
1066 svn export svn+ssh://@svn.code.sf.net/p/docutils/code/branches/rel-0.15/docutils d
1068 python2 setup.py sdist
1070 * check ``tar tzf dist/docutils-0.15.1.tar.gz`` for remaining files.
1073 mv dist/docutils-0.15.1.tar.gz dist/docutils-0.15.1-post1.tar.gz
1074 python -m twine upload dist/docutils-0.15.1-post1.tar.gz
1076 * Build a venv (python3), install docutils, copy test3 from development
1077 directory and run the test.
1079 As there is no 0.15.1 wheel for python3 this will be the source package.
1084 svn revision: 8258 - start of release
1086 * test on linux 2.7 3.7 : passed
1087 * test on macosx python2.6:
1089 - 7 failures due to different error messages. see below
1090 - 4 errors: python2.6 sys.version_info is a tuple no dictionary
1091 FIXED: revision 8260
1093 * test on macosx 2.7 3.4 3.6 3.7 : passed
1094 * change version to : 0.15rc1.dev
1096 - run tests: python 2.7 and 3.7
1098 * extract changes from HISTORY.txt to RELEASE-NOTES.txt
1099 * rename headings in HISTORY.txt and RELEASE-NOTES.txt
1100 * run release.sh stage 2: do a clean checkout and packing
1101 * run local test with python 2.6 2.7 3.4 3.6 3.7
1102 * upload to sourceforge.net. Keep 0.15 as latest, stable.
1103 * Fix: README.txt version number BY HAND
1106 - docutils is registered
1107 - check setup.py : add classifier 'Programming Language :: Python :: 3.7'
1108 - Login to pypi (see https://packaging.python.org/tutorials/packaging-projects/)
1110 - python3 -m pip install --user --upgrade setuptools wheel
1112 (warns about not being in PATH. symlink into my/bin)
1113 - python3 setup.py sdist bdist_wheel ::
1115 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'python_requires'
1118 error: invalid command 'bdist_wheel'
1120 - add import setuptools to setup.py
1121 - python3 setup.py sdist bdist_wheel
1122 - python2 setup.py bdist_wheel
1123 - python3 -m pip install --user --upgrade twine
1124 - twine upload dist/*
1126 check on pypi: 0.15 is there.
1128 * update website docs
1130 - in directory web edit index.txt
1131 - in sandbox/infrastructure run ./docutils-update.local
1133 * set version of repository to 0.16b.dev
1138 svn revision: 8145 - start of release - 0.15.0 beta
1143 svn revision: 8082 Prerelease 0.14a0
1144 svn revision: 8078 Prerelease 0.14.0a
1146 * merge changes from HISTORY.txt to RELEASE-NOTES.txt
1147 * extract release number description setting from release.sh
1148 * rename headings in HISTORY.txt and RELEASE-NOTES.txt
1149 * run release.sh stage 2: do a clean checkout and packing
1150 * run local test with python2.7
1151 * upload to sourceforge.net. Keep 0.13 as latest, stable.
1152 * reister on to pypi and upload tgz
1153 * pypi: unset hide old releases
1164 Tests are run from svn checkout, only few from install.
1166 * windows7 python 2.7.5: OK
1168 * windows7 python 3.4.1: as in previous release
1170 * test.css path error (filed #256)
1171 * test_parsers\test_rst\test_directives\test_include.py::
1173 * macosx 10.10 python 2.7.10: OK
1174 * macosx 10.10 python 3.3.2: OK
1175 * macosx 10.10 python 3.4.1: OK
1177 * ubuntu 12.04 python 2.7.3: OK
1178 * ubuntu 12.04 python 3.2.3: OK
1180 * testing tarball 0.13.1 (build sdist) ::
1182 +++ functional/output/standalone_rst_html5.html
1184 <meta content="A test document, containing at least one example of each reStructuredText construct." lang="en" name="description" xml:lang="en" />
1185 -<link rel="stylesheet" href="../input/data/minimal.css" type="text/css" />
1186 -<link rel="stylesheet" href="../input/data/plain.css" type="text/css" />
1187 -<link rel="stylesheet" href="../input/data/math.css" type="text/css" />
1188 +<link rel="stylesheet" href="../../minimal.css" type="text/css" />
1189 +<link rel="stylesheet" href="../../plain.css" type="text/css" />
1190 +<link rel="stylesheet" href="../../math.css" type="text/css" />
1193 this is because ``test/functional/input/data/minimal.css`` is a symlink to
1194 ``../../../../docutils/writers/html5_polyglot/minimal.css`` and release_test.sh
1195 removes directory docutils to ensure the test uses the installed docutils
1198 FIX: remove docutils/__init__.py
1208 Tests are run from svn checkout, only few from install.
1210 Python3 tests are run ::
1213 python3 setup.py build
1214 PYTHONPATH=build/lib python3 test3/alltests.py
1216 * ubuntu 8.04: python 2.4.5, 2.5.2, 2.6.7, 2.7.2 OK
1218 python 2.6.4rc1 6 failure due to change in error message: no such file ...
1222 * macosx 10.6.8: python 2.5.4, 2.7.3
1224 python 2.6.1 6 failure due to change in error message: no such file ...
1226 python 3.2, 3.4.1 OK
1228 * ubuntu 14.04: pyton 2.7.6, python 3.4.0 OK
1230 * windows7: python 2.7.5
1232 Error (filed #256): test_writers/test_html4css1_template.py::
1235 - <link rel="stylesheet" href="/test.css" type="text/css" />"""
1236 + <link rel="stylesheet" href="C:/test.css" type="text/css" />"""
1241 * test.css path error (filed #256)
1242 * test_parsers\test_rst\test_directives\test_include.py::
1244 b'Encoding:\n\n.. include:: test_parsers/test_rst/test_directives/utf-16.csv\n :encoding: utf-16\n'
1245 File "test3\alltests.py", line 40, in write
1246 string = string.encode('raw_unicode_escape').decode('ascii')
1247 UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 994: ordinal not in range(128)
1249 fiddling with alltests.py (uncommitted) ::
1251 <system_message level="4" line="1" source="test data" type="SEVERE">
1253 Problem with "raw" directive:
1254 UnicodeDecodeError: \'utf-16-be\' codec can\'t decode bytes in position 90-91: illegal encoding
1255 <literal_block xml:space="preserve">
1257 :file: test_parsers/test_rst/test_directives/utf-16.csv
1258 :encoding: utf-16''' != '''\
1268 ``sandbox/infrastructure/release.sh`` tries running ``test/alltests.py`` after
1269 installing the new release, this fails because
1271 * tests depends on e.g. ``../docs/user/rst/images/title.png`` or ``../HISTORY.txt``,
1272 but thess are neither in the test directory tree nor in the installed software.
1274 * there is a lot of code trying to handle varying installation targets ``/usr/lib``
1275 ``/usr/local/lib` and not yet ``/usr/lib/pymodules``.
1279 1. build and install
1280 2. extract docutils-<release>.tar.gz into tmp
1281 3. remove docutils/docutils directory, just to make shure it is not used.
1282 4. run test/alltest.py in this directory, so all files are where they are
1285 Following failure becuase docutils-library directory was removed, therefore
1286 docutils/writers/html4css1/html4css1.css is not found::
1288 ======================================================================
1289 FAIL: test_custom_stylesheet_dir (test_writers.test_html4css1_misc.SettingsTestCase)
1290 ----------------------------------------------------------------------
1291 Traceback (most recent call last):
1292 File "/... 0.11/test/test_writers/test_html4css1_misc.py", line 81, in test_custom_stylesheet_dir
1293 self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
1294 File "/... 0.11/test/DocutilsTestSupport.py", line 138, in assertIn
1295 msg or '%s not in %s' % _format_str(a, b))
1296 AssertionError: 'docutils/writers/html4css1/html4css1.css' not in u'''\
1297 <link rel="stylesheet" href="html4css1.css" type="text/css" />
1298 <link rel="stylesheet" href="data/ham.css" type="text/css" />
1305 * ubuntu 8.04 2.4.5, 2.5.2, 2.6.7, 2.7.2 OK
1307 python 2.6.4rc1 6 failure due to change in error message: no such file ...
1309 Python 3.2.3 : OK (roman.py left over from last release)
1311 * macosx 10.6.8: python 2.5.4, 2.7.3
1313 python 2.6.1 6 failure due to change in error message: no such file ...
1315 python 3.2: roman.py for py3 required.
1320 release.sh does not work on MacOSX.
1322 installation on ubuntu 10.04 breaks test script::
1324 Working directory: /usr/local/lib/python2.6/site-packages/docutils-test
1325 Docutils package: /usr/local/lib/python2.6/dist-packages/docutils
1327 ======================================================================
1328 FAIL: test_find_file_in_dirs (test_utils.HelperFunctionsTests)
1329 ----------------------------------------------------------------------
1330 Traceback (most recent call last):
1331 File "/usr/local/lib/python2.6/site-packages/docutils-test/test_utils.py", line 295, in test_find_file_in_dirs
1333 AssertionError: 'HISTORY.txt' != '../HISTORY.txt'
1342 * same failures for some python2.6 versions ::
1344 Problems with "raw" directive path:
1345 - InputError: [Errno 2] No such file or directory: 'non-existent.file'.
1346 + InputError: (2, 'No such file or directory').
1348 * testing release tarball ::
1350 ======================================================================
1351 FAIL: test_dependencies (__main__.RecordDependenciesTests)
1352 ----------------------------------------------------------------------
1353 Traceback (most recent call last):
1354 File "docutils-test/test_dependencies.py", line 61, in test_dependencies
1355 self.assertEqual(record, expected)
1356 AssertionError: [u'data/include.txt', u'data/raw.txt'] != [u'../docs/user/rst/images/title.png',
1357 u'data/include.txt', u'data/raw.txt']
1361 because ../docs is not there if run from /usr/../pythonx.x/site-packages/docutils-test.
1366 same failures as for 0.9 plus
1368 * python 2.3: twice, ignored ::
1370 - [Errno 2] No such file or directory: 'bogus.csv'.
1371 + [Errno 2] No such file or directory: u'bogus.csv'.
1375 ======================================================================
1376 ERROR: test_unicode (test_error_reporting.ErrorStringTests)
1377 ----------------------------------------------------------------------
1378 Traceback (most recent call last):
1379 File "/usr/local/lib/python2.3/site-packages/docutils-test/test_error_reporting.py", line 153, in test_unicode
1380 self.assertEqual(u'ImportError: %s' % SafeString(self.bs),
1381 UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 0: ordinal not in range(128)
1383 Note: sf takes some considerable time till the downlods are visible for normal users.
1384 More than 1 hour , the folder files/docutils/0.9.1 exists and the webinterface
1385 correctly summarizes "Totals: 2 Items 1.6 MB" but nothing is shown.
1390 * python 2.3 unittest.TestCase has no assertTrue
1391 * python 2.3 keyword dictionaries update method does not support kwargs
1395 * python 2.3: unicode problems. 2.3 support is likely to be ended soon.
1396 Systems with only 2.3 might not even know of unicode.
1398 * PIL ``AttributeError: 'module' object has no attribute 'Image'``
1401 Tested and failiing on
1403 - ubuntu8.04, python 2.4, 2.5
1404 - ubuntu10.04, python 2.6
1405 - ubuntu11.10, python 2.7
1407 * python 2.6.4rc1 has a different error message format::
1409 Problems with "raw" directive path:
1410 - InputError: [Errno 2] No such file or directory: 'non-existent.file'.
1411 + InputError: (2, 'No such file or directory').
1413 but not in python 2.6.7