- Remove old FAS calls from FMN (#357).
- Update vagrant to F34 (#328).
- Migrate to Zuul CI (#330).
- Add diff-cover (#333).
- Use fasjson library (#332).
- Fix CI tests (#335).
- Add ReadTheDocs configuration file (#339).
- Couple of fixes to the MANIFEST.in file (#319).
- Drop python bunch for python munch (which is py3 compatible!) (#318).
- Anitya: Fix error when project is missing (#306).
- Add flag rules for anitya (#303).
- Add ability to interact with fasjson (#310).
- Port the test suite to py3 only and make it pass (#317).
- Don’t suggest to clone fmn.web and fmn.sse repositories (#296).
- Fix Travis - use Ubuntu 18.04 instead of 14.04 (#308).
- Fix a compatibility issue in the latest database migration (#292).
- Add support for
git.repo.new
messages from src.fedoraproject.org and migrate users of the oldpkgdb.package.new
message over to it (#290). - Remove upgradepath from the critical taskotron tasks as that check has been deprecated (#269).
- Celery workers are now configured with the standard FMN logging config (#267).
- Links shortened with da.gd now use HTTPS (#274).
- Fix a bug where messages that mentioned a lot of packages created an email so large it couldn't be sent in a single email (#273),
- Fix a bug where the database being unavailable caused FMN to crash (#268), (#271), (#272).
- Restore summary in digest email when reporting verbose messages (#278).
- X-Fedmsg-Username headers should not be duplicated (#281).
- Set digest content limits to 1k messages and 500k content length (#280).
- Add timestamp in single message emails (#284).
- Limit single message emails to 500K characters to ensure multi-MB emails don't get stuck in the message queue (#288).
- Update the example Vagrantfile to Fedora 27 (#282).
This release contained code contributions from:
- Jeremy Cline
- Ricky Elrod
- Kamil Páral
- Patrick Uiterwijk
- Mattia Verga
Thank you! Many thanks to those who filed bug reports and feature suggestions, as well.
- Small performance improvements to the user to package mapping function (#255).
- Change workers to run in pre-fork mode with concurrency 1 (#256).
- Handle batch messages in the delivery service without crashing (#258).
- Refactor the message formatting functions so they don't crash on unformattable messages (#259).
- Encode email with UTF-8 before sending (#260).
- Ignore forks when determining what packages a user maintains (#264).
- Disable or fix email addresses that can't be delivered to anymore (#265).
- Fix a caching issue where disabling delivery methods wouldn't be picked up by all worker processes (#251).
- Fix the path in the distributed systemd unit file for the delivery service: it is now /usr/share/fmn/ rather than /usr/lib/share/ (#246).
- Fix a bug in the package ownership queries that caused all rules querying for package watchers to be ignored (#248).
The default queue names for FMN have changed. Messages that need to be processed
for recipients are placed in the fmn.tasks.unprocessed_messages
queue and
messages ready for delivery are in the fmn.backends.<backend_name>
queues.
- The FMN workers and backend is now implemented using Celery (#231, #232, #234, #235, #237, #238, #241,)
- Rules for Greenwave (#244)
- Configuration defaults are now provided (#239)
- The IRC client can now connect via TLS and authenticate with NickServ (#228).
- Handle generic exceptions in backends by requeuing the message (#229).
- Ensure the new CI rules appear in the filter list (#224).
- Migrate the default user filters to ignore successful CI steps (#225)
- The bootstrap CSS theme is now configurable using the 'fmn.web.theme_css_url' configuration key (#202).
- FMN can now be configured to query Pagure rather than PkgDB using the "fmn.rules.utils.pagure_api_url" and "fmn.rules.utils.use_pagure_for_ownership" configuration flags (#206).
- FMN can now be configured to subscribe to certain topics rather than everything using the 'fmn.topics' configuration field (#218).
- Initial rules for CI-related messages have been added (#221).
- Fix the CSRF errors for libravatar.org (#214).
- Fix an issue where example messages were never shown for new filters (#220).
- The Vagrant environment now includes datanommer (#211).
Many thanks to the following contributors for their work on this release:
- Ralph Bean
- Pierre-Yves Chibon
- Jeremy Cline
- Francois Marier
- Matt Prahl
- Fixes compatibility with old versions of dogpile.cache (less than 0.6.3) by backporting the function being used. This backport is available under the BSD license.
- Merge the fmn.sse repository into the fmn repository.
- Merge the fmn.web repository into the fmn repository.
- Taskotron rules: Particular tasks can now be matched using wildcards (PR #197).
- Taskotron rules: add abicheck as a critical task (PR #198).
- Loading rules is now cached in memory which speeds up user creation by several orders of magnitude: creating 100 users went from 221 seconds to 3.3 (Issue #191).
- The map of rule strings to rule Python objects is now cached which improves preference loading time by approximately an order of magnitude.
- Fix a bug where cache regions were configured to never expire cached keys (Issue #194).
1.2.1 is a bug fix release.
- Stop trying to shuffle preferences in the worker consumer (#181)
- Emails now contain headers to indicate to clients that they are auto- generated. This should stop them from auto-responding (#165).
- New rules for the Module Build Service (#174).
- Be fault-tolerant towards missing 'owner' field in copr msgs (commit d46464e06).
- Messages that can't be sent are now requeued (#169).
- Update to the generic rule for packages to account for namespaces in pkgdb2 (#177).
- Introduce an fmn-createdb script
- Documentation is now available online.
- Merge the fmn.lib, fmn.consumer, and fmn.rules repositories. The changelogs for those projects since the last release of each is included below. - https://github.com/fedora-infra/fmn.lib/ - https://github.com/fedora-infra/fmn.rules/
- The FMN consumer now requeues messages it failed to send with the IRC backend (fedora-infra/fmn.consumer#96).
- There is now a Server-Sent Events backend for the FMN consumer (fedora-infra/fmn.consumer#92 and fedora-infra/fmn.lib#62).
- Emails are now split up into 20MB chunks if necessary (fedora-infra/fmn.consumer#88).
- The digest producer is now run in a separate process (fedora-infra/fmn.consumer#86).
- The API for
handle_batch
in the consumer has changed to accept a list of message dictionaries rather thanQueuedMessage
objects (fedora-infra/fmn.consumer#86)