All Versions
36
Latest Version
Avg Release Cycle
52 days
Latest Release
306 days ago

Changelog History
Page 1

  • v2.8.25

    October 11, 2019

    🔄 Changes

    • 🚚 conn: remove TLS version from header #2648
    • Actually enforce using key for INTERNALCMD #2643
    • trans: assign conditions to named vars #2638
    • ⬇️ drop node.js v6 support #2632
    • ✅ conn: use is_local instead of localhost addr tests #2627
    • ✅ spamassassin: spamassassin: strip useless WS from tests #2624
    • ⚡️ es6: many updates #2615, #2674, #2680
    • ⚡️ systemctl: update service definition #2612
    • 💅 lint: bracket style to match newer eslint:recommended #2680
    • 👕 lint: use object shorthands (eslint:recommended) #2680
    • logger: use safer Object.prototype.hasOwnProperty #2680
    • outbound: permit # char in SMTP status code response #2689
    • ⚡️ dkim_sign: improve docs, add tests, es6 updates #2649
    • ⏪ dkim_sign: restore default key signing feature #2649
    • ⚡️ tmp module: update to latest #2614
    • ⚡️ semver: update to latest #2616, #2651
    • ⚡️ async: update to latest #2653, #2664
    • 🗄 repo cleanup: replaced deprecated plugins with list #2681
    • ✅ spf: es6 patterns, results.pass, test improvements, es6 patterns #2700

    🆕 New features

    • spf: add config option to fail on NONE #2644

    🛠 Fixes

    • ✂ mailheader: fully quality header name in _remove_more #2647
    • haraka: Connection.createConnection is not a constructor #2618
    • problems with japanese characters in body and part header #2675
    • toobusy: fix hook name (connect_pre -> connect) #2672
    • outbound: watch for socket timeouts #2687
    • outbound: permit # char prefix in SMTP status code response #2691
    • mailheader: strip whitespace between encoded-words #2702
  • v2.8.24

    March 12, 2019

    🔄 Changes

    • early_talker: skip if sender has good karma #2551
    • ⚡️ dockerfile: update to node 10 #2552
    • ⚡️ Update deprecated usages of Buffer #2553
    • early_talker: extend reasons to skip checking #2564
    • tls: add 'ca' option (for CA root file) #2571
    • outbound: little cleanups #2572
    • smtp_client: pass pool_timeout to new SMTPClient #2574
    • 0️⃣ server: default to nodes=1 (was undefined) #2573
    • ✅ test/server: use IPv4 127.0.0.1 instead of localhost #2584
    • queue/smtp_*: add v3 upgrade notice and config setting #2585
    • spf: use the skip config for helo/ehlo checks #2587
    • spf: avoid 2nd EHLO evaluation if EHLO host is identical #2592
    • ♻️ queue.js refactoring #2593
    • 📜 Log dkim_sign parse errors with connection ID #2596
    • ⚡️ Update ipaddr.js to the latest version #2599
    • ⏱ make inactivity timeout match docs #2607

    🆕 New Features

    • Implement SIGTERM graceful shutdown if pid is 1 #2547
    • tls: require validated certs on some ports with requireAuthorized #2554
    • spamassassin: disable checks when requested #2564
    • clamd: permit skipping for relay clients #2564
    • outbound: exported outbound.temp_fail_queue, outbound.delivery_queue and add TimerQueue.discard()
    • 🔌 status: new plugin #2577

    🛠 Fixes

    • 🔌 mf.resolvable: reduce timeout by one second (so < plugin.timeout) #2544
    • LMTP blocks under stress #2556
    • invalid DKIM when empty body #2410
    • prevent running callback multiple times on TLS unix socket #2509
    • ➕ add missing callback when listing queue and empty directory
    • 📜 correct MIME parsing when charset: utf8 and encoding: 8bit #2582
    • 0️⃣ spamassassin: default check flags to true #2583
    • ⏱ smtp_client: destroy when connection gets conn timeout error #2604
    • 🚚 on error and timeout, remove listeners and destroy conn. #2606
  • v2.8.23

    November 18, 2018

    🔄 Changes

    • tighten Haraka pattern in .gitignore #2542
  • v2.8.22

    November 17, 2018

    2.8.22 - Nov 17, 2018

    🆕 New Features

    • 🔌 enable tls/ssl for rabbitmq amqplib plugin #2518

    🛠 Fixes

    • hmail: don't send RSET to LMTP #2530

    🔄 Changes

    • clamd: add check.authenticated, check.private_ip, check.local_ip option
    • 👉 use get_decoded on headers that may be encoded #2537
    • connection: move max_mime_part config load to connection init #2528
    • outbound: init TLS when we send email, not when old queue file is loaded #2503

    🔄 Changes

    • ⚡️ relay: update port 465 doc #2522
    • 🌲 hmail: log the correct err message #2531
    • 🔌 ob/tls: consistently use obtls (vs plugin) for "this" name #2524
    • outbound: add domain to loginfo message #2523
    • ➕ Add connection.remote.is_local #2532
    • ⚡️ update license #2525
    • perf: move max_mime_parts config load to connection init #2529
    • ⚡️ update semver to version 5.6.0 #2517
    • ➕ added hint to encrypted file authentication #2514
    • 🌲 dkim_sign: improved log messages #2499
    • ehlo_hello_message: config/ehlo_hello_message can be used to overwrite the EHLO/HELO msg replacing , Haraka is at your service #2498
    • connection: add connection.remote.is_local flag for detecting loopback and link local IPs
    • ➕ add .name to outbound TLS for logs #2492
  • v2.8.21

    July 20, 2018

    🆕 New Features

    • ⬆️ outbound: skip STARTTLS after remote host fails TLS upgrade #2429
    • dns_list_base: introduce global plugin.lookback_is_rejected flag #2422

    🛠 Fixes

    • replace all _ chars in hostnames with code points #2485
    • Don't die on invalid commands #2481
    • outbound: check list exists before attempting to use it #2478
      • refactor outbound/hmail.process_ehlo_data #2488
    • tls: skip when redis is undefined #2472
    • Don't run delivered hook on LMTP fail #2470
    • Add tls_socket.load_tls_ini() to tls.register() #2465

    🔄 Changes

    • outbound/tls: make into a class #2474
    • 🔌 plugins: clear timeout on cancel #2477
    • 📜 txn.parse_body consistently a boolean #2476
    • ⚡️ update ipaddr.js to version 1.8.0 #2468
  • v2.8.20

    June 29, 2018
    • 🆕 New Features
      • n/a
    • 🛠 Fixes
      • data_headers: check defined-ness of hdr_address after try/catch #2458
      • tls: remove tls.ini loading from plugins/tls #2459
      • tls: remove invalid opt from load_tls_ini #2456
      • outbound: escape values in HTML bounce correctly #2446
      • dkim_sign: catch exceptions when address-rfc2822 fails to parse From #2457
    • 🔄 Changes
      • logger: Add "obj" log param to log hook that contains log data by type #2425
      • logger: include outbound client ID in logging #2425
      • logger: allow specifying uuid in params when logging #2425
  • v2.8.19

    June 26, 2018
    • 🆕 New features
      • outbound: received_header=disabled supresses outbound Received header addition. #2409
      • auth_base.js: check_plain_passwd and check_cram_md5_passwd can now pass message and code to callback routine
      • spf: allow bypass for relay and AUTH clients #2417
      • spf: optionally add OpenSPF help text to rejection #2417
      • auth_base: prevent storing of AUTH password in connection.notes.auth_passwd by setting plugin.blackout_password. #2421
    • 🛠 Fixes
      • Mitigate MIME part explosion attack #2447
      • Always prefix ClamAV with a Received header #2407
      • plugins/data.headers.js: wrap address-rfc2822 header parse into try block #2373
      • tls_socket: as client, only apply TLS opts if config is valid #2414
      • when installing, creates config/me if missing #2413
      • queue/qmail-queue: fix a 2nd crash bug when client disconnects unexpectedly #2360
      • remove desconstruction of SMTP commands to prevent exception #2398
      • attstream: return self so that pipe() calls can be chained together. #2424
      • outbound: fix dotfile cleanup to consider platform-based prefix. #2395
      • outbound: fix handling of LMTP socket when a socket path is specified. #2376
    • 🔄 Changes
      • relay: move relay acl check to connect_init so flag is set earlier #2442
      • process_title: add total recipients, avg rcpts/msg, recipients/sec cur/avg/max and messages/conn #2389
      • when relaying is set in a transaction, don't persist beyond the transaction #2393
      • connection.set supports dot delimited path syntax #2390
      • remove deprecated (since 2.8.16) ./dsn.js
      • Add transaction.msg_status property that reflects message status. #2427
      • Add transaction.notes.proxy object that hold HAProxy details. #2427
      • spamassassin: make relay header configurable. #2418
      • deprecate max_unrecognized_commands plugin in favor of limit. #2402
      • xclient: add support for DESTADDR/DESTPORT. #2396
  • v2.8.18

    March 08, 2018
    • 🆕 New features
      • smtp_forward: domain configuration is now chosen based on domain_selector #2346
    • 🛠 Fixes
      • queue/qmail-queue: fix crash bug when client disconnects unexpectedly #2360
      • tls: fix crash bug in unrecognized_command hook
      • dkim_key_gen.sh: improve usability and parameter parsing #2355
    • 🔄 Changes
      • document force_shutdown_timeout and graceful_shutdown settings #2350
  • v2.8.17

    February 16, 2017
    • 🆕 New Features
      • SMTPS port is configurable #2269
      • smtp_forward: enable_outbound can be set per domain #2335
    • 🛠 Fixes
      • Fix ability to set log level to emerg #2128
      • outbound/hmail: use Buffer to correctly read binary file data + tests #2231
      • quarantine: consolidate 2x hook_init_master functions
      • tls_socket: restore SNI functionality, emit count of TLS certs #2293
      • fix smtp_client error handling #2298
      • fix outbound pools #2317
      • add openssl-wrapper as dependency #2320
      • replace _ chars in hostnames with code points #2324
      • add this.removeAllListeners('connection-error') #2323
      • Fix crashing on RSET #2328
      • Prevent data headers crit fail #2329
      • Fix undefined max_lines in log message #2337
    • 🔄 Changes
      • line_socket: remove superfluous function #2339
      • consistent end of function declaration semicolon #2336
      • connection: assure hostname is set #2338
      • smtp_client: Fix log message typo #2334
      • Update ipaddr.js to version 1.6.0 #2333
      • Warn on max_header_lines #2331
      • update jquery version #2322
      • plugins: add SRS plugin to registry #2318
      • tls_socket: only generate dhparam.pem on master process #2313
      • add ENOTFOUND to also check A record #2310
      • smtp_forward: correct config file name in docs #2309
      • reduce severity of iconv conversion failure #2307
      • Add txn UUID to "250 Message Queued" #2305
      • mailheader: reduce log level priority #2299
      • greylist: only log redis DB errors when exist #2295
      • data.headers: reduce undef MLM logerror to logdebug #2294
      • quarantine: consolidate 2x hook_init_master() #2292
      • move test_queue to queue/test #2291
      • in haraka plugin test mode, add server.notes #2248
      • outbound/hmail: refactor #2238
      • outbound/hmail: add JSON sanity test before JSON.parse #2231
      • outbound/index: use newer Buffer.from syntax #2231
      • outbound/hmail: make haraka queue files human friendly #2231
      • plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
      • plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
      • plugins/smtp_forward: enable_outbound can be enabled/disabled for specific domains
      • auth_proxy: read TLS key and cert files from tls.ini #2212
      • README: typo fixes #2210
      • incorrect RCPT TO reply message #2227
      • Resolve decoding bug when root part is base64 encoded. #2204
      • Resolve base64 data truncation #2188
      • Fix damaged encoding when body is non-utf #2187
      • Fix disconnect hooks #2184
      • ability to set log level to emerg #2128
      • Improve docs for Address objects #2224
      • connection: replace 3x ternaries with get_remote() #2169
      • connection.local.host populated with hostname (from config/me) #2165
      • connection.local.info populated with Haraka/version #2196
      • npm packaged plugins:
      • plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
      • plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
      • plugins/graph -> haraka-plugin-graph #2185
      • plugins/graph -> haraka-plugin-graph #2185
      • config: replace ./config.js with haraka-config #2119
      • Replace concatenated strings with template literals (#2129) in:
      • attachment #2260
      • bin/spf #2129
      • bin/dkimverify #2278
      • connection #2129, #2243
      • delay_deny #2264
      • dkim #2216
      • dsn #2265
      • host_pool #2198, #2245
      • logger #2277, #2246
      • mailbody #2280
      • max_unrecognised_commands #2171
      • outbound/hmail #2259
      • outbound/index #2249
      • outbound/todo #2233
      • plugins #2239
      • plugins/aliases #2229
      • plugins/attachment #2155
      • plugins/auth_base #2252
      • plugins/avg #2156
      • plugins/backscatterer #2261
      • plugins/bounce #2229
      • plugins/clamd #2237
      • plugins/connect.rdns_access #2262
      • plugins/data.headers #2263
      • plugins/data.uribl #2258
      • plugins/helo.checks #2255
      • plugins/rcpt_to.in_host_list #2253
      • plugins/spamassassin #2256
      • plugins/profile #2170
      • plugins/rcpt_to.host_list_base #2254
      • plugins/relay #2174
      • plugins/relay_acl #2177
      • plugins/spf #2266
      • plugins/toobusy #2186
      • plugins/xclient #2159
      • rfc1869 #2159
      • smtp_client #2129, #2208
      • tests/host_pool #2159
      • use es6 destructuring (#2075) in:
      • connection #2230
      • dkim #2232
      • use es6 classes (#2133) in:
      • attachment #2260
      • attachment_stream #2215
      • chunkemitter #2219
      • dkim #2206
      • dsn #2247
      • host_pool #2194
      • mailheader #2213
      • mailbody #2213
      • smtp_client #2221
      • spf #2214
      • tls_socket #2190
      • timer_queue #2226
      • outbound/hmail #2197
      • outbound/todo #2233
      • Automatically set connection.remote.is_private when connection.remote.ip is set #2192
      • Add remove_msgid and remove_date options to outbound.send_email #2209
      • Add origin option to outbound.send_mail #2314
  • v2.8.16

    September 30, 2017
    • 🔄 Changes
      • additional tests get var -> const/let medicine #2122
      • move connection states into haraka-constants #2121
      • lint: remove useless escapes #2117
      • lint: switch no-var to error #2109
      • rspamd: repackaged as NPM module #2106
      • dsn: repackaged as NPM module haraka-dsn #2105
      • outbound: add results when queueing #2103
      • spamassassin: skip adding headers when value is empty #2102
      • Replace console.log with stdout #2100
      • update js-yaml to version 3.10.0 #2097
      • repackage p0f plugin to NPM #2076
      • ES6: replace var with const or let #2073
    • 🛠 Fixes
      • daemon cwd #2126
      • updated fcrdns plugin name passed to results #2115
      • tls: only apply default key/cert paths when undefined #2111
      • dkim_verify: fix formatting of auth results #2107
      • smtp_forward: consistently use queue.wants #2107
      • haraka was adding TLS header on non-TLS connection #2103
      • dkim typo fix #2101
      • fix rfc2231 parsing code to cope with continuation #2089