From d322c519e3d10ccc17841df50fb5c86628fb79ee Mon Sep 17 00:00:00 2001 From: Pavel Korshunov <pavel.korshunov@idiap.ch> Date: Thu, 22 Mar 2018 15:04:58 +0100 Subject: [PATCH] added script to generate changelog since last release --- release/changelog_since_last_release.txt | 893 +++++++++++++++++++++++ release/generate_changelog.py | 159 ++++ 2 files changed, 1052 insertions(+) create mode 100644 release/changelog_since_last_release.txt create mode 100755 release/generate_changelog.py diff --git a/release/changelog_since_last_release.txt b/release/changelog_since_last_release.txt new file mode 100644 index 0000000..41e7a79 --- /dev/null +++ b/release/changelog_since_last_release.txt @@ -0,0 +1,893 @@ +* bob.buildout + * v2.1.3 (Sep 22, 2017 10:37) + * v2.1.4 (Sep 22, 2017 11:34) + * v2.1.5 (Sep 22, 2017 13:58) + * no 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 + - [docs] remove latex stuff + - Test + - Test + - Test + - test + - Add after_script to the build stage + - Get the install script from the clean branch too + - Update CI + - Update conda recipe + - remove bob-devel since that depends on a stable version of this + - Implement C/C++ debugging with lldb + - Try a fix for issue 24 + - Bump version to avoid using stable version during beta builds + - Add a ref to the package name + - Add missing whitespace + - Create proper documentation for this project (closes bob.buildout#25) + - Doc improvements + * patch +* bob.extension + * patch +* bob.blitz + * patch + - Migrate to conda based CI +* bob.core + * patch + - Migrate to conda based CI + - Fix test values (closes bob.core#8) + - Use log modules from bob.extension + - improve tests +* bob.io.base + * patch + - Migrate to conda based CI +* bob.math + * patch + - Migrate to conda based CI + - Add blas features + - trust numpy in finding blas/lapack. Fixes bob.math#14 +* bob.measure + * patch + - Fixed curve to show values between [0,1] + - Fixed issue with FAR and FRR values being exactly 1 or 0, respectively + - Update apply_threshold.py + - Provide a test case for negative thresholds + - remove extra import + - Added a warning before returning NaN + - Changed test case for different corner cases + - Add some obvious test cases + - Correct the threshold calculation implementation in far_threshold and… + - rename check_index to index + - Add more tests + - implement the tests correctly + - Never return NaNs for {far,frr}_threshold functions anymore + - Change the version too + - Compute roc using roc_for_far internally + - Iterate only once in the sorted negatives to keep the implementation in O(N) + - Use epsilon (2^-52) instead of 1e-12 + - use nexttoward instead of epsilon since epsilon is too small sometimes + - use C nexttoward + - Migrate to conda based CI + - use std::nextafter instead of nexttoward + - Add an option to capture the output in a log file + - Add the expected output file for tests + - remove left-over docs + - recompute far values in roc_for_far + - Fix the test values +* bob.io.image + * patch + - Quick fix for the issue bob.io.image#29. I still don't know why this artefact is not visible. + - Migrate to conda based CI + - Add tests to detect the problem reported on this issue + - Allow garbage at the end of PNM iaimages not affect readout (closes bob.io.image#30) +* bob.db.base + * patch +* bob.io.video + * patch + - 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 +* bob.io.matlab + * patch + - Migrate to conda based CI +* bob.io.audio + * patch + - Migrate to conda based CI +* bob.sp + * patch + - Migrate to conda based CI +* bob.ap + * patch + - Migrate to conda based CI +* bob.ip.base + * patch + - Improved compatibility for non-C++-11 compilers + - Migrate to conda based CI + - [setup] Fix matplotlib requirement +* bob.ip.color + * patch + - Migrate to conda based CI +* bob.ip.draw + * patch + - Migrate to conda based CI +* bob.ip.gabor + * patch + - Migrate to conda based CI +* bob.learn.activation + * patch + - Migrate to conda based CI +* bob.learn.libsvm + * patch + - Migrate to conda based CI + - increase tolerance + - Makes sure we can load/save files with arbitrary extensions +* bob.learn.linear + * patch + - Migrate to conda based CI +* bob.learn.mlp + * patch + - Migrate to conda based CI +* bob.learn.boosting + * patch + - Migrate to conda based CI +* bob.db.iris + * patch + - Migrate to conda based CI + - remove unnecessary command +* bob.learn.em + * patch + - Migrate to conda based CI + - Add test time dependencies + - temporary remove unused ref 5. please see bob.learn.em#27 + - remove unused references + - remove unused references + - Added reference [Bishop1999] issue bob.learn.em#27 + - remove ununsed references + - Revert "remove unused references" + - Revert "Added reference [Bishop1999] issue bob.learn.em#27" +* bob.db.wine + * patch + - Migrate to conda based CI +* bob.db.mnist + * patch + - Migrate to conda based CI + - Download metadata during build +* bob.db.atnt + * patch + - Migrate to conda based CI + - remove --missing option +* bob.ip.facedetect + * patch + - Migrate to conda based CI +* bob.ip.optflow.hornschunck + * patch + - Migrate to conda based CI +* bob.ip.optflow.liu + * patch +* bob.ip.flandmark + * patch + - Migrate to conda based CI +* bob + * patch + - Initial commit +* gridtk + * v1.5.0 (Nov 20, 2017 09:07) + * Implemented the option `--repeat <n>` in jman submit. Now we can submit the same job `n` times in a serial manner -- Merge gridtk!10 + * Appended the idiap gpu short queue in our queue list + * Improved python 3 compatibility (Merge gridtk!7) + * Created the `jgen` tool (https://www.idiap.ch/software/bob/docs/bob/gridtk/master/generate.html) -- Merge gridtk!8 + - Add sgpu to the list of the queues + - Submit extactly the same job several times + - Removed overwriting job ID when stopping jobs + * patch + - Add an option to make the aggregate output unique + - keep the whitespace + - Add tests for jgen --unique-aggregate + - make sure log_dir is directory is a directory + - improve the error message + - Migrate to conda based CI + - SGE scripts cannot be tested on the CI + - Fix sort errors that happen in Python 3 + - Add a test for when groupby is used in templates + - Make the tests less relaxed +* bob.ip.qualitymeasure + * patch + - added ci config file + - added conda yaml config + - updated README + - removed ref to bootstrapbuildout + - updated doc conf + - removed docopt requirement + - small fixes + - Added an optional reference image to Galbally IQM +* bob.ip.skincolorfilter + * patch + - Migrate to conda based CI +* bob.ip.facelandmarks + * patch + - 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 + * 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. +* bob.db.arface + * v2.1.4 (Sep 22, 2017 14:17) + * patch + - Migrate to conda based CI +* bob.db.asvspoof + * v1.0.3 (Sep 22, 2017 14:20) + * patch + - added conda recipe and removed redundant debug_asvspoof2017 script +* bob.db.asvspoof2017 + * v1.0.3 (Sep 22, 2017 14:20) + * patch + - added conda recipe and 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 +* bob.db.avspoof + * patch +* bob.db.banca + * v2.1.5 (Sep 22, 2017 14:22) + * patch + - Migrate to conda based CI +* bob.db.biosecure + * v2.1.5 (Sep 22, 2017 14:22) + * patch + - Migrate to conda based CI +* bob.db.biosecurid.face + * v2.1.8 (Sep 22, 2017 14:22) + * patch + - Migrate to conda based CI + - Update index.rst +* bob.db.casme2 + * v2.1.5 (Sep 22, 2017 14:23) + * patch + - Migrate to conda based CI +* bob.db.caspeal + * v2.1.5 (Sep 22, 2017 14:23) + * patch + - Migrate to conda based CI +* bob.db.cohface + * v1.0.4 (Sep 22, 2017 14:24) + * patch + - Migrate to conda based CI + - Add a ref to the package name + - Add missing whitespace +* bob.db.frgc + * v2.1.3 (Sep 22, 2017 14:24) + * patch + - Migrate to conda based CI + - [conda] This package has no download command +* bob.db.gbu + * v2.1.4 (Sep 22, 2017 14:24) + * patch + - Migrate to conda based CI +* bob.db.hci_tagging + * v1.0.4 (Sep 22, 2017 14:28) + * patch + - Migrate to conda based CI + - Add a ref to the package name + - Add missing whitespace +* bob.db.ijba + * v2.0.3 (Sep 22, 2017 14:28) + * patch + - Added missing dependency to bob.io.image (from bob.db.base) + - Migrate to conda based CI + - Added bob.measure as requirement + - This functionality was moved to bob.bio.face + - [conda] Removed bob.measure from the test requirements +* bob.db.kboc16 + * v2.0.11 (Sep 22, 2017 14:28) + * patch + - Migrate to conda based CI + - Add a ref to the package name + - Add missing whitespace +* bob.db.lfw + * v2.1.5 (Sep 22, 2017 14:28) + * patch + - Migrate to conda based CI +* bob.db.livdet2013 + * v2.0.6 (Sep 22, 2017 14:29) + * patch + - Migrate to conda based CI + - This package does not download metadata (closes bob.db.livdet2013#1) + - Add a ref to the package name + - Add missing whitespace +* bob.db.mobio + * v2.1.5 (Sep 22, 2017 14:29) + * patch + - Update README.rst + - Migrate to conda based CI + - [conda] Fixing dependency with six +* bob.db.msu_mfsd_mod + * v2.2.3 (Sep 22, 2017 14:29) + * patch + - Migrate to conda based CI +* bob.db.multipie + * v2.1.4 (Sep 22, 2017 14:29) + * patch + - Migrate to conda based CI +* bob.db.nist_sre12 + * v3.0.3 (Sep 22, 2017 14:30) + * patch + - Migrate to conda based CI + - fixing recipe + - fixing recipe + - Fix recipe + - remove dependency on six +* bob.db.putvein + * v1.2.1 (Sep 22, 2017 14:30) + * patch + - Fix packaging warnings + - Migrate to conda based CI + - This package does not download metadata (closes bob.db.putvein#2) +* bob.db.replay + * v3.0.3 (Sep 22, 2017 14:31) + * patch + - Migrate to conda based CI +* bob.db.replaymobile + * v1.1.3 (Sep 22, 2017 14:31) + * patch + - Migrate to conda based CI +* bob.db.scface + * v2.1.5 (Sep 22, 2017 14:31) + * patch + - Migrate to conda based CI +* bob.db.utfvp + * v2.4.1 (Sep 22, 2017 14:32) + * patch +* bob.db.verafinger + * v1.0.0 (Oct 11, 2017 14:24) + - Upload all metadata to our server + - Fix pkg_resources import + - Delete metadata (ship with db files) + - Update badges + - Reset initial version + - Reset authorship of package [ci skip] + * patch + - Update ignore file +* bob.db.fv3d + * v1.0.0 (Oct 11, 2017 15:42) + - Update badges + - Remove extra import + - Distribute metadata from webserver + * patch +* bob.db.hkpu + * patch + - Initial commit + - Incorporate model-id on File class + - Remove unique finger name attribute as that does not match model-id + - Fix tests + - Remove tests for finger-name (removed) + - Add explanation for returning just one single plane from original image + - Fix comment + - Set private URLs for docs [ci skip] + - Fix docs + - Add functions to detect and load RoI annotations + - Change protocol A to have multiple models instead of multiple samples per model + - Update filelist + - Update HKPU filelist with new annotations + - Add test for annotations + - Fix function comment + - Add information on the annotations + - Fix typo in guide + - Port to new CI (closes bob.db.hkpu#1) + - Fix build deps +* bob.db.thufvdt + * patch + - Initial commit + - Add protocol files + - Set protocol p3 to match paper descriptions + - List protocol files + - Fix sql3 file creation + - Finalize tests + - Import correct module on docs + - Fix short descr + - Centralize links + - Add functions to detect and load RoI annotations + - Change db name to thufvdt (simpler) + - Updated ignore file + - Update metadata contents + - Add symlinks to metadata + - Add annotation check tests + - Add annotation section + - Fix typo in func doc + - Port to new CI (closes bob.db.thufvdt#1) + - Fix build deps + - Fix build deps + - Pin compatible pillow versions + - Fix use of pin_compatible +* bob.db.mmcbnu6k + * patch + - Initial commit + - Add protocols; Fix creation + - Fix tests + - Implement roi-based protocol; improve testing + - Rectify score count analysis + - Avoid creation of unused Finger entries on SQL database + - Fix comment + - Use model name for scoring + - Fixes to model.id -> model.name as model identifier + - Return any finger name (all are the same) given the first found model + - Fix finger name look-up + - Fix function comment + - Add information on the annotations + - Update file listing to include annotations + - Add annotation tests + - Add warning about annotations + - Include annotations with metadata + - Test annotations + - Port to new CI (closes bob.db.mmcbnu6k#1) +* bob.db.hmtvein + * patch + - Initial commit + - Correct database creation + - Fix test + - Fix references in documentation + - Use model name for scoring + - Fixes to model.id -> model.name as model identifier + - Return any finger name (all are the same) given the first found model + - Fix finger name look-up + - Add annotations + - Add information on the annotations + - Fix function comment + - Port to new CI (closes bob.db.hmtvein#1) +* bob.db.voicepa + * v1.0.2 (Sep 22, 2017 14:34) + * patch + - Migrate to conda based CI + - removed redundant debug_voicepa.py, fixing issue bob.db.voicepa#1 +* bob.db.xm2vts + * v2.1.4 (Sep 22, 2017 14:36) + * patch + - Migrate to conda based CI +* bob.db.youtube + * v2.1.4 (Sep 22, 2017 14:37) + * patch + - Migrate to conda based CI +* bob.db.pericrosseye + * patch + - Migrate to conda based CI + - [conda] Added bob.io.base as requirement +* bob.db.cuhk_cufs + * patch + - Created methods modality_separator and modalities + - Included test case for objects.modality +* bob.bio.base + * v3.2.0 (Sep 22, 2017 10:55) + * v3.2.1 (Sep 26, 2017 15:04) + - Switched to 'pdf' backend instead of 'agg' + * patch + - Update experiments.rst to fix the link to gridtk + - execute_only flag is now evaluated from the config file + - Testing single config file +* bob.bio.gmm + * v3.1.0 (Sep 22, 2017 14:05) + - Adeded an author for the package + * patch +* bob.bio.face + * patch + - First commit + - Added ignore + - Added ignore + - IJBA + - Updated experiments + - Updated environment + - [ci] Added the project in the ci + - Updated some baselines + - Updated some tables + - UPdate results + - Updated baselines + - Updated some baselines + - Updated baselines + - Updated baselines + - Reformulated the package + - Reformulated the package + - Updated baseline script + - Updated baselines + - Updated baselines + - Updated baselines + - Updated some paths + - Tensorflow hack + - Fixed issues with baseline script + - Added IJBB + - Cleaning up + - fixed IJBB + - Cleaning up the module + - [sphinx] Updated docs + - Merging + - [sphinx] Updates in the documentation + - Appended more baselines + - Appended more baselines + - New baselines + - Update MSCELEB baseline + - Updated baselines + - Updated baselines + - Updated CASIA + - Updated CASIA + - Updated baselines + - Updated MSCeleb + - Updated MSCeleb + - Updated MSCeleb + - Updated MSCeleb + - Added inceptionv1 + - Added inceptionv1 + - Updated baselines + - Inception v1 + - Inception v1 + - Inception v1 + - Inception v1 + - Inception v1 + - Updated baselines + - Updated baselines + - updated batchnorm + - Added new baseline + - BAselines + - New center loss + - Update + - Update + - New baseline mechanism + - [ci] Removed mac builds + - [ci] Update conda +* bob.bio.spear + * v3.1.1 (Sep 22, 2017 14:48) + - reverted patch version + * patch +* bob.bio.video + * v3.3.0 (Sep 22, 2017 13:41) + * bob.bio.video!20 Docs url fix + * bob.bio.video!19 Python36 & docs fixes + * bob.bio.video!18 Removed`Algorithm.read_probe` + * patch + - Add as_array to frame containers + - Fixed tuple indexing bug in youtube db load function + - Added unit test for the load method of youtube database + - Updated manifest to use jpg files for tests + - Fixed the unit test connecting it with low level db interface] + - Fixed the unit test of youtube load method + - Make the original_directory and annotation_directory a property + - move the _db initialization before calling super + - pass kwargs in the base file class + - Migrate to conda based CI + - [conda] Added test requirements + - Fixed the index.rst to match joint docs requirements + - Added quality_assessment_function to preprocessor Wrapper + - Fixed the typo + - Addressing missing frame annotations + - Fixed dict.has_key issue for Python 3 + - Reverted quality assessment function + - Changed missing annotations conditional check + unit tests + - Moved condition to one line, removed empty dictionary check + - Fixes bob.bio.video#11 + - Returning none insted of empty FrCont in preproc Wrapper + - Make missing annotations None instead of empty dict + - Add a failsafevideo wrapper + - use ordered dict + - Add a video annotator + - Finalize video annotators and add docs and tests + - Fix import order + - use six to check for string types + - Account for empty frame containers too + - Account for failed extractor + - remove unused import thanks to my linter and the way I imported it + - mention min_face_size_validator for a possible input + - Validators should handle empty annotations too + - Fix sphinx warning +* bob.bio.vein + * v1.0.0 (Oct 20, 2017 13:29) + * Initial release + - Add bob.db.fv3d requirement + - Minor fix to logging setup + - Implement no-cropping option + - Improve sample viewing script + - Add blame script + - Implement empty annotations() method to satisfy bob.bio.base + - Add support for 3D Fingervein Database + - Re-estructured Preprocessor to simplify experimentation and configuration + - Add matlab reference generation and readme + - Remove trailing spaces + - Improve comments + - Add test for 3D fingervein database + - More preprocessor changes + - Use scipy directly where possible + - Fixes to Maximum Curvature implementation; Improved references & documentation + - Update manifest + - Speeds-up the evaluation of vein probabilities + - Missing import + - Avoid warnings + - Ensures input image has dtype==float64 before anything else + - Fix loading of fv3d fingers + - Use 'crop' instead of 'cropper' + - Improve inheritance; Fix FixedMask implementation + - If sample does not have roi, then returns only image + - Add grid resources and explanation on how to run + - Implement optional pre-cropping stage on preprocessor + - Test cropping with annotated images + - Use cropped images on next stages + - More tests for preprocessor specific stages + - Reflected changes from copper->crop renaming + - Don't need to do poly_to_mask() anymore + - Improve comments on TomesLeeMask + - Use padder by default on stock configurations + - Fix missing transposition on port + - Implemented normalized-cross-correlation algorithm + - Remove ipdb break point + - Fix doc error + - Add mlp trainer for watershed masker + - Add mlp trainer for watershed masker + - Add watershed mask detector + - Remove useless mask(); Update comments + - Fix score splitting + - Fix indentation + - Allow to view sample using a database name + - Fixes to marker detector + - Add ON's miura-match with rotation support + - Load only what is annotated (allow flexibility) + - Support view mode w/o extracted veins + - Add watershed preprocessing debug-aid script + - Printout metrics as they are evaluated + - Allow separate thresholds for foreground and background markers; Allow external… + - Use simpler validation + - Add script to help debugging watershedding + - Fix spelling + - Add watershedding link + - Simplify baseline, Add watershed NN training + - Fix link + - Update comment + - Set better defaults and use them on stock configuration + - Added the HLDI for the putvein database + - Added the HLDI for the putvein database + - Update documentation to include 3D-fingervein pointers + - Fix installation directives + - Remove database interfaces from runtime + - Added the HLDI for the putvein database + - Added the doc and tests and config for the putvein database + - Fixed the HLDI of the putvein db - conversion of group names + - Added bob.ip.color to requirements.txt + - Fix loading of binarised images + - Option to save figures discretely + - Include databases on bulidout configurations + - Fix Hamming Distance module + - Make HammingDistance class plus add test + - Improve documentation in HammingDistance class + - Update baseline results for rlt, mc, and wld + - Remove Oleg's implementation of rotation-invariant matching (before release,… + - Update README links [ci skip] + - Complete design and doc of HammingDistance + - Add missing dev packages + - Reset preliminary version to 1.0.0a0 + - update the table for verafinger/nom. + - Minor typo fix [ci skip] + * v1.0.1 (Oct 20, 2017 16:04) + * Update `MANIFEST.in` to include necessary package files + - Update MANIFEST to include essential files + * patch + - updated the whole table. The numbers are very different for the new algorithms. + - Port to new CI (closes bob.bio.vein#16) + - Try a fix for the scikit image dep + - Try another fix for the scikit image dep + - Update utfvp interface + - Remove uncited ref + - Remove uncited ref + - Removes more uncited references + - Enable compilation of docs w/o latex + - Adds bob.bio.vein sphinx ref + - Fixed the index.rst to match joint docs requirements + - Adaptations to allow vulnerability analysis + - Catch-up with changes to verafinger +* bob.db.voxforge + * v2.2.0 (Sep 24, 2017 11:39) + * patch +* 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 +* bob.pad.face + * patch + - Added MIFS database + - bugfix: array indices fixed + - Added face bounding boxes to tree and cleaned database path + - Updated documentation + - documentation fix + - documentation fix + - Fixed documentation + - bugfix: array indices fixed + - documentation fix + - documentation fix + - Updated documentation + - Added face bounding boxes to tree and cleaned database path + - Fixed documentation + - Cleaning + - Merge + - Fixed merge errors + - Updated documentation + - Updated documentation + - Updated the MANIFEST.in to make annotations available for MIFS db + - Added entry point for VideoSparseCoding preprocessor amd initial version of… + - Addded conversion of sparse codes to Frame Container + - Added sparse encoding part to VideoSparseCoding preprocessor + - Added a part of VideoSparseCoding preprocessor + - Moved histogram extraction to preprocessor VideoSparseCoding + - Added entry points for VideoHistOfSparseCodes extractor + - Fixed an indentation issue in the doc of VideoSparseCoding + - Updated the main doc on anomaly detection PAD for Aggregated Db, some doc for… + - Optimized the VideoSparseCoding for memory useage + - Added the reconstruction error option to VideoSparseCoding preprocessor + - Removed temp stuff from setup.py, cleaning of sporse coding algorithms + - Fixed the path bug in the video_sparse_coding config file + - Added a local face detection option to the VideoFaceCrop class + - Updated requirements.txt with dlib facedetector + - Added unit tests for classes used in the IQM-GMM pad algorithm + - Fixed the None case in face detection utils + - Fixed no face detected issue in VideoFaceCrop + - Modified the grid config requesting less memory + - Added optional face detectors, also empty files will not be saved in the preprocessor + - Fixes unit tests after update of bob.ip.dlib + - Fixed the unit test to match the latets updates in bob.ip.dlib + - Removed a dependency from bob.ip.mtcnn in face detection utils + - Added facelandmark detection in utilsbob.pad.face! + - unit tests + - test + - Added mtcnn along with dlib. + - Added mtcnn/dlib detectors + - Changed function name + some minor modifications + - adapt svm algorithm to other modalities, like voice + - adapt one class gmm to other modalities + - Added a grandtest-train-eval protocol to the aggregated db + - Added grandtest-mobio protocol to the aggregated db + - Minor typo fix in the doc of Aggregated db + - pep8 formatting done by yapf -ri . + - Accept frame_selector in load methods + - remove bootstrap-buildout.py + - Add a base pad file for all face pad databases + - Use all frames. Improve docs + - The inital version of grandtest-train-eval-<num_train_samples> protocol for Aggregated db + - Fixed the None issue in grandtest-train-eval-<num_train_samples> protocol + - Add frame processing functionality + - MethodType in Python 3 takes 2 arguments only + - Make the original_directory and annotation_directory a property + - db not _db + - Implement frame by frame loading in replay and replay-mobile + - use bob.extension.rc instead of None + - Migrate to conda based CI + - Moved algos to bob.pad.base and renamed them + - updating conda recipe + - removing console scripts entry point, since there are no scripts + - removing console scripts entry point, since there are no scripts + - updating conda recipe + - updating conda recipe + - fixing test_video_face_crop and conda recipe + - Changes in conda recipe according to Anirs comments + - Added mobio db to conda recipe, fixed unit tests + - Print the assertion value + - Fixed the nose tests for VideoFaceCrop + - Fixed the pointer to Algos documentation, now in bob.pad.base + - Changed host/run requirements + - Fixed the index.rst to match joint docs requirements + - Removed duplicating db configs, issue bob.pad.face#18 + - Removed VideoQualityMeasure, replaced with Wraper + - removed VideoLBPHistogram, replaced with Wrapper + - Removed unused class VideoDataLoader, closes bob.pad.face#20 + - Added alignment option to normalize_image_size_in_grayscale in ImageFaceCrop + - Changed hard-coded constants into face size relative in FaceEyesNorm call + - Moved some class methods to functions, WIP + - Minor modifications in ImageFaceCrop, WIP + - Added initial version of FaceCropAlign, which is refactor of ImageFaceCrop + - Fixed the bug in min_face_size check + - Removed VideFaceCrop and ImageFaceCrop, replaced with FaceCropAlign+Wrapper + - Removed face_detection_utils, updated unit tests + - Added underscore to preproc configs to resolve warning when running baselines + - Removed deleted utils from docs + - Added a FrameSelector to the load() in Aggregated Db HLDI + - Changed the default FrameSelector in preproc configs to select all frames + - Add a low-intensive grid option named small + - Use our common right eye and left eye names instead + - Fix the tests too +* bob.db.oulunpu + * patch + - Initial commit + - Implement frames + - add ci + - update license + - Improve readme + - Add a config file + - Correct frame size in docs + - include list files in the package as well + - Make sure all_files is working + - models depends on protocol + - Add frame_size methods + - Adopt to the new database + - Use bob.pad instead of bob.dap + - fixes + - fixes + - Fix entry point + - Use bob.extension.rc + - Add bob.bio.config entry point + - Fix the config file + - Add conda packaging + - Updates CI file + - Add annotation support and reorganize frame reading + - fix sphinx warnings +* bob.db.uvad + * patch + - Initial commit + - Fix entry point + - Use bob.extension.rc + - Adopt the tests as well + - improve tests + - Fix cropping + - Add bob.bio.config entry point + - Add conda packaging + - Updates CI file diff --git a/release/generate_changelog.py b/release/generate_changelog.py new file mode 100755 index 0000000..3ef1ec0 --- /dev/null +++ b/release/generate_changelog.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python + +""" +Generate changelog file for all packages before release. This script uses python-gitlab package for access to Gitlab's API. + +Usage: + {0} <private_token> + {0} -h | --help + {0} --version + +Arguments: + <private_token> Private token used to access GitLab. + +Options: + -h --help Show this screen. + --version Show version. + +""" + +import os +import sys +from docopt import docopt +import gitlab +import distutils.version +import datetime + + +def get_packages_list(gl): + nightlies = gl.projects.list(search='bob.nightlies')[0] + nightlies_order = nightlies.files.get(file_path='order.txt', ref='master') + pkg_list_ordered = nightlies_order.decode().decode().split('\n') + pkg_list_ordered = [line for line in pkg_list_ordered if (line.strip() and not line.startswith('#'))] + return pkg_list_ordered + + +# release date of last Bob release + 1 day +def bob_last_release(gl): + bobpkg = gl.projects.get(id=1535) # 1535 is id of 'bob' meta-package + last_bob_tag = bobpkg.tags.list()[0] # get the last tag + return last_bob_tag.commit['committed_date'] + + +def get_datetime_from_gitdate(gitdate): + # import ipdb; ipdb.set_trace() + return datetime.datetime.strptime(gitdate[:-6], '%Y-%m-%dT%H:%M:%S.%f') + + +def sort_commits(commits): + return sorted(commits, key=lambda x: get_datetime_from_gitdate(x.committed_date)) + + +def sort_tags(tags): + return sorted(tags, key=lambda x: get_datetime_from_gitdate(x.commit['committed_date'])) + + +def get_tag_changelog(tag): + try: + return tag.release['description'] + except Exception: + return '' + + +def print_tags(pkg_name, gitpkg, since='2017-01-01T00:00:00Z'): + since = get_datetime_from_gitdate(since) + tags = gitpkg.tags.list() + # sort tags by date + tags = filter(lambda x: get_datetime_from_gitdate(x.commit['committed_date']) >= since, tags) + tags = sort_tags(tags) + print('* ' + pkg_name) + for tag in tags: + print_one_tag(pkg_name, tag) + + +def print_one_tag(pkg_name, tag): + print(' * ' + tag.name + ' (' + get_datetime_from_gitdate(tag.commit['committed_date']).strftime( + '%b %d, %Y %H:%M') + ')') + for line in get_tag_changelog(tag).split('\r\n'): + line = line.strip() + if line.startswith('* ') or line.startswith('- '): + line = line[2:] + line = line.replace('!', pkg_name + '!') + line = line.replace('#', pkg_name + '#') + if not line: + continue + print(' ' * 5 + '* ' + line) + + +def print_commits(pkg_name, gitpkg, since='2017-01-01T00:00:00Z'): + # import ipdb; ipdb.set_trace() + commits = gitpkg.commits.list(since=since, all=True) + # sort commits by date + commits = sort_commits(commits) + print('* ' + pkg_name) + print_commits_range(pkg_name, commits) + + +def print_commits_range(pkg_name, commits): + for commit in commits: + commit_title = commit.title + # skip commits that do not carry much useful information + if '[skip ci]' in commit_title or \ + 'Merge branch' in commit_title or \ + 'Increased stable' in commit_title: + continue + commit_title = commit_title.strip() + commit_title = commit_title.replace('!', pkg_name + '!') + commit_title = commit_title.replace('#', pkg_name + '#') + # print(' - ' + get_datetime_from_gitdate(x.committed_date).strftime('%Y-%m-%d %H:%M:%S') + ":" + commit_title) + print(' ' * 5 + '- ' + commit_title) + + +def print_tags_with_commits(pkg_name, gitpkg, since='2017-01-01T00:00:00Z'): + # get tags since release and sort them + datetime_since = get_datetime_from_gitdate(since) + tags = gitpkg.tags.list() + # sort tags by date + tags = filter(lambda x: get_datetime_from_gitdate(x.commit['committed_date']) >= datetime_since, tags) + tags = sort_tags(tags) + # get commits since release date and sort them too + commits = gitpkg.commits.list(since=since, all=True) + # sort commits by date + commits = sort_commits(commits) + print('* ' + pkg_name) + # go through tags and print each with its message and corresponding commits + start_date = datetime_since + for tag in tags: + # print tag name and its text + print_one_tag(pkg_name, tag) + # print commits from the previous tag up to this one + end_date = get_datetime_from_gitdate(tag.commit['committed_date']) + commits4tag = filter(lambda x: ( + get_datetime_from_gitdate(x.committed_date) > start_date and get_datetime_from_gitdate( + x.committed_date) <= end_date), commits) + print_commits_range(pkg_name, commits4tag) + start_date = end_date + # print the tentative patch version bump for the future tag + print(' * patch') + # print leftover commits that were not tagged yet + leftover_commits = filter(lambda x: get_datetime_from_gitdate(x.committed_date) > start_date, commits) + print_commits_range(pkg_name, leftover_commits) + + +def main(private_token): + gl = gitlab.Gitlab('https://gitlab.idiap.ch', private_token=private_token, api_version=4) + pkg_list_ordered = get_packages_list(gl) + # print(pkg_list_ordered) + last_release_date = bob_last_release(gl) + # print(last_release_date) + # print name of the package, its version and tags + for pkg_name in pkg_list_ordered: + gitpkg = gl.projects.list(search=pkg_name)[0] + # print_tags(pkg_name, gitpkg, since=last_release_date)) + # print_commits(pkg_name, gitpkg, since=last_release_date) + print_tags_with_commits(pkg_name, gitpkg, since=last_release_date) + + +if __name__ == '__main__': + arguments = docopt(__doc__.format(sys.argv[0]), version='Changelog 0.0.1') + main(arguments['<private_token>']) -- GitLab