diff --git a/release/changelog_since_last_release.txt b/release/changelog_since_last_release.txt index d1dccc9b7e9882b6b03f5ac3d8e2d5f7d62d4ca6..2074c836026ae1f09551292422185fd26ea5e31e 100644 --- a/release/changelog_since_last_release.txt +++ b/release/changelog_since_last_release.txt @@ -1,16 +1,15 @@ * bob.buildout * v2.1.3 (Sep 22, 2017 10:37) - * port to new CI/CD + * port to new CI/CD * v2.1.4 (Sep 22, 2017 11:34) - * port to new CI/CD + * port to new CI/CD * v2.1.5 (Sep 22, 2017 13:58) * no signficant changes * v2.1.6 (Feb 27, 2018 16:29) * Enables built-in conda packaging * Provides user/development guides * Provides an alternative for gdb (based on lldb) for MacOS - * Improve handling of environments for Python 3.6 (issue #24) - * rebuild + * Improve handling of environments for Python 3.6 (issue #24) * bob.extension * major * Big changes to the documentation of this package: divided guide in @@ -29,7 +28,7 @@ having a more comprehensive use of "-isystem" * Improvements to our internal search-path functionality for building other packages - * Ported to new CI/CD + * Ported to new CI/CD * bob.blitz * minor * Migrate to conda based CI @@ -76,34 +75,22 @@ - recompute far values in roc_for_far - Fix the test values * bob.io.image - *patch - - Fixed issue with PGM image load when such images have extra bytes (https://gitlab.idiap.ch/bob/bob.io.image/merge_requests/36). * minor - - Migrate to conda based CI + * Fixed issue with PGM image load when such images have extra bytes, see bob.io.image!36 + * Migrate to conda based CI * bob.db.base - * patch - - Implemented local file upload, cf. bob.db.base#20 - - Remove traces of internal server from file; By default, do local dir dump; Use… - - Fixed spacing in print statements - - Password is only required for upload to server - - Catch specific exceptions from shutil; Remove getpass stuff - - Now everything works ;-) - - Fix deprecations and super usage - - Add json annotation format support - - Call the init of super class in File - - Do not break when some of bob.db entrypoints are broken - - Migrate to conda based CI - - not all databases have original_directory and original_extension - - Annotations could be None + * major + * Migrate to conda based CI + * Implemented local file upload bob.db.base#20 + * Added support for JSON annotation format + * Unified use of `original_directory` and `original_extension` + * Minor improvements * bob.io.video * minor * Migrate to conda based CI - - adjust test values to openh264 - - increase acceptable noise - - adjust test values - - Revamped code for ffmpeg-3.1+ baseline - - Fixed readout; No more warnings - - Fixes bob.io.video#10 + * adjust test values to openh264 + * Revamped code for ffmpeg-3.1+ s + * Fixes bob.io.video#10 * bob.io.matlab * minor * Migrate to conda based CI @@ -209,24 +196,10 @@ * Migrate to conda based CI * bob.ip.dlib * v1.0.2 (Oct 19, 2017 10:18) - * Fixed issue with possible negative coordinates - - Fix for the empty image issue - when image is an array of zeros - - Fixed possible negative coordinates in face bbx retirned by FaceDetector - - Added the unit test for negative coordinates case + * Fixed issue with possible negative coordinates and empty image * patch - - Worked in the documentation - - [conda] Added conda recipe - - [conda] Trying to fix dlib dependency - - [conda] Added opencv as dependency - - update tests to dlib 19.7 - - adding develop config - - fixing documentation to dlib 19.7 - - [conda] Removed Bob deps from requirements/run and added Jinja variables for opencv and dlib - - Fix conda recipe - - Bump into beta version (closes bob.ip.dlib#4) - - Fixed the index.rst to match joint docs requirements - - Removed some spaces in index.rst - - [conda] Downgrading to the version 1.0.3b0 in order to fix conda issue. + * Migrate to conda based CI + * Improved documentation and tests * bob.db.arface * v2.1.4 (Sep 22, 2017 14:17) * minor @@ -234,20 +207,22 @@ * bob.db.asvspoof * v1.0.3 (Sep 22, 2017 14:20) * minor - - added conda recipe and removed redundant debug_asvspoof2017 script + * Migrate to conda based CI + * Removed redundant debug_asvspoof2017 script * bob.db.asvspoof2017 * v1.0.3 (Sep 22, 2017 14:20) * minor - - added conda recipe and removed redundant debug_asvspoof2017 script + * Migrate to conda based CI + * Removed redundant debug_asvspoof2017 script * bob.db.atvskeystroke * v2.1.5 (Sep 22, 2017 14:21) - * patch - - Port to new CI - - Fix build deps - - Add a ref to the package name - - Add missing whitespace + * minor + * Migrate to conda based CI * bob.db.avspoof - * patch + * v2.2.8 (Sep 22, 2017 14:22) + * minor + * Migrate to conda based CI + * Removed redundant debug_avspoof.py script * bob.db.banca * v2.1.5 (Sep 22, 2017 14:22) * minor @@ -260,7 +235,6 @@ * v2.1.8 (Sep 22, 2017 14:22) * minor * Migrate to conda based CI - - Update index.rst * bob.db.casme2 * v2.1.5 (Sep 22, 2017 14:23) * minor @@ -530,15 +504,10 @@ * bob.bio.gmm!9 Use generators instead of list to concatenate the loaded training data * bob.bio.gmm!12 Doc fixes * bob.bio.gmm!11 Python36 & docs fixes - - Adeded an author for the package - * patch - - Propagated --allow-missing-files to the UBM training - - Removed some garbage code - - Fixing issue bob.bio.gmm#22. Removing the keyword argument allow_missing_files. don't ask… - - Migrate to conda based CI - - [conda] Appended the test requirements to meta.yaml - - Fixed the index.rst to match joint docs requirements - - Fix the index levels + * minor + * Migrate to conda based CI + * Propagated --allow-missing-files to the UBM training + * Fixed issue bob.bio.gmm#22 * bob.bio.face * patch - First commit @@ -606,11 +575,10 @@ * bob.bio.spear * v3.1.1 (Sep 22, 2017 14:48) * bob.bio.spear!36 Docs url fixes - - reverted patch version - * patch - - pass kwargs in the base file class - - Migrate to conda based CI - - [sphinx] Fixed sphinx doc + * minor + * pass kwargs in the base file class + * Migrate to conda based CI + * Improved docs * bob.bio.video * v3.3.0 (Sep 22, 2017 13:41) * bob.bio.video!20 Docs url fix @@ -661,65 +629,21 @@ * Adaptations to allow vulnerability analysis * bob.db.voxforge * v2.2.0 (Sep 24, 2017 11:39) - * patch - - Remove unnecessary extra-intersphinx.txt - - Update README.rst - - Update index.rst - - Migrate to conda based CI - - [ci] Removed bob_dbmanage download + * minor + * Migrate to conda based CI + * Improved docs + * Removed bob_dbmanage download * bob.pad.base - * patch - - allow missing files projector - - allow missing files projector - - allow missing files scoring - - allow missing files scoring - - allow missing files scoring - - Don't rebuild bob.bio.base documentation here. Point to it instead - - Do not use pretty prininting with kwargs - - Use super - - inherit from object - - Add an option to return a flat list - - Add tests for flat=True - - Fix the sphinx warnings - - Fix sphinx warnings - - filelist-based db for bio and pad exper. Added docs - * Migrate to conda based CI - - Add padfile to label. Useful for deeplearning - - moved SVM algorithm from bob.pad.face - - moved SVM algorithm from bob.pad.face - - make tests passing - - Moved one class GMM from bob.pad.face - - Moved LR algo from bob.pad.face - - wrong name for scikit-learn package - - small correction of imports - - Moved SVM Cascade from bob.pad.face - - adding missing bob.learn.linear - - fixing builds - - Fixed the index.rst to match joint docs requirements - - Removed some spaces in index.rst - - Replace the old pad iso metrics class with a script - - improve logging message of projection training - - Added missing indirect dependencies - - improve requirements.txt and develop.cfg - - Update meta.yaml - - Update meta.yaml - - Update requirements.txt - - score computation is not a parallel job - - Allow for missing files in the projection step - - raise runtimeerror exception instead - - [helper] corrected one of the convert frames ... function to work with numpy arrays - - [SVM] made return score working for 1d - - [test] added test for helper functions converting array to FrameContainer and vice versa - - [test] corrected the np vs numpy in the test from frame container to array - - [test] another correction to test if array is numpy.array - - [test] yet another correction (previous one was sloppy) to test if array is numpy.array - - [test] test if array is numpy.ndarray and not numpy.array ... - - [utils] corrected an indentation error causing troubles during conversion… - - [doc] fixed some references - - added clients option to filelistdb driver - - Avoids feature blow-up when std==0. - - Fixed convert_frame_cont_to_array addressing missing annotations - - Add a predictions algorithm useful for deeplearning + * major + * Migrate to conda based CI + * Added --allow-missing-files option + * Improved documentation + * Moved from bob.pad.face SVM (bob implementation), one class GMM (scikit-learn) and logistic regression (scikit-learn) algorithms + * Cleaned up and improved code. Added tests. + * Replace the old PAD ISO metrics class with a script + * Added clients option to FileListDB driver + * Avoids feature blow-up when std==0. + * Added predictions algorithm and padfile to label. * bob.pad.face * major * Added High Level Database Interface (HLDI) for MIFS database diff --git a/release/generate_changelog.py b/release/generate_changelog.py index 4bf779af55f389d55c50b60f55e300e5d793f5e6..6fc5cbf38c2bf7decb6a89982845aa609fb562c1 100755 --- a/release/generate_changelog.py +++ b/release/generate_changelog.py @@ -24,6 +24,15 @@ import gitlab import datetime +def _insure_correct_package(candidates, group_name, pkg_name): + pkg = None + for pkg in candidates: + # make sure the name and the group name match exactly + if pkg.name == pkg_name and pkg.namespace['name'] == group_name: + return pkg + raise ValueError('Package "{0}" was not found inside group "{1}"'.format(pkg_name, group_name)) + + def get_packages_list(gl, gl_group=None): if gl_group: grp_nightlies = gl_group.projects.list(search='bob.nightlies')[0] @@ -145,7 +154,8 @@ def print_tags_with_commits(pkg_name, gitpkg, since='2017-01-01T00:00:00Z'): def main(private_token, pkg_name=""): gl = gitlab.Gitlab('https://gitlab.idiap.ch', private_token=private_token, api_version=4) - bob_group = gl.groups.list(search='bob')[0] + group_name = 'bob' + bob_group = gl.groups.list(search=group_name)[0] # print(pkg_list_ordered) last_release_date = bob_last_release(gl) # print(last_release_date) @@ -153,15 +163,17 @@ def main(private_token, pkg_name=""): # import ipdb; ipdb.set_trace() if pkg_name: # group returns a simplified description of the project - grpkg = bob_group.projects.list(search=pkg_name)[0] + grpkg = _insure_correct_package(bob_group.projects.list(search=pkg_name), group_name, pkg_name) # so, we need to retrieve the full info from GitLab using correct project id gitpkg = gl.projects.get(id=grpkg.id) print_tags_with_commits(pkg_name, gitpkg, since=last_release_date) else: pkg_list_ordered = get_packages_list(gl, gl_group=bob_group) for pkg_name in pkg_list_ordered: + if pkg_name == group_name: # skip bob meta-package + continue # group returns a simplified description of the project - grpkg = bob_group.projects.list(search=pkg_name)[0] + grpkg = _insure_correct_package(bob_group.projects.list(search=pkg_name), group_name, pkg_name) # so, we need to retrieve the full info from GitLab using correct project id gitpkg = gl.projects.get(id=grpkg.id) # print_tags(pkg_name, gitpkg, since=last_release_date))