github materialsproject/MPContribs v3.13.0

latest releases: v4.2.10, v4.2.9, v4.2.8...
3 years ago

Version 3.13.0

Commits

  • [c3b2735] client: parallel update_contributions, make_public/private
  • [cec535f] testing on dev branch not needed
  • [a78498c] Merge pull request #693 from materialsproject/dev
  • [373c740] bump kernels and client
  • [cb02183] client: add workshop-contribs valid URL
  • [d3fa3bb] client: docstring notes
  • [50025fb] testing workflow fix
  • [1988a00] run test on dev too
  • [244baa5] update github actions
  • [b06fd97] portal: fix sort request
  • [5b355e8] portal: cleaning up, some feature additions
  • [6e6ba73] portal: bugfixes for landingpages
  • [c2165cc] portal: rm intro dep
  • [e68569d] portal: row hover on landingpages
  • [ecc2d4b] portal: browse page works well now
  • [f4c80ef] api: add endpoint for atlas search on projects
  • [0f13d37] portal: more improvements to browse page
  • [6d8d413] portal: row hover
  • [828db63] portal: much simpler browse page (handsontable)
  • [3cd7382] portal: moved browse message to s3 mpcontribs.org
  • [e6eae0e] add mpcontribs.org index for s3
  • [7bcad1a] portal: start browse revamp with simple table
  • [34a6272] portal: remove images
  • [a50046d] api: enable filter on attrs for tables
  • [203874a] api: define all filters in root document
  • [96e5de2] api: get_filter_params in get_specs
  • [232015b] api: fix copies for editable installs
  • [376096f] update dependencies
  • [a45bed2] api: use core FILTERS definition
  • [2cbb6ba] api: separate copies for dev subdirs
  • [59d9598] client: remove print statement
  • [f9c3031] replace _order_by/order with _sort
  • [570ed43] client: better regex expansion for param loading
  • [33cbfe9] api: support for all operators in swagger specs
  • [2229f2a] api: always write swagger specs
  • [0154a61] api: consisten filter definitions
  • [b78ed04] api: make update stats resilient against OperationFailure
  • [c9a6441] api: add stats to project
  • [b2a8ab4] api: use dict func to init default
  • [b8244a8] api: don't parse quantity if indicated as string in project.columns
  • [d679246] client: improve init_columns docstring
  • [a154302] default to NWORKERS 2
  • [13477db] api: add rq dashboard
  • [763451d] add open_catalyst_project NB
  • [b205a16] review example notebooks
  • [f4db465] bump client, rm implicit deps
  • [d69280a] client: use pymongo dep
  • [9f7c386] client: bson -> pybson
  • [be17028] api: MAX_COLUMNS; protect against inconsistent columns update
  • [c745896] bump python image 3.96.3
  • [f64a3e6] api: lots of optimizations for speed/efficiency
  • [4a3b010] bump client
  • [fdc3cd1] client bugfix: make sure cids is list
  • [32d7e67] api: use atomic update to save notebook
  • [dfd5136] api: revert websocket management
  • [60a3d3c] api: restart kernels
  • [7a47248] portal: fix code padding
  • [78fd975] api: only start dozer for NWORKERS=1
  • [d869f09] api: enable dashboard/dozer for prod
  • [79bed83] api: add Dozer
  • [8f75fa0] nb build: also log error
  • [e9e017c] build(deps): bump scipy from 1.7.0 to 1.7.1 in /mpcontribs-portal
  • [0d9870d] more dependabot PRs
  • [03d8ae4] dependabot PRs
  • [4d683cb] api: add dashboard.cfg
  • [735878d] api: flask dashboard not connecting in prod
  • [44decc2] api: add flask monitoring dashboard
  • [bec5fc9] api: only start rq if kernel gateway available
  • [d21a14b] add MAX_REQUESTS/JITTER
  • [f90af1c] api: try different supervisord.conf dir
  • [7d6be7e] api: default job results response for cronjob
  • [b11e392] api: dedicated schedulers/queues for each deployment
  • [ac0ccff] api: minor logging improvements
  • [3ad99c1] api: check number of available kernels
  • [44f209d] reserve kernels for each deployment
  • [98e8d17] api nb.build: fix client host, close session
  • [0c5bea3] bump client
  • [6cdbab4] remove supercronic
  • [3fced4d] api: use supervisord and flask-rq for NB builds
  • [91e2bf1] another citation update
  • [4b902e4] update citation file
  • [91458f2] add CITATION.cff
  • [8174763] raise MAX_BYTES to 1200
  • [e08685b] needs_build field
  • [f70e50d] api nb.build: reload on demand, fixed timeout
  • [f182adc] bump client
  • [13d1a4a] enable ml/ls services in docker stack
  • [45eec10] rm docker-compose
  • [0657fe3] check timestamp on manual build
  • [34019db] api: fix gentime check in notebook build
  • [d1df686] bump python image 3.96.2
  • [aacd74f] kernel-gateway: install ipywidgets
  • [512e09d] api: no need to close client in kernel-gateway
  • [6d47f1e] dependabot PRs
  • [85e115c] nb build force flag
  • [ae68b04] client with context
  • [372399d] save carrier_transport NB
  • [9594439] portal: don't need per_page for get_totals
  • [0558baf] api: rebuild NBs by timestamp
  • [b559458] api: remove nb pre_delete
  • [8b121ec] bump client
  • [5ec351d] minor README cleanup
  • [7ef748c] client: minor codestyle fix
  • [a5e21eb] client: rename per_request param
  • [425d4ae] client: no query kwarg necessary
  • [0bbdabc] client: use _get_future for deletion
  • [d5080db] client: catch closed sessions
  • [df34760] client: bugfix _split_query
  • [6ce3783] client: cancel requests if not resp.ok; rm while futures
  • [aed0a58] client: chunks -> grouper
  • [f66bb11] client: use adapater_kwargs for session
  • [fc2fd83] client: minor docstring update
  • [3e1661f] client: catch/retry rate limited requests
  • [c5d0c0f] portal: fix some npm deps
  • [04dec57] portal: czmore from npm
  • [0940fa2] more dependabot PRs
  • [fce9941] portal: noopener noreferrer
  • [ab639dd] dependabot PRs
  • [4247632] Create codeql-analysis.yml
  • [22745ac] client: use assert in test
  • [c91bf46] client: use context in tests
  • [4d185e5] save carrier_transport notebook
  • [a5b13e3] client: codestyle fixes
  • [8e9e855] client: return per_page not needed anymore
  • [92815b9] client: only retrieve existing contribs if needed
  • [79c8a6e] client: _split_query, context manager
  • [651a90a] bump client
  • [933189a] api: enable and deal with exact operator
  • [5b6c4ee] bump client
  • [f16c99e] client: save a couple of chars
  • [d5c8f8f] client: sets/map format for get_all_ids
  • [91f1159] portal: carrier_transport NB update
  • [43572f5] portal: carrier_transport NB bugfix
  • [6daff4e] portal: save 2dmatpedia NB
  • [2e47fde] bump client
  • [5543021] client: data_id_field for get_all_ids
  • [3fe13de] bump client
  • [1811e21] portal: minor detail page css fixes
  • [bf0f89b] client: init_columns bug fixes
  • [ecc9a78] portal: update transparent_conductors NB
  • [dc30863] portal: email on landingpage; cc/subject for mailto
  • [45abecb] portal: generate new download version if needed
  • [319dcdc] portal: improve external links
  • [ca28da3] portal: transparent_conductors NB
  • [c31a77c] portal: minor intro text change
  • [07bdf18] portal: small notification for empty project on browse
  • [c538af3] portal: improve instructions for empty project
  • [a638c25] dependabot PRs
  • [93d3d01] dependabot PRs
  • [a6f9edc] remove code tab, add quick start, use highlight.js
  • [9f6afd3] add genesis_efrc_minipipes nb
  • [95635b2] portal: warning for data n/a
  • [2c3e724] portal: only show download button if data available
  • [1ac07db] api: fix bugs innotebook build
  • [7458a41] api: projects param and minor fixes for notebook build
  • [33edcb6] api: fix approve/deny project
  • [ff82dbf] fix URL to code examples
  • [a496264] revert kaleido bump
  • [5239382] dependabot PRs
  • [489361c] bump supercronic
  • [b873c79] dependabot supercronic
  • [b4fcea0] bump client
  • [85e237e] api: improve notebook build
  • [1abebd6] client: catch Table display exception
  • [d579cb2] remove orca
  • [02bd286] bump mpcontribs-client
  • [33a4cbb] api: fix notebook builds
  • [0bf6397] api: use pid for msgid to avoid duplicate message error
  • [76e3616] use kaleido instead of orca
  • [eb7199a] pip in-tree-build
  • [0d58215] bump python image 3.96.0
  • [0db0d8c] client: only forward allowed attrs to Table
  • [2b11d88] More dependabot PRs
  • [4e850cc] dependabot PRs
  • [4f29daf] portal: revert nbconvert; build multiple nbs at once
  • [4485278] bump client
  • [cfc4263] portal: update notebook
  • [8f49cf7] client: bugfix existing dict
  • [0b4f450] api: account for custom queryset in project lazyref
  • [148f29c] dependabot PRs
  • [f56e9bc] client: fix bug with existing in submit_contributions
  • [bf5f1c8] client: fix download files count
  • [a2004de] client: catch invalid timeout value
  • [7976eee] client/portal: support json and csv
  • [92eeaac] api: json/csv for all components
  • [1b588cb] dependabot PRs
  • [e8f412a] portal: downloads on browse page
  • [9ab89f3] portal: table download buttons
  • [3318b21] portal: final downloads testing
  • [50c3e01] yay downloads
  • [5d586a0] api: change contributions limits
  • [72ceb48] client: cumulative timeout for download
  • [42b7dc6] client: _get_per_page_default_max
  • [d6b279a] dependabot PRs
  • [e0cb98d] client: also remove ratelimit from setup.py
  • [7a50780] client: minor flake fixes
  • [1e59abe] client: timeout, _run_futures hook
  • [329e2f6] client: get_session()
  • [23cc9f0] client: remove ratelimit
  • [8bd0280] api: only calc total_data_pages if total_data_rows set
  • [e5a069c] portal: some landingpage cleanup
  • [16a4957] dependabot PRs
  • [890f8cc] portal: make sure landing page title fits
  • [0b38c57] portal: keep project in download query
  • [e36084b] portal: multiline browse page; add download buttons
  • [adf08f8] api: account for custom queryset manager in bulma_* fields
  • [d4c25d2] client: add bson dep to setup.py
  • [3c2eb49] portal: add project download button
  • [31bda69] portal: minor fix in cards nb
  • [c64ac4e] portal: _zip_download
  • [32e864f] MORE_PIP_FLAGS
  • [c0048dd] portal: finally a download_project view
  • [c30d30c] client: also check host on client re-init
  • [736559c] client: add content-type to tests
  • [028fbd9] client: fix tests
  • [8faf5ac] api: paginate projects
  • [b3b22ad] client: test and improve download_contributions()
  • [4b249a7] dependabot PRs
  • [3c9125a] client: parallel download requests
  • [b5d896c] more dependabot PRs
  • [b9b3761] dependabot PRs
  • [69b333b] client: remove max_workers kwarg
  • [5a56331] api/client: better per_page handling
  • [c7ebfee] client: overhaul for download_contributions()
  • [276bdc1] portal: update download_contribution
  • [4ca743e] bump mpcontribs-client
  • [ff14edc] portal: fix nb related resource
  • [3a59909] client: include kwarg to control components download
  • [35c59af] client: download_contribution()
  • [fde937d] enable downloading components
  • [556b95b] bump apispec and tqdm
  • [2f28c73] bump boto3
  • [0f747f3] dependabot PRs
  • [65cbd88] add cards notebook
  • [2d53bed] api: queryset_manager for only fields; notebook Ref
  • [8eee5c1] api: fix flask-mongorest branch
  • [ac72b70] bump client
  • [7ff0369] client: flake8 bugfix
  • [a750011] client: validate payload, update_contributions(), publish()
  • [5c04b40] bump python image 3.95.1
  • [dc2b64c] last dependabot PRs for today
  • [098e392] more dependabot PRs
  • [27cfd31] dependabot PRs
  • [5da9a89] client: use get_model for field definitions
  • [34f6e9b] client: docstrings and dir for autocomplete
  • [3548033] bump client
  • [a26108f] client: fix flake8 error
  • [3dcb83a] client: Attachment.from_data()
  • [6ef5a86] portal: component modals
  • [670b42b] bump client
  • [f8c4e8d] client: use tqdm.auto import
  • [4ad0705] client: check ipython in component display
  • [cf7418f] portal: adjust to new client
  • [6d1ac44] bump client
  • [d9d6d7c] client: minor docstring additions
  • [b3bc3b5] client: uniform component functions
  • [2943441] client: Structure -> PmgStructure
  • [34c2312] portal: only link ObjectIds in id field
  • [593b13b] portal: minor landing page layout fixes
  • [1fb1041] bump python image 3.95.0
  • [f653150] dependabot PRs
  • [2727a09] moar dependabot PRs
  • [bdf0b89] dependabot PRs
  • [d0f0919] client: README fix
  • [c561c93] bump client
  • [0d918f9] notebook updates
  • [bf0fc0d] client: propagate table attrs
  • [1e1e725] client: inf_as_na; pd.to_numeric, fillna empty strings
  • [221ca7e] api: fix format_cell for empty strings, use nominal_value
  • [d39c090] api: catch nan's in tables
  • [ff9f1e3] client README typo fix
  • [d26be9d] bump client
  • [bf3a64c] client: bravado fork in README
  • [328f575] update lightsources get_started NB
  • [b7a1b3b] api: new client display, add attachments
  • [758254d] adjust notebooks to client display
  • [ed7f2e4] bump client
  • [0c9a957] client: display/info for components
  • [b82ad55] client: initial_total not needed
  • [380c9da] fix component duplicate checks and referencing
  • [f3d0975] api: attachment contents must be str
  • [5281ccb] client: bugfix to keep duplicates for submission
  • [bf58b37] client: bugfix id2project for updates
  • [ad6b42e] api: null=True for all component updates
  • [b52ae48] client: use last_modified to calc updated total
  • [221c9e0] api: move last_modified to pre save
  • [7a08a0a] bump python image 3.94.2
  • [90e697d] api: use Before/After op for last_modified
  • [bf356b6] api/client: update contribution components
  • [5c298e5] boto3 bump
  • [a3dcd03] dependabot PRs
  • [524996d] bump client
  • [7ba5d88] client: fail safes for init_columns; allow reordering
  • [8c12581] api: include field in unit warning
  • [1cda80e] bump python image 3.94.1
  • [cb6b316] dependabot PRs
  • [d0ffe56] bump client
  • [d727a6f] client: include some sanity checks for init_columns
  • [44b650f] api: set sensible bulk_update_limit for contributions
  • [e45239f] bump client
  • [4f21b8f] bump orca
  • [8ad55b2] api: fix notebook builds
  • [3c9e60c] client.init_columns: add dimensionless quantity example
  • [81fa8f5] bump client
  • [50f031f] fix code style errors
  • [45c0ff0] client: higher limit for error msg cutoff
  • [e1e0cf8] api: add attachment name to S3 metadata
  • [c18ccea] api: only retrieve S3 attachments when needed
  • [94bb8d4] api: marshmallow-mongoengine 0.30.2
  • [a398950] client: better print errors
  • [5e402ad] bump python image
  • [0c1e65e] build(deps): bump jupyter-client in /mpcontribs-portal
  • [0fbb83b] dependabot PRs
  • [1bb99b2] api: use API_CNAME for attachment keys in S3
  • [07ee45a] portal: show errors in overview table
  • [ab130a0] client: better docstrings/messages; multiple projects in submit_contributions; unflatten data
  • [f8d8488] client: Client/init_columns docstrings
  • [5ce1556] client: clean up order in init_columns
  • [94c0928] portal: raw/without_components downloads
  • [5c34625] build(deps): bump django from 3.1.7 to 3.1.8 in /mpcontribs-portal
  • [0c389d1] bump python image
  • [1159b57] client: bump bravado commit
  • [ea5a252] dependabot PRs
  • [b592a8b] client: fix code style errors
  • [31399b6] portal: add attachments to search
  • [70abf0a] portal: implement attachments
  • [a5ab539] client: get_attachment convenience function
  • [83f9ac9] api: validate base64 encoding for attachment content
  • [6de74a2] api: avoid getting attachment from S3 unless content requested
  • [158b1dc] api: supported file types for attachments
  • [f46a5b8] client: add support for attachments
  • [aaa7982] api: implement attachments
  • [2b43a87] client: add localhost.*.materialsproject.org as valid urls
  • [bbb8458] bump python image
  • [209e867] bump client
  • [67bb9a6] dependabot PRs
  • [2cf3ee2] bump client
  • [44a3398] client: fix allowed ports
  • [e2fec46] portal: fix login href
  • [d8f3513] pymatgen bump
  • [1288bc5] dependabot PRs
  • [a8e582a] bump client
  • [72726a5] client: minor README formatting
  • [38c03ef] client: another shot at getting test working
  • [e12587f] client: fix env export in windows
  • [5b3e16b] client: SSL_CERT_FILE is passed on automatically
  • [cabbb74] client: try export SSL_CERT_FILE explicitly for windows
  • [1c28995] client: allow externals for ubuntu/windows testing
  • [4b05785] client: add troubleshoot section to README
  • [d1edfa5] client: set SSL_CERT_FILE for tests
  • [8c0d91b] client: bump twisted and bravado
  • [c3de277] client: update tests
  • [3fc860b] client: check valid URLs
  • [a82bbae] dependabot PRs
  • [c902624] bump client
  • [01c16d0] dependabot PRs
  • [111a264] remove pymatgen root-level imports
  • [f7cb1fd] dependabot PRs
  • [5ed71b2] devops:python-3.92.0
  • [003781a] build(deps): bump boto3 from 1.17.12 to 1.17.13 in /mpcontribs-api
  • [7eccfe6] dependabot PRs
  • [6862b75] perovskites_diffusion notebook
  • [b6d9a05] bioi_defects notebook
  • [2898d08] bump client
  • [1acadf4] client: fix protocol criterium
  • [1ae00e3] portal: only dropdown at navbar-end
  • [ac5a46f] portal: include profile info (auto-redirect in grant
  • [9276144] portal: add intro text to browse page
  • [9ca4e5d] work -> code; apply -> contribute
  • [c033efb] portal: hyperlink login in alert message
  • [9c0bc2a] docker docs to devops
  • [cc45e54] redirect root to browse
  • [b445a67] docs.mpcontribs.org
  • [59df520] api: strip whitespace in groups
  • [5e8931e] api: fixed has_read_permissions
  • [2c3686c] dependabot PRs
  • [cad8534] api: progress on fixing read access
  • [46ae58d] portal: catch not found exceptions
  • [4122599] oauth -> profile
  • [4bebe8a] bump client
  • [4811d6f] client: ensure only single colon in username
  • [d2fcc88] api: register ProviderEmailField, add Validator
  • [37219de] api: include kernels in healthcheck only for prod
  • [aa06f64] portal: don't use look-aheads
  • [69d1def] api health: include app.kernels check
  • [9e79384] portal: switch to sass
  • [70eec96] portal: trying to fix download notification
  • [3460aa4] portal: switch to yarn for node packages
  • [fea3834] dependabot PRs
  • [616c104] portal: done with anonymous responses
  • [b32f988] portal: anonymous download response
  • [b889c7b] bump pymatgen in /mpcontribs-sidecars/kernel_gateway
  • [87107f8] bump client
  • [adb0378] portal: working on anonymous responses
  • [39cca14] client: use colon to decide on protocol
  • [7bb1bdf] api/portal: allow access to public projects for anonymous
  • [55f79e8] dependabot PRs
  • [740794c] api: catch empty strings in groups
  • [c505831] bump client
  • [c43cffd] api: ProviderEmailField for project owner
  • [4f17080] client: decide protocol by localhost in host
  • [397dfc0] portal: add explicit redirects for old project names
  • [6ebad2b] portal: Login/Profile button
  • [9895256] rm console log and profile info
  • [b3a3fdf] portal: contribs-web allowed host and referrer policy
  • [441ac12] portal: OAUTH_URL; minor header_footer stuff
  • [50116bd] portal: upgrade to webpack5 and latest dependencies
  • [9ff5975] client: fix email/username validation
  • [8130433] api: fix SNS client endpoint/email
  • [6cc5842] api: remove login route
  • [b06505d] make better decisions based on CNAME
  • [e13d20d] bump devops/python
  • [dfc3045] dependabot PRs
  • [a62e3a9] portal: mjs bugfix, few version bumps
  • [97baf43] move prep.sh out of the way
  • [520db9b] bump client
  • [f84ef6a] client.reqs: pin commits, add twisted
  • [9ee0c41] client: flake fix, remove py36
  • [a83aca9] client: tox add py36
  • [b3e6090] client: add live client test
  • [e2f2da2] client: include macos/windows in tests
  • [3ed2207] client: use bravado fork with threading.TIMEOUT_MAX
  • [e721ad5] bump client
  • [c63854b] dependabot PRs
  • [4168e55] bump client
  • [5ca868b] portal: screening_inorganic_pv NB ok
  • [9280311] client: get table by tid or md5
  • [57c0c4e] dependabot: only run on mpcontribs-client path
  • [0f4783d] bump client
  • [ea07c70] client: retry flag, submit docstring
  • [9ae6a16] portal: target blank for login
  • [548d8a1] update screening_inorganic_pv notebook
  • [c5bf699] portal: copy from python3.9
  • [e8e699e] remove api key clipboard button
  • [3f34472] api: bugfix schema2jsonschema
  • [165a21f] dependabot PRs
  • [211d30a] deployments: fix api host
  • [96d47b9] api: bump reqs, rm npm, py39
  • [7a6cbde] api dockerignore
  • [e39995c] gh action: fetch-depth to retrieve all tags
  • [f806ec3] gh action: build package in publish job
  • [8c7a4b6] gh action: separate publish job
  • [7481fda] gh action: test multiple python versions
  • [8ccaf22] kernel-gateway py39
  • [3b6077c] bump mpcontribs-client
  • [b139320] compose: moving to devops repo
  • [28f826e] portal: add screening_inorganic_pv notebook
  • [6a25615] save TODOs
  • [31457ad] bump orca
  • [643b36a] docs: add link to workshop lesson
  • [b73145d] api: use flasgger repo
  • [b54f022] tox: add py39
  • [695841a] devops/python 3.90.10
  • [5dc99b2] bump client
  • [f81cb09] more dependabot PRs
  • [3ca6034] dependabot PRs
  • [944bb52] bump client
  • [3b030d9] dependabot PRs
  • [2a2c2cc] remove logout button
  • [4da9e3b] portal: update login/profile link; add groups and logout
  • [2150828] bump client
  • [5a03968] mpcontribs.org -> contribs.materialsproject.org
  • [5afe58c] portal: oauth login and profile
  • [cc392a7] also user X-Consumer-Groups
  • [383e793] build(deps): bump boto3 from 1.16.35 to 1.16.36 in /mpcontribs-api
  • [f95cef3] dependabot PRs
  • [1dbcd20] adjust headers for kong-proxy-oauth
  • [6ad948b] bump client
  • [f447416] more dependabot PRs
  • [f73a5e1] dependabot PRs
  • [58d5535] api nb.build: estimated_doc_count; unset missing NBs
  • [78f7cca] bump client
  • [17892d3] dependabot PRs
  • [64a4fb3] portal: can't comment things out in JSON
  • [fdd04aa] build(deps): bump boto3 from 1.16.23 to 1.16.24 in /mpcontribs-api
  • [0923ea7] dependabot PRs
  • [aaf6118] portal: mathjs not needed rn
  • [c2b42ad] bump client
  • [b75fa3a] client: allow empty string as unit for dimensionless
  • [d5f8966] bump client
  • [000d75a] client: allow name to be set for structures
  • [551a345] build(deps): bump boto3 from 1.16.13 to 1.16.16 in /mpcontribs-api
  • [d1c8bec] client: don't resubmit if unique_identifiers=False
  • [bc5a08e] dependabot PRs
  • [b66072c] api: allow to be used w/o SNS and Kernel Gateway
  • [b7314b3] dependabot PRs
  • [487d8cd] cloudformation moved to devops
  • [05f0129] cfn: kong session secret
  • [e32b544] portal: save 2dmatpedia NB
  • [8f2a0e0] bump client
  • [59abc01] client: only use index for component name if necessary
  • [327caf7] api: fix notebook deletion for lazy reference
  • [a88b76d] portal: note on spam folder during apply
  • [c63c53b] portal: revert to node 14; sort package.json
  • [96fbb77] dependabot PRs
  • [dbe9c39] cfn: adjust NUM_WORKERS for MP
  • [d364b26] portal-ls: update get_started notebook
  • [7c50572] bump client
  • [427012d] client.get_contribution: don't return notebook field
  • [bdf50f5] api: only check dangling NBs if necessary

Don't miss a new MPContribs release

NewReleases is sending notifications on new releases.