## NEWS NEWS — The history of milter manager |

## 2.0.4: 2014-06-20

A bug fix release of 2.0.3

### Ruby milter

#### Improvements

- Add Milter::Client::Test::MilterRunner

- Add Milter::Client::EnvelopeAddress

#### Fixes

- Fix the bug that milter written in Ruby cannot finish properly on multiple CPU environment

## 2.0.3: 2014-05-20

A bug fix release of 2.0.2

### Package

#### Improvements

- Drop Ubuntu Quantal (12.10) support

- Drop Ubuntu Raring (13.04) support

- Add Ubuntu Trusty (14.04) support

- Drop Debian squeeze support

- rpm: Update Ruby1.9.3 package for CentOS6 to Ruby1.9.3-p545.

### milter manager

#### Improvements

- Update bundled libev to 4.15

#### Fixes

- Fix a bug that data_stopper cannot stop apply children [GitHub #39]

### Ruby milter

#### Improvements

- Update bundled glib2 to 2.2.0

- Milter::Logger methods can accept a block

### Document

#### Fixes

- Fix typos in FreeBSD installation [Patched by Dave Dodd]

### Thanks

- Dave Dodd

## 2.0.2: 2014-01-27

A bug fix release of 2.0.1

### Package

#### Fixes

- Add Ubuntu Lucid (10.04) support again [Reported by Mitsuru Ogino][milter-manager-users-ja:00229]

### Thanks

- Mitsuru Ogino

## 2.0.1: 2014-01-24

A bug fix release of 2.0.0.

### milter manager

#### Improvements

- Support SIGUSR1 signal to reopen log file

#### Fixes

- Drop functionality to report stack trace on crash. Because it is unsafe for all users. [GitHub #38]

### milter-core

#### Improvements

- Support log output by MILTER_LOG_PATH environment variable.

### milter-client

#### Improvements

- Support --log-path option.

### Ruby milter

#### Improvements

- Support --log-path option.

- Support SIGUSR1 signal to reopen log file.

### Package

#### Improvements

- Drop Ubuntu Lucid (10.04) support.

- Add Ubuntu Saucy (13.10) support.

- deb: Support Ruby 2.0.0 detection on Debian.

- rpm: Update Ruby1.9.3 package for CentOS6 to Ruby1.9.3-p484.

- Remove auto-generated files from distribution archive. [Reported by Youhei SASAKI][milter-manager-users-ja:00225]

### Document

#### Improvements

- Update to the latest milter-greylist RPM. [Reported by ishizaka tadanori][milter-manager-users-ja:00220]

- Improve English version reference manual. [GitHub #17]

### Thanks

- Youhei SASAKI

- ishizaka tadanori

## 2.0.0: 2013-07-25

The major version up about 2 years!

There are no incompatible changes between 1.8.9 and 2.0.0. This version is compatible to 1.8.x, so you can upgrade without editing config files.

The reasons:

- We are developing milter manager continuously.

- We think milter manager is stable enough.

We released milter manager 1.8.0 at 2011/06/10. There are 10 releases between 1.8.0 and 2.0.0. We have developed milter manager continuously.

milter manager 2.0.0 is more stable than 1.8.0, because users have been increased and reported issues. We have been able to fix problems, because users have reported a lot of problems. Of course, milter manager is very stable, and Ruby/milter (functionality which you can write milter in Ruby) is also stable enough. We have reflected our knowledge that we have developed milter written in Ruby to Ruby/milter.

We can say that milter manager 2.0.0 is better than 1.8.0 with confidence. Let's try milter manager if you haven't used milter manager yet.

### milter-test-server

#### Improvements

- Support multiline header. [GitHub #33]

### Ruby milter

#### Fixes

- Fix a bug that reject/temporary failure on envelope recipient calls reset.

## 1.8.9: 2013-06-28

A bug fix release of 1.8.8.

### Package

#### Improvements

- [rpm] Update Ruby1.9.3 package for CentOS6 to Ruby1.9.3-p448 released on 2013-06-27

### milter manager

#### Fixes

- [binding][ruby] Fixed a bug that milter-manager couldn't detect socket path if greylist.conf includes socket path with permission.

## 1.8.8: 2013-06-25

A bug fix release of 1.8.7.

### Package

#### Fixes

- [rpm] milter-manager-log-analyzer should include cron configuration. [Reported by Satoru Sakashita][milter-manager-users-ja:00200]

- [deb] Remove old configuration file installed by milter-manager. [Reported by Youhei SASAKI][milter-manager-users-ja:00202]

### Known Issues

- [test] Failed some test cases using rrdtool on some environments. [Reported by Hirohisa Yamaguchi][GitHub #29]

### Thanks

- Satoru Sakashita

- Youhei SASAKI

- Hirohisa Yamaguchi

## 1.8.7: 2013-06-14

A bug fix release of 1.8.6.

### Package

- [rpm] Keep user configuration settings on upgrade.

- [deb][rpm] Separate milter-manager-log-analyzer from milter-manager. [Reported by Kazuhiro NISHIYAMA][GitHub #21]

- Use Ruby1.9 on CentOS6 or later.

- Drop Ubuntu Oneiric Ocelot(11.10) support.

- Add Ubuntu Raring Ringtail(13.04) support.

- Add Debian jessie support.

### milter manager

#### Improvements

- Support Ruby2.0.0.

#### Fixes

- [debian] Support init file that contains non-ASCII characters. [Reported by Kazuhiro NISHIYAMA][GitHub #23]

### milter-manager-log-analyzer

#### Fixes

- Process mail log even if it includes invalid byte sequence. [Reported by Satoru Sakashita][GitHub #24]

### Admin

- Dropped.

### Thanks

- Kazuhiro NISHIYAMA

- Satoru Sakashita

## 1.8.6: 2013-03-07

A bug fix release of 1.8.5.

### milter-core

#### Improvements

- [core][event-loop] Add an API to customize event loop on your own.

#### Fixes

- [core][event-loop] Fix to work broken libev backend with Ruby 1.9.

### milter manager

#### Improvements

- Add max-pending-finished-sessions as configuration option. If the number of current pending finished sessions is larger than 'max-pending-finished-sessions', the current pending finished sessions are freed immediately.

### milter-client

#### Improvements

- Add --max-pending-finished-sessions command line option.

### Ruby milter

#### Improvements

- Add an API to customize event loop on your own from Ruby.

- Support manager.max_pending_finished_sessions.

- Add API to reset when transaction is finished. Use this API to avoid not to share instance information for each transaction unexpectedly.

### Document

#### Improvements

- Add documentation about manager.max_pending_finished_sessions

- Add API to reset transaction.

#### Fixes

- Fix the default value of manager.maitenance_interval which is not correct.

## 1.8.5: 2012-12-03

A bug fix release of 1.8.4.

### Package

- Drop Ubuntu Natty Narwhal support.

- Fix broken documents.

### Ruby milter

- Fix a typo in test for Ruby1.8. [Pull requested by umq]

### Thanks

- umq

## 1.8.4: 2012-11-21

A bug fix release of 1.8.3.

### Package

- Added Ubuntu Quantal Quetzal support.

- Provided packages built by using Ruby1.9 on following distributions: Debian wheezy, Debian sid, Ubuntu Precise Pangolin, Ubuntu Quantal Quetzal

- Added missing fixture files into tar.gz. [Reported by Hirohisa Yamaguchi]

- Solaris: Added missing SMF method file into tar.gz. [Reported by @ftnk]

- yum: Rename yum repository pacakge. milter-manager-repository -> milter-manager-release

- deb: Use Ruby1.9 by default.

- deb: Rename packages for Ruby binding. libmilter-*-ruby1.8 -> ruby-milter-*

### milter manager

#### Improvements

- configure: Specify Ruby/GLib2 version to --with-bundled-ruby-glib2 option

#### Fixes

- manager: Suppressed compiler type warnings. [GitHub #12] [Reported by Hirohisa Yamaguchi]

- debian cron: used mail.log instead of mail.info [milter-manager-users-ja:00171] [Reported by Kazuhiro NISHIYAMA]

### milter-core

#### Improvements

- Supported MILTER_DEBUG=fatal-criticals.

- binding ruby: milter callback arguments are ASCII_8BIT. [GitHub #3]

#### Fixes

- Fixed an issue which a following warning is shown when running at high loads. "g_io_channel_write_chars: assertion `channel->is_writeable' failed"

### Admin

#### Improvements

- Upgraded to Rails2.3.14

### Document

#### Fixes

- Fixed about install sequence on CentOS. [GitHub #13] [Reported by Kunkichi]

### Thanks

- Hirohisa Yamaguchi

- Kazuhiro NISHIYAMA

- @ftnk

- Kunkichi

## 1.8.3: 2012-05-22

A bug fix release of 1.8.2.

### Package

- [ubuntu] Added Ubuntu Precise Pangolin support.

- [solaris] Use pkgutil instead of pkg-get. [GitHub #6] [Reported by h0lzi]

### milter manager

#### Improvements

- binding ruby: update bundled ruby-glib2 to 1.1.3

#### Fixes

- [manager] support manager.event_loop_backend = "libev" on CentOS. [Reported by SHIONO Kenji]

- [manager][children] use gulong instead of guint. g_signal_connect() returns gulong.

### milter-core

#### Fixes

- [libev] check whether the next id is used or not.

### Document

#### Fixes

- doc install debian ubuntu: add missing postfix group related configuration milter-manager user should belong to postfix group to access a socket of other milter. [milter-manager-users-ja:00163] [Suggested by Satoru Sakashita]

- doc debian: adjust to the latest squeeze environment [Suggested by Satoru Sakashita]

### Thanks

- Satoru Sakashita

- SHIONO Kenji

- h0lzi

## 1.8.2: 2011-11-29

A bug fix release of 1.8.1.

### milter-core

#### Fixes

- [event-loop][glib] fix memory leaks since 1.6.6.

- [core] fix memory leak when delete header.

## 1.8.1: 2011-11-12

A bug fix release of 1.8.0.

Now, manager.event_loop_backend and manager.n_workers aren't experimental!

### Package

- [ubuntu] Added Ubuntu Oneiric Ocelot support.

- [centos] Added CentOS 6 support.

- Changed GPG key to sign packages.

### milter manager

#### Improvements

- [applicable-condition][sendmail] clear DNS cache for each 100 IP addresses.

#### Fixes

- detach IO for launcher on daemon mode. use milter_client_is_run_as_daemon() to get whether daemonize or not. [Reported by OBATA Akio]

- add a workaround for Ruby cleanup. If environment variable MILTER_MANAGER_RUBY_STOP_TIMER_THREAD_BEFORE_CLEANUP=yes, skip timer thread before cleanup.

- use rb_fork() as fork implementation. This will fix --daemon doesn't work on *BSD. [Reported by OBATA Akio]

- use INCLUDES to use configured libev include path rather than CPPFLAGS. [Reported by moto kawasaki]

### milter-core

#### Fixes

- fix missing null FD close by inverted condition. [Reported by OBATA Akio]

### milter-client

#### Improvements

- use higher priority for accepting connection.

#### Fixes

- fix a bug that workers don't shutdown on master shutdown. It's GLib evnet loop backend specific problem.

### milter-server

#### Improvements

- add more information to error message.

- [server] unify unknown name logging.

#### Fixes

- fix a bug that all milters can't find on 2nd RCPT in the same session.

### Ruby milter

#### Improvements

- add Milter::Client::Configuration::MilterConfiguration#name.

#### Fixes

- fix event_loop_created hook can't get event loop.

- do not raise error if process raw shift_jis mail file. Ruby 1.9.

- udpate bundled test-unit file list. [Reported by Hirohisa Yamaguchi]

- [ruby][glib2] fix a SEGV bug on Solaris10.

### milter-test-server

#### Fixes

- fix quoted charset detection. [Reported by nobu]

- fix multiline header parsing.

- --mail-file keeps new line type of the original mail.

### Document

#### Improvements

- add log list to HTML.

- fix typos. [Pull requested by Norio Suzuki]

### Admin

#### Improvements

- use locale "en" if Accept-Language is not "ja". [Reported by Larry G. Wapnitsky]

### Thanks

- Mitsuru Ogino

- OBATA Akio

- moto kawasaki

- nobu

- Hirohisa Yamaguchi

- Norio Suzuki

- Larry G. Wapnitsky

## 1.8.0: 2011-06-10

The first release of stable 1.8.x series.

### All

#### Improvements

- Removed unused variables.

### Package

#### Improvements

- [debian] Removed Debian GNU/Linux lenny support.

- [debian] Added Debian GNU/Linux wheezy support.

- [ubuntu] Removed Ubuntu Hardy Heron support.

- [ubuntu] Removed Ubuntu Maverick Meerkat support.

- [ubuntu] Added Ubuntu Natty Narwhal support.

- [redhat] Specified PID file in init file explicitly.

- [freebsd] Supported /etc/rc.conf.local. [Patch by moto kawasaki]

#### Fixes

- [debian] Added missing milter.rb. [Reported by Mitsuru Ogino]

### milter manager

#### Improvements

- [trust applicable condition] Normalized domain name.

- Added trust.clear configuration item.

- Added trust.load_envelope_from_domains configuration item.

- [trust applicable condition] Added ezweb.ne.jp and docomo.ne.jp to built-in trusted domain list.

- Used fallback status on negotiate.

- Added manager.chunk_size configuration item.

#### Fixes

- Fixed a bug that child milter process launcher isn't exited. [Reported by OBATA Akio]

- Fixed a bug that child milters that return reject, temporary failure or discard aren't used in the same session.

### milter-core

#### Improvements

- Added trace log level that is more verbose than debug log level.

- Supported +/- log level prefix to add/remove log level from the current log levels in MILTER_LOG_LEVEL environment environment.

#### Fixes

- Fixed a read block bug when readable data is available.

### Ruby milter

#### Improvements

- [configuration] Used 'accept' as default value for fallback status.

### milter-performance-check

#### Improvements

- Supported CentOS 5.

### Document

#### Fixes

- Used Milter::VERSION instead of Milter::TOOLKIT_VERSION for confirming Ruby milter's version. [Reported by Mitsuru Ogino]

### Thanks

- Mitsuru Ogino

- OBATA Akio

- moto kawasaki

## 1.6.9: 2011-04-26

A bug fix release of 1.6.8.

### All

#### Improvements

- autogen.sh supports bash. [Reported by Kenji Shiono]

### Document

#### Improvements

- Followed Ruby milter's change. [Reported by akira yamada]

### milter manager

#### Improvements

- Added database.extra_options configuration item.

- Supported exception handling in callback.

#### Fixes

- Fixed a bug that define_connection_checker raises an exception. [Reported by Kenji Shiono]

### milter-client

#### Improvements

- Supported error report when UNIX domain socket mode change is failed.

### milter-performance-check

#### Improvements

- Added --starttls option.

- Added --auth-user option.

- Added --auth-password option.

- Added --auth-mechanism option.

- Added --auth-map option.

#### Fixes

- Fixed a bug that --smtp-port is ignored.

### Thanks

- Kenji Shiono

- akira yamada

## 1.6.8: 2011-04-15

A bug fix release of 1.6.7.

### All

#### Improvements

- Don't create needless directories on install. [Reported by OBATA Akio]

### Document

#### Improvements

- Changed target CentOS version to 5.6.

#### Fixes

- Fixed wrong internal links.

### milter-manager

#### Improvements

- Added manager.event_loop_created configuration item.

### Ruby milter

#### Improvements

- Added milter.event_loop_created configuration item.

- Added Milter::ClientSession#worker_id.

- Added Milter::ClientSession#[].

### milter-core

#### Improvements

- Followed the Sendmail behavior rather than Postfix behavior on adding a header.

### milter-server

#### Improvements

- Don't require Ruby's header files until they are needed.

#### Fixes

- Fixed a bug that milter-test-server can't be detected.

### Thanks

- OBATA Akio

## 1.6.7: 2011-04-08

A bug fix release of 1.6.6.

### All

#### Improvements

- Don't create needless directories on install. [Reported by OBATA Akio]

#### Fixes

- Fixed a bug that Ruby/GLib2 in system can't be found. [Reported by OBATA Akio]

### Package

#### Fixes

- [RPM] Fixed dependencies.

- [Debian] Fixed dependencies.

- [Debian] Don't use deprecated option in init script.

- [RPM] Don't use deprecated option in init script.

### milter-manager

#### Fixes

- [S25R] Fixed a bug that milter is always run.

### milter-core

#### Improvements

- Added "+LEVEL1|LEVEL2|..." syntax to add log levels.

- Added "-LEVEL1|LEVEL2|..." syntax to remove log levels.

### milter-client

#### Improvements

- Added --log-level option.

- Added --quiet option.

### Thanks

- OBATA Akio

## 1.6.6: 2011-04-07

This release improves Ruby support and Solaris support.

### All

#### Improvements

- Added --with-bundled-ruby-glib2 configure option for using bundled Ruby/GLib2 anytime.

- Supported Solaris.

### Document

#### Fixes

- [Debian] add missing GROUP=postfix in configuration. [Reported by Jordao]

### Package

#### Improvements

- Supported Solaris.

- Fedora 13 -> 14.

### milter-core

#### Improvements

- Set 'warning' log level by default.

- Set 'statistics' log level by default.

- Set 'message' log level by default.

- Changed syslog level for statistics log to LOG_NOTICE level from LOG_INFO level .

#### Fixes

- Fixed a memory leak on read error.

### milter-manager

#### Improvements

- Supported database connection.

- Disabled S25R applicable condition for IPv6 connection by default. It's customizable by s25r.check_only_ipv4=.

- Added --n-workers option.

- Added --event-loop-backend option.

- Supported log configuration in configuration file.

#### Fixes

- Fixed a crash bug on reloading. [Reported by Kenji Shiono]

### libmilter-compatible

#### Improvements

- Supported event loop backend customize by environment variable:

  - MILTER_EVENT_LOOP_BACKEND=libev -> libev is used

  - MILTER_EVENT_LOOP_BACKEND=glib -> GLib is used (default)

### milter-test-client

#### Improvements

- Added --pid-file option.

- Supported shutdown by SIGTERM.

### milter-test-server

#### Improvements

- Added --envelope-from option.

- Deprecated --from option.

- Added --envelope-recipient option.

- Deprecated --recipient option.

- Added --connect-macro option.

- Added --helo-macro option.

- Added --envelope-from-macro option.

- Added --envelope-recipient-macro option.

- Added --data-macro option.

- Added --end-of-header-macro option.

- Added --end-of-message-macro option.

- Supported result body output in non-ASCII encoding.

### milter-report-statistics

#### Improvements

- Supported Solaris.

- Added --pid option.

- Added --pid-directory option.

### Ruby milter

#### Improvements

- Added --maintenance-interval option.

- Added --run-gc-on-maintain option.

- Added --environment option.

- Added --max-file-descriptors option.

- Added --pid-file option.

- Added Milter::ClientSession#delete_header.

- Added Milter::ClientSession#insert_header.

- Added Milter::ClientSession#replace_body.

- Added Milter::ClientSession#change_from.

- Added. Milter::ClientSession#add_recipient.

- Added Milter::ClientSession#delete_recipient.

- Added Milter::ClientSession#delay_response.

- Added Milter::ClientSession#progress.

- Added Milter::ClientSession#discard.

- Added Milter::EventLoop.

- Supported configuration file.

- Added Milter::SocketAddress#ipv4?.

- Added Milter::SocketAddress#ipv6?.

- Added Milter::SocketAddress#unix?.

#### Fixes

- Fixed a crash bug.

### Thanks

- Jordao

- Kenji Shiono

## 1.6.5: 2011-01-26

A bug fix release of 1.6.4.

### milter manager

#### Fixes

- Fixed a bug that "Sendmail Compatible" applicable condition doesn't set applicable if_addr and id_name macro value. [Patch by Kenji Shiono]

- Fixed a crash bug that may be caused SMTP client disconnection is detected. [Reported by Kenji Shiono]

### milter-manager-log-analyzer

#### Improvements

- Supported parsing Authentication-Results added by ENMA.

### Ruby milter

#### Improvements

- Supported effective user and group change.

### Thanks

- Kenji Shiono

## 1.6.4: 2011-01-21

A bug fix release of 1.6.3.

### milter-client

#### Fixes

- Used event loop usage as before when event loop backend is GLib.

## 1.6.3: 2011-01-20

A performance improvement release. This release includes a few performance improvement features but they are marked 'experimental'. They will be 'stable' feature in 1.8.0.

### milter manager

#### Improvements

- Upgraded bundled Ruby/GLib2 to 0.90.5 from 0.19.4.

- Supported Ruby 1.9.2.

- Added manager.fallback_status that specifies a status returned to SMTP server on internal error.

- Added manager.fallback_status_at_disconnect that specifies a status returned to SMTP server when disconnection is detected. [Suggested by Kenji Shiono]

- Added DATA event emuration that is enabled when SMTP server uses milter protocol version 3 or smaller.

- Added manager.event_loop_backend that specifies event loop backend. (experimiental)

- Added manager.n_workers that specifies number of worker processes. (experimental)

- Added manager.packet_buffer_size that specifies buffer size for send packets. (experimental)

#### Fixes

- Fixed a bug that manager.use_netstat_connection_checker doesn't work with Postfix 2.3. [Reported by Kenji Shiono]

- Fixed a DATA event timing when some child milters exist. [Reported by Kenji Shiono]

### Document

#### Improvements

- Described about Postfix's {client_addr}. [Reported by Kenji Shiono]

### milter-client

#### Improvements

- Supported multi process. (experimental)

- Supported libev as event loop backend. (experimental)

  - Bundled libev 4.03.

- Made write asyncronize.

- Supported send packets buffering. (experimental)

### milter-server

#### Improvements

- Added more condition checks on evnets.

#### Fixes

- Fixed a bug that timeout detection doesn't work. [Reported by Kenji Shiono]

### Ruby milter

#### Improvements

- Added ruby-milter.pc.

- Added --packet-buffer-size option that specifies send packet buffer size. (experimental)

- Added --n-workers option thst specifies number of worker processes. (epxerimental)

- Added --event-loop-backend option that specifies event loop backend. (experimental)

### milter-test-client

#### Improvements

- Added --n-workers option that specifies number of worker processes. (experimental)

- Added --event-loop-backend option that specifies event loop backend. (experimental)

- Added --packet-buffer-size option that specifies send packets buffer size. (experimental)

### milter-performance-check

#### Improvements

- Added --n-additional-lines option that grows body size.

- Added --report-failure-responses option that enables failure SMTP sesseion response report on the last.

- Added --report-periodically option that enables periodical statistics report.

- Added --flood option that enables flood mood that sends flood of mails in specified period.

### milter-report-statistics

#### Improvements

- Added: milter-report-statistics.rd.ja

### Packet

- Updated package repository RPM for CentOS: 1.0.0-0 -> 1.0.0-1.

### Thanks

- Kenji Shiono

## 1.6.2: 2010-11-23

A bug fix release of 1.6.1.

### milter manager

#### Improvements

- Made PID file directory prepareing process in init script on Debian robust. [Reported by Kenji Shiono]

- Used gint64 for time_t. [Suggested by OBATA Akio]

#### Fixes

- Fixed missing temporary file close. [Reported by Kenji Shiono]

### milter manager admin

#### Improvements

- Documented required sqlite3-ruby version on CentOS. [Reported by Kenji Shiono]

### Ruby milter

#### Improvements

- Made milter-tarpit.rb, a sample milter, asynchronous. [Reported by Kenji Shiono]

- Provided all milter API.

#### Fixes

- Fixed a typo in command line option. [Reported by Kenji Shiono]

### Thanks

- Kenji Shiono

- OBATA Akio

## 1.6.1: 2010-08-21

A bug fix release of 1.6.0.

### milter manager

#### Fixes

- Fixed a bug that no statistics information isn't logged to syslog. [Reported by akira yamada]

### Thanks

- akira yamada

## 1.6.0: 2010-08-11

The first release of stable 1.6.x series.

### milter manager

#### Improvements

- Added parsers for Postfix cidr_table(5) and regexp_table(5): PostfixCIDRTable, PostfixRegexpTable

## 1.5.3: 2010-08-03

The last release of 1.5.x series. (plan)

### Document

#### Improvements

- Added a description for SocketAddress#to_ip_address .

### milter manager

#### Improvements

- Ensured to reply for negotiation on negotiation failure.

- Reduced the default timeout for reporting timeout error to MTA. The previous default timeout is the same as MTA default. With the value, we can't have a time to report timeout error to MTA.

- command launcher: Supported syslog.

- Added an applicable condition:

  - Trust

- Supported Solaris. [Patched by SATOH Fumiyasu]

### milter manager admin

#### Improvements

- Supported Rails 2.3.8.

### milter-test-server

#### Improvements

- Added --color option.

- Added --threads option.

### milter-core

#### Improvements

- Chanaged default log level to output error and critical message.

### Ruby milter

#### Improvements

- Added --user, --gorup, --unix-socket-group, --unix-socket-mode, --syslog, --library-version options.

- Added milter-test-client implemented by Ruby as a sample.

- Added milter-regexp.rb as a sample.

### Thanks

- SATOH Fumiyasu

## 1.5.2: 2010-05-29

A bug fix release of 1.5.1.

We recommend development version users who use a milter that uses NO_REPLY_* or milter-greylist 4.3.x upgrade to this version.

### Document

#### Improvements

- Created available milters list.

- Updated recommended milter-greylist configuration.

### milter manager

#### Improvements

- Supported S25R whitelist customize and blacklist customize .

### milter-manager-log-analyzer

#### Improvements

- Supported milter-greylist 4.3.x.

### milter-toolkit

#### Improvements

- Used inet_pton()/inet_pton() instead of inet_aton()/inet_ntoa(). [Suggested by SATOH Fumiyasu]

### Thanks

- SATOH Fumiyasu

- ROSSO

## 1.5.1: 2010-04-20

A bug fix release of 1.5.0.

It includes a memory leak fix derived from Ruby/GLib2 because bundled Ruby/GLib2 is updated. If bundled Ruby/GLib2 is used, upgrade is recommended.

### Document

#### Improvements

- Added install document for development release on Ubuntu Karmic Koara.

- Added a description that installs Rack explicitly. [Reported by Tsuchiya]

#### Fixes

- FreeBSD: Fixed package name [Reported by Tsuchiya]

### libmilter-core

#### Improvements

- Supported syslog level change by MILTER_LOG_SYSLOG_LEVEL environment variable.

- Added memory profiler.

### milter manager

#### Improvements

- Supported Solaris. [Reported and patched by SATOH Fumiyasu]

- Bundled Ruby/GLib2 0.19.4.

### milter-test-client

#### Improvements

- Added --report-memory-profile option.

### Thanks

- Tsuchiya

- SATOH Fumiyasu

## 1.5.0: 2010-03-29

A development release.

### Document

#### Improvements

- For Debian GNU/Linux・Ubuntu:

  - Removed needless group change description [Suggested by ZnZ]

- For CentOS:

  - Used Yum instead of RPM directly.

- For FreeBSD:

  - Upgraded target version: 7.2-RELEASE -> 8.0-RELEASE

  - Changed to use CPPFLAGS instead of CFLAGS for configure.

#### Bug fixes

- For FreeBSD:

  - Fixed pw command options.

### milter manager

#### Improvements

- init script for Debian GNU/Linux:

  - Supported 'status'. [Suggested by ZnZ]

  - Delayed parameter checks until they are needed. [Suggested by ZnZ]

  - Removed needless dependencies. [Suggested by ZnZ]

- [#2921072] Showed loaded configuration file path on verbose mode. [Suggested by Antuan Avdioukhine]

- [#2921072] Showed file and line that are changed the configuration item. [Suggested by Antuan Avdioukhine]

- [#2921078] Supported no child milter work. [Suggested by Antuan Avdioukhine]

- Added configuration items:

  - remove_milter

  - manager.connection_check_interval

  - manager.define_connection_checker

  - manager.use_netstat_connection_checker

  - manager.report_memory_statistics

  - manager.maintained

  - stress.threshold_n_connections

  - stress.threshold_n_connections=

  - remote_network.add_local_address

- Added new applicable conditions

  - No Stress

  - Stress Notify

- Bundled Ruby/GLib 0.19.3. (For FreeBSD)

- Changed to use /usr/sbin/service or /sbin/service if it is available.

- Supported OpenDKIM detection on CentOS.

- Supported Syslog facility change: MILTER_LOG_SYSLOG_FACILITY environment variable is used.

- manager.max_file_descriptors : Changed both of soft and hard limit not only soft limit.

- Supported Munin .

- Speed up and effective memory usage.

#### Bug fixes

- FreeBSD: Fixed OpenDKIM detection when any profiles aren't used in /etc/rc.conf. [Reported by Tsuchiya]

- Fixed a bug that applicable condition is ignored by Ruby's GC.

#### Experimental

- Introduced policy framework to specify condition and milter all together.

### milter-toolkit

- Supported milter development by Ruby bindings: Ruby integration

  - Specify --enable-ruby-milter option in configure.

### milter-manager-log-analyzer

- Speed up (almost 2 times faster)

- Supported visualization about number connections that is disconnection from SMTP clients.

### milter-performance-check

- New options

  - --n-concurrent-connections : Specifies maximum number of concurrency connections.

### milter-test-client

- New options:

  - --no-report-request : Doesn't dump requests from MTA.

  - --user : Specifies effective user.

  - --group : Specifies effective group.

  - --unix-socket-group : Specifies UNIX domain socket's group.

### Package

#### CentOS

- Split to some packages.

### Test

- Supported Cutter 1.1.0

### Thanks

- ZnZ

- Tsuchiya

- Antuan Avdioukhine

## 1.4.2: 2010-03-29

A bug fix release for 1.4.1.

### Document

- Upgraded target FreeBSD version: 7.2-RELEASE -> 8.0-RELEASE

- Changed to use CPPFLAGS instead of CFLAGS for configure on FreeBSD.

- Fixed pw command options on FreeBSD.

### milter manager

#### Bug fixes

- Fixed a bug that socket group isn't effected when both effective user and socket group are specified.

- Fixed a bug that auto milter detection is failed on no OpenDKIM installed FreeBSD environment.

## 1.4.1: 2009-10-29

A bug fix release for 1.4.0.

### Document

- Upgraded target CentOS version: 5.3 -> 5.4.

- Fixed types. [Yuto Hayamizu]

- Fixed typos. [ZnZ]

### milter manager

#### Improvements

- Bundled Ruby/GLib2 for CentOS.

- add configure options for default configuration value:

  - --with-default-effective-user: effective user

  - --with-default-effective-group: effective group

  - --with-default-socket-group: group of UNIX domain socket

  - --with-default-pid-file: PID file

  - --with-default-connection-spec: listen address

#### Bug fixes

- Fixed a bug that init script overwrites default configuration value on CentOS. [Reported by gorimaru]

- Fixed a bug that needless commands are sent to finished child milter on evaluation mode.

### Thanks

- Yuto Hayamizu

- gorimaru

- ZnZ

## 1.4.0: 2009-10-13

A stable release.

### Document

- Added install documents for Debian.

### milter-manager

#### Improvements

- Supported OpenDKIM detection on Debian/Ubuntu/FreeBSD.

#### Bug fixes

- Fixed a bug that adding header statistics isn't logged on evaluation mode.

## 1.3.1: 2009-09-16

A development release. Evaluation mode was added.

### milter-manager

#### Improvements

- Added evaluation mode that ignores a result of child milter.

- Added configuration items:

  - max number of concurrent connections: manager.max_connections

  - max number of file descriptors: manager.max_file_descriptors

- Supported EPEL [Reported by Syunsuke Komma]

- Supported timeout configuration based on milter-greylist's tarpit configuration.

### milter-toolkit

- Added more the Ruby bindings [Yuto Hayamizu]

### milter manager admin

- Supported Rails 2.3.4

### milter-test-client

- Added --syslog options that logs to syslog.

### milter-manager-log-analyzer

- Supported milter-greylist's SPF result.

### Thanks

- Yuto Hayamizu

- Syunsuke Komma

## 1.3.0: 2009-08-12

A development release.

### milter-manager

#### Improvements

- Improved a process for multi messages in a SMTP session.

#### Bug fixes

- Fixed a bug that quarantine is ignored. [Reported by Tsuchiya]

- Fixed a bug that discard is ignored. [Reported by Tsuchiya]

- Fixed a bug that SEGV on non header mail. [Reported by Павел Гришин]

### milter-test-server

- Suppressed needless abort.

- Changed to send 'continue' on 'quarantine'.

### milter-manager-log-analyzer

- Supported virus detection result of clamav-milter.

### Thanks

- Tsuchiya

- Павел Гришин

## 1.2.0: 2009-07-17

A stable release.

### milter-manager

#### Improvements

- Supported DATA stopper independently of MTA's milter protocol.

#### Bug fixes

- Fixed a timeout problem when all milters are stopped on message processing. [Reported by sgyk]

- Fixed a problem that milter-manager doesn't work with Postfix 2.3.3. [Reported by Fumihisa Tonaka]

### Thanks

- sgyk

- Fumihisa Tonaka

## 1.1.1: 2009-07-03

A release to be the next stable release 1.2.0.

### milter-manager

#### Improvements

- Reduced needless abort calls.

- Reduced statistics logs.

- Supported multiple instances.

  - manager.custom_configuration_directory

- Added a configuration item that milter-manager waits how many seconds when milter-manager can't accept connections from MTA.

  - manager.suspend_time_on_unacceptable

- Supported Momonga Linux [Suggested by Fumihisa Tonaka]

- Supported absolute configuration file path.

- Changed milter stop behavior on RCPT TO. A milter process for a stopped recipient is skipped. A milter process for other recipients are not effected.

- Supported stopper callback on all events even if an event is ignored by milter. (events marked as SMFIP_NO*)

- Supported multi mail transactions [Reported by sgyk]

- Supported local configuration file "milter-manager.local.conf" that is loaded automatically if it exists.

- [experimental] Added a sample to only apply a milter to restricted users.

#### Bug fixes

- Fixed a race condition on multiple milters running.

- Fixed a problem that error status isn't replied to MTA. [Reported by Fumihisa Tonaka]

- Fixed a problem that a milter application stopped effects other milter application stopped. [Reported by sgyk]

### milter-test-server

- Changed to report a message is rejected or temporary failed if all recipients are rejected or temporary failed.

### milter-manager-log-analyzer

- Supported application result graphs for each milter.

- Supported statistics graphs for each method.

### Thanks

- Fumihisa Tonaka

- sgyk

## 1.1.0: 2009-06-02

A development release leading up to the next stable release 1.2.0.

### milter-manager

- Reduced needless logs.

- Supported ENMA auto detection on FreeBSD.

- Supported ClamAV 0.95 auto detection.

- Fixed dkim-filter's skip action is ignored for a mail over 65535 bytes.

- Supported unknown address family on connect.

- Supported fallback status for each child milter. (milter.fallback_status)

- Added milter ID to debug log.

- Fixed memory leaks.

- Supported periodical maintenance process. (manager.maintenance_interval)

- Added workaround for Ruby/GLib 0.17.0.

- Supported backtrace log on crash.

- Added callback events to stop milter application:

  - condition.define_helo_stopper

  - condition.define_data_stopper

  - condition.define_end_of_header_stopper

  - condition.define_body_stopper

  - condition.define_end_of_message_stopper

- Fixed a milter-manager related process isn't terminated on kill.

- Stopped accepting new connection on too many file descriptors opened.

### milter manager admin

- Supported Ruby on Rails 2.3.2.

### milter-test-server

- Supported reply-code.

- Added options for authentication related macros:

  - --authenticated-name=NAME

  - --authenticated-type=TYPE

  - --authenticated-author=AUTHOR

### milter-manager-log-analyzer

- Reduced memory usage.

### Documentation

- Fixed a link: [Павел Гришин]

## 1.0.1: 2009-05-14

A bug fix release of 1.0.0.

### milter-manager

- Fixed a bug that milter-manager isn't restarted on updating RPM package.

### milter manager admin

- Specified used gem version [Reported by nhisa]

## 1.0.0: 2009-04-16

The first stable release.

### Documentation

- Added man pages for commands.

- Added --external option to clamav-milter's configuration.

- Changed install documents for Ubuntu and CentOS to package based installation.

### milter-manager

- Added ENMA detection on CentOS.

### milter-performance-check

- Worked --n-mails option with --period/--interval option.

## 0.9.0: 2009-03-10

Speed and stability are improved.

### milter-manager

- Added a feature to change group of UNIX domain socket.

- Speed up:

  - Changed to send milter commands in a packet.

  - Changed to process mail body on memory as far as possible.

- configure:

  - --with-rcddir: Add a option to specify pkgsrc's rc.d directory.

- Bug fixes:

  - Fixed a bug that a file descriptor is too closed.

  - Fixed a bug that 'temporary failure' is reported as 'reject' in log.

### New applicable conditions

- sendmail-compatible: It's a feature to avoid macro related incompatibility between Sendmail's milter implementation and Postfix's milter implementation. (ref. Postfix before-queue Milter support - Workarounds )

  It's not an applicable condition but it uses applicable condition framework to convert macros passed to a milter by MTA. dnsbl-milter can be worked with Postfix without a patch(*) by the feature.

  (*) [2594714] Postfix support

- authentication: It's an applicable condition to apply a milter only when a connection is authenticated or unauthenticated.

### milter-performance-check

- Added a feature to send a file as a mail.

- Added a feature to send each file under specified directories as a mail.

- --from, --recipient, --force-from, --force-recipient: Added features to override from address and/or recipient address.

- --interval: Added a feature to send a mail at intervals.

- --period: Added a feature to send mails at the same interval in period.

- --shuffle: Added a feature to send mails in random order.

### milter-manager-log-analyzer

- [incompatible]: Added an item "abort" to processed mail graph.

## 0.8.0: 2009-02-06

- New features

  - New tools:

    - milter-manager-log-analyzer: It visualizes milter-manager's log.

    - milter manager admin: Web interface for administrating milter-manager.

    - Screenshots of the above two tools: The bottom of Install page.

  - Add milter detection method for pkgsrc.

  - Support CentOS.

  - Applicable condition

    - Support getting status of other milter.

    - Support getting/setting macros of milter.

- Update S25R (2009/02/01 version)

- Bug fixes

  - [#2518782] typo in configure: [OBATA Akio]

## 0.7.0: 2009-01-16

- Initial release on SF.net.